From f23e0326aa05a1c5b47d4aec4c06e73d0d86b8e7 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期二, 29 七月 2025 17:43:15 +0800
Subject: [PATCH] 代码提交

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |  518 ++++++++++++++++++++++++++++++++------------------------
 1 files changed, 296 insertions(+), 222 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 59d937f..ed50158 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"
@@ -16,6 +16,7 @@
 #endregion << 鐗� 鏈� 娉� 閲� >>
 
 using AutoMapper;
+using HslCommunication;
 using Mapster;
 using Newtonsoft.Json;
 using SqlSugar;
@@ -94,194 +95,201 @@
         /// </summary>
         /// <param name="taskDTOs">WMS浠诲姟瀵硅薄闆嗗悎</param>
         /// <returns>杩斿洖澶勭悊缁撴灉</returns>
-        public WebResponseContent ReceiveWMSTask([NotNull] List<WMSTaskDTO> taskDTOs)
+        public WebResponseContent ReceiveWMSTask([NotNull] WMSTaskDTO taskDTOs)
         {
             WebResponseContent content = new WebResponseContent();
             try
-            {// 鍒涘缓涓�涓狣t_Task绫诲瀷鐨勫垪琛ㄧ敤浜庡瓨鍌ㄨ浆鎹㈠悗鐨勪换鍔℃暟鎹�
+            {
                 List<Dt_Task> tasks = new List<Dt_Task>();
-                // 閬嶅巻浼犲叆鐨刉MSTaskDTO鍒楄〃
-                foreach (var item in taskDTOs)
+                // 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄嚭搴撲换鍔�
+                if (taskDTOs.TaskType == "2")
                 {
-                    // 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄嚭搴撲换鍔�
-                    if (item.TaskType == "2")
+                    if (Convert.ToInt32(taskDTOs.EndPoint) > 1999 && Convert.ToInt32(taskDTOs.EndPoint) < 3000)
                     {
-                        if (Convert.ToInt32(item.EndPoint) > 1999 && Convert.ToInt32(item.EndPoint) < 3000)
+                        Dt_StationManager stationManagerStart = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTOs.EndPoint);
+                        if (stationManagerStart == null)
                         {
-                            Dt_StationManager stationManagerStart = _stationManagerRepository.QueryFirst(x => x.stationChildCode == item.EndPoint);
-                            if (stationManagerStart == null)
-                            {
-                                return content.Error("鏈壘鍒板嚭搴撶珯鍙颁俊鎭�");
-                            }
-                            Dt_Task taskIn = new Dt_Task()
-                            {
-                                TaskNum = BaseDal.GetTaskNo().Result,
-                                Creater = "WMS",
-                                WMSTaskNum = item.TaskId,
-                                Grade = 1,
-                                PalletCode = item.TPbarcode,
-                                TaskType = (int)TaskOutboundTypeEnum.Outbound,
-                                TaskState = (int)TaskOutStatusEnum.OutNew,
-                                SourceAddress = item.BeginPoint,
-                                CurrentAddress = item.BeginPoint,
-                                Roadway = stationManagerStart.Roadway,
-                                NextAddress = item.EndPoint,
-                                TargetAddress = item.EndPoint,
-                                Floor = stationManagerStart.stationFloor,
-                                RGVName = ""
-                            };
-                            BaseDal.AddData(taskIn);
+                            return content.Error("鏈壘鍒板嚭搴撶珯鍙颁俊鎭�");
                         }
-                        else
+                        Dt_Task taskIn = new Dt_Task()
                         {
-
-                            string[] targetCodes = item.BeginPoint.Split("-");
-
-                            Dt_StationManager stationManagerEnd = _stationManagerRepository.QueryFirst(x => x.stationChildCode == item.EndPoint);
-                            if (stationManagerEnd == null)
-                            {
-                                return content.Error("鏈壘鍒板嚭搴撶珯鍙颁俊鎭�");
-                            }
-
-                            Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == GetScCode(Convert.ToInt32(targetCodes[0])) && x.stationType == 2 && x.stationFloor == stationManagerEnd.stationFloor);
-
-                            var RGVName = string.Empty;
-                            if (stationManager.stationFloor == "1F")
-                            {
-                                var deviceCode = _deviceInfoRepository.Db.Queryable<Dt_DeviceInfo>().Where(x => x.DeviceStatus == "1" && x.DeviceRemark == "1F").Where(x => x.DeviceCode.Contains("RGV")).ToList().Select(x => x.DeviceCode).ToList();
-                                if (deviceCode != null && deviceCode.Count() > 0)
-                                {
-                                    if (deviceCode.Contains("RGV01") && deviceCode.Contains("RGV02"))
-                                    {
-                                        var RGVOne = BaseDal.QueryData(x => x.RGVName == "RGV01").ToList();
-                                        var RGVTwo = BaseDal.QueryData(x => x.RGVName == "RGV02").ToList();
-                                        if (RGVOne.Count > RGVTwo.Count)
-                                        {
-                                            RGVName = "RGV01";
-                                        }
-                                        else
-                                        {
-                                            RGVName = "RGV02";
-                                        }
-                                    }
-                                    else
-                                    {
-                                        RGVName = deviceCode[0];
-                                    }
-                                }
-                                else
-                                {
-                                    RGVName = "RGV01";
-                                }
-                            }
-                            Dt_Task taskOut = new Dt_Task()
-                            {
-                                TaskNum = BaseDal.GetTaskNo().Result,
-                                Creater = "WMS",
-                                WMSTaskNum = item.TaskId,
-                                Grade = 1,
-                                PalletCode = item.TPbarcode,
-                                TaskType = (int)TaskOutboundTypeEnum.Outbound,
-                                TaskState = (int)TaskOutStatusEnum.OutNew,
-                                SourceAddress = item.BeginPoint,
-                                CurrentAddress = item.BeginPoint,
-                                Roadway = GetScCode(Convert.ToInt32(targetCodes[0])),
-                                NextAddress = stationManager.stationChildCode,
-                                TargetAddress = item.EndPoint,
-                                RGVName = stationManager.RGVName != null ? stationManager.RGVName : RGVName,
-                                Floor = stationManager.stationFloor,
-                            };
-                            BaseDal.AddData(taskOut);
-                        }
-                    }
-                    // 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄叆搴撲换鍔�
-                    else if (item.TaskType == "1")
-                    {
-                        if (Convert.ToInt32(item.BeginPoint) > 1999 && Convert.ToInt32(item.BeginPoint) < 3000)
-                        {
-                            Dt_StationManager stationManagerStart = _stationManagerRepository.QueryFirst(x => x.stationChildCode == item.BeginPoint);
-                            if (stationManagerStart == null)
-                            {
-                                return content.Error("鏈壘鍒板嚭搴撶珯鍙颁俊鎭�");
-                            }
-                            Dt_Task taskIn = new Dt_Task()
-                            {
-                                TaskNum = BaseDal.GetTaskNo().Result,
-                                Creater = "WMS",
-                                WMSTaskNum = item.TaskId,
-                                Grade = 1,
-                                PalletCode = item.TPbarcode,
-                                TaskType = (int)TaskInboundTypeEnum.Inbound,
-                                TaskState = (int)TaskInStatusEnum.Line_InFinish,
-                                SourceAddress = item.BeginPoint,
-                                CurrentAddress = stationManagerStart.stationChildCode,
-                                Roadway = stationManagerStart.Roadway,
-                                NextAddress = item.EndPoint,
-                                TargetAddress = item.EndPoint,
-                                Floor = stationManagerStart.stationFloor,
-                                RGVName = ""
-                            };
-                            BaseDal.AddData(taskIn);
-                        }
-                        else
-                        {
-                            var task = BaseDal.QueryFirst(x => x.PalletCode == item.TPbarcode);
-                            if (task != null)
-                            {
-                                task.Creater = "WMS";
-                                task.Grade = 1;
-                                task.PalletCode = item.TPbarcode;
-
-                                task.TaskType = (int)TaskInboundTypeEnum.Inbound;
-
-                                task.TaskState = (int)TaskInStatusEnum.RGV_IndispatchFinish;
-
-                                task.CurrentAddress = item.BeginPoint;
-
-                                task.WMSTaskNum = item.TaskId;
-
-                                task.TargetAddress = item.EndPoint;
-
-                                string[] targetCodes = item.EndPoint.Split("-");
-
-                                task.Roadway = GetScCode(Convert.ToInt32(targetCodes[0]));
-
-                                Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == task.Roadway && x.stationType == 3 && x.stationFloor == task.Floor);
-
-                                task.NextAddress = stationManager.stationChildCode;
-                                BaseDal.UpdateData(task);
-                            }
-                            else
-                            {
-                                return content.Error($"鏈壘鍒拌鎵樼洏銆恵item.TPbarcode}銆戜换鍔�");
-                            }
-                        }
-                    }
-                    else if (item.TaskType == "3")
-                    {
-                        Dt_Task taskRelocation = new Dt_Task()
-                        {
-                            TaskType = (int)TaskRelocationTypeEnum.Relocation,
-
-                            TaskState = (int)TaskRelocationStatusEnum.RelocationNew,
-
-                            SourceAddress = item.BeginPoint,
-
-                            CurrentAddress = item.BeginPoint,
-
-                            NextAddress = item.EndPoint,
-
-                            TargetAddress = item.EndPoint,
-
-                            Grade = 3,
-
+                            TaskNum = BaseDal.GetTaskNo().Result,
+                            Creater = "WMS",
+                            WMSTaskNum = taskDTOs.TaskId,
+                            Grade = 1,
+                            PalletCode = taskDTOs.TPbarcode,
+                            TaskType = (int)TaskOutboundTypeEnum.Outbound,
+                            TaskState = (int)TaskOutStatusEnum.OutNew,
+                            SourceAddress = taskDTOs.BeginPoint,
+                            CurrentAddress = taskDTOs.BeginPoint,
+                            Roadway = stationManagerStart.Roadway,
+                            NextAddress = taskDTOs.EndPoint,
+                            TargetAddress = taskDTOs.EndPoint,
+                            Floor = stationManagerStart.stationFloor,
+                            RGVName = ""
                         };
-                        BaseDal.AddData(taskRelocation);
+                        BaseDal.AddData(taskIn);
                     }
                     else
                     {
-                        return content.Error($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵item.TaskId}銆�,浠诲姟绫诲瀷:銆恵item.TaskType}銆�");
+
+                        string[] targetCodes = taskDTOs.BeginPoint.Split("-");
+
+                        Dt_StationManager stationManagerEnd = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTOs.EndPoint);
+                        if (stationManagerEnd == null)
+                        {
+                            return content.Error("鏈壘鍒板嚭搴撶珯鍙颁俊鎭�");
+                        }
+
+                        Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == GetScCode(Convert.ToInt32(targetCodes[0])) && x.stationType == 2 && x.stationFloor == stationManagerEnd.stationFloor);
+
+                        var RGVName = string.Empty;
+                        if (stationManager.stationFloor == "1F")
+                        {
+                            RGVName = stationManager.RGVName;
+                        }
+                        Dt_Task taskOut = new Dt_Task()
+                        {
+                            TaskNum = BaseDal.GetTaskNo().Result,
+                            Creater = "WMS",
+                            WMSTaskNum = taskDTOs.TaskId,
+                            Grade = 1,
+                            PalletCode = taskDTOs.TPbarcode,
+                            TaskType = (int)TaskOutboundTypeEnum.Outbound,
+                            TaskState = (int)TaskOutStatusEnum.OutNew,
+                            SourceAddress = taskDTOs.BeginPoint,
+                            CurrentAddress = taskDTOs.BeginPoint,
+                            Roadway = GetScCode(Convert.ToInt32(targetCodes[0])),
+                            NextAddress = stationManager.stationChildCode,
+                            TargetAddress = taskDTOs.EndPoint,
+                            RGVName = stationManager.RGVName != null ? stationManager.RGVName : RGVName,
+                            Floor = stationManager.stationFloor,
+                            TargetStation= stationManagerEnd.remark,
+                        };
+                        BaseDal.AddData(taskOut);
                     }
