From fe256a7afaa132910875d3dc73783d9ab2d7ace5 Mon Sep 17 00:00:00 2001
From: liulijun <liulijun@hnkhzn.com>
Date: 星期四, 12 三月 2026 18:57:44 +0800
Subject: [PATCH] 老厂排程单页面增加用纸顺序号和是否缺料
---
项目代码/WMS/WMSServices/WIDESEA_InboundService/ReturnBSTOrderService.cs | 146 ++++++++++++++++++------------------------------
1 files changed, 55 insertions(+), 91 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_InboundService/ReturnBSTOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_InboundService/ReturnBSTOrderService.cs"
index fe77850..8cb574f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_InboundService/ReturnBSTOrderService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_InboundService/ReturnBSTOrderService.cs"
@@ -4,6 +4,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEA_Common.CommonEnum;
using WIDESEA_Common.MaterielEnum;
using WIDESEA_Common.OrderEnum;
using WIDESEA_Common.StockEnum;
@@ -48,136 +49,99 @@
WebResponseContent content = new WebResponseContent();
try
{
- List<Dt_ReturnBSTOrder> OldreturnBSTOrders = BaseDal.Db.Queryable<Dt_ReturnBSTOrder>().Includes(x => x.Details).ToList();
List<Dt_StockInfo> ExiststockInfos = _stockInfoRepository.QueryData(x=>x.WarehouseId==WarehouseEnum.LLDOldCache.ObjToInt());
//鏂板
List<BSTReturnOrderDTO> bSTReturnOrderDTOsAdd = bSTReturnOrderDTOs.Where(x => x.Way == 1).ToList();
+ List<BSTReturnOrderDTOItem>? bSTReturnOrderDTOItemsAdd = null;
//淇敼
List<BSTReturnOrderDTO> bSTReturnOrderDTOsUpdate = bSTReturnOrderDTOs.Where(x => x.Way == 2).ToList();
- //鍒犻櫎
- List<BSTReturnOrderDTO> bSTReturnOrderDTOsDel = bSTReturnOrderDTOs.Where(x => x.Way == 3).ToList();
+ List<BSTReturnOrderDTOItem>? bSTReturnOrderDTOItemsUp = null;
//鑾峰彇鎵�鏈夌墿鏂�
List<Dt_MaterielInfo> materielInfos = _basicRepository.MaterielInfoRepository.QueryData(x => x.WarehouseId == WarehouseEnum.LLDYL.ObjToInt() && x.MaterielInvOrgId == MaterielInvOrgEnum.鑰佸巶.ObjToInt() && x.MaterialSourceId != 0);
-
- List<Dt_ReturnBSTOrder> returnAddBSTOrders = new List<Dt_ReturnBSTOrder>();
- List<Dt_ReturnBSTOrder> returnUpdateBSTOrders = new List<Dt_ReturnBSTOrder>();
- List<Dt_ReturnBSTOrder> returnDeleteBSTOrders = new List<Dt_ReturnBSTOrder>();
- List<Dt_ReturnBSTOrderDetail> returnBSTOrderDetailsDel = new List<Dt_ReturnBSTOrderDetail>();
+ if (bSTReturnOrderDTOsAdd!=null && bSTReturnOrderDTOsAdd.Count>0)
+ {
+ bSTReturnOrderDTOItemsAdd = bSTReturnOrderDTOsAdd.SelectMany(x => x.BstPaperWreturnDetails).ToList();
+ }
+ if (bSTReturnOrderDTOsUpdate != null && bSTReturnOrderDTOsUpdate.Count > 0)
+ {
+ bSTReturnOrderDTOItemsUp = bSTReturnOrderDTOsUpdate.SelectMany(x => x.BstPaperWreturnDetails).ToList();
+ }
List<Dt_StockInfo> stockInfosUpdate = new List<Dt_StockInfo>();
//鏂板
- if (bSTReturnOrderDTOsAdd.Count > 0)
+ if (bSTReturnOrderDTOItemsAdd!=null && bSTReturnOrderDTOItemsAdd.Count > 0)
{
- //鍒ゆ柇鍗曟嵁
- Dt_ReturnBSTOrder? ExistAddReturn = OldreturnBSTOrders.FirstOrDefault(x => bSTReturnOrderDTOsAdd.Select(x => x.PaperWreturnId).Contains(x.PaperWreturnId));
- if (ExistAddReturn != null)
- {
- return content.Error($"閫�鏂欏崟{nameof(BSTReturnOrderDTO.PaperWreturnId)}:{ExistAddReturn.PaperWreturnId}宸插瓨鍦�");
- }
- List<BSTReturnOrderDTOItem> bSTReturnOrderDTOItemsAdd = bSTReturnOrderDTOsAdd.SelectMany(x => x.BstPaperWreturnDetails).ToList();
//鍒ゆ柇鏄惁瀛樺湪鐗╂枡
BSTReturnOrderDTOItem? bSTReturnOrderDTOItem = bSTReturnOrderDTOItemsAdd.FirstOrDefault(x => !materielInfos.Select(x => x.MaterialSourceId).Contains(x.MaterialId));
if (bSTReturnOrderDTOItem != null)
{
return content.Error($"閫�鏂檣nameof(bSTReturnOrderDTOItem.Barcode)}:{bSTReturnOrderDTOItem.Barcode}鐗╂枡{nameof(BSTReturnOrderDTOItem.MaterialId)}:{bSTReturnOrderDTOItem.MaterialId}涓嶅瓨鍦�");
}
- //楠岃瘉閫�鏂欐潯鐮佹槸鍚﹀湪搴撳瓨涓�
- var ExiststockInfo = bSTReturnOrderDTOItemsAdd.FirstOrDefault(x => !ExiststockInfos.Select(x => x.PalletCode).Contains(x.Barcode));
- if (ExiststockInfo != null)
+ foreach (var item in bSTReturnOrderDTOItemsAdd)
{
- return content.Error($"閫�鏂欐潯鐮亄nameof(ExiststockInfo.Barcode)}:{ExiststockInfo.Barcode}鐗╂枡鏈湪鑰佸巶鏆傚瓨鍖�");
- }
- //鑾峰彇瀵瑰簲搴撳瓨淇搴撳瓨鏁伴噺
- List<Dt_StockInfo> returnStockinfos = ExiststockInfos.Where(x => bSTReturnOrderDTOItemsAdd.Select(x => x.Barcode).Contains(x.PalletCode)).ToList();
- foreach (var item in bSTReturnOrderDTOsAdd)
- {
- if (bSTReturnOrderDTOsUpdate.FirstOrDefault(x => x.PaperWreturnId == item.PaperWreturnId) != null)
+ //灏嗕笉瀛樺湪鐨勫簱瀛樿烦杩�
+ Dt_StockInfo? stockReturn = ExiststockInfos.FirstOrDefault(x => x.PalletCode == item.Barcode);
+ if (stockReturn == null)
{
continue;
}
- List<Dt_ReturnBSTOrderDetail> bSTOrderDetails = item.BstPaperWreturnDetails.Select(x => _mapper.Map<Dt_ReturnBSTOrderDetail>(x)).ToList();
- Dt_ReturnBSTOrder returnBSTOrder = _mapper.Map<Dt_ReturnBSTOrder>(item);
- returnBSTOrder.Details = bSTOrderDetails;
- foreach (var detail in bSTOrderDetails)
+ if (bSTReturnOrderDTOItemsUp!=null && bSTReturnOrderDTOItemsUp.FirstOrDefault(x => x.Barcode == item.Barcode) != null)
{
- Dt_StockInfo stockReturn = stockInfosUpdate.FirstOrDefault(x => x.PalletCode == detail.Barcode);
- stockReturn.MaterielId = detail.MaterialId;
- stockReturn.MaterielCode = detail.MaterialNo;
- stockReturn.MaterielWide=detail.MaterialWide;
- stockReturn.MaterielThickness = detail.MaterialThick;
- stockReturn.MaterielWeight = detail.Qty;
- stockReturn.StockLength = detail.ProcurementLength;
- stockReturn.StockOutLength = 0;
- stockReturn.StockStatus = StockStatusEmun.鑰佸巶閫�搴�.ObjToInt();
- stockInfosUpdate.Add(stockReturn);
+ continue;
}
- returnAddBSTOrders.Add(returnBSTOrder);
+ stockReturn.MaterielId = item.MaterialId;
+ stockReturn.MaterielCode = item.MaterialNo;
+ stockReturn.MaterielWide = item.W;
+ stockReturn.MaterielThickness = item.Thick;
+ stockReturn.MaterielWeight = item.Qty;
+ stockReturn.StockLength = item.ProcurementLength;
+ stockReturn.StockOutLength = 0;
+ stockReturn.IsPick = WhetherEnum.False.ObjToInt();
+ stockReturn.IsFull = WhetherEnum.True.ObjToInt();
+ stockReturn.StockStatus = StockStatusEmun.鑰佸巶閫�鏂欐殏瀛�.ObjToInt();
+ stockInfosUpdate.Add(stockReturn);
}
}
//鏇存柊
- if (bSTReturnOrderDTOsUpdate.Count > 0)
+ if (bSTReturnOrderDTOItemsUp != null && bSTReturnOrderDTOItemsUp.Count > 0)
{
- //瀛樺湪鐨勯噰璐崟
- List<Dt_ReturnBSTOrder>? ExistreturnBSTOrders = OldreturnBSTOrders.Where(x => bSTReturnOrderDTOsUpdate.Select(x => x.PaperWreturnId).Contains(x.PaperWreturnId)).Distinct().ToList();
-
- foreach (var item in bSTReturnOrderDTOsUpdate)
+ //鑾峰彇瀵瑰簲搴撳瓨淇搴撳瓨鏁伴噺
+ List<Dt_StockInfo> returnStockinfos = ExiststockInfos.Where(x => bSTReturnOrderDTOItemsUp.Select(x => x.Barcode).Contains(x.PalletCode)).ToList();
+ foreach (var item in bSTReturnOrderDTOItemsUp)
{
- Dt_ReturnBSTOrder? returnBSTOrderUpdate = ExistreturnBSTOrders.FirstOrDefault(x => x.PaperWreturnId == item.PaperWreturnId);
- //濡傛灉璁㈠崟宸插瓨鍦ㄥ垯杩涜鏇存敼
- if (returnBSTOrderUpdate != null)
+ Dt_StockInfo? returnUpdate = stockInfosUpdate.FirstOrDefault(x => x.PalletCode == item.Barcode);
+ //濡傛灉淇敼宸插瓨鍦紝鍦ㄥ師鍩虹涓婃洿鏂�
+ if (returnUpdate != null)
{
- if (returnBSTOrderUpdate.ReturnOrderStatus != InOrderStatusEnum.鏈紑濮�.ObjToInt())
- {
- return content.Error($"閫�鏂檣nameof(returnBSTOrderUpdate.PaperWreturnId)}:{returnBSTOrderUpdate.PaperWreturnId}璁㈠崟閫�鏂欏叆搴撲腑锛屼笉鍙洿鏀�");
- }
- returnBSTOrderDetailsDel.AddRange(returnBSTOrderUpdate.Details);
-
//鏇存柊
- List<Dt_ReturnBSTOrderDetail> bSTOrderDetails = item.BstPaperWreturnDetails.Select(x => _mapper.Map<Dt_ReturnBSTOrderDetail>(x)).ToList();
- bSTOrderDetails.ForEach(x =>
- {
- x.ReturnBSTOrderId = returnBSTOrderUpdate.Id;
- });
- returnBSTOrderUpdate.Details = bSTOrderDetails;
- returnBSTOrderUpdate.PaperWreturnId = item.PaperWreturnId;
- returnBSTOrderUpdate.PaperWreturnNo = item.PaperWreturnNo;
- returnBSTOrderUpdate.EmployeeName = item.EmployeeName;
- returnBSTOrderUpdate.WreturnDate = DateTimeOffset.FromUnixTimeMilliseconds(item.WreturnDate).DateTime;
- returnUpdateBSTOrders.Add(returnBSTOrderUpdate);
+ returnUpdate.MaterielThickness = item.Thick;
+ returnUpdate.MaterielWeight = item.Qty;
+ returnUpdate.StockLength = item.ProcurementLength;
}
- else //濡傛灉涓嶅瓨鍦ㄥ垯杩涜鏂板
+ else
{
- List<Dt_ReturnBSTOrderDetail> bSTOrderDetails = item.BstPaperWreturnDetails.Select(x => _mapper.Map<Dt_ReturnBSTOrderDetail>(x)).ToList();
- Dt_ReturnBSTOrder returnBSTOrder = _mapper.Map<Dt_ReturnBSTOrder>(item);
- returnBSTOrder.Details = bSTOrderDetails;
- foreach (var detail in bSTOrderDetails)
+ //灏嗕笉瀛樺湪鐨勫簱瀛樿烦杩�
+ Dt_StockInfo? stockReturn = ExiststockInfos.FirstOrDefault(x => x.PalletCode == item.Barcode);
+ if (stockReturn == null)
{
- Dt_StockInfo stockReturn = stockInfosUpdate.FirstOrDefault(x => x.PalletCode == detail.Barcode);
- stockReturn.MaterielId = detail.MaterialId;
- stockReturn.MaterielCode = detail.MaterialNo;
- stockReturn.MaterielWide = detail.MaterialWide;
- stockReturn.MaterielThickness = detail.MaterialThick;
- stockReturn.MaterielWeight = detail.Qty;
- stockReturn.StockLength = detail.ProcurementLength;
- stockReturn.StockOutLength = 0;
- stockReturn.StockStatus = StockStatusEmun.鑰佸巶閫�搴�.ObjToInt();
- stockInfosUpdate.Add(stockReturn);
+ continue;
}
- returnAddBSTOrders.Add(returnBSTOrder);
+ stockReturn.MaterielId = item.MaterialId;
+ stockReturn.MaterielCode = item.MaterialNo;
+ stockReturn.MaterielWide = item.W;
+ stockReturn.MaterielThickness = item.Thick;
+ stockReturn.MaterielWeight = item.Qty;
+ stockReturn.StockLength = item.ProcurementLength;
+ stockReturn.StockOutLength = 0;
+ stockReturn.IsPick = WhetherEnum.False.ObjToInt();
+ stockReturn.IsFull = WhetherEnum.True.ObjToInt();
+ stockReturn.StockStatus = StockStatusEmun.鑰佸巶閫�鏂欐殏瀛�.ObjToInt();
+ stockInfosUpdate.Add(stockReturn);
}
}
-
- }
- //鍒犻櫎
- if (bSTReturnOrderDTOsDel.Count > 0)
- {
-
}
//鏇存柊鏁版嵁
_unitOfWorkManage.BeginTran();
- BaseDal.Db.InsertNav(returnAddBSTOrders).Include(x => x.Details).ExecuteCommand();
_stockInfoRepository.UpdateData(stockInfosUpdate);
- _returnBSTOrderDetailRepository.DeleteData(returnBSTOrderDetailsDel);
- BaseDal.Db.UpdateNav(returnUpdateBSTOrders).Include(x => x.Details).ExecuteCommand();
_unitOfWorkManage.CommitTran();
content.OK("鎺ユ敹鎴愬姛");
}
--
Gitblit v1.9.3