From 28a0d19f64ee77359c3225175a9fbb8ddea85d01 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期五, 19 十二月 2025 19:17:28 +0800
Subject: [PATCH] 1

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_BasicService/MESOperation/FeedbackMesService.cs |   62 ++++++++++++++++++++++++------
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_DTO/ReturnMES/AllocationReturnDTO.cs            |    6 +++
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs                  |    3 +
 3 files changed, 57 insertions(+), 14 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/MESOperation/FeedbackMesService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/MESOperation/FeedbackMesService.cs"
index 22a0846..7341189 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/MESOperation/FeedbackMesService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/MESOperation/FeedbackMesService.cs"
@@ -50,19 +50,41 @@
                     return WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑鍑哄簱鍗曚俊鎭�");
                 }
 
-                List<Dt_MesReturnRecord> returnRecords = BaseDal.QueryData(x => x.OrderNo == orderNo && x.OrderId == outboundOrder.Id && x.ReturnStatus == 2);
-                foreach (var item in returnRecords)
+                Dt_MesReturnRecord returnRecord = BaseDal.QueryFirst(x => x.OrderNo == orderNo && x.OrderId == outboundOrder.Id && x.ReturnStatus == 2, new Dictionary<string, OrderByType> { { nameof(Dt_MesReturnRecord.Id), OrderByType.Desc } });
+                if (returnRecord != null)
                 {
-                    HttpResponseResult<MesResponseDTO> httpResponse = _httpClientHelper.Post<MesResponseDTO>(item.ApiUrl, item.RequestData);
-                    item.ReturnCount += 1;
+                    HttpResponseResult<MesResponseDTO> httpResponse = _httpClientHelper.Post<MesResponseDTO>(returnRecord.ApiUrl, returnRecord.RequestData);
+
+                    string rMsg = "鎴愬姛";
                     bool success = httpResponse.IsSuccess && httpResponse.Data.Code == "200";
-                    item.ReturnStatus = success ? 1 : 2;
-                    item.HttpStatusCode = httpResponse.StatusCode.ObjToInt();
-                    item.LastReturnTime = DateTime.Now;
-                    item.ResponseData = httpResponse.Content;
-                    item.SuccessTime = httpResponse.IsSuccess ? DateTime.Now : null;
+                    if (!success)
+                    {
+                        if (!httpResponse.IsSuccess)
+                        {
+                            rMsg = $"MES鎺ュ彛杩斿洖閿欒锛孒TTP浠g爜锛歿httpResponse.StatusCode}锛屼俊鎭細{httpResponse.ErrorMessage}";
+                        }
+                        else if (httpResponse?.Data?.Code != "200")
+                        {
+                            rMsg = $"璋冪敤MES鎺ュ彛澶辫触锛屼唬鐮侊細{httpResponse?.Data?.Code}锛屼俊鎭細{httpResponse?.Data?.Message}";
+                        }
+                    }
+
+                    returnRecord.ReturnCount += 1;
+
+                    returnRecord.ReturnStatus = success ? 1 : 2;
+                    returnRecord.HttpStatusCode = httpResponse.StatusCode.ObjToInt();
+                    returnRecord.LastReturnTime = DateTime.Now;
+                    returnRecord.ResponseData = httpResponse.Content;
+                    returnRecord.SuccessTime = success ? DateTime.Now : null;
+                    BaseDal.UpdateData(returnRecord);
+                    WebResponseContent content = new WebResponseContent();
+                    content.Status = success;
+                    content.Message = rMsg;
+                    return content;
                 }
-                BaseDal.UpdateData(returnRecords);
+
+
+
 
                 HttpResponseResult<MesResponseDTO> httpResponseResult = new HttpResponseResult<MesResponseDTO>();
                 string reqCode = Guid.NewGuid().ToString();
@@ -76,6 +98,12 @@
                     {
                         return WebResponseContent.Instance.Error($"鏋勫缓鍥炶皟瀵硅薄澶辫触");
                     }
+
+                    if(returnDTO.Details.Count <= 0)
+                    {
+                        return WebResponseContent.Instance.Error($"璇ュ崟鎹棤鏄庣粏鍙洖浼�");
+                    }
+
                     string apiUrl = AppSettings.GetValue("MaterialOutboundFeedbackUrl");
                     returnDTO.ReqCode = reqCode;
                     returnDTO.ReqTime = reqTime;
@@ -95,11 +123,18 @@
                     {
                         return WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑璋冩嫧鍗�");
                     }
+
                     AllocationReturnDTO? returnDTO = BuildAllocationFeedbackData(outboundOrder, allocateOrder.FromWarehouse, allocateOrder.ToWarehouse);
                     if (returnDTO == null)
                     {
                         return WebResponseContent.Instance.Error($"鏋勫缓鍥炶皟瀵硅薄澶辫触");
                     }
+
+                    if (returnDTO.Details.Count <= 0)
+                    {
+                        return WebResponseContent.Instance.Error($"璇ュ崟鎹棤鏄庣粏鍙洖浼�");
+                    }
+
                     string apiUrl = AppSettings.GetValue("AllocationFeedbackUrl"); ;
                     returnDTO.ReqCode = reqCode;
                     returnDTO.ReqTime = reqTime;
@@ -141,8 +176,8 @@
                     ResponseData = httpResponseResult.Content,
                     ReturnType = 0,
                     ReturnCount = 1,
-                    ReturnStatus = httpResponseResult.IsSuccess ? 1 : 2,
-                    SuccessTime = httpResponseResult.IsSuccess ? DateTime.Now : null
+                    ReturnStatus = isSuccess ? 1 : 2,
+                    SuccessTime = isSuccess ? DateTime.Now : null
                 };
 
                 _unitOfWorkManage.BeginTran();
@@ -227,7 +262,8 @@
                     OperationType = 1,
                     OrderNo = outboundOrder.UpperOrderNo,
                     FromWarehouse = fromWarehouse,
-                    ToWarehouse = toWarehouse
+                    ToWarehouse = toWarehouse,
+                    Operator = App.User.UserName
                 };
 
                 return outboundReturnDTO;
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_DTO/ReturnMES/AllocationReturnDTO.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_DTO/ReturnMES/AllocationReturnDTO.cs"
index 4e1f69b..fcdd3bf 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_DTO/ReturnMES/AllocationReturnDTO.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_DTO/ReturnMES/AllocationReturnDTO.cs"
@@ -41,6 +41,12 @@
         /// </summary>
         public string ToWarehouse { get; set; }
 
+
+        /// <summary>
+        /// 鎿嶄綔浜�
+        /// </summary>
+        public string Operator { get; set; }
+
         /// <summary>
         /// 鏄庣粏
         /// </summary>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 36aee3d..a059c25 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -827,7 +827,8 @@
                     OperationType = 1,
                     OrderNo = outboundOrder.OrderNo,
                     FromWarehouse = fromWarehouse,
-                    ToWarehouse = toWarehouse
+                    ToWarehouse = toWarehouse,
+                    Operator = App.User.UserName
                 };
 
                 return outboundReturnDTO;

--
Gitblit v1.9.3