+                }
+                // 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄叆搴撲换鍔�
+                else if (taskDTOs.TaskType == "1")
+                {
+                    if (taskDTOs.BeginPoint == "3002")
+                    {
+                        Dt_StationManager stationManagerStart = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTOs.BeginPoint);
+                        if (stationManagerStart == null)
+                        {
+                            return content.Error("鏈壘鍒板叆搴撶珯鍙颁俊鎭�");
+                        }
+                        string[] targetCodes = taskDTOs.EndPoint.Split("-");
+                        Dt_Task taskIn = new Dt_Task()
+                        {
+                            TaskNum = BaseDal.GetTaskNo().Result,
+                            Creater = "WMS",
+                            WMSTaskNum = taskDTOs.TaskId,
+                            Grade = 1,
+                            PalletCode = taskDTOs.TPbarcode,
+                            TaskType = (int)TaskInboundTypeEnum.Inbound,
+                            TaskState = (int)TaskInStatusEnum.HoistNew,
+                            SourceAddress = taskDTOs.BeginPoint,
+                            CurrentAddress = stationManagerStart.stationChildCode,
+                            Roadway = GetScCode(Convert.ToInt32(targetCodes[0])),
+                            NextAddress = stationManagerStart.stationNextChildCode,
+                            TargetAddress = taskDTOs.EndPoint,
+                            Floor = stationManagerStart.stationFloor,
+                            RGVName = "RGV03"
+                        };
+                        BaseDal.AddData(taskIn);
+                    } 
+                    else if (Convert.ToInt32(taskDTOs.BeginPoint) > 1999 && Convert.ToInt32(taskDTOs.BeginPoint) < 3000)
+                    {
+                        Dt_StationManager stationManagerStart = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTOs.BeginPoint);
+                        if (stationManagerStart == null)
+                        {
+                            return content.Error("鏈壘鍒板嚭搴撶珯鍙颁俊鎭�");
+                        }
+                        Dt_Task taskIn = new Dt_Task()
+                        {
+                            TaskNum = BaseDal.GetTaskNo().Result,
+                            Creater = "WMS",
+                            WMSTaskNum = taskDTOs.TaskId,
+                            Grade = 1,
+                            PalletCode = taskDTOs.TPbarcode,
+                            TaskType = (int)TaskInboundTypeEnum.Inbound,
+                            TaskState = (int)TaskInStatusEnum.Line_InFinish,
+                            SourceAddress = taskDTOs.BeginPoint,
+                            CurrentAddress = stationManagerStart.stationChildCode,
+                            Roadway = stationManagerStart.Roadway,
+                            NextAddress = taskDTOs.EndPoint,
+                            TargetAddress = taskDTOs.EndPoint,
+                            Floor = stationManagerStart.stationFloor,
+                            RGVName = ""
+                        };
+                        BaseDal.AddData(taskIn);
+                    }
+                    else
+                    {
+                        var task = BaseDal.QueryFirst(x => x.PalletCode == taskDTOs.TPbarcode);
+                        if (task != null)
+                        {
+                            task.Creater = "WMS";
+                            task.Grade = 1;
+                            task.PalletCode = taskDTOs.TPbarcode;
+
+                            task.TaskType = (int)TaskInboundTypeEnum.Inbound;
+
+                            task.TaskState = (int)TaskInStatusEnum.RGV_IndispatchFinish;
+
+                            task.CurrentAddress = taskDTOs.BeginPoint;
+
+                            task.WMSTaskNum = taskDTOs.TaskId;
+
+                            task.TargetAddress = taskDTOs.EndPoint;
+
+                            string[] targetCodes = taskDTOs.EndPoint.Split("-");
+
+                            task.Roadway = GetScCode(Convert.ToInt32(targetCodes[0]));
+
+                            Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == task.Roadway && x.stationType == 3 && x.stationFloor == task.Floor);
+
+                            Dt_StationManager stationManagerStart = _stationManagerRepository.QueryFirst(x => x.Roadway == task.Roadway &&x.stationChildCode==taskDTOs.BeginPoint && x.stationFloor == task.Floor);
+
+                            task.NextAddress = stationManager.stationChildCode;
+
+                            task.SourceStation = stationManagerStart.remark;
+
+                            task.TargetStation = stationManagerStart.stationRemark;
+
+                            BaseDal.UpdateData(task);
+                        }
+                        else
+                        {
+                            return content.Error($"鏈壘鍒拌鎵樼洏銆恵taskDTOs.TPbarcode}銆戜换鍔�");
+                        }
+                    }
+                }
+                else if (taskDTOs.TaskType == "3")
+                {
+                    Dt_Task taskRelocation = new Dt_Task()
+                    {
+                        TaskType = (int)TaskRelocationTypeEnum.Relocation,
+
+                        TaskState = (int)TaskRelocationStatusEnum.RelocationNew,
+
+                        SourceAddress = taskDTOs.BeginPoint,
+
+                        CurrentAddress = taskDTOs.BeginPoint,
+
+                        NextAddress = taskDTOs.EndPoint,
+
+                        TargetAddress = taskDTOs.EndPoint,
+
+                        Grade = 3,
+
+                    };
+                    BaseDal.AddData(taskRelocation);
+                }
+                else
+                {
+                    return content.Error($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskDTOs.TaskId}銆�,浠诲姟绫诲瀷:銆恵taskDTOs.TaskType}銆�");
                 }
                 _taskExecuteDetailService.AddTaskExecuteDetail(tasks.Select(x => x.TaskId).ToList(), "鎺ユ敹WMS浠诲姟");
                 content = WebResponseContent.Instance.OK("鎴愬姛");
