From 9a886d711d8b21adc335fdf8c39350584c7ba6fd Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期二, 14 十月 2025 02:12:14 +0800
Subject: [PATCH] 更新代码,取消MES出库单号同步标识,平库转立库功能,寄售周期判断取消,精品标识等
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs | 75 ++++++++++++++++++++++++++++++-------
1 files changed, 60 insertions(+), 15 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 7dea7fd..12f8f19 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,9 +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;
@@ -14,28 +16,51 @@
{
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)
+ public List<Dt_ProStockInfo> GetProStocks(Dt_ProOutOrderDetail proOutOrderDetail,List<string> locationInfos, bool isFineWorks = false)
{
List<Dt_ProStockInfo>? proStockInfos = null;
bool isCanLot= string.IsNullOrEmpty(proOutOrderDetail.PLot);
- bool isCanDate = string.IsNullOrEmpty(proOutOrderDetail.DateCode);
bool isCanVer = string.IsNullOrEmpty(proOutOrderDetail.OutSpecifyVer);
- proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode) && x.ProStockAttribute == ProStockAttributeEnum.鎴愬搧.ObjToInt())
+ ////鍒ゆ柇瀹㈡埛鍑哄叆瑙勫垯
+ //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 ? isCanLot : v.LotNumber == proOutOrderDetail.PLot)
- && (isCanDate ? isCanDate : v.DateCode == proOutOrderDetail.DateCode)
+ .Any(v =>
+ v.ProductCode == proOutOrderDetail.PCode
+ && v.ProductVersion.StartsWith(proOutOrderDetail.PVer.Substring(0,1))
+ && (isCanLot ? isCanLot : v.ProductCode == proOutOrderDetail.PLot)
+ && (isFineWorks ? !isCanLot : v.IsFineWorks == 1)
))
- .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>
@@ -48,11 +73,10 @@
{
List<Dt_ProStockInfo>? proStockInfos = null;
bool isCanDate = string.IsNullOrEmpty(mesRworkOutboundOrder.DateCode);
- proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode) && x.ProStockAttribute==ProStockAttributeEnum.灏炬暟.ObjToInt())
+ proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode))
.Includes(x => x.proStockInfoDetails)
.Where(x => x.proStockInfoDetails
- .Any(v => v.SaleOrder == mesRworkOutboundOrder.SaleOrder
- && v.ProductCode == mesRworkOutboundOrder.ProductCode
+ .Any(v => v.ProductCode == mesRworkOutboundOrder.ProductCode
&& v.ProductVersion == mesRworkOutboundOrder.ProductVersion
&& (isCanDate ? isCanDate : v.DateCode == mesRworkOutboundOrder.DateCode)
))
@@ -60,5 +84,26 @@
proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x => x.proStockInfoDetails.Sum(x => x.StockPcsQty)).ToList();
return proStockInfos;
}
+ /// <summary>
+ /// 鑾峰彇MES鎻愬簱搴撳瓨(灏炬暟浠�)
+ /// </summary>
+ /// <param name="mesRworkOutboundOrder"></param>
+ /// <param name="locationInfos"></param>
+ /// <returns></returns>
+ public List<Dt_ProStockInfo> GetProStocks(Dt_ErpProScrapSheetDetail erpProScrapSheetDetail, List<string> locationInfos)
+ {
+ List<Dt_ProStockInfo>? proStockInfos = null;
+ 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.LotNumber == erpProScrapSheetDetail.ScrapProLotNo
+ && v.ProductCode == erpProScrapSheetDetail.ScrapProCode
+ && v.ProductVersion == erpProScrapSheetDetail.ScrapProVersion
+ ))
+ .ToList();
+ proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x => x.proStockInfoDetails.Sum(x => x.StockPcsQty)).ToList();
+ return proStockInfos;
+ }
}
}
--
Gitblit v1.9.3