From 57148c2264abe80bd3b472f2980104d90dad5c61 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期六, 13 九月 2025 08:35:32 +0800 Subject: [PATCH] 合并,接口优化等 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs | 31 ++++++++++++++++++++++--------- 1 files changed, 22 insertions(+), 9 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 9ea6759..696e8d3 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,18 +107,31 @@ { 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}缁堢瀹㈡埛鑾峰彇澶辫触!"); } @@ -804,20 +817,20 @@ //鏇存柊鍑哄簱鏄庣粏鍗曟暟閲� proOutOrderDetail.OverQtyPcs += item.Quantity; - item.Quantity -= item.Quantity; - float Range = itemOut.StockPcsQty / itemOut.SETQty; + int Range = (int)itemOut.StockPcsQty / (int)itemOut.SETQty; if (Range == 0) { - return content.Error($"{itemOut.BagNo}鍗曞厓鏁伴噺杞崲澶辫触,璇锋鏌�"); + return content.Error($"{itemOut.BagNo}鍗曞厓鏁伴噺杞崲澶辫触,璇锋鏌�,Range:{Range}"); } - int outSet = (int)(item.Quantity / Range); + int outSet =item.Quantity / Range; if (outSet == 0) { - return content.Error($"{itemOut.BagNo}鍗曞厓鏁伴噺杞崲澶辫触,璇锋鏌�"); + return content.Error($"{itemOut.BagNo}鍗曞厓鏁伴噺杞崲澶辫触,璇锋鏌�,outSet:{outSet}"); } itemOut.SETQty -= outSet; itemOut.StockPcsQty -= item.Quantity; + item.Quantity = 0; if (proOutOrderDetail.OverQtyPcs > proOutOrderDetail.QtyPcs) { return content.Error($"鍑哄簱鍗晎proOutOrder.ProOutOrderNo}閿�鍞鍗晎item.SoNumber}鏁伴噺婧㈠嚭{proOutOrderDetail.OverQtyPcs - proOutOrderDetail.QtyPcs}"); -- Gitblit v1.9.3