diff --git a/services/schedule/SchedTask.Ctrl.go b/services/schedule/SchedTask.Ctrl.go index 8e4bc75..ee0c0c3 100644 --- a/services/schedule/SchedTask.Ctrl.go +++ b/services/schedule/SchedTask.Ctrl.go @@ -127,9 +127,9 @@ func (tasksrv *TaskSrv) Init(custOrder plnModel.CustOrder) { if custOrder.QuantityPerHour <= 0 || calQty <= 0 { tasksrv.Duration = 0 } else { - //tasksrv.Duration = time.Duration(float64(calQty)/wotab.QuantityPerHour) * time.Hour - tasksrv.Duration = time.Duration(calQty/custOrder.QuantityPerHour*3600) * time.Second + tasksrv.Duration = time.Duration(float64(calQty)/float64(custOrder.QuantityPerHour)*3600) * time.Second } + //} //if wotab.TimePerItemToggle { // perItemSeconds := float64(wotab.OpTimePerItem) * GetTimeUomSeconds(wotab.TimeUomId) diff --git a/services/schedule/Schedule_test.go b/services/schedule/Schedule_test.go index 4b0717f..ead78eb 100644 --- a/services/schedule/Schedule_test.go +++ b/services/schedule/Schedule_test.go @@ -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("排程任务:")