From 2190be42c0d77be84fed82d387f2a34da7fe4acc Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 07 八月 2025 16:17:07 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |  103 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 64 insertions(+), 39 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 1465b4e..e39ead0 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -103,6 +103,7 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
+                WriteLog.GetLog("鎺ユ敹WMS浠诲姟").Write(JsonConvert.SerializeObject(taskDTOs), "鎺ユ敹WMS浠诲姟");
                 Dt_Task task =null;
                 // 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄嚭搴撲换鍔�
                 if (taskDTOs.TaskType == "2")
@@ -137,15 +138,6 @@
                     {
                         string[] targetCodes = taskDTOs.BeginPoint.Split("-");
 
-                        if(GetScCode(Convert.ToInt32(targetCodes[0]))=="SC01"&&(taskDTOs.EndPoint=="1030"|| taskDTOs.EndPoint == "1029"))
-                        {
-                            return content.Error($"涓�鍙峰爢鍨涙満涓嶈兘鍑哄簱鑷宠鐐逛綅{taskDTOs.EndPoint}");
-                        }
-                        if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC06" && (taskDTOs.EndPoint == "1002" || taskDTOs.EndPoint == "1004"))
-                        {
-                            return content.Error($"鍏彿鍫嗗灈鏈轰笉鑳藉嚭搴撹嚦璇ョ偣浣峽taskDTOs.EndPoint}");
-                        }
-
                         if (taskDTOs.EndPoint == "3004")
                         {
                             var newTask = BaseDal.QueryFirst(x => x.SourceAddress == "3001" && x.TaskType == (int)TaskInboundTypeEnum.Inbound && x.TaskState != (int)TaskInStatusEnum.HoistNew && x.TaskState != (int)TaskInStatusEnum.HoistInExecuting && x.TaskState > 225);
@@ -169,7 +161,7 @@
                         {
                             RGVName = stationManager.RGVName;
                         }
-                        task = new Dt_Task()
+                        Dt_Task NewTask = new Dt_Task()
                         {
                             TaskNum = BaseDal.GetTaskNo().Result,
                             Creater = "WMS",
@@ -185,10 +177,27 @@
                             TargetAddress = taskDTOs.EndPoint,
                             RGVName = stationManager.RGVName != null ? stationManager.RGVName : RGVName,
                             Floor = stationManager.stationFloor,
-                            TargetStation= stationManagerEnd.remark,
-                            SourceStation= 0,
+                            TargetStation = stationManagerEnd.remark,
+                            SourceStation = 0,
                         };
-                        BaseDal.AddData(task);
+                        if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC01" && (taskDTOs.EndPoint == "1030" || taskDTOs.EndPoint == "1029"))
+                        {
+                            Dt_StationManager stationTransfer = _stationManagerRepository.QueryFirst(x => x.stationChildCode== "1025");
+                            NewTask.TargetStation = stationTransfer.stationRemark;
+                            NewTask.Remark = "1025";
+                        }
+                        if(taskDTOs.EndPoint == "1004")
+                        {
+                            return content.Error("璇ョ偣浣嶄笉鏄嚭搴撶偣浣�");
+                        }
+                        if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC06" && taskDTOs.EndPoint == "1002")
+                        {
+                            Dt_StationManager stationTransfer = _stationManagerRepository.QueryFirst(x => x.stationChildCode == "1026");
+                            NewTask.TargetStation = stationTransfer.stationRemark;
+                            NewTask.Remark = "1026";
+                        }
+                        task = NewTask;
+                        BaseDal.AddData(NewTask);
                     }
                 }
                 // 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄叆搴撲换鍔�
@@ -251,17 +260,7 @@
                     {
                         task = BaseDal.QueryFirst(x => x.PalletCode == taskDTOs.TPbarcode);
                         string[] targetCodes = taskDTOs.EndPoint.Split("-");
-
-                        if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC01" && (taskDTOs.BeginPoint == "1030" || taskDTOs.EndPoint == "1029"))
-                        {
-                            return content.Error($"璇ョ偣浣峽taskDTOs.EndPoint}涓嶈兘鍏ュ簱涓�鍙峰爢鍨涙満");
-                        }
-
-                        if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC06" && (taskDTOs.BeginPoint == "1002" || taskDTOs.BeginPoint == "1004"))
-                        {
-                            return content.Error($"璇ョ偣浣峽taskDTOs.EndPoint}涓嶈兘鍏ュ簱鍏彿鍫嗗灈鏈�");
-                        }
-
+                                                
                         if (task != null)
                         {
                             task.Creater = "WMS";
@@ -290,6 +289,20 @@
 
                             task.TargetStation = stationManager.stationRemark;
 
+
+                            if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC01" && (taskDTOs.BeginPoint == "1030" || taskDTOs.EndPoint == "1029"))
+                            {
+                                Dt_StationManager stationTransfer = _stationManagerRepository.QueryFirst(x => x.stationChildCode == "1026");
+                                task.TargetStation = stationTransfer.stationRemark;
+                                task.Remark = "1026";
+                            }
+
+                            if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC06" && (taskDTOs.BeginPoint == "1002" || taskDTOs.BeginPoint == "1004"))
+                            {
+                                Dt_StationManager stationTransfer = _stationManagerRepository.QueryFirst(x => x.stationChildCode == "1026");
+                                task.TargetStation = stationTransfer.stationRemark;
+                                task.Remark = "1025";
+                            }
                             BaseDal.UpdateData(task);
                         }
                         else
@@ -338,6 +351,7 @@
 
                         Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
                         task_Hty.TaskId = 0;
+                        task_Hty.OperateType = (int)OperateTypeEnum.寮傚父閫�鍥�;
 
                         BaseDal.DeleteData(task);
                         _taskHtyRepository.AddData(task_Hty);
@@ -347,6 +361,7 @@
                             PalletCode=taskDTOs.TPbarcode,
                             ErrorMessage=taskDTOs.EndPoint,
                             CreateDate=DateTime.Now,
+                            Creater = "WMS"
                         };
                         _errorMessageRepository.AddData(message);
                         IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == task.RGVName);
@@ -383,6 +398,7 @@
                                 PalletCode = taskDTOs.TPbarcode,
                                 ErrorMessage = taskDTOs.EndPoint,
                                 CreateDate = DateTime.Now,
+                                Creater ="WMS"
                             };
                             _errorMessageRepository.AddData(message);
                         }
@@ -398,6 +414,7 @@
             }
             catch (Exception ex)
             {
+                WriteLog.GetLog("鎺ユ敹WMS浠诲姟").Write(JsonConvert.SerializeObject(ex.Message), "鎺ユ敹WMS浠诲姟");
                 content = WebResponseContent.Instance.Error($"鐢熸垚浠诲姟澶辫触,閿欒淇℃伅:{ex.Message}");
             }
             finally
@@ -912,19 +929,6 @@
 
                     task.TaskState = nextStatus;
 
-                    if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutFinish)
-                    {
-                        //task.ModifyDate = DateTime.Now;
-                        //task.Modifier = "System";
-
-                        //Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
-                        //task_Hty.TaskId = 0;
-
-                        //BaseDal.DeleteData(task);
-                        //_taskHtyRepository.AddData(task_Hty);
-
-                        RGVTaskCompleted(task.TaskNum);
-                    }
                     if (task.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting)
                     {
                         Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == task.Roadway && x.stationChildCode == task.NextAddress);
@@ -939,6 +943,10 @@
                     {
                         content = StackCraneTaskCompleted(task.TaskNum);
                         return content;
+                    }
+                    if (task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
+                    {
+                        task.Dispatchertime = DateTime.Now;
                     }
                 }
                 else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
@@ -1030,6 +1038,7 @@
                     }
                     var wmsIpAddress = wmsBase + requestTask;
                     var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+                    WriteLog.GetLog("WMS鎺ュ彛杩斿洖淇℃伅").Write(JsonConvert.SerializeObject(result), "WMS鎺ュ彛杩斿洖淇℃伅");
 
                     _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV璋冨害瀹屾垚绛夊緟WMS浠诲姟");
                 }
@@ -1092,9 +1101,21 @@
                     }
                     var wmsIpAddress = wmsBase + requestTask;
                     var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
-
+                    WriteLog.GetLog("WMS鎺ュ彛杩斿洖淇℃伅").Write(JsonConvert.SerializeObject(result), "WMS鎺ュ彛杩斿洖淇℃伅");
 
                     _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV鍑哄簱瀹屾垚");
+                }
+                else if (task.TaskState == (int)TaskInStatusEnum.RGV_TransFer)
+                {
+                    task.TaskState = (int)TaskInStatusEnum.RGV_TransFerFInish;
+                    BaseDal.UpdateData(task);
+                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV鍏ュ簱涓浆");
+                }
+                else if (task.TaskState == (int)TaskOutStatusEnum.RGV_TransFer)
+                {
+                    task.TaskState = (int)TaskOutStatusEnum.RGV_TransFerFInish;
+                    BaseDal.UpdateData(task);
+                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV鍑哄簱涓浆");
                 }
                 else
                 {
@@ -1160,7 +1181,7 @@
 
                     Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
                     task_Hty.TaskId = 0;
-
+                    task_Hty.OperateType = (int)OperateTypeEnum.鑷姩瀹屾垚;
                     BaseDal.DeleteData(task);
                     _taskHtyRepository.AddData(task_Hty);
                     _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄叆搴撳畬鎴�");
@@ -1183,6 +1204,7 @@
                     }
                     var wmsIpAddress = wmsBase + requestTask;
                     var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+                    WriteLog.GetLog("WMS鎺ュ彛杩斿洖淇℃伅").Write(JsonConvert.SerializeObject(result), "WMS鎺ュ彛杩斿洖淇℃伅");
                 }
                 else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
                 {
@@ -1216,6 +1238,7 @@
                     }
                     var wmsIpAddress = wmsBase + requestTask;
                     var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+                    WriteLog.GetLog("WMS鎺ュ彛杩斿洖淇℃伅").Write(JsonConvert.SerializeObject(result), "WMS鎺ュ彛杩斿洖淇℃伅");
                 }
                 else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup)
                 {
@@ -1311,6 +1334,7 @@
                 }
                 var wmsIpAddress = wmsBase + requestTask;
                 var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+                WriteLog.GetLog("WMS鎺ュ彛杩斿洖淇℃伅").Write(JsonConvert.SerializeObject(result), "WMS鎺ュ彛杩斿洖淇℃伅");
                 #endregion
 
                 content = WebResponseContent.Instance.OK("鍙栨秷浠诲姟鎴愬姛");
@@ -1372,6 +1396,7 @@
                 }
                 var wmsIpAddress = wmsBase + requestTask;
                 var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+                WriteLog.GetLog("WMS鎺ュ彛杩斿洖淇℃伅").Write(JsonConvert.SerializeObject(result), "WMS鎺ュ彛杩斿洖淇℃伅");
                 #endregion
 
                 content = WebResponseContent.Instance.OK("鎵嬪姩瀹屾垚鎴愬姛");

--
Gitblit v1.9.3