using SqlSugar.Extensions; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Common.StockEnum; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_IOutboundRepository; using WIDESEA_IOutboundService; using WIDESEA_Model.Models; namespace WIDESEA_OutboundService { public partial class OutProStockInfoService : ServiceBase, IOutProStockInfoService { private readonly IUnitOfWorkManage _unitOfWorkManage; public IOutProStockInfoRepository Repository => BaseDal; public OutProStockInfoService(IOutProStockInfoRepository BaseDal,IUnitOfWorkManage unitOfWorkManage) : base(BaseDal) { _unitOfWorkManage = unitOfWorkManage; } public Dt_OutProStockInfo GetOutStockLockInfo(Dt_ProOutOrder proOutOrder, Dt_ProOutOrderDetail proOutOrderDetail, Dt_ProStockInfo proStockInfo, float assignQty, int? taskNum = null) { Dt_OutProStockInfo outProStockInfo = new Dt_OutProStockInfo() { OrderNo = proOutOrder.ProOutOrderNo, OrderDetailId = proOutOrderDetail.Id, OrderType = proOutOrder.ProOrderType, BatchNo = proOutOrderDetail.PLot, SaleOrder = proOutOrderDetail.SaleOrder, Customer = proOutOrderDetail.Customer, PCode = proOutOrderDetail.PCode, PVer = proOutOrderDetail.PVer, PLot = proOutOrderDetail.PLot, DateCode = proOutOrderDetail.DateCode, StockId = proStockInfo.Id, OrderQuantity = proOutOrderDetail.QtyPcs, OriginalQuantity = proStockInfo.proStockInfoDetails.Sum(x => x.StockPcsQty), AssignQuantity = assignQty, LocationCode = proStockInfo.LocationCode, PalletCode = proStockInfo.PalletCode, Unit = proOutOrderDetail.Unit, TaskNum = taskNum, Status = taskNum == null ? OutLockStockStatusEnum.已分配.ObjToInt() : OutLockStockStatusEnum.出库中.ObjToInt() }; return outProStockInfo; } } }