using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEA_Core.BaseServices;
|
using WIDESEA_Core.Enums;
|
using WIDESEA_Core.Helper;
|
using WIDESEA_IOutboundRepository;
|
using WIDESEA_Model.Models;
|
|
namespace WIDESEA_IOutboundService
|
{
|
public class OutStockLockInfoService : ServiceBase<Dt_OutStockLockInfo, IOutStockLockInfoRepository>, IOutStockLockInfoService
|
{
|
public OutStockLockInfoService(IOutStockLockInfoRepository BaseDal) : base(BaseDal)
|
{
|
}
|
|
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>();
|
|
foreach (var item in outStocks)
|
{
|
Dt_OutStockLockInfo outStockLockInfo = new Dt_OutStockLockInfo()
|
{
|
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
|
};
|
outStockLockInfos.Add(outStockLockInfo);
|
}
|
|
return outStockLockInfos;
|
}
|
|
public List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId)
|
{
|
return BaseDal.QueryData(x => x.OrderDetailId == orderDetailId);
|
}
|
}
|
}
|