From 2dd79daff4b9f08b3d3323f2c05eacc35377c356 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Wed, 15 Nov 2023 17:00:53 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=87=BA=E5=BA=93=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=8D=95=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 10 ++++++++++ src/WMS.Web.Domain/Entitys/OutStockTask.cs | 2 ++ .../Entitys/OutStockTaskDetails.cs | 10 ++++++++++ src/WMS.Web.Domain/Mappers/OutStockMapper.cs | 2 +- .../Services/OutStockTaskService.cs | 17 +++++++++++++++-- .../Configuration/RepositoryDbContext.cs | 8 ++++++++ 6 files changed, 46 insertions(+), 3 deletions(-) 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