123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- package api
- import (
- "../settings"
- "encoding/json"
- "fmt"
- "net/http"
- "../schedule"
- // "strconv"
- // "errors"
- // "math/rand"
- )
- var tmpteachers []schedule.Teacher
- var tmpcabinets []schedule.Cabinet
- var tmpgroups []schedule.Group
- var tmpsubjects []schedule.Subject
- // var tmplessons []schedule.LessonJSON
- func GetDataTeachers(w http.ResponseWriter, r *http.Request) {
- var classrooms []Classroom
- var teachers []Teacher
- settings.DB.Find(&teachers)
- settings.DB.Find(&classrooms)
- var cabinet schedule.Cabinet
- for _, room := range classrooms{
- cabinet.Name = room.Name
- cabinet.IsComputer = room.Iscomputer
- tmpcabinets = append(tmpcabinets, cabinet)
- }
- for _, teacher := range teachers{
- var scheduleTeacher schedule.Teacher
- scheduleTeacher.Name = teacher.Name + " " + string(teacher.Surname[:2]) + "." + string(teacher.Patronymic[:2]) + "."
- for _, room := range classrooms{
- if teacher.IDClassroom == room.ID {
- var tmpcabinet schedule.Cabinet
- tmpcabinet.Name = room.Name
- tmpcabinet.IsComputer = room.Iscomputer
- scheduleTeacher.Cabinets = append(scheduleTeacher.Cabinets, tmpcabinet)
- tmpcabinet = schedule.Cabinet{}
- break
- }
- }
- tmpteachers = append(tmpteachers, scheduleTeacher)
- }
- json.NewEncoder(w).Encode(tmpteachers)
- return
- }
- func GetDataGroups(w http.ResponseWriter, r *http.Request){
- // tmp := replacePath(r.URL.Path, "/api/getgroups/")
- // num, err := strconv.Atoi(tmp)
- // if err != nil{
- // json.NewEncoder(w).Encode(struct{ Error string }{Error: "strconv error"})
- // }
- var groups []Group
- var subjects []Subject
- // var tmpsubofgroup1 []Subjectofgroup
- // var tmpsubofgroup2 []Subjectofgroup
- var tmpsubofgroup []Subjectofgroup
- settings.DB.Find(&groups)
- settings.DB.Find(&subjects)
- // settings.DB.Where("id_group = ?", num).Find(&tmpsubofgroup)
- for _, group := range groups{
- settings.DB.Where("id_group = ?", group.ID).Find(&tmpsubofgroup)
- var tmpgroup schedule.Group
- tmpgroup.Name = group.Groupnumber
- tmpgroup.Quantity = group.Studentsquantity
- for _, subject := range tmpsubofgroup{
- // scheduleTeacher.Name = teacher.Name + " " + string(teacher.Surname[:2]) + "." + string(teacher.Patronymic[:2]) + "."
- var tmpsubject schedule.Subject
- var tsubject Subject
- var teacher Teacher
- var semester Semester
- settings.DB.Where("id = ?", subject.ID).First(&tsubject)
- settings.DB.Where("id = ?", subject.IDTeacher).First(&teacher)
- settings.DB.Where("id = ?", subject.IDSemester).First(&semester)
- tmpsubject.Name = tsubject.Shortname
- tmpsubject.Teacher = teacher.Name + " " + string(teacher.Surname[:2]) + "." + string(teacher.Patronymic[:2]) + "."
- tmpsubject.Teacher2 = tmpsubject.Teacher // TODO
- if tsubject.IDStype == 1{
- tmpsubject.IsComputer = false
- tmpsubject.Theory = 0
- tmpsubject.Practice.A = subject.Hoursquantity/2
- tmpsubject.Practice.B = subject.Hoursquantity/2
- } else if tsubject.IDStype == 0{
- tmpsubject.IsComputer = true
- tmpsubject.Theory = subject.Hoursquantity/2
- tmpsubject.Practice.A = 0
- tmpsubject.Practice.B = 0
- }
- fmt.Println(semester)
- tmpsubject.WeekLessons.A = (subject.Hoursquantity/semester.Weeksquantity)/2
- tmpsubject.WeekLessons.B = (subject.Hoursquantity/semester.Weeksquantity)/2
- tmpsubjects = append(tmpsubjects, tmpsubject)
- }
- }
- // for i, sub := range tmpsubofgroup1{
- // var subof Subjectofgroup
- // for j, gr := range tmpsubofgroup2{
- // if gr == sub{
- // subof = gr
- // tmpsubofgroup1 = append(tmpsubofgroup1[:i], tmpsubofgroup[i+1:]...)
- // tmpsubofgroup2 = append(tmpsubofgroup1[:j], tmpsubofgroup[j+1:]...)
- // break
- // }
- // }
- // tmpsubofgroup = append(tmpsubofgroup, subof)
- // subof = Subjectofgroup{}
- // }
- json.NewEncoder(w).Encode(tmpsubjects)
- // for _, subject := range subjects{
- // var tmpsubject schedue.Subject
- // tmpsubject.Name = subject.ShortName
- // tmpsubject.teacher =
- // }
- }
|