From 1e12c140c041c0cb52306a0db9ff0ba18354d0d8 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 03 四月 2025 18:01:52 +0800
Subject: [PATCH] 优化WMS前端首页,货位查询column数据库关键字处理
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutStockLockInfoService.cs | 83 ++++++++++++++++++++++++++++++++---------
1 files changed, 65 insertions(+), 18 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutStockLockInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutStockLockInfoService.cs"
index 1613b04..9f44e13 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutStockLockInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutStockLockInfoService.cs"
@@ -1,8 +1,10 @@
-锘縰sing System;
+锘縰sing SqlSugar;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEA_Common.StockEnum;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
@@ -18,34 +20,52 @@
public OutStockLockInfoService(IOutStockLockInfoRepository BaseDal) : base(BaseDal)
{
}
-
+ /// <summary>
+ /// 娣诲姞鍑哄簱璇︽儏
+ /// </summary>
+ /// <param name="outboundOrder"></param>
+ /// <param name="outboundOrderDetail"></param>
+ /// <param name="outStocks"></param>
+ /// <param name="taskNum"></param>
+ /// <returns></returns>
public List<Dt_OutStockLockInfo> GetOutStockLockInfos(Dt_OutboundOrder outboundOrder, Dt_OutboundOrderDetail outboundOrderDetail, List<Dt_StockInfo> outStocks, int? taskNum = null)
{
List<Dt_OutStockLockInfo> outStockLockInfos = new List<Dt_OutStockLockInfo>();
-
+ var OutStockLockInfos = GetByOrderDetailId(outboundOrderDetail.Id);
foreach (var item in outStocks)
{
- Dt_OutStockLockInfo outStockLockInfo = new Dt_OutStockLockInfo()
+ Dt_OutStockLockInfo outStockLockInfo = OutStockLockInfos.FirstOrDefault(x => x.StockId == item.Id && x.OrderDetailId == outboundOrderDetail.Id);
+ if (outStockLockInfo == null)
{
- PalletCode = item.PalletCode,
- AssignQuantity = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).Sum(x => x.OutboundQuantity),
- MaterielCode = outboundOrderDetail.MaterielCode,
- BatchNo = outboundOrderDetail.BatchNo,
- LocationCode = item.LocationCode,
- MaterielName = outboundOrderDetail.MaterielName,
- OrderDetailId = outboundOrderDetail.Id,
- OrderNo = outboundOrder.OrderNo,
- OrderType = outboundOrder.OrderType,
- OriginalQuantity = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).Sum(x => x.StockQuantity),
- Status = taskNum == null ? OutStockStatus.宸插垎閰�.ObjToInt() : OutStockStatus.鍑哄簱涓�.ObjToInt(),
- StockId = item.Id,
- TaskNum = taskNum
- };
+ outStockLockInfo = new Dt_OutStockLockInfo()
+ {
+ PalletCode = item.PalletCode,
+ AssignQuantity = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).Sum(x => x.OutboundQuantity),
+ MaterielCode = outboundOrderDetail.MaterielCode,
+ BatchNo = item.Details.Select(x => x.BatchNo).FirstOrDefault(),
+ //BatchNo = outboundOrderDetail.BatchNo,
+ LocationCode = item.LocationCode,
+ MaterielName = outboundOrderDetail.MaterielName,
+ OrderDetailId = outboundOrderDetail.Id,
+ OrderNo = outboundOrder.OrderNo,
+ OrderType = outboundOrder.OrderType,
+ OriginalQuantity = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).Sum(x => x.StockQuantity),
+ //Status = taskNum == null ? OutStockStatus.宸插垎閰�.ObjToInt() : OutStockStatus.鍑哄簱涓�.ObjToInt(),
+ StockId = item.Id,
+ TaskNum = taskNum
+ };
+ }
+ outStockLockInfo.Status = taskNum == null ? OutStockStatus.宸插垎閰�.ObjToInt() : OutStockStatus.鍑哄簱涓�.ObjToInt();
outStockLockInfos.Add(outStockLockInfo);
}
return outStockLockInfos;
}
+ /// <summary>
+ /// 鑾峰彇鍑哄簱璇︽儏
+ /// </summary>
+ /// <param name="orderDetailId"></param>
+ /// <returns></returns>
public List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId)
{
return BaseDal.QueryData(x => x.OrderDetailId == orderDetailId);
@@ -55,5 +75,32 @@
{
return BaseDal.QueryData(x => x.OrderDetailId == orderDetailId && x.Status == outStockStatus.ObjToInt());
}
+
+ public List<Dt_OutStockLockInfo> GetOutStockLockInfo(Dt_OutboundOrder outboundOrder, Dt_OutboundOrderDetail item, List<Dt_StockInfo> dt_StockInfos, int? taskNum = null, string BatchNo = null)
+ {
+ List<Dt_OutStockLockInfo> OutStockLockInfos = new List<Dt_OutStockLockInfo>();
+ foreach (var dt in dt_StockInfos)
+ {
+ Dt_OutStockLockInfo outStockLockInfo = new Dt_OutStockLockInfo()
+ {
+ PalletCode = dt.PalletCode,
+ AssignQuantity = 1,
+ MaterielCode = item.MaterielCode,
+ BatchNo = BatchNo,
+ LocationCode = dt.LocationCode,
+ MaterielName = item.MaterielName,
+ OrderDetailId = item.Id,
+ OrderNo = outboundOrder.OrderNo,
+ OrderType = outboundOrder.OrderType,
+ OriginalQuantity = 1,
+ Status = taskNum == null ? OutLockStockStatusEnum.宸插垎閰�.ObjToInt() : OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt(),
+ StockId = dt.Id,
+ TaskNum = taskNum,
+ OrderQuantity = item.OrderQuantity
+ };
+ OutStockLockInfos.Add(outStockLockInfo);
+ }
+ return OutStockLockInfos;
+ }
}
}
--
Gitblit v1.9.3