123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- package schedule
- type DayType uint8
- const (
- SUNDAY DayType = 0
- MONDAY DayType = 1
- TUESDAY DayType = 2
- WEDNESDAY DayType = 3
- THURSDAY DayType = 4
- FRIDAY DayType = 5
- SATURDAY DayType = 6
- )
- type SubgroupType uint8
- const (
- A SubgroupType = 0
- B SubgroupType = 1
- ALL SubgroupType = 2
- )
- type SubjectType uint8
- const (
- THEORETICAL SubjectType = 0
- PRACTICAL SubjectType = 1
- )
- type Generator struct {
- Day DayType
- Debug bool
- Groups map[string]*Group
- Teachers map[string]*Teacher
- Blocked map[string]bool
- Reserved Reserved
- }
- type Reserved struct {
- Teachers map[string][]bool
- Cabinets map[string][]bool
- }
- type Schedule struct {
- Day DayType
- Group string
- Table []Row
- }
- type Row struct {
- Subject [ALL]string
- Teacher [ALL]string
- Cabinet [ALL]string
- }
- type Teacher struct {
- Name string `json:"name"`
- Cabinets []Cabinet `json:"cabinets"`
- }
- type Cabinet struct {
- Name string `json:"name"`
- IsComputer bool `json:"is_computer"`
- }
- type Group struct {
- Name string
- Quantity uint // students count
- Subjects map[string]*Subject
- }
- type Subject struct {
- Name string
- Teacher string
- Teacher2 string
- IsComputer bool
- SaveWeek uint
- Theory uint
- Practice Subgroup
- WeekLessons Subgroup
- }
- type Subgroup struct {
- A uint
- B uint
- }
- type GroupJSON struct {
- Name string `json:"name"`
- Quantity uint `json:"quantity"`
- Subjects []SubjectJSON `json:"subjects"`
- }
- type SubjectJSON struct {
- Name string `json:"name"`
- Teacher string `json:"teacher"`
- IsComputer bool `json:"is_computer"`
- Lessons LessonsJSON `json:"lessons"`
- }
- type LessonsJSON struct {
- Theory uint `json:"theory"`
- Practice uint `json:"practice"`
- Week uint `json:"week"`
- }
|