From 2779947fe07c41250237437365f367b5a78a03b6 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期二, 10 六月 2025 23:57:58 +0800
Subject: [PATCH] 1
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs | 65 ++++++++++++++++++++++++++++++++
1 files changed, 64 insertions(+), 1 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 94e8e3b..c700679 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"
@@ -53,7 +53,7 @@
_invokeERPService = invokeERPService;
}
/// <summary>
- /// 鎺ユ敹ERP鎴愬搧鍑哄簱鍗�
+ /// 鎺ユ敹ERP鎴愬搧鍑哄簱鍗曚俊鎭�(璁㈠崟鍑哄簱/瀵勫敭鍑哄簱)
/// </summary>
/// <returns></returns>
public async Task<WebResponseContent> ProductDeliveryOrder(ErpProOutOrderDTO outOrderDTO)
@@ -201,6 +201,69 @@
return content;
}
/// <summary>
+ /// 閿�鍞寚娲�
+ /// </summary>
+ /// <returns></returns>
+ public async Task<WebResponseContent> ProductSpecifyVer(ErpProductSpecifyVerDTO erpProductSpecifyVerDTO)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x=>x.WarehouseCode==erpProductSpecifyVerDTO.WaType);
+ if (warehouse == null)
+ return await Task.FromResult(content.Error($"鏈壘鍒皗erpProductSpecifyVerDTO.WaType}浠撳簱淇℃伅"));
+ //鏌ヨ鍙寚娲惧簱瀛�
+ List<Dt_ProStockInfo> proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => x.ProStockAttribute == ProStockAttributeEnum.鎴愬搧.ObjToInt())
+ .Includes(x => x.proStockInfoDetails)
+ .Where(x => x.proStockInfoDetails
+ .Any(v =>
+ v.SaleOrder == erpProductSpecifyVerDTO.OrderNo
+ && v.ProductCode == erpProductSpecifyVerDTO.PCode
+ && v.ProductVersion == erpProductSpecifyVerDTO.PVer
+ && v.LotNumber == erpProductSpecifyVerDTO.PLot
+ && v.DateCode == erpProductSpecifyVerDTO.DateCode
+ && (v.SpecifyVer==null||v.SpecifyVer=="")
+ ))
+ .ToList();
+ List<Dt_ProStockInfoDetail> proStockInfoDetails = new List<Dt_ProStockInfoDetail>();
+ List<Dt_ProStockInfoDetail> specifyVerDetails = new List<Dt_ProStockInfoDetail>();
+ if (proStockInfos==null)
+ return await Task.FromResult(content.Error("鍙寚娲惧簱瀛樹笉瀛樺湪"));
+ proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x => x.CreateDate).ThenBy(x => x.proStockInfoDetails.Sum(x => x.StockPcsQty)).ToList();
+ foreach (var item in proStockInfos)
+ {
+ proStockInfoDetails.AddRange(item.proStockInfoDetails);
+ }
+ if (proStockInfoDetails.Sum(x=>x.StockPcsQty)< erpProductSpecifyVerDTO.QtyPcs)
+ return await Task.FromResult(content.Error($"鍙寚娲惧簱瀛樻暟閲忎笉瓒�,鍙敤:{proStockInfoDetails.Sum(x => x.StockPcsQty)}"));
+ float overQty = 0;
+ foreach (var item in proStockInfoDetails)
+ {
+ specifyVerDetails.Add(item);
+ overQty += item.StockPcsQty;
+ //宸叉弧瓒宠幏鍙栨暟閲忎笉鍐嶆洿鏀�
+ if (overQty>= erpProductSpecifyVerDTO.QtyPcs)
+ {
+ break;
+ }
+ }
+ specifyVerDetails.ForEach(x =>
+ {
+ x.SpecifyVer = erpProductSpecifyVerDTO.Ver;
+ });
+ _unitOfWorkManage.BeginTran();
+ _stockRepository.ProStockInfoDetailRepository.UpdateData(specifyVerDetails);
+ _unitOfWorkManage.CommitTran();
+ content.OK("鎸囨淳鎴愬姛");
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ content.Error(ex.Message);
+ }
+ return await Task.FromResult(content);
+ }
+ /// <summary>
/// 鎴愬搧鍑哄緟鍙戣揣鍖�(骞冲簱)+鍚屾ERP鍑哄簱(缁戝畾浜嗗嚭搴撳崟搴撳瓨)
/// </summary>
/// <returns></returns>
--
Gitblit v1.9.3