调整物料编码

This commit is contained in:
18942506660
2024-03-16 15:39:45 +08:00
parent 405b414912
commit d8e2c7509d
28 changed files with 343 additions and 160 deletions

View File

@@ -92,15 +92,15 @@ namespace WMS.Web.Domain.Services
if (outStockTask.Status == OutStockStatus.Repeal)
return Result.ReFailure(ResultCodes.OutStockTaskRepeal);
var mIds = dto.Details.GroupBy(g => g.MaterialId).Select(s => s.Key).ToList();
var mIds = dto.Details.GroupBy(g => g.MaterialNumber).Select(s => s.Key).ToList();
foreach (var m in mIds)
{
var d_boxIds = dto.Details.Where(w => w.MaterialId == m).Select(s => s.BoxId);
var d_boxIds = dto.Details.Where(w => w.MaterialNumber == m).Select(s => s.BoxId);
if (d_boxIds.Distinct().Count() != d_boxIds.Count())
return Result.ReFailure(ResultCodes.BoxOutStockTaskBoxError);
}
//上传的物料在任务单里没有找到不能出库
var ex = dto.Details.Select(s => s.MaterialId).Except(outStockTask.Details.Select(s => s.MaterialId)).ToList();
var ex = dto.Details.Select(s => s.MaterialNumber).Except(outStockTask.Details.Select(s => s.MaterialNumber)).ToList();
if (ex.Count() > 0 && dto.Method == 2)
return Result.ReFailure(ResultCodes.OutStockMaterialError);
var boxIds = dto.Details.Select(s => s.BoxId).ToList();
@@ -134,7 +134,7 @@ namespace WMS.Web.Domain.Services
foreach (var b in boxInventoryDetails)
{
var num = boxInventoryDetails.Where(w => w.MaterialId == b.MaterialId).Sum(s => s.Qty);
var taskDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialId == b.MaterialId);
var taskDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialNumber == b.MaterialId);
if (taskDetail == null) return Result.ReFailure(ResultCodes.BoxOutStockTaskMaterialError);
//箱子里该物料的总数量大于出库单(应出库数量-已出库数量) 不能出库
if (num > (taskDetail.AccruedQty - taskDetail.RealityQty))
@@ -154,8 +154,8 @@ namespace WMS.Web.Domain.Services
foreach (var mid in mIds)
{
//任务单明细
var tDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialId == mid);
var dtoDetails = dto.Details.Where(w => w.MaterialId == mid);
var tDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialNumber == mid);
var dtoDetails = dto.Details.Where(w => w.MaterialNumber == mid);
var qty = dtoDetails.Sum(s => s.Qty);
if (tDetail == null) continue;
@@ -173,7 +173,7 @@ namespace WMS.Web.Domain.Services
oErpDetail.Qty = c.qty;
outd.ErpDetails.Add(oErpDetail);
}
var boxs = dto.Details.Where(w => w.MaterialId == mid).ToList();
var boxs = dto.Details.Where(w => w.MaterialNumber == mid).ToList();
outd.BoxsDetails = _mapper.Map<List<OutStockBoxsDetails>>(boxs);
outd.Qty = qty;