From e2bb2738c6ddb1d013837924dc639b0f6f63662b Mon Sep 17 00:00:00 2001
From: 刘磊 <1161824510@qq.com>
Date: 星期二, 24 十二月 2024 10:07:55 +0800
Subject: [PATCH] 同步

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 105 insertions(+), 3 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs
index 359b548..590d8b3 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs
@@ -13,6 +13,7 @@
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob.Models;
+using System.Drawing;
 
 namespace WIDESEAWCS_TaskInfoService
 {
@@ -93,11 +94,24 @@
 
                 var result = await HttpHelper.PostAsync(wmsIpAddrss, new { palletCode = palletCode, EquiCodeMOM = stationManager.stationEquipMOM, Roadways = stationManager.Roadway, area = stationManager.stationArea, Position = stationManager.stationChildCode }.ToJsonString());
                 content = JsonConvert.DeserializeObject<WebResponseContent>(result);
+                ConsoleHelper.WriteErrorLine($"{stationManager.stationChildCode}绔欏彴璇锋眰鍝嶅簲淇℃伅:{content.ToJsonString()}");
                 if (!content.Status)
                 {
                     // wms澶辫触杩斿洖鍘籒G鍙d换鍔�
-
-
+                    //if (stationManager.stationChildCode != stationManager.stationNGChildCode)
+                    //{
+                    //    WMSTaskDTO taskDTO = new WMSTaskDTO()
+                    //    {
+                    //        Grade = 8,
+                    //        PalletCode = palletCode,
+                    //        SourceAddress = stationManager.stationLocation,
+                    //        TargetAddress = stationManager.stationNGLocation,
+                    //        RoadWay = stationManager.Roadway,
+                    //        TaskNum = 1000,
+                    //        TaskState = (int)TaskOutStatusEnum.OutNew,
+                    //        TaskType = (int)TaskOutboundTypeEnum.InToOut
+                    //    };
+                    //}
                     return content;
                 }
 
@@ -108,6 +122,45 @@
             catch (Exception ex)
             {
                 return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
+
+        public async Task<WebResponseContent> RequestOutTaskToBZAsync(Dt_StationManager stationManager)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                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.RequestOutTaskToBZ)?.ConfigValue;
+                if (wmsBase == null || requestTask == null)
+                {
+                    throw new InvalidOperationException("WMS IP 鏈厤缃�");
+                }
+                var wmsIpAddrss = wmsBase + requestTask;
+
+                var result = await HttpHelper.PostAsync(wmsIpAddrss, new { Position = stationManager.stationChildCode }.ToJsonString());
+                content = JsonConvert.DeserializeObject<WebResponseContent>(result);
+                if (!content.Status)
+                {
+                    //鏃犳弧瓒虫潯浠跺彲鍑哄簱鑷冲寘瑁呯殑搴撳瓨
+                    return content;
+                }
+
+                var task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
+                ConsoleHelper.WriteSuccessLine(content.Data.ToString());
+                content = ReceiveByBZOtuTask(task);
+                //if (content.Status)
+                //{
+                //    //鐩稿簲鐨勫湪閫旀暟鎹�+1
+                //   // _taskNeedBarcodeRepository.UpdateData();
+                //}
+                return content;
+            }
+            catch (Exception ex)
+            {
+
+                return content.Error(ex.Message);
             }
         }
 
@@ -146,6 +199,15 @@
                     task.NextAddress = stationinfo.stationChildCode;
                     task.TargetAddress = taskDTO.TargetAddress;
                 }
+                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+                {
+                    task.TaskState = (int)TaskStatus.Created;
+                    task.SourceAddress = taskDTO.SourceAddress;
+                    task.CurrentAddress = taskDTO.SourceAddress;
+                    task.NextAddress = taskDTO.TargetAddress;
+                    task.TargetAddress = taskDTO.TargetAddress;
+                }
+
                 BaseDal.AddData(task);
 
                 _taskExecuteDetailService.AddTaskExecuteDetail(task.WMSId, "鎺ユ敹WMS浠诲姟");
@@ -158,6 +220,46 @@
             }
             return content;
         }
+
+        /// <summary>
+        /// 鎺ユ敹WMS浠诲姟淇℃伅
+        /// </summary>
+        /// <param name="taskDTOs">WMS浠诲姟瀵硅薄闆嗗悎</param>
+        /// <returns>杩斿洖澶勭悊缁撴灉</returns>
+        public WebResponseContent ReceiveByBZOtuTask([NotNull] WMSTaskDTO taskDTO)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                if (BaseDal.QueryFirst(x => x.TaskNum == taskDTO.TaskNum || x.PalletCode == taskDTO.PalletCode) != null)
+                {
+                    return content.OK();
+                }
+                Dt_Task task = _mapper.Map<Dt_Task>(taskDTO);
+                task.Creater = "WMS";
+
+                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+                {
+                    var stationinfo = _stationManagerRepository.QueryFirst(x => x.stationLocation == taskDTO.TargetAddress && x.Roadway == taskDTO.RoadWay);
+                    task.TaskState = (int)TaskOutStatusEnum.OutNew;
+                    task.CurrentAddress = stationinfo.stationChildCode;
+                    task.NextAddress = stationinfo.stationChildCode;
+                    task.SourceAddress = taskDTO.SourceAddress;
+                    task.TargetAddress = taskDTO.TargetAddress;
+                }
+                BaseDal.AddData(task);
+
+                _taskExecuteDetailService.AddTaskExecuteDetail(task.WMSId, "鎺ユ敹WMS浠诲姟");
+
+                content = WebResponseContent.Instance.OK("鎴愬姛");
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error($"浠诲姟鎺ユ敹閿欒,閿欒淇℃伅:{ex.Message}");
+            }
+            return content;
+        }
+
 
         /// <summary>
         /// 楂樻俯鍑哄簱
@@ -236,7 +338,7 @@
         }
 
         /// <summary>
-        /// 鏍规嵁鎵樼洏鍙峰拰璁惧鍙锋煡璇㈠叆搴撲换鍔�
+        /// 鏍规嵁鎵樼洏鍙峰拰璁惧鍙锋煡璇换鍔�
         /// </summary>
         /// <param name="taskNum">浠诲姟鍙�</param>
         /// <param name="currentAddress">褰撳墠鍦板潃</param>

--
Gitblit v1.9.3