package schedule import ( "testing" "time" ) // 测试自动调度 func TestScheduler(t *testing.T) { var ( y1,d1 int m1 time.Month schedeng SchedulerSrv startDate, endDate time.Time worklinetype string ) // 建立数据库连接 // 初始化scheduler,默认从当天起计划5天 y1,m1,d1 = time.Now().Date() startDate = time.Date(y1, m1, d1, 0, 0, 0, 0, time.UTC) endDate = startDate.Add(24*5*time.Hour) schedeng = SchedulerSrv{PlantNr:100, StartDate: startDate,EndDate: endDate} // 指定加载的产线类型 worklinetype= "" // 加载激活的项目主数据 schedeng.LoadProjectData() // 加载时间模型,基于调度引擎指定的时间区间 schedeng.LoadTimemodelData() // 加载产品换型主数据 schedeng.LoadSetupData() // 加载产线主数据 schedeng.LoadWorklineData(worklinetype) // 加载产线班组计划出勤数据 schedeng.LoadWorkLineWorkShiftData() // 生成产线的时间曲线 schedeng.GenerateWorkLineTimeCurve() // 加载工单数据(调度任务) schedeng.LoadSchedTaskData() // 对调度任务进行排序 schedeng.SortUnplannedTask() // 依次调度未计划工单 schedeng.AutoSchedule() // 输出排程结果 schedeng.PrintScheduleResult() }