@@ -329,8 +337,8 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
-                Dt_Task task = BaseDal.QueryFirst(x => x.WMSTaskNum == taskDTO.TaskId || x.Roadway == taskDTO.WhCode);
-                Dt_Task_Hty taskHty = _taskHtyRepository.QueryFirst(x => x.WMSTaskNum == taskDTO.TaskId || x.Roadway == taskDTO.WhCode);
+                Dt_Task task = BaseDal.QueryFirst(x => x.WMSTaskNum == taskDTO.TaskId && x.Roadway == taskDTO.WhCode);
+                Dt_Task_Hty taskHty = _taskHtyRepository.QueryFirst(x => x.WMSTaskNum == taskDTO.TaskId && x.Roadway == taskDTO.WhCode);
                 if (task != null)
                 {
                     return content.OK(data: new WMSTaskDTO()
@@ -458,9 +466,9 @@
         /// <param name="deviceNo">璁惧缂栧彿</param>
         /// <param name="currentAddress">褰撳墠鍦板潃</param>
         /// <returns></returns>
-        public Dt_Task QueryRGVExecutingTask(string deviceNo)
+        public Dt_Task QueryRGVExecutingTask(string deviceNo,int TaskNum)
         {
-            return BaseDal.QueryFirst(x => TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish);
+            return BaseDal.QueryFirst(x => TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish && x.TaskNum == TaskNum && x.RGVName == deviceNo);
         }
 
         /// <summary>
@@ -512,6 +520,11 @@
         public Dt_Task QueryRGVTask(string deviceNo)
         {
             return BaseDal.QueryFirst(x => x.RGVName == deviceNo && ((TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew) || (TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.Line_OutFinish)), TaskOrderBy);
+        }
+
+        public List<Dt_Task> QueryRGVTask()
+        {
+            return BaseDal.QueryData(x => ((TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew) || (TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.Line_OutFinish) && x.Floor == "1F"), TaskOrderBy);
         }
 
         /// <summary>
@@ -653,6 +666,7 @@
                         Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == task.Roadway && x.stationChildCode == task.NextAddress);
                         task.CurrentAddress = task.NextAddress;
                         task.NextAddress = task.TargetAddress;
+                        task.SourceStation = stationManager.stationRemark;
                     }
 
                     if (task.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)
