From 78d5eca8ea11c60ac88ebf133329fddad7c2aad2 Mon Sep 17 00:00:00 2001 From: huanghongfeng <huanghongfeng@hnkhzn.com> Date: 星期一, 22 九月 2025 10:20:26 +0800 Subject: [PATCH] 任务 --- 代码管理/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 122 +++++++++++++++++++++++++++++++++++----- 1 files changed, 105 insertions(+), 17 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" index ac8d38e..801ae07 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" @@ -60,6 +60,7 @@ using WIDESEAWCS_QuartzJob.Repository; using WIDESEAWCS_QuartzJob.Service; using static Microsoft.IO.RecyclableMemoryStreamManager; +using static System.Net.Mime.MediaTypeNames; namespace WIDESEAWCS_TaskInfoService { @@ -149,11 +150,14 @@ dt_Task.SourceAddress = item.startAddress; dt_Task.TargetAddress = item.endAddress; dt_Task.CurrentAddress = item.startAddress; - dt_Task.NextAddress = "0"; //鐩墠鏆傛棤 + dt_Task.NextAddress = "1021"; //鐩墠鏆傛棤 dt_Task.Grade = item.priority; dt_Task.WMSId = 0; //鐩墠鏆傛棤 BaseDal.AddData(dt_Task); content.code = 0; + + int taskidt= BaseDal.QueryFirst(x=>x.TaskNum== dt_Task.TaskNum).TaskId; + _taskExecuteDetailService.AddTaskExecuteDetail(taskidt, $"绯荤粺鑷姩娴佺▼锛屽垱寤轰换鍔�"); } else if (item.type == 2) //鍑哄簱 { @@ -195,6 +199,8 @@ dt_Task.WMSId = 0; //鐩墠鏆傛棤 BaseDal.AddData(dt_Task); content.code = 0; + + _taskExecuteDetailService.AddTaskExecuteDetail(dt_Task.TaskId,$"绯荤粺鑷姩娴佺▼锛屽垱寤轰换鍔�"); } else { @@ -614,20 +620,42 @@ private void HandleInboundZichemove(Dt_Task task) { - var route = _routerRepository.QueryFirst(x => - x.IsEnd == true && - x.ChildPosi == task.NextAddress && - x.InOutType == 1 - ); + try + { + Dt_Router dt_Router = null; + task.TaskState = (int)TaskInStatusEnum.RGV_InZichemoveFinish; + if (task.TargetAddress == "4" || task.TargetAddress == "3") + { + dt_Router = _routerRepository.QueryFirst(x => + x.StartPosi == task.NextAddress && + x.InOutType == 1); + if (task.CurrentAddress != "1061") task.TaskState = (int)TaskInStatusEnum.RGV_InReleaseFinish; - if (route == null) - throw new InvalidOperationException("鏈壘鍒板搴旂殑缁撴潫璺敱"); + } + else + { + dt_Router = _routerRepository.QueryFirst(x => + x.IsEnd == true && + x.ChildPosi == task.NextAddress && + x.InOutType == 1); + } - task.TaskState = (int)TaskInStatusEnum.RGV_InZichemoveFinish; - task.RGVTaskType = (int)RGVTaskTypeEnum.TravelingOnly; - task.CurrentAddress = route.StartPosi; - task.NextAddress = route.NextPosi; - task.Roadway = route.ChildPosiDeviceCode; + + if (dt_Router == null) + throw new InvalidOperationException("鏈壘鍒板搴旂殑缁撴潫璺敱"); + + + + task.RGVTaskType = (int)RGVTaskTypeEnum.PickingUp; + task.CurrentAddress = dt_Router.StartPosi; + task.NextAddress = dt_Router.NextPosi; + task.Roadway = dt_Router.ChildPosiDeviceCode; + } + catch (Exception ex) + { + + throw; + } } #endregion @@ -1124,7 +1152,7 @@ Dt_Task dt_task = BaseDal.QueryData().Where(x => x.TaskId == id).FirstOrDefault(); if (dt_task == null) return WebResponseContent.Instance.Error($"鏈煡璇㈠埌浠诲姟"); //if (dt_task.TaskState > (int)TaskInStatusEnum.RGV_InNew || dt_task.TaskState > (int)TaskOutStatusEnum.OutNew) return WebResponseContent.Instance.Error($"浠诲姟鐘舵�佷笉鍏佽鍙栨秷"); - if (dt_task.TaskType >= 200 && dt_task.TaskType <= 203) + /*if (dt_task.TaskType >= 200 && dt_task.TaskType <= 203) { if (dt_task.TaskState > (int)TaskInStatusEnum.RGV_InNew) return WebResponseContent.Instance.Error($"浠诲姟鐘舵�佷笉鍏佽鍙栨秷"); } @@ -1132,7 +1160,7 @@ { if (dt_task.TaskState > (int)TaskOutStatusEnum.OutNew) return WebResponseContent.Instance.Error($"浠诲姟鐘舵�佷笉鍏佽鍙栨秷"); - } + }*/ Dt_Task_hty dt_Task_Hty = new Dt_Task_hty { @@ -1164,8 +1192,8 @@ $"鑷姩浠诲姟鐘舵�佷粠銆恵oldState}銆戣繘鍏ュ埌銆恵dt_Task_Hty.TaskState}銆�" ); - var deletetask = BaseDal.DeleteData(dt_task); - if (deletetask == false) { + bool deletetask = BaseDal.DeleteData(dt_task); + if (!deletetask) { db.Ado.RollbackTran(); return WebResponseContent.Instance.Error("鍒犻櫎浠诲姟澶辫触鎵�鏈夋搷浣滃洖婊氾紒"); } @@ -1178,5 +1206,65 @@ return WebResponseContent.Instance.Error("鍙栨秷浠诲姟澶辫触锛�"); } } + + + + + /// <summary> + /// 浠诲姟涓嬩竴姝ユ墽琛� + /// </summary> + /// <param name="sCErrorStatus"></param> + /// <returns></returns> + public WebResponseContent NextStepeXecuted(int taskid) + { + WebResponseContent responseContent = new WebResponseContent(); + Dt_Task task = BaseDal.QueryData().Where(x => x.TaskNum == taskid).FirstOrDefault(); + if (task == null) return WebResponseContent.Instance.Error($"鏈煡璇㈠埌浠诲姟"); + switch (task.TaskState) + { + //鍏ュ簱鐘舵�� + case (int)TaskInStatusEnum.RGV_InNew: + case (int)TaskInStatusEnum.RGV_InPickupFinish: + case (int)TaskInStatusEnum.RGV_InReleaseFinish: + case (int)TaskInStatusEnum.RGV_InZicheFinish: + case (int)TaskInStatusEnum.RGV_InZicheReleaseFinish: + case (int)TaskInStatusEnum.RGV_InZichemoveFinish: + //鍏ュ簱鐘舵�� + //鍑哄簱鐘舵�� + case (int)TaskOutStatusEnum.OutNew: + case (int)TaskOutStatusEnum.RGV_OutMothercarFinish: + case (int)TaskOutStatusEnum.RGV_OutZicheFinish: + case (int)TaskOutStatusEnum.RGV_OutZicheReleaseFinish: + case (int)TaskOutStatusEnum.RGV_OutPickupFinish: + //鍑哄簱鐘舵�� + //璋冨彇涓嬪彂鐨勬帴鍙� + responseContent = UpdateTaskStatusToNext(task); + break; + + + //鍏ュ簱鐘舵�� + case (int)TaskInStatusEnum.RGV_InPickupExecuting: + case (int)TaskInStatusEnum.RGV_InReleaseExecuting: + case (int)TaskInStatusEnum.RGV_InZicheExecuting: + case (int)TaskInStatusEnum.RGV_InZicheReleaseExecuting: + case (int)TaskInStatusEnum.RGV_InZichemoveExecuting: + case (int)TaskInStatusEnum.RGV_InMothercarExecuting: + //鍏ュ簱鐘舵�� + //鍑哄簱鐘舵�� + case (int)TaskOutStatusEnum.RGV_OutMothercarExecuting: + case (int)TaskOutStatusEnum.RGV_OutZicheExecuting: + case (int)TaskOutStatusEnum.RGV_OutZicheReleaseExecuting: + case (int)TaskOutStatusEnum.RGV_OutPickupExecuting: + case (int)TaskOutStatusEnum.RGV_OutReleaseExecuting: + //鍑哄簱鐘舵�� + //璋冨彇瀹屾垚鎺ュ彛 + responseContent = UpdateTaskStatus(task.TaskNum); + break; + default: + return WebResponseContent.Instance.Error("浠诲姟鐘舵�侀敊璇紝鎵ц涓嬩竴姝ュけ璐�"); + } + // 鍒涘缓骞惰祴鍊� + return responseContent; + } } } -- Gitblit v1.9.3