This commit is contained in:
tongfei
2024-03-14 16:56:12 +08:00
parent d5e5a7b081
commit e5b418fb8f

View File

@@ -557,20 +557,30 @@ namespace WMS.Web.Domain.Services
{ {
// if (det.MaterialId != erp_data.MaterialId || (det.MaterialId == erp_data.MaterialId && det.StockCode != erp_data.StockCode)) // if (det.MaterialId != erp_data.MaterialId || (det.MaterialId == erp_data.MaterialId && det.StockCode != erp_data.StockCode))
var IsHaveNewMaterial = data_list.Where(x=>x.SourceBillNo==erp_data.BillNo).SelectMany(s => s.Details).Where(x =>x.ErpDetailId == erp_data.ErpDetailId && erp_data.MaterialId == x.MaterialId).Any(); var IsHaveNewMaterial = data_list.Where(x=>x.SourceBillNo==erp_data.BillNo).SelectMany(s => s.Details).Where(x =>x.ErpDetailId == erp_data.ErpDetailId && erp_data.MaterialId == x.MaterialId).Any();
var IsHaveNewErpDetId = data_list.Where(x => x.SourceBillNo == erp_data.BillNo).SelectMany(s => s.Details).Where(x => x.ErpDetailId != erp_data.ErpDetailId).Any();
if (!IsHaveNewMaterial) if (!IsHaveNewMaterial)
{ {
//当物料相同,仓库不同或者物料不同,就新增一条明细 //当物料相同,仓库不同或者物料不同,就新增一条明细
erp_addDetailsList.Add(erp_data); erp_addDetailsList.Add(erp_data);
}
if (IsHaveNewErpDetId)
{
//当物料相同,明细不同新增一条明细
erp_addDetailsList.Add(erp_data);
//操作完后剔除 //操作完后剔除
erp_removeList.Add(erp_data); erp_removeList.Add(erp_data);
} }
} }
//去重
var erp_addDetailsList_group= erp_addDetailsList.Distinct().ToList();
//2.2遍历任务单:添加新的明细 //2.2遍历任务单:添加新的明细
data_list.ForEach(order => data_list.ForEach(order =>
{ {
//2.1.任务单添加明细 //2.1.任务单添加明细
var addErpDetails = erp_addDetailsList.Where(x => x.BillNo == order.SourceBillNo).ToList(); var addErpDetails = erp_addDetailsList_group.Where(x => x.BillNo == order.SourceBillNo).ToList();
if (addErpDetails.Count != 0) if (addErpDetails.Count != 0)
{ {
var addDetails = _mapper.Map<List<InStockTaskDetails>>(addErpDetails); var addDetails = _mapper.Map<List<InStockTaskDetails>>(addErpDetails);