diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index 5b3f58a4..5058c7ee 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -1182,6 +1182,16 @@
已出库数量
+
+
+ 已出库数量(合并后不同物料 分别出库多少)
+
+
+
+
+ 应出库数量(合并后不同物料 分别应出多少)
+
+
订单明细备注
diff --git a/src/WMS.Web.Domain/Entitys/OutStockTask.cs b/src/WMS.Web.Domain/Entitys/OutStockTask.cs
index 9ce17525..22e9d9b2 100644
--- a/src/WMS.Web.Domain/Entitys/OutStockTask.cs
+++ b/src/WMS.Web.Domain/Entitys/OutStockTask.cs
@@ -170,6 +170,8 @@ namespace WMS.Web.Domain.Entitys
detail_new.AccruedQty += d.AccruedQty;//应出数量累加
detail_new.SaleBillNos.AddRange(d.SaleBillNos);
detail_new.SourceBillNos.AddRange(d.SourceBillNos);
+ foreach (var dic in d.AccruedQty_Dic)
+ detail_new.AccruedQty_Dic.Add(dic.Key, dic.Value);
}
else
details_new.Add(d);
diff --git a/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs b/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs
index b64b5328..5ca32cd1 100644
--- a/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs
+++ b/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs
@@ -69,6 +69,16 @@ namespace WMS.Web.Domain.Entitys
[Column("RealityQty")]
public decimal RealityQty { get; set; }
///
+ /// 已出库数量(合并后不同物料 分别出库多少)
+ ///
+ [Column("RealityQty_Dic")]
+ public Dictionary RealityQty_Dic { get; set; } = new Dictionary();
+ ///
+ /// 应出库数量(合并后不同物料 分别应出多少)
+ ///
+ [Column("AccruedQty_Dic")]
+ public Dictionary AccruedQty_Dic { get; set; } = new Dictionary();
+ ///
/// 订单明细备注
///
[Column("Remark")]
diff --git a/src/WMS.Web.Domain/Mappers/OutStockMapper.cs b/src/WMS.Web.Domain/Mappers/OutStockMapper.cs
index 6781d43d..09e61d71 100644
--- a/src/WMS.Web.Domain/Mappers/OutStockMapper.cs
+++ b/src/WMS.Web.Domain/Mappers/OutStockMapper.cs
@@ -25,7 +25,7 @@ namespace WMS.Web.Domain.Mappers
CreateMap();
CreateMap()
- .ForPath(x => x.SourceBillNos, ops => ops.MapFrom(x =>new List() { x.SourceBillNo }))
+ .ForPath(x => x.SourceBillNos, ops => ops.MapFrom(x => new List() { x.SourceBillNo }))
.ForPath(x => x.SaleBillNos, ops => ops.MapFrom(x => new List() { x.SaleBillNo }));
}
}
diff --git a/src/WMS.Web.Domain/Services/OutStockTaskService.cs b/src/WMS.Web.Domain/Services/OutStockTaskService.cs
index 66c9aa6a..b84b5345 100644
--- a/src/WMS.Web.Domain/Services/OutStockTaskService.cs
+++ b/src/WMS.Web.Domain/Services/OutStockTaskService.cs
@@ -110,9 +110,20 @@ namespace WMS.Web.Domain.Services
var detail = data.Details.FirstOrDefault(w => w.MaterialId == e.MaterialId);
//存在就修改,没有就添加
if (detail != null)
- detail.AccruedQty = e.AccruedQty;
+ {
+ if (detail.AccruedQty_Dic.ContainsKey(e.SourceBillNo))
+ detail.AccruedQty_Dic[e.SourceBillNo] = e.AccruedQty;
+ else
+ detail.AccruedQty_Dic.Add(e.SourceBillNo, e.AccruedQty);
+ //对集合里的应发做出累加
+ detail.AccruedQty = detail.AccruedQty_Dic.Sum(s => s.Value);
+ }
else
- data.Details.Add(_mapper.Map(e));
+ {
+ var de = _mapper.Map(e);
+ de.AccruedQty_Dic.Add(de.SourceBillNos.First(), de.AccruedQty);
+ data.Details.Add(de);
+ }
erp_removeList.Add(e);
}
@@ -140,6 +151,8 @@ namespace WMS.Web.Domain.Services
var current_erp_details = erp_list.Where(x => x.SourceBillNo == item).ToList();
//给到dto的实体明细中
entity.Details = _mapper.Map>(current_erp_details);
+ foreach (var de in entity.Details)
+ de.AccruedQty_Dic.Add(de.SourceBillNos.First(), de.AccruedQty);
add_entitys.Add(entity);
}
//3.1提交新增
diff --git a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs
index b2905922..67f6551f 100644
--- a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs
+++ b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs
@@ -128,6 +128,14 @@ namespace WMS.Web.Repositories.Configuration
ent.Property(f => f.SaleBillNos).HasConversion(
v => JsonConvert.SerializeObject(v),
v => JsonConvert.DeserializeObject>(v));
+
+ ent.Property(f => f.AccruedQty_Dic).HasConversion(
+ v => JsonConvert.SerializeObject(v),
+ v => JsonConvert.DeserializeObject>(v));
+
+ ent.Property(f => f.RealityQty_Dic).HasConversion(
+ v => JsonConvert.SerializeObject(v),
+ v => JsonConvert.DeserializeObject>(v));
});
#endregion