Browse Source

采购退货采购上架箱码给接口传时,传拆箱前的箱码

dev_DY_CC
lvzb 11 months ago
parent
commit
5568ef577f
  1. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ArriveConverter.cs
  2. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ReturnConverter.cs
  3. 4
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PositionCodes/PositionCodeAppService.cs
  4. 1
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/PositionCodes/PositionCodeDbContextModelCreatingExtensions.cs
  5. 13
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReturnNoteEventHandler.cs
  6. 23
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PutawayNoteEventHandler.cs

2
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,

2
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,

4
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}已存在!");
//}

1
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();
});
}
}

13
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<SfsCreatedEntityEventData<List<PurchaseReturnNote>>>
{
private const EnumExchangeDataType ExchangeDataType = EnumExchangeDataType.PurchaseReturn;
private readonly ISplitPackingRecAppService _splitPackingRecAppService;
public PurchaseReturnNoteEventHandler(ISplitPackingRecAppService splitPackingRecAppService)
{
_splitPackingRecAppService = splitPackingRecAppService;
}
[UnitOfWork]
public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<PurchaseReturnNote> 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上架前退货不传入接口

23
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<SfsCreatedEntityEventData<List<PutawayNote>>>
{
private const EnumExchangeDataType ExchangeDataType = EnumExchangeDataType.Putaway;
private readonly ISplitPackingRecAppService _splitPackingRecAppService;
public PutawayNoteEventHandler(ISplitPackingRecAppService splitPackingRecAppService)
{
_splitPackingRecAppService=splitPackingRecAppService;
}
[UnitOfWork]
public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<PutawayNote> 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<PutawayNoteDetail>();
var putawayNoteDetails= new List<PutawayNoteDetailDTO>();
foreach (var putawayNoteDetail_temp in putawayNoteTemp.Details)
{

Loading…
Cancel
Save