123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- package schedule
- type TypeRow uint8
- const (
- IsCycleTR = 0
- IsStartTR = 1
- IsPmTR = 2
- IsSubTR = 3
- )
- type Schedule struct {
- Day DayType
- Group string
- Table []Row
- }
- type Row struct {
- Subject [ALL]string
- Teacher [ALL]string
- Cabinet [ALL]string
- }
- type PlanXLSX struct {
- ProgramCode string `json:"program_code"`
- NameCode string `json:"name_code"`
- PeriodOfStudy string `json:"period_of_study"`
- GroupNumber string `json:"group_number"`
- Lines []LineXLSX `json:"lines"`
- }
- type LineXLSX struct {
- ID string `json:"id"`
- Name string `json:"name"`
- CertForm string `json:"cert_form"`
- StudyLoad StudyLoadXLSX `json:"study_load"`
- Course [4][2]int `json:"course"`
- TypeRow TypeRow `json:"typerow"`
- }
- type StudyLoadXLSX struct {
- Max int `json:"max"`
- SelfStudy int `json:"self_study"`
- AllStudy int `json:"all_study"`
- Lectures int `json:"lectures"`
- Labs int `json:"labs"`
- Projects int `json:"projects"`
- Consultation int `json:"consultation"`
- }
- 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
- Cabinets map[string]*Cabinet
- // Blocked map[string]bool
- Reserved Reserved
- }
- type Reserved struct {
- Teachers map[string][]bool
- Cabinets map[string][]bool
- }
- 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
- IsComputer bool
- Teacher string
- Teacher2 string
- SaveWeek uint
- Lessons Lessons
- }
- type Lessons struct {
- Theory uint
- Practice Subgroup
- Week 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"`
- }
|