|
|
@ -42,7 +42,8 @@ func TestScheduler(t *testing.T) { |
|
|
|
glog.Infoln("启动日志", "InitDB return success") |
|
|
|
// 建立数据库连接
|
|
|
|
//加载配置
|
|
|
|
err = conf.ReadYamlConfig("C:\\Users\\Leit\\Desktop\\workspace\\LAPP_Acura_MES_Backend\\conf\\config.yaml") |
|
|
|
|
|
|
|
err = conf.ReadYamlConfig("D:\\GoWrok\\src\\leit.com\\LAPP_Acura_MES_Backend\\conf\\config.yaml") |
|
|
|
if err != nil { |
|
|
|
fmt.Printf("failed to read yaml config due to: %v", err) |
|
|
|
return |
|
|
@ -74,23 +75,23 @@ func TestScheduler(t *testing.T) { |
|
|
|
t.Error(err.Error()) |
|
|
|
} |
|
|
|
fmt.Println() |
|
|
|
fmt.Printf("LoadProjectData:%v", schedeng.ProjDict) |
|
|
|
//fmt.Printf("LoadProjectData:%v", schedeng.ProjDict)
|
|
|
|
// 加载时间模型,基于调度引擎指定的时间区间
|
|
|
|
schedeng.LoadTimeModelData(worklineid) |
|
|
|
fmt.Println() |
|
|
|
d, _ := json.MarshalIndent(schedeng, "", " ") |
|
|
|
fmt.Println(string(d)) |
|
|
|
fmt.Printf("WorkShiftDict:%v", schedeng.Tmsrv.WorkShiftDict) |
|
|
|
fmt.Println() |
|
|
|
fmt.Printf("LoadTimeModelData:%v", schedeng.Tmsrv.WorkShiftDict) |
|
|
|
fmt.Println() |
|
|
|
//fmt.Println()
|
|
|
|
//d, _ := json.MarshalIndent(schedeng, "", " ")
|
|
|
|
//fmt.Println(string(d))
|
|
|
|
//fmt.Printf("WorkShiftDict:%v", schedeng.Tmsrv.WorkShiftDict)
|
|
|
|
//fmt.Println()
|
|
|
|
//fmt.Printf("LoadTimeModelData:%v", schedeng.Tmsrv.WorkShiftDict)
|
|
|
|
//fmt.Println()
|
|
|
|
// 加载产品换型主数据
|
|
|
|
err = schedeng.LoadSetupData() |
|
|
|
if err != nil { |
|
|
|
t.Error(err.Error()) |
|
|
|
} |
|
|
|
fmt.Println() |
|
|
|
fmt.Printf("LoadSetupData:%v", schedeng.SetupDict) |
|
|
|
//fmt.Printf("LoadSetupData:%v", schedeng.SetupDict)
|
|
|
|
// 加载产线主数据
|
|
|
|
err = schedeng.LoadWorkLineData(worklineid) |
|
|
|
if err != nil { |
|
|
@ -98,37 +99,42 @@ func TestScheduler(t *testing.T) { |
|
|
|
} |
|
|
|
|
|
|
|
fmt.Println() |
|
|
|
fmt.Printf("LoadWorkLineData:%v", schedeng.WorklineDict) |
|
|
|
//fmt.Printf("LoadWorkLineData:%v", schedeng.WorklineDict)
|
|
|
|
fmt.Println() |
|
|
|
fmt.Printf("ACURA_CARSET:%v", schedeng.WorklineDict["ACURA_CARSET"]) |
|
|
|
//fmt.Printf("ACURA_CARSET:%v", schedeng.WorklineDict["ACURA_CARSET"])
|
|
|
|
// 加载产线班组计划出勤数据
|
|
|
|
err = schedeng.LoadWorkLineWorkShiftData() |
|
|
|
if err != nil { |
|
|
|
t.Error(err.Error()) |
|
|
|
} |
|
|
|
fmt.Println() |
|
|
|
fmt.Printf("LoadWorkLineWorkShiftData:%v", schedeng.WorklineDict) |
|
|
|
//fmt.Printf("LoadWorkLineWorkShiftData:%v", schedeng.WorklineDict)
|
|
|
|
fmt.Println() |
|
|
|
fmt.Printf("ACURA_CARSET:%v", schedeng.WorklineDict["ACURA_CARSET"]) |
|
|
|
//fmt.Printf("ACURA_CARSET:%v", schedeng.WorklineDict["ACURA_CARSET"])
|
|
|
|
// 生成产线的时间曲线
|
|
|
|
err = schedeng.GenerateWorkLineTimeCurve() |
|
|
|
if err != nil { |
|
|
|
t.Error(err.Error()) |
|
|
|
} |
|
|
|
fmt.Println() |
|
|
|
fmt.Printf("TimeLineArray:%v", schedeng.WorklineDict["ACURA_CARSET"].TimeCurve.TimeLineArray) |
|
|
|
fmt.Println() |
|
|
|
fmt.Printf("SchedTimeCurve:%v", schedeng.WorklineDict["ACURA_CARSET"].SchedTimeCurve) |
|
|
|
//fmt.Println()
|
|
|
|
//fmt.Printf("TimeLineArray:%v", schedeng.WorklineDict["ACURA_CARSET"].TimeCurve.TimeLineArray)
|
|
|
|
//fmt.Println()
|
|
|
|
//fmt.Printf("SchedTimeCurve:%v", schedeng.WorklineDict["ACURA_CARSET"].SchedTimeCurve)
|
|
|
|
// 加载工单数据(调度任务)
|
|
|
|
err = schedeng.LoadSchedTaskData(worklineid) |
|
|
|
if err != nil { |
|
|
|
t.Error(err.Error()) |
|
|
|
} |
|
|
|
|
|
|
|
fmt.Printf("ACURA_CARSET Task:%v", schedeng.WorklineDict["ACURA_CARSET"].SchedTaskArray) |
|
|
|
fmt.Println() |
|
|
|
// 对调度任务进行排序
|
|
|
|
schedeng.SortUnplannedTask() |
|
|
|
fmt.Printf("SortUnplannedTask:%v", schedeng.UnPlannedTaskArray) |
|
|
|
fmt.Println() |
|
|
|
//fmt.Println()
|
|
|
|
//fmt.Printf("SortUnplannedTask:%v", schedeng.UnPlannedTaskArray)
|
|
|
|
fmt.Println("未排程任务:") |
|
|
|
for i := 0; i < len(schedeng.UnPlannedTaskArray); i++ { |
|
|
|
fmt.Println(i, " -- ", fmt.Sprintf("生产订单:%v 计划产线:%v ", schedeng.UnPlannedTaskArray[i].CustOrder.CustOrderId, schedeng.UnPlannedTaskArray[i].CustOrderStatus.Status)) |
|
|
|
} |
|
|
|
// 依次调度未计划工单
|
|
|
|
err = schedeng.AutoSchedule() |
|
|
|
if err != nil { |
|
|
@ -152,15 +158,15 @@ func TestScheduler(t *testing.T) { |
|
|
|
schedeng.TaskId = cacheInfo.TaskId |
|
|
|
} |
|
|
|
|
|
|
|
fmt.Printf("WorkShiftDict:%v", schedeng.WorklineDict) |
|
|
|
//fmt.Printf("WorkShiftDict:%v", schedeng.WorklineDict)
|
|
|
|
fmt.Println("ACURA_CARSET") |
|
|
|
fmt.Printf("ACURA_CARSET Task:%v", schedeng.WorklineDict["ACURA_CARSET"].SchedTaskArray) |
|
|
|
fmt.Println() |
|
|
|
fmt.Printf("ACURA_CARSET TimeCurve:%v", schedeng.WorklineDict["ACURA_CARSET"].TimeCurve) |
|
|
|
fmt.Println() |
|
|
|
fmt.Printf("ACURA_CARSET SchedTimeCurve:%v", schedeng.WorklineDict["ACURA_CARSET"].SchedTimeCurve) |
|
|
|
fmt.Println() |
|
|
|
fmt.Printf("ACURA_CARSET WorkLoadArray:%v", schedeng.WorklineDict["ACURA_CARSET"].WorkLoadArray) |
|
|
|
//fmt.Printf("ACURA_CARSET TimeCurve:%v", schedeng.WorklineDict["ACURA_CARSET"].TimeCurve)
|
|
|
|
//fmt.Println()
|
|
|
|
//fmt.Printf("ACURA_CARSET SchedTimeCurve:%v", schedeng.WorklineDict["ACURA_CARSET"].SchedTimeCurve)
|
|
|
|
//fmt.Println()
|
|
|
|
//fmt.Printf("ACURA_CARSET WorkLoadArray:%v", schedeng.WorklineDict["ACURA_CARSET"].WorkLoadArray)
|
|
|
|
fmt.Println() |
|
|
|
// 排程任务
|
|
|
|
fmt.Println("排程任务:") |
|
|
|