scheduleGenerator.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package api
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "net/http"
  6. // "../schedule"
  7. // "../settings"
  8. )
  9. const (
  10. INDATA = "input/"
  11. )
  12. func Generate(w http.ResponseWriter, r *http.Request) {
  13. showAPIRequest(r)
  14. if r.Method == "GET" {
  15. // var result [][]*schedule.Schedule
  16. // var generator = schedule.NewGenerator(&schedule.Generator{
  17. // Day: schedule.MONDAY,
  18. // // NumTables: 11,
  19. // Groups: schedule.ReadGroups(INDATA + "groups.json"),
  20. // Teachers: schedule.ReadTeachers(INDATA + "teachers.json"),
  21. // })
  22. // for iter := 1; iter <= 7; iter++ {
  23. // midResult := generator.Generate(nil)
  24. // result = append(result, midResult)
  25. // var group Group
  26. // settings.DB.Where("groupnumber = ?", midResult.Group).First(&group)
  27. // var schedule Schedule
  28. // schedule.IsShort = false
  29. // schedule.IsEvenWeek = false
  30. // schedule.Weekday = midResult.Day
  31. // schedule.IDGroup = group.ID
  32. // settings.DB.Create(&schedule)
  33. // for i, row := range schedule.Row{
  34. // if schedule.Row != nil {
  35. // var schOfGroup Scheduleofgroup
  36. // var subject Subject
  37. // settings.DB.Where("shortname = ?", row.Subject[1]).First(&subject)
  38. // schOfGroup.IDSubject = subject.ID
  39. // schOfGroup.IDGroup = group.ID
  40. // var sch Schedule
  41. // settings.DB.Where(&schedule).First(&schedule)
  42. // schOfGroup.IDSchedule = sch.ID
  43. // schOfGroup.Lessonnumber = i
  44. // var classroom Classroom
  45. // settings.DB.Where("name = ?", row.Cabinet[1]).First(&classroom)
  46. // schOfGroup.IDClassroom = classroom.ID
  47. // }
  48. // }
  49. // }
  50. // json.NewEncoder(w).Encode(result)
  51. }
  52. }
  53. func printJSON(data interface{}) {
  54. jsonData, _ := json.MarshalIndent(data, "", "\t")
  55. fmt.Println(string(jsonData))
  56. }