From 5568ef577f27b7f20ca6d7b3cc56c2f13d64898f Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Thu, 20 Jun 2024 13:47:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E9=80=80=E8=B4=A7=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E4=B8=8A=E6=9E=B6=E7=AE=B1=E7=A0=81=E7=BB=99=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BC=A0=E6=97=B6=EF=BC=8C=E4=BC=A0=E6=8B=86=E7=AE=B1?= =?UTF-8?q?=E5=89=8D=E7=9A=84=E7=AE=B1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Outgoing/ArriveConverter.cs | 2 +- .../Outgoing/ReturnConverter.cs | 2 +- .../PositionCodes/PositionCodeAppService.cs | 4 ++-- ...ionCodeDbContextModelCreatingExtensions.cs | 1 - .../PurchaseReturnNoteEventHandler.cs | 13 ++++++++++- .../DataExchanges/PutawayNoteEventHandler.cs | 23 +++++++++++++++---- 6 files changed, 35 insertions(+), 10 deletions(-) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ArriveConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ArriveConverter.cs index 989eb2391..496e2efdc 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ArriveConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ArriveConverter.cs @@ -114,7 +114,7 @@ public class ArriveConverter : IOutgoingConverter PlanBillNo = detail.PoNumber, ShipBillNo = detail.AsnNumber, DocNo = exchangeReceipt.Number, - DetailMatNo = detail.ToPackingCode, + DetailMatNo =string.IsNullOrEmpty(detail.Remark) ? detail.ToPackingCode: detail.Remark, ERP = detail.ItemCode, Qty = detail.Qty, HgQty = detail.Qty, diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ReturnConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ReturnConverter.cs index cef94089a..058748ba5 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ReturnConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ReturnConverter.cs @@ -80,7 +80,7 @@ public class ReturnConverter : IOutgoingConverter PlanBillNo = exchangeReturn.PoNumber, ShipBillNo = exchangeReturn.AsnNumber, DocNo = exchangeReturn.Number, - DetailMatNo = detail.PackingCode, + DetailMatNo = string.IsNullOrEmpty(detail.Remark)? detail.PackingCode: detail.Remark, ERP = detail.ItemCode, RtQty = detail.Qty, RtSon = detail.Reason, diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PositionCodes/PositionCodeAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PositionCodes/PositionCodeAppService.cs index 0990cef3b..ad08bd229 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PositionCodes/PositionCodeAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PositionCodes/PositionCodeAppService.cs @@ -59,8 +59,8 @@ public class PositionCodeAppService throw new UserFriendlyException($"位置码{input.Code} 已存在!"); } - //var itemEntity = await _repository.FirstOrDefaultAsync(p =>p.LocationCode==input.LocationCode && p.PartCode == input.PartCode&&p.Type==input.Type).ConfigureAwait(false); - //if(itemEntity != null) + //var itemEntity = await _repository.FirstOrDefaultAsync(p => p.LocationCode == input.LocationCode && p.PartCode == input.PartCode && p.Type == input.Type).ConfigureAwait(false); + //if (itemEntity != null) //{ // throw new UserFriendlyException($"类型{input.Type.ToString()}物品{input.PartCode}目标库位{input.LocationCode}已存在!"); //} diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/PositionCodes/PositionCodeDbContextModelCreatingExtensions.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/PositionCodes/PositionCodeDbContextModelCreatingExtensions.cs index 33f7bd550..0110994ea 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/PositionCodes/PositionCodeDbContextModelCreatingExtensions.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/PositionCodes/PositionCodeDbContextModelCreatingExtensions.cs @@ -34,7 +34,6 @@ public static class PositionCodeDbContextModelCreatingExtensions //Indexes b.HasIndex(q => new { q.Code,q.PartCode,q.LocationCode }).IsUnique(); b.HasIndex(q => new { q.Code }).IsUnique(); - b.HasIndex(q => new { q.PartCode }).IsUnique(); }); } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReturnNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReturnNoteEventHandler.cs index 5446353da..8c3a164bb 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReturnNoteEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReturnNoteEventHandler.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Threading.Tasks; using Volo.Abp.EventBus; using Volo.Abp.Uow; +using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Event; using Win_in.Sfs.Wms.Store.Application.Contracts; @@ -16,7 +17,11 @@ public class PurchaseReturnNoteEventHandler , ILocalEventHandler>> { private const EnumExchangeDataType ExchangeDataType = EnumExchangeDataType.PurchaseReturn; - + private readonly ISplitPackingRecAppService _splitPackingRecAppService; + public PurchaseReturnNoteEventHandler(ISplitPackingRecAppService splitPackingRecAppService) + { + _splitPackingRecAppService = splitPackingRecAppService; + } [UnitOfWork] public virtual async Task HandleEventAsync(SfsCreatedEntityEventData eventData) { @@ -37,6 +42,12 @@ public class PurchaseReturnNoteEventHandler foreach (var detail in dtos.SelectMany(dto => dto.Details)) { await detail.TrySetLocationAsync(LocationAclService, detail.LocationCode).ConfigureAwait(false); + var packingCode=await _splitPackingRecAppService.GetTopPackingCode(detail.PackingCode).ConfigureAwait(false); + detail.Remark = string.Empty; + if (!string.IsNullOrEmpty(packingCode?.FromTopPackingCode) &&detail.PackingCode!= packingCode?.FromTopPackingCode) + { + detail.Remark=packingCode.FromTopPackingCode; + } } //2023-12-6上架前退货不传入接口 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PutawayNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PutawayNoteEventHandler.cs index d0369abea..7ae2b3117 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PutawayNoteEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PutawayNoteEventHandler.cs @@ -2,8 +2,10 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.VisualBasic; +using Org.BouncyCastle.Crypto.Prng.Drbg; using Volo.Abp.EventBus; using Volo.Abp.Uow; +using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Event; using Win_in.Sfs.Wms.Store.Application.Contracts; @@ -17,7 +19,11 @@ public class PutawayNoteEventHandler , ILocalEventHandler>> { private const EnumExchangeDataType ExchangeDataType = EnumExchangeDataType.Putaway; - + private readonly ISplitPackingRecAppService _splitPackingRecAppService; + public PutawayNoteEventHandler(ISplitPackingRecAppService splitPackingRecAppService) + { + _splitPackingRecAppService=splitPackingRecAppService; + } [UnitOfWork] public virtual async Task HandleEventAsync(SfsCreatedEntityEventData eventData) { @@ -41,7 +47,16 @@ public class PutawayNoteEventHandler } //采购上架 - var putaway_Purchase = entities.Where(p => p.Type == EnumPutawayType.PurchasePutaway).ToList(); + var putaway_Purchase = dtos.Where(p => p.Type == EnumPutawayType.PurchasePutaway).ToList(); + foreach (var item in putaway_Purchase.SelectMany(dto => dto.Details)) + { + var packingCode = await _splitPackingRecAppService.GetTopPackingCode(item.ToPackingCode).ConfigureAwait(false); + item.Remark = string.Empty; + if (!string.IsNullOrEmpty(packingCode?.FromTopPackingCode) && item.ToPackingCode != packingCode?.FromTopPackingCode) + { + item.Remark = packingCode.FromTopPackingCode; + } + } if (putaway_Purchase.Count > 0) { var exchangeData_Purchase = @@ -56,10 +71,10 @@ public class PutawayNoteEventHandler } //半成品上架 - var putaway_Semi_temp = entities.Where(p => p.Type == EnumPutawayType.SemiPutaway).ToList(); + var putaway_Semi_temp = dtos.Where(p => p.Type == EnumPutawayType.SemiPutaway).ToList(); foreach (var putawayNoteTemp in putaway_Semi_temp) { - var putawayNoteDetails= new List(); + var putawayNoteDetails= new List(); foreach (var putawayNoteDetail_temp in putawayNoteTemp.Details) {