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()
|
|
}
|