@@ -725,25 +739,26 @@
 
                 if (task.TaskState == (int)TaskInStatusEnum.RGV_Indispatch)
                 {
-                    //var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
-                    //var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
-                    //var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTask)?.ConfigValue;
-                    //var keys = new Dictionary<string, object>()
-                    //{
-                    //    {"TPbarcode", Barcode},
-                    //    {"WhCode", "1001"},
-                    //    {"BeginPoint", task.SourceAddress}
-                    //};
-                    //if (wmsBase == null || requestTask == null)
-                    //{
-                    //    throw new InvalidOperationException("WMS IP 鏈厤缃�");
-                    //}
-                    //var wmsIpAddress = wmsBase + requestTask;
-                    //var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, keys.ToString()).Result;
+                    var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+                    var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+                    var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTask)?.ConfigValue;
+
+                    WMSTaskDTO taskDTO = new WMSTaskDTO()
+                    {
+                        TPbarcode = Barcode,
+                        WhCode = "1001",
+                        BeginPoint = task.SourceAddress
+                    };
+                    if (wmsBase == null || requestTask == null)
+                    {
+                        throw new InvalidOperationException("WMS IP 鏈厤缃�");
+                    }
+                    var wmsIpAddress = wmsBase + requestTask;
+                    var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
 
                     //if (result != null)
                     //{
-                        task.TaskState = (int)TaskInStatusEnum.RGV_InAwaitWMS;
+                    task.TaskState = (int)TaskInStatusEnum.RGV_InAwaitWMS;
                         task.PalletCode = Barcode;
                         task.ModifyDate = DateTime.Now;
                         BaseDal.UpdateData(task);
@@ -768,6 +783,18 @@
                     BaseDal.UpdateData(task);
 
                 }
+                else if (task.TaskState == (int)TaskInStatusEnum.InRetuen)
+                {
+                    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);
+                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV鍑哄簱瀹屾垚");
+                }
                 else if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutExecuting)
                 {
                     task.TaskState = (int)TaskOutStatusEnum.OutFinish;
@@ -779,6 +806,27 @@
 
                     BaseDal.DeleteData(task);
                     _taskHtyRepository.AddData(task_Hty);
+
+                    var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+                    var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+                    var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
+                    WMSTaskDTO taskDTO = new WMSTaskDTO()
+                    {
+                        TaskId = task.WMSTaskNum,
+                        TPbarcode = task.PalletCode,
+                        WhCode = "1001",
+                        BeginPoint = task.SourceAddress,
+                        EndPoint = task.TargetAddress,
+                        Results = "1"
+                    };
+                    if (wmsBase == null || requestTask == null)
+                    {
+                        throw new InvalidOperationException("WMS IP 鏈厤缃�");
+                    }
+                    var wmsIpAddress = wmsBase + requestTask;
+                    var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+
+
                     _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV鍑哄簱瀹屾垚");
                 }
                 else
@@ -802,30 +850,6 @@
             {
                 Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                 if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
-
-                //var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
-                //var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
-                //var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
-                //var keys = new Dictionary<string, object>()
-                //    {
-                //        {"TaskId", task.WMSTaskNum},
-                //        {"TPbarcode", task.PalletCode},
-                //        {"WhCode", "1001"},
-                //        {"BeginPoint", task.SourceAddress},
-                //        {"EndPoint", task.TargetAddress},
-                //        {"Results", 1},
-                //    };
-                //if (wmsBase == null || requestTask == null)
-                //{
-                //    throw new InvalidOperationException("WMS IP 鏈厤缃�");
-                //}
-                //var wmsIpAddress = wmsBase + requestTask;
-                //var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, keys.ToString()).Result;
-
-                //if (result != null)
-                //{
-                //    task.ExceptionMessage += "   " + content.Message;
-                //}
 
                 if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
                 {
@@ -1081,12 +1105,62 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
-        public WebResponseContent text(int taskNum)
+        public WebResponseContent TaskComplete()
         {
             WebResponseContent content = new WebResponseContent();
-            var result = _stationManagerRepository.Db.Queryable<Dt_StationManager>()
-                .Where(t => SqlFunc.Abs(t.LevelPointFist - taskNum) <= 10)
-                .ToList();
+            //var result = _stationManagerRepository.Db.Queryable<Dt_StationManager>()
+            //    .Where(t => SqlFunc.Abs(t.LevelPointFist - taskNum) <= 1000)
+            //    .ToList();
+            var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+            var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+            var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
+            WMSTaskDTO taskDTO = new WMSTaskDTO()
+            {
+                TaskId="1",
+                TPbarcode = "123456",
+                WhCode = "1001",
+                BeginPoint = "1013",
+                EndPoint="1-1-1",
+                Results="1"
+            };
+            if (wmsBase == null || requestTask == null)
+            {
+                throw new InvalidOperationException("WMS IP 鏈厤缃�");
+            }
+            var wmsIpAddress = wmsBase + requestTask;
+            var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+
+            return content.OK(data: result);
+        }
+
+        public WebResponseContent RequestTask()
+        {
+            WebResponseContent content = new WebResponseContent();
+            //var result = _stationManagerRepository.Db.Queryable<Dt_StationManager>()
+            //    .Where(t => SqlFunc.Abs(t.LevelPointFist - taskNum) <= 1000)
+            //    .ToList();
+            var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+            var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+            var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTask)?.ConfigValue;
+            //var keys = new Dictionary<string, object>()
+            //{
+            //    {"TPbarcode", "123456"},
+            //    {"WhCode", "1001"},
+            //    {"BeginPoint", "1013"}
+            //};
+
+            WMSTaskDTO taskDTO = new WMSTaskDTO()
+            {
+                TPbarcode = "123456",
+                WhCode = "1001",
+                BeginPoint = "1013"
+            };
+            if (wmsBase == null || requestTask == null)
+            {
+                throw new InvalidOperationException("WMS IP 鏈厤缃�");
+            }
+            var wmsIpAddress = wmsBase + requestTask;
+            var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
 
             return content.OK(data: result);
         }

--
Gitblit v1.9.3