From e1f772ef890e46813b62a08aa8e77a258f6add2c Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期一, 02 三月 2026 10:04:23 +0800
Subject: [PATCH] 添加任务完成反馈给WMS

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
index b542669..be32c60 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
@@ -14,6 +14,7 @@
 using WIDESEAWCS_Core.Enums;
 using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_DTO;
+using WIDESEAWCS_DTO.WMS;
 using WIDESEAWCS_Model.Models;
 
 namespace WIDESEAWCS_TaskInfoService
@@ -156,10 +157,39 @@
         {
             try
             {
+                WMSInOutBoundCompleteFeedback boundCompleteFeedback = new WMSInOutBoundCompleteFeedback();
+                WMSReturn agvContent = null;
                 dt_Task.TaskState = TaskStatusEnum.Finish.ObjToInt();
+
+                Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(WMSInOutBoundCompleteFeedback));
+                if (apiInfo == null) dt_Task.ExceptionMessage = "鏈壘鍒板嚭鍏ュ簱瀹屾垚鍙嶉WMS鎺ュ彛閰嶇疆淇℃伅锛佽妫�鏌ユ帴鍙i厤缃�";
+                else
+                {
+                    boundCompleteFeedback.taskCode = dt_Task.WMSTaskNum;
+                    boundCompleteFeedback.containerCode = dt_Task.PalletCode;
+                    boundCompleteFeedback.fromStationCode = dt_Task.SourceAddress;
+                    boundCompleteFeedback.toLocationCode = dt_Task.TargetAddress;
+                    switch (deviceTypeEnum)
+                    {
+                        case DeviceTypeEnum.GALAXIS:
+                            boundCompleteFeedback.businessType = 1;
+                            break;
+                        case DeviceTypeEnum.YuanLiJuHe:
+                            boundCompleteFeedback.businessType = 2;
+                            break;
+                    }
+
+                    boundCompleteFeedback.completeType = 1;
+                    string response = HttpHelper.Post(apiInfo.ApiAddress, boundCompleteFeedback.Serialize());
+                    agvContent = response.DeserializeObject<WMSReturn>();
+                    if (agvContent.code != 0) dt_Task.ExceptionMessage = agvContent.msg;
+                }
                 Db.Ado.BeginTran();
                 UpdateLocationStatus(dt_Task.TargetAddress, deviceTypeEnum, LocationStatusEnum.InStock);
-                BaseDal.DeleteAndMoveIntoHty(dt_Task, OperateTypeEnum.鑷姩瀹屾垚);
+                if (agvContent != null && agvContent.code == 0)
+                    BaseDal.DeleteAndMoveIntoHty(dt_Task, OperateTypeEnum.鑷姩瀹屾垚);
+                else
+                    BaseDal.UpdateData(dt_Task);
                 Db.Ado.CommitTran();
                 return WebResponseContent.Instance.OK();
             }

--
Gitblit v1.9.3