From 43fba3aeb0fbbd48fb2f6a859418ab5c9e9d9241 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期五, 19 十二月 2025 14:51:56 +0800
Subject: [PATCH] Merge branch 'htq20251215' of http://115.159.85.185:8098/r/ZhongRui/ALDbanyunxiangmu into htq20251215

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_BasicService/MESOperation/FeedbackMesService.cs |   90 +++++++++++++++++++++++++++++----------------
 1 files changed, 58 insertions(+), 32 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 fdc1f9a..22a0846 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"
@@ -1,10 +1,12 @@
-锘縰sing System;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Serialization;
+using Org.BouncyCastle.Asn1.Ocsp;
+using SqlSugar;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
-using Newtonsoft.Json;
-using SqlSugar;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
@@ -47,6 +49,21 @@
                 {
                     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)
+                {
+                    HttpResponseResult<MesResponseDTO> httpResponse = _httpClientHelper.Post<MesResponseDTO>(item.ApiUrl, item.RequestData);
+                    item.ReturnCount += 1;
+                    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;
+                }
+                BaseDal.UpdateData(returnRecords);
+
                 HttpResponseResult<MesResponseDTO> httpResponseResult = new HttpResponseResult<MesResponseDTO>();
                 string reqCode = Guid.NewGuid().ToString();
                 string reqTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
@@ -62,7 +79,11 @@
                     string apiUrl = AppSettings.GetValue("MaterialOutboundFeedbackUrl");
                     returnDTO.ReqCode = reqCode;
                     returnDTO.ReqTime = reqTime;
-                    requestData = returnDTO.Serialize();
+                    JsonSerializerSettings settings = new JsonSerializerSettings
+                    {
+                        ContractResolver = new CamelCasePropertyNamesContractResolver()
+                    };
+                    requestData = JsonConvert.SerializeObject(returnDTO, settings);
                     lineNos = returnDTO.Details.Select(x => x.LineNo).ToList();
                     httpResponseResult = _httpClientHelper.Post<MesResponseDTO>(apiUrl, requestData);
                     httpResponseResult.ApiUrl = apiUrl;
@@ -82,7 +103,11 @@
                     string apiUrl = AppSettings.GetValue("AllocationFeedbackUrl"); ;
                     returnDTO.ReqCode = reqCode;
                     returnDTO.ReqTime = reqTime;
-                    requestData = returnDTO.Serialize();
+                    JsonSerializerSettings settings = new JsonSerializerSettings
+                    {
+                        ContractResolver = new CamelCasePropertyNamesContractResolver()
+                    };
+                    requestData = JsonConvert.SerializeObject(returnDTO, settings);
                     lineNos = returnDTO.Details.Select(x => x.LineNo).ToList();
                     httpResponseResult = _httpClientHelper.Post<MesResponseDTO>(apiUrl, requestData);
                     httpResponseResult.ApiUrl = apiUrl;
@@ -123,37 +148,34 @@
                 _unitOfWorkManage.BeginTran();
                 _unitOfWorkManage.Db.Insertable(mesReturnRecord).ExecuteCommand();
 
-                if (isSuccess)
+                List<Dt_OutboundOrderDetail> outboundOrderDetails = outboundOrder.Details.Where(x => lineNos.Contains(x.lineNo)).ToList();
+                outboundOrderDetails.ForEach(x =>
                 {
-                    List<Dt_OutboundOrderDetail> outboundOrderDetails = outboundOrder.Details.Where(x => lineNos.Contains(x.lineNo)).ToList();
-                    outboundOrderDetails.ForEach(x =>
+                    if (x.OverOutQuantity == x.OrderQuantity - x.MoveQty)
                     {
-                        if (x.OverOutQuantity == x.OrderQuantity - x.MoveQty)
-                        {
-                            x.ReturnToMESStatus = isSuccess ? 1 : 2;
-                        }
-                        else
-                        {
-                            x.ReturnToMESStatus = isSuccess ? 3 : 4;
-                        }
-                        x.CurrentDeliveryQty = 0;
-                        x.ReturnJsonData = "";
-                    });
-
-                    mesReturnRecord.ReturnType = outboundOrder.Details.Count == outboundOrderDetails.Count ? 1 : 2;
-
-                    if (outboundOrder.Details.Count == outboundOrderDetails.Count && outboundOrderDetails.All(x => x.ReturnToMESStatus == 1 || x.ReturnToMESStatus == 2))
-                    {
-                        outboundOrder.ReturnToMESStatus = isSuccess ? 1 : 2;
+                        x.ReturnToMESStatus = isSuccess ? 1 : 2;
                     }
                     else
                     {
-                        outboundOrder.ReturnToMESStatus = isSuccess ? 3 : 4;
+                        x.ReturnToMESStatus = isSuccess ? 3 : 4;
                     }
+                    x.CurrentDeliveryQty = 0;
+                    x.ReturnJsonData = "";
+                });
 
-                    _outboundOrderRepository.Db.Updateable(outboundOrderDetails).ExecuteCommand();
-                    _outboundOrderRepository.UpdateData(outboundOrder);
+                mesReturnRecord.ReturnType = outboundOrder.Details.Count == outboundOrderDetails.Count ? 1 : 2;
+
+                if (outboundOrder.Details.Count == outboundOrderDetails.Count && outboundOrderDetails.All(x => x.ReturnToMESStatus == 1 || x.ReturnToMESStatus == 2))
+                {
+                    outboundOrder.ReturnToMESStatus = isSuccess ? 1 : 2;
                 }
+                else
+                {
+                    outboundOrder.ReturnToMESStatus = isSuccess ? 3 : 4;
+                }
+
+                _outboundOrderRepository.Db.Updateable(outboundOrderDetails).ExecuteCommand();
+                _outboundOrderRepository.UpdateData(outboundOrder);
 
                 _unitOfWorkManage.CommitTran();
 
@@ -203,7 +225,7 @@
                     Details = returnDetails,
                     FactoryArea = outboundOrder.FactoryArea,
                     OperationType = 1,
-                    OrderNo = outboundOrder.OrderNo,
+                    OrderNo = outboundOrder.UpperOrderNo,
                     FromWarehouse = fromWarehouse,
                     ToWarehouse = toWarehouse
                 };
@@ -326,11 +348,11 @@
                 {
                     Business_type = outboundOrder.BusinessType,
                     Details = returnDetails,
-                    DocumentsNO = "",
+                    DocumentsNO = _basicService.CreateCodeByRule("OutboundOrderRule"),
                     FactoryArea = outboundOrder.FactoryArea,
                     OperationType = 1,
                     Operator = App.User.UserName,
-                    OrderNo = outboundOrder.OrderNo,
+                    OrderNo = outboundOrder.UpperOrderNo,
                     Status = 1
                 };
 
@@ -373,8 +395,12 @@
 
                 string reqCode = Guid.NewGuid().ToString();
                 string reqTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
-                string requestData = returnDTO.Serialize();
+                JsonSerializerSettings settings = new JsonSerializerSettings
+                {
+                    ContractResolver = new CamelCasePropertyNamesContractResolver()
+                };
 
+                string requestData = JsonConvert.SerializeObject(returnDTO, settings);
                 HttpResponseResult<MesResponseDTO> httpResponseResult = _httpClientHelper.Post<MesResponseDTO>(apiUrl, requestData);
                 httpResponseResult.ApiUrl = apiUrl;
 

--
Gitblit v1.9.3