You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

48 lines
1.2 KiB

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