From 695571c6009ecbc12e7d4a4fb147df7967a1260e Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 07 七月 2025 20:21:19 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs | 60 ++++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 44 insertions(+), 16 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs"
index 1f4d0ad..2675255 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs"
@@ -4,8 +4,11 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEA_Common.CommonEnum;
+using WIDESEA_Common.StockEnum;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.Helper;
+using WIDESEA_IBasicRepository;
using WIDESEA_IStockRepository;
using WIDESEA_Model.Models;
@@ -13,31 +16,56 @@
{
public class ProStockInfoRepository : RepositoryBase<Dt_ProStockInfo>, IProStockInfoRepository
{
- public ProStockInfoRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
+ private readonly IBasicRepository _basicRepository;
+ public ProStockInfoRepository(IUnitOfWorkManage unitOfWorkManage,IBasicRepository basicRepository) : base(unitOfWorkManage)
{
+ _basicRepository = basicRepository;
}
//鏍规嵁鏄庣粏鏁版嵁鏌ユ壘鍙敤搴撳瓨搴撳瓨
public List<Dt_ProStockInfo> GetProStocks(Dt_ProOutOrderDetail proOutOrderDetail,List<string> locationInfos)
{
List<Dt_ProStockInfo>? proStockInfos = null;
- bool isCanLot= !string.IsNullOrEmpty(proOutOrderDetail.PLot);
- bool isCanDate = !string.IsNullOrEmpty(proOutOrderDetail.DateCode);
- proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode))
+ bool isCanLot= string.IsNullOrEmpty(proOutOrderDetail.PLot);
+ bool isCanDate = string.IsNullOrEmpty(proOutOrderDetail.DateCode);
+ bool isCanVer = string.IsNullOrEmpty(proOutOrderDetail.OutSpecifyVer);
+ ////鍒ゆ柇瀹㈡埛鍑哄叆瑙勫垯
+ //Dt_CustomerInfo customerInfo = _basicRepository.CustomerInfoRepository.QueryFirst(x=>x.Code== proOutOrderDetail.Customer);
+ //if (customerInfo==null)
+ //{
+ // throw new Exception("鏈壘鍒板鎴蜂俊鎭�");
+ //}
+ //if (customerInfo.OutRule==CustomerOutRuleEnum.SaleOrderRule.ObjToInt())
+ //{
+ // proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode) && x.ProStockAttribute == ProStockAttributeEnum.鎴愬搧.ObjToInt())
+ // .Includes(x => x.proStockInfoDetails)
+ // .Where(x => x.proStockInfoDetails
+ // .Any(v =>
+ // v.SaleOrder==proOutOrderDetail.SaleOrder
+ // && v.ProductCode == proOutOrderDetail.PCode
+ // && v.ProductVersion == proOutOrderDetail.PVer
+ // && (isCanLot ? isCanLot : v.BagNo == proOutOrderDetail.PLot)
+ // && (isCanDate ? isCanDate : v.DateCode == proOutOrderDetail.DateCode)
+ // ))
+ // .ToList();
+ //}
+ //else
+ //{
+ proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode) && x.ProStockAttribute == ProStockAttributeEnum.鎴愬搧.ObjToInt())
.Includes(x => x.proStockInfoDetails)
.Where(x => x.proStockInfoDetails
- .Any(v => v.SaleOrder==proOutOrderDetail.SaleOrder
- && v.ProductCode==proOutOrderDetail.PCode
- && v.ProductVersion==proOutOrderDetail.PVer
- && (isCanLot? v.LotNumber== proOutOrderDetail.PLot:true)
- && (isCanDate ? v.DateCode == proOutOrderDetail.DateCode : true)
+ .Any(v =>
+ v.ProductCode == proOutOrderDetail.PCode
+ && v.ProductVersion.StartsWith(proOutOrderDetail.PVer.Substring(0,1))
+ && (isCanLot ? isCanLot : v.BagNo == proOutOrderDetail.PLot)
+ && (isCanDate ? isCanDate : v.DateCode == proOutOrderDetail.DateCode)
))
- .ToList();
-
- proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x=>x.proStockInfoDetails.Sum(x=>x.StockPcsQty)).ToList();
+ .ToList();
+ //}
+ proStockInfos = proStockInfos?.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x=>x.CreateDate).ThenBy(x=>x.proStockInfoDetails.Sum(x=>x.StockPcsQty)).ToList();
return proStockInfos;
}
/// <summary>
- /// 鑾峰彇MES鎻愬簱搴撳瓨
+ /// 鑾峰彇MES鎻愬簱搴撳瓨(灏炬暟浠�)
/// </summary>
/// <param name="mesRworkOutboundOrder"></param>
/// <param name="locationInfos"></param>
@@ -45,14 +73,14 @@
public List<Dt_ProStockInfo> GetProStocks(Dt_MesRworkOutboundOrder mesRworkOutboundOrder, List<string> locationInfos)
{
List<Dt_ProStockInfo>? proStockInfos = null;
- bool isCanDate = !string.IsNullOrEmpty(mesRworkOutboundOrder.DateCode);
- proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode))
+ bool isCanDate = string.IsNullOrEmpty(mesRworkOutboundOrder.DateCode);
+ proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode) && x.ProStockAttribute==ProStockAttributeEnum.灏炬暟.ObjToInt())
.Includes(x => x.proStockInfoDetails)
.Where(x => x.proStockInfoDetails
.Any(v => v.SaleOrder == mesRworkOutboundOrder.SaleOrder
&& v.ProductCode == mesRworkOutboundOrder.ProductCode
&& v.ProductVersion == mesRworkOutboundOrder.ProductVersion
- && (isCanDate ? v.DateCode == mesRworkOutboundOrder.DateCode : true)
+ && (isCanDate ? isCanDate : v.DateCode == mesRworkOutboundOrder.DateCode)
))
.ToList();
proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x => x.proStockInfoDetails.Sum(x => x.StockPcsQty)).ToList();
--
Gitblit v1.9.3