From f9e8a2d52fe52fb2389892a46c12d4d262ee9aaf Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期六, 29 十一月 2025 16:53:28 +0800
Subject: [PATCH] 增加提升机可进行一次进俩托物料出入库

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |  150 +++++++++++++++++++++++++++++--------------------
 1 files changed, 88 insertions(+), 62 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 4eceba9..cd40f28 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"
@@ -141,6 +141,8 @@
                             task.Floor = item.Floor;
 
                             task.AGVSign = "";
+
+                            task.DoubleTray = item.DoubleTray;
                         }
                         else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
                         {
@@ -187,6 +189,8 @@
                             task.Floor = item.Floor;
 
                             task.AGVSign = "";
+
+                            task.DoubleTray = item.DoubleTray;
                         }
                         else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
                         {
@@ -232,6 +236,8 @@
                             task.Floor = item.Floor;
 
                             task.AGVSign = "";
+
+                            task.DoubleTray = item.DoubleTray;
                         }
                         else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
                         {
@@ -583,73 +589,19 @@
 
                     if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarryFinish)
                     {
-                        Dt_StationManager stationManager = new Dt_StationManager();
-                        string TaskTemplate = string.Empty;
-                        if (task.Floor == "1F")
+                        if (task.DoubleTray != 1)
                         {
-                            stationManager = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == "2F");
-                            TaskTemplate = "BBB";
+                            RequestAcrossFloor(task,0);
                         }
                         else
                         {
-                            stationManager = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == "1F");
-                            TaskTemplate = "CCC";
+                            var taskDouble = BaseDal.QueryFirst(x => x.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarryFinish);
+                            if (taskDouble != null)
+                            {
+                                RequestAcrossFloor(task,1);
+                                RequestAcrossFloor(taskDouble,1);
+                            }
                         }
-
-                        var taskDto = new RequestAcrossFloorTaskDto()
-                        {
-                            NextAddress = task.NextAddress,
-                            PalletCode = task.PalletCode,
-                            TaskNum = task.TaskNum
-                        };
-
-                        // 鑾峰彇WMSip鍦板潃
-                        var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
-                        var wmsBasez = configz.Where(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE).FirstOrDefault()?.ConfigValue;
-                        var requestLocation = configz.Where(x => x.ConfigKey == SysConfigKeyConst.AcrossFloorTask).FirstOrDefault()?.ConfigValue;
-                        if (wmsBasez == null || requestLocation == null)
-                        {
-                            throw new InvalidOperationException("WMS IP 鏈厤缃�");
-                        }
-                        var wmsIpAddrss = wmsBasez + requestLocation;
-
-                        var abc = HttpHelper.PostAsync(wmsIpAddrss, taskDto.ToJsonString()).Result;
-                        if (abc == null)
-                            return content.Error();
-                        content = JsonConvert.DeserializeObject<WebResponseContent>(abc);
-
-                        if (!content.Status)
-                        {
-                            return content;
-                        }
-
-                        // 鍙嶅簭鍒楀寲浠诲姟鏁版嵁
-                        var taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
-
-                        Dt_Task taskNew = _mapper.Map<Dt_Task>(taskDTO);
-                        task.Creater = "WMS";
-
-                        taskNew.CurrentAddress = stationManager.stationChildCode;
-
-                        taskNew.NextAddress = taskDTO.TargetAddress;
-
-                        taskNew.Floor = stationManager.stationFloor;
-
-                        taskNew.AGVSign = "";
-
-                        task.TaskState = (int)TaskAcrossFloorStatusEnum.FirstCarryFinish;
-                        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);
-
-                        BaseDal.AddData(taskNew);
-
-                        SendAgvTask(TaskTemplate, taskNew.TaskNum);
                     }
                 }
                 else
@@ -694,6 +646,80 @@
             return content;
         }
 
+        public WebResponseContent RequestAcrossFloor(Dt_Task task,int DoubleTray)
+        {
+            WebResponseContent content = new WebResponseContent();
+            Dt_StationManager stationManager = new Dt_StationManager();
+            string TaskTemplate = string.Empty;
+            if (task.Floor == "1F")
+            {
+                stationManager = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == "2F");
+                TaskTemplate = "BBB";
+            }
+            else
+            {
+                stationManager = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == "1F");
+                TaskTemplate = "CCC";
+            }
+
+            var taskDto = new RequestAcrossFloorTaskDto()
+            {
+                NextAddress = task.NextAddress,
+                PalletCode = task.PalletCode,
+                TaskNum = task.TaskNum
+            };
+
+            // 鑾峰彇WMSip鍦板潃
+            var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+            var wmsBasez = configz.Where(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE).FirstOrDefault()?.ConfigValue;
+            var requestLocation = configz.Where(x => x.ConfigKey == SysConfigKeyConst.AcrossFloorTask).FirstOrDefault()?.ConfigValue;
+            if (wmsBasez == null || requestLocation == null)
+            {
+                throw new InvalidOperationException("WMS IP 鏈厤缃�");
+            }
+            var wmsIpAddrss = wmsBasez + requestLocation;
+
+            var abc = HttpHelper.PostAsync(wmsIpAddrss, taskDto.ToJsonString()).Result;
+            if (abc == null)
+                return content.Error();
+            content = JsonConvert.DeserializeObject<WebResponseContent>(abc);
+
+            if (!content.Status)
+            {
+                return content;
+            }
+
+            // 鍙嶅簭鍒楀寲浠诲姟鏁版嵁
+            var taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
+
+            Dt_Task taskNew = _mapper.Map<Dt_Task>(taskDTO);
+            task.Creater = "WMS";
+
+            taskNew.CurrentAddress = stationManager.stationChildCode;
+
+            taskNew.NextAddress = taskDTO.TargetAddress;
+
+            taskNew.Floor = stationManager.stationFloor;
+
+            taskNew.AGVSign = "";
+
+            taskNew.DoubleTray = DoubleTray;
+
+            task.TaskState = (int)TaskAcrossFloorStatusEnum.FirstCarryFinish;
+            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);
+
+            BaseDal.AddData(taskNew);
+
+            return SendAgvTask(TaskTemplate, taskNew.TaskNum);
+        }
+
         public string GetLocation(string palletCode)
         {
             var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);

--
Gitblit v1.9.3