From 291067c13bfe8fb9c876e3764a828dc3ddd22f99 Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期一, 17 十一月 2025 16:50:12 +0800
Subject: [PATCH] 监控优化,代码功能优化

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs"
index 2ea2ca9..2fa6511 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs"
@@ -95,7 +95,7 @@
                 }
                 else if (outOrderDTO.OType==2)
                 {
-                    warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA101.ToString());
+                    warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA71.ToString());
                 }
                 List<Dt_ProOutOrderDetail> proOutOrderDetails = new List<Dt_ProOutOrderDetail>();
                 Dictionary<string,string> keyValuePairs =new Dictionary<string, string>();
@@ -107,21 +107,39 @@
                     {
                         return content.Error($"瀹㈡埛{item.Customer}涓嶅瓨鍦�!");
                     }
+                    //瀵勫敭鍗曟嵁
+                    if (outOrderDTO.OType == 2)
+                    {
+                        Dt_ProOutOrderDetail? ExistProDetail = proOutOrderDetails.FirstOrDefault(x => x.PCode == item.PCode && x.SaleOrder == item.SaleOrder && x.PVer == item.PVer && x.DateCode == item.DateCode);
+                        if (ExistProDetail!=null)
+                        {
+                            Dt_ProOutOrderDetail OutOrderDetail = _mapper.Map<Dt_ProOutOrderDetail>(item);
+                            ExistProDetail.QtyPcs += (OutOrderDetail.QtyPcs + OutOrderDetail.SpareQty);
+                            ExistProDetail.SpareQty += OutOrderDetail.SpareQty;
+                            continue;
+                        }
+                    }
+                    
                     Dt_ProOutOrderDetail proOutOrderDetail = _mapper.Map<Dt_ProOutOrderDetail>(item);
                     if (!string.IsNullOrEmpty(item.SaleOrder))
                     {
-                        if (keyValuePairs!=null && keyValuePairs.ContainsKey(item.SaleOrder))
+                        if (keyValuePairs != null && keyValuePairs.ContainsKey(item.SaleOrder))
                         {
                             proOutOrderDetail.EndCustomer = keyValuePairs[item.SaleOrder];
                         }
                         else
                         {
                             string request = _invokeERPService.InvokeProSaleCustomer(item.SaleOrder);
-                            ErpSaleCustomResponseContent responseContent=request.DeserializeObject<ErpSaleCustomResponseContent>();
-                            if (responseContent.Code!=200)
+                            ErpSaleCustomResponseContent responseContent = request.DeserializeObject<ErpSaleCustomResponseContent>();
+                            if (responseContent.Code != 200)
                             {
                                 return content.Error($"璁㈠崟{item.SaleOrder}缁堢瀹㈡埛鑾峰彇澶辫触!");
                             }
+                            // 鏂板锛氬垽鏂璂ata鏄惁涓虹┖闆嗗悎
+                            if (responseContent.Data == null || responseContent.Data.Count == 0)
+                            {
+                                return content.Error($"璁㈠崟{item.SaleOrder}鍦‥RP涓棤瀵瑰簲缁堢瀹㈡埛鏁版嵁!");
+                            }
                             //鍒ゆ柇缁堢瀹㈡埛鏄惁瀛樺湪
                             Dt_CustomerInfo? customerInfoEnd = customerInfos.Where(x => x.Code == responseContent.Data[0].Endcustomer).FirstOrDefault();
                             if (customerInfoEnd == null)

--
Gitblit v1.9.3