郑勃旭 2 years ago
parent
commit
faa528ca94
  1. 4
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/EosAgentModule.cs
  2. 43
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ArriveConverter.cs
  3. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/appsettings.json
  4. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/BackFluReader.cs
  5. 27
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/FawtygAutoMapperProfile.cs
  6. 4
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BackFluReader.cs
  7. 92
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/CountAdjustNoteConverter.cs
  8. 8
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/IssueNoteConverter.cs
  9. 9
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ItemTransformNoteConverter.cs
  10. 5
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductReceiptNoteConverter.cs
  11. 6
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductRecycleNoteConverter.cs
  12. 8
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductionReturnNoteConverter.cs
  13. 8
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseOrderConverter.cs
  14. 10
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseReturnConverter.cs
  15. 8
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PutawayNoteConverter.cs
  16. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/RecycledMaterialReceiptNoteConverter.cs
  17. 32
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScrapNoteConVerter.cs
  18. 24
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs
  19. 19
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs
  20. 6
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedIssueNoteConverter.cs
  21. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedReceiptNoteConverter.cs
  22. 112
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/WIPAdjusNoteConverter.cs
  23. 4
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/TyrpAgentModule.cs
  24. 4
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/AgentModule.cs
  25. 12
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/CountAdjustNote/CountAdjustNoteDetailExchangeDto.cs
  26. 50
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteDetailExchangeDto.cs
  27. 2
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteExchangeDto.cs
  28. 50
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml
  29. 7
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain.Shared/Enums/EnumOutgoingDataType.cs
  30. 3
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReceiptNoteEventHandler.cs
  31. 3
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PutawayNoteEventHandler.cs

4
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/EosAgentModule.cs

@ -165,8 +165,8 @@ public class EosAgentModule : AbpModule
ApplicationInitializationContext context) ApplicationInitializationContext context)
{ {
context.AddBackgroundWorkerAsync<EosIncomingBackgroundWorker>(); // context.AddBackgroundWorkerAsync<EosIncomingBackgroundWorker>();
// context.AddBackgroundWorkerAsync<EosOutgoingBackgroundWorker>(); context.AddBackgroundWorkerAsync<EosOutgoingBackgroundWorker>();
} }
} }

43
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ArriveConverter.cs

@ -7,6 +7,7 @@ using Win_in.Sfs.Wms.DataExchange.Domain;
using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.EOS; using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.EOS;
using Win_in.Sfs.Wms.DataExchange.Domain.Shared; using Win_in.Sfs.Wms.DataExchange.Domain.Shared;
using Win_in.Sfs.Wms.DataExchange.WMS.PurchaseReceipt; using Win_in.Sfs.Wms.DataExchange.WMS.PurchaseReceipt;
using Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote;
using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts;
namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent; namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent;
@ -18,6 +19,7 @@ public class ArriveConverter : IOutgoingConverter
private readonly ISupplierAsnAppService _supplierAsnAppService; private readonly ISupplierAsnAppService _supplierAsnAppService;
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
public ArriveConverter( public ArriveConverter(
IOutgoingFromWmsManager outgoingFromWmsManager IOutgoingFromWmsManager outgoingFromWmsManager
, IOutgoingToExternalManager outgoingToExternalManager , IOutgoingToExternalManager outgoingToExternalManager
@ -35,11 +37,11 @@ public class ArriveConverter : IOutgoingConverter
{ {
var outgoingToExternalList = new List<OutgoingToExternal>(); var outgoingToExternalList = new List<OutgoingToExternal>();
var outgoingFromWmsList = await _outgoingFromWmsManager.GetToBeProcessedListAsync(EnumOutgoingDataType.PurchaseReceipt, EnumSystemType.EOS).ConfigureAwait(false); var outgoingFromWmsList = await _outgoingFromWmsManager.GetToBeProcessedListAsync(EnumOutgoingDataType.Putaway, EnumSystemType.EOS).ConfigureAwait(false);
foreach (var outgoingFromWms in outgoingFromWmsList) foreach (var outgoingFromWms in outgoingFromWmsList)
{ {
var wmsReceipt = JsonSerializer.Deserialize<PurchaseReceiptNoteDTO>(outgoingFromWms.DataContent); var wmsReceipt = JsonSerializer.Deserialize<PutawayNoteDTO>(outgoingFromWms.DataContent);
foreach (var detail in wmsReceipt.Details) foreach (var detail in wmsReceipt.Details)
{ {
var outgoingToExternal = new OutgoingToExternal() var outgoingToExternal = new OutgoingToExternal()
@ -49,14 +51,14 @@ public class ArriveConverter : IOutgoingConverter
SourceSystem = EnumSystemType.WMS.ToString(), SourceSystem = EnumSystemType.WMS.ToString(),
SourceDataId = detail.Id.ToString(), SourceDataId = detail.Id.ToString(),
SourceDataGroupCode = wmsReceipt.Number, SourceDataGroupCode = wmsReceipt.Number,
SourceDataDetailCode = detail.PackingCode, SourceDataDetailCode = detail.ToPackingCode,
Writer = nameof(EosOutgoingBackgroundWorker), Writer = nameof(EosOutgoingBackgroundWorker),
DestinationSystem = EnumSystemType.SCP.ToString(), DestinationSystem = EnumSystemType.EOS.ToString(),
DestinationDataId = "", DestinationDataId = "",
}; };
outgoingToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate); outgoingToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
var exchangeReceipt = await BuildPurchaseReceiptExchangeDtoAsync(wmsReceipt, detail).ConfigureAwait(false); var exchangeReceipt = await BuildPutawayExchangeDtoAsync(wmsReceipt, detail).ConfigureAwait(false);
outgoingToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceipt); outgoingToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceipt);
var arrive = BuildArrive(exchangeReceipt); var arrive = BuildArrive(exchangeReceipt);
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(arrive); outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(arrive);
@ -71,25 +73,25 @@ public class ArriveConverter : IOutgoingConverter
return outgoingToExternalList; return outgoingToExternalList;
} }
private static ArriveNote BuildArrive(PurchaseReceiptNoteExchangeDto exchangeReceipt) private ArriveNote BuildArrive(PutawayNoteExchangeDto exchangeReceipt)
{ {
var detail = exchangeReceipt.Detail; var detail = exchangeReceipt.Detail;
var arrive = new ArriveNote() var arrive = new ArriveNote()
{ {
PlanBillNo = exchangeReceipt.PoNumber, PlanBillNo = detail.PoNumber,
ShipBillNo = exchangeReceipt.AsnNumber, ShipBillNo = detail.AsnNumber,
DocNo = exchangeReceipt.Number, DocNo = exchangeReceipt.Number,
DetailMatNo = detail.PackingCode, DetailMatNo = detail.ToPackingCode,
ERP = detail.ItemCode, ERP = detail.ItemCode,
Qty = detail.Qty, Qty = detail.ShippedQty,
HgQty = detail.Qty, HgQty = detail.Qty,
ProductDate = detail.ProduceDate, ProductDate = detail.ProduceDate,
ProductBatch = detail.Lot, ProductBatch = detail.ToLot,
Loc = detail.LocationErpCode, Loc = detail.ToLocationErpCode,
ShipDate = exchangeReceipt.ShipDate, ShipDate = detail.ShipDate,
ShipBillState = 0, ShipBillState = 0,
SupplierCode = exchangeReceipt.SupplierCode, SupplierCode = detail.SupplierCode,
PlanUserCode = exchangeReceipt.ContactName, PlanUserCode = detail.PlanUserCode,//筹措员
EosState = 0, EosState = 0,
// EosDate = DateTime.MinValue, // EosDate = DateTime.MinValue,
WmsDate = DateTime.Now, WmsDate = DateTime.Now,
@ -98,14 +100,11 @@ public class ArriveConverter : IOutgoingConverter
return arrive; return arrive;
} }
private async Task<PurchaseReceiptNoteExchangeDto> BuildPurchaseReceiptExchangeDtoAsync(PurchaseReceiptNoteDTO wmsReceipt, PurchaseReceiptNoteDetailDTO wmsReceiptDetail) private Task<PutawayNoteExchangeDto> BuildPutawayExchangeDtoAsync(PutawayNoteDTO wmsReceipt, PutawayNoteDetailDTO wmsReceiptDetail)
{ {
var exchangeReceipt = _objectMapper.Map<PurchaseReceiptNoteDTO, PurchaseReceiptNoteExchangeDto>(wmsReceipt); var exchangeReceipt = _objectMapper.Map<PutawayNoteDTO, PutawayNoteExchangeDto>(wmsReceipt);
var exchangeReceiptDetail = _objectMapper.Map<PurchaseReceiptNoteDetailDTO, PurchaseReceiptNoteDetailExchangeDto>(wmsReceiptDetail); var exchangeReceiptDetail = _objectMapper.Map<PutawayNoteDetailDTO, PutawayNoteDetailExchangeDto>(wmsReceiptDetail);
var asn = await _supplierAsnAppService.GetByNumberAsync(exchangeReceipt.AsnNumber).ConfigureAwait(false);
exchangeReceipt.ShipDate = asn?.ShipDate;
exchangeReceipt.ContactName = asn == null ? "" : asn.ContactName;
exchangeReceipt.Detail = exchangeReceiptDetail; exchangeReceipt.Detail = exchangeReceiptDetail;
return exchangeReceipt; return Task.FromResult(exchangeReceipt);
} }
} }

2
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/appsettings.json

@ -2,7 +2,7 @@
"ConnectionStrings": { "ConnectionStrings": {
"Default": "Server=dev.ccwin-in.com,21195;Database=DataExchange_Main;uid=sa;pwd=aA123456!;TrustServerCertificate=True", "Default": "Server=dev.ccwin-in.com,21195;Database=DataExchange_Main;uid=sa;pwd=aA123456!;TrustServerCertificate=True",
"DataExchange": "Server=dev.ccwin-in.com,21195;Database=DataExchange_Main;uid=sa;pwd=aA123456!;TrustServerCertificate=True", "DataExchange": "Server=dev.ccwin-in.com,21195;Database=DataExchange_Main;uid=sa;pwd=aA123456!;TrustServerCertificate=True",
"EOS": "Server=61.139.155.47;Database=EOSCC;Uid=wms;Pwd=1;TrustServerCertificate=True" "EOS": "Server=61.139.155.47;Database=EOSSH;Uid=wms;Pwd=1;TrustServerCertificate=True"
}, },
"AuthServer": { "AuthServer": {

2
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/BackFluReader.cs

@ -95,7 +95,7 @@ public class BackFluReader : IReader
var back = new BackFlushNoteExchangeDto() var back = new BackFlushNoteExchangeDto()
{ {
ActiveDate = Convert.ToDateTime(backflu.scmout_dt_w.Substring(0, 4) + "-" + backflu.scmout_dt_w.Substring(4, 2) + "-" + backflu.scmout_dt_w.Substring(6, 2)), ActiveDate = DateTime.ParseExact(backflu.scmout_dt_w, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture),
ItemCode = backflu.scmout_part, ItemCode = backflu.scmout_part,
Number = backflu.scmout_nbr Number = backflu.scmout_nbr
}; };

27
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/FawtygAutoMapperProfile.cs

@ -14,13 +14,16 @@ using Win_in.Sfs.Wms.DataExchange.WMS.Deparment;
using Win_in.Sfs.Wms.DataExchange.WMS.Dict; using Win_in.Sfs.Wms.DataExchange.WMS.Dict;
using Win_in.Sfs.Wms.DataExchange.WMS.InterfaceCalendar; using Win_in.Sfs.Wms.DataExchange.WMS.InterfaceCalendar;
using Win_in.Sfs.Wms.DataExchange.WMS.ItemBasic; using Win_in.Sfs.Wms.DataExchange.WMS.ItemBasic;
using Win_in.Sfs.Wms.DataExchange.WMS.ItemTransformNote;
using Win_in.Sfs.Wms.DataExchange.WMS.PCK; using Win_in.Sfs.Wms.DataExchange.WMS.PCK;
using Win_in.Sfs.Wms.DataExchange.WMS.ProductionReturnNote; using Win_in.Sfs.Wms.DataExchange.WMS.ProductionReturnNote;
using Win_in.Sfs.Wms.DataExchange.WMS.ProductReceiptNote; using Win_in.Sfs.Wms.DataExchange.WMS.ProductReceiptNote;
using Win_in.Sfs.Wms.DataExchange.WMS.ProductRecycleNote;
using Win_in.Sfs.Wms.DataExchange.WMS.PurchaseOrder; using Win_in.Sfs.Wms.DataExchange.WMS.PurchaseOrder;
using Win_in.Sfs.Wms.DataExchange.WMS.PurchaseReturn; using Win_in.Sfs.Wms.DataExchange.WMS.PurchaseReturn;
using Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote; using Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote;
using Win_in.Sfs.Wms.DataExchange.WMS.RecycledMaterialReceiptNote; using Win_in.Sfs.Wms.DataExchange.WMS.RecycledMaterialReceiptNote;
using Win_in.Sfs.Wms.DataExchange.WMS.ScrapNote;
using Win_in.Sfs.Wms.DataExchange.WMS.Supplier; using Win_in.Sfs.Wms.DataExchange.WMS.Supplier;
using Win_in.Sfs.Wms.DataExchange.WMS.TransferNote; using Win_in.Sfs.Wms.DataExchange.WMS.TransferNote;
using Win_in.Sfs.Wms.DataExchange.WMS.UnplannedIssueNote; using Win_in.Sfs.Wms.DataExchange.WMS.UnplannedIssueNote;
@ -34,6 +37,12 @@ public class FawtygAutoMapperProfile : Profile
{ {
public FawtygAutoMapperProfile() public FawtygAutoMapperProfile()
{ {
CreateMap<IncomingToWms, ArchivedIncomingToWms>();
CreateMap<IncomingFromExternal, ArchivedIncomingFromExternal>();
CreateMap<OutgoingFromWms, ArchivedOutgoingFromWms>();
CreateMap<OutgoingToExternal, ArchivedOutgoingToExternal>();
CreateMap<InterfaceCalendarExchangeDto, InterfaceCalendarEditInput>(); CreateMap<InterfaceCalendarExchangeDto, InterfaceCalendarEditInput>();
CreateMap<DictExchangeDto, DictEditInput>() CreateMap<DictExchangeDto, DictEditInput>()
.Ignore(x => x.Items); .Ignore(x => x.Items);
@ -45,6 +54,9 @@ public class FawtygAutoMapperProfile : Profile
CreateMap<BackFlushNoteDTO, BackFlushNoteExchangeDto>(); CreateMap<BackFlushNoteDTO, BackFlushNoteExchangeDto>();
CreateMap<BackFlushNoteDetailDTO, BackFlushNoteDetailExchangeDto>(); CreateMap<BackFlushNoteDetailDTO, BackFlushNoteDetailExchangeDto>();
CreateMap<BackFlushNoteExchangeDto, BackFlushNoteEditInput>();
CreateMap<BackFlushNoteDetailExchangeDto, BackFlushNoteDetailInput>();
CreateMap<RecycledMaterialReceiptNoteDTO, RecycledMaterialReceiptNoteExchangeDto>(); CreateMap<RecycledMaterialReceiptNoteDTO, RecycledMaterialReceiptNoteExchangeDto>();
CreateMap<RecycledMaterialReceiptNoteDetailDTO, RecycledMaterialReceiptNoteDetailExchangeDto>(); CreateMap<RecycledMaterialReceiptNoteDetailDTO, RecycledMaterialReceiptNoteDetailExchangeDto>();
@ -85,16 +97,25 @@ public class FawtygAutoMapperProfile : Profile
.Ignore(x => x.Detail); .Ignore(x => x.Detail);
CreateMap<PurchaseReturnNoteDetailDTO, PurchaseReturnNoteDetailExchangeDto>(); CreateMap<PurchaseReturnNoteDetailDTO, PurchaseReturnNoteDetailExchangeDto>();
CreateMap<OutgoingToExternal, ArchivedOutgoingToExternal>();
CreateMap<OutgoingFromWms, ArchivedOutgoingFromWms>();
CreateMap<CountAdjustNoteDTO, CountAdjustNoteExchangeDto>(); CreateMap<CountAdjustNoteDTO, CountAdjustNoteExchangeDto>();
CreateMap<CountAdjustNoteDetailDTO, CountAdjustNoteDetailExchangeDto>(); CreateMap<CountAdjustNoteDetailDTO, CountAdjustNoteDetailExchangeDto>();
CreateMap<ItemTransformNoteDTO, ItemTransformNoteExchangeDto>();
CreateMap<ItemTransformNoteDetailDTO, ItemTransformNoteDetailExchangeDto>();
CreateMap<ScrapNoteDTO, ScrapNoteExchangeDto>();
CreateMap<ScrapNoteDetailDTO, ScrapNoteDetailExchangeDto>();
CreateMap<BomExchangeDto, BomImportInput>(); CreateMap<BomExchangeDto, BomImportInput>();
CreateMap<BomDTO, BomExchangeDto>(); CreateMap<BomDTO, BomExchangeDto>();
CreateMap<SupplierExchangeDto, SupplierEditInput>(); CreateMap<SupplierExchangeDto, SupplierEditInput>();
CreateMap<CustomerExchangeDto, CustomerEditInput>(); CreateMap<CustomerExchangeDto, CustomerEditInput>();
CreateMap<ProductRecycleNoteDTO, ProductRecycleNoteEditInput>(); CreateMap<ProductRecycleNoteDTO, ProductRecycleNoteEditInput>();
CreateMap<ProductRecycleNoteDetailDTO, ProductRecycleNoteDetailInput>(); CreateMap<ProductRecycleNoteDetailDTO, ProductRecycleNoteDetailInput>();
CreateMap<ProductRecycleNoteDTO, ProductRecycleNoteExchangeDto>()
.Ignore(x => x.Details)
.Ignore(x => x.MaterialDetails);
CreateMap<ProductRecycleNoteDetailDTO, ProductRecycleNoteDetailExchangeDto>();
CreateMap<ProductRecycleMaterialDetailDTO, ProductRecycleMaterialDetailExchangeDto>();
CreateMap<BackFlushNoteExchangeDto, BackFlushNoteEditInput>();
CreateMap<BackFlushNoteDetailExchangeDto, BackFlushNoteDetailInput>();
} }
} }

4
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BackFluReader.cs

@ -93,8 +93,8 @@ public class BackFluReader : IReader
var back = new BackFlushNoteExchangeDto() var back = new BackFlushNoteExchangeDto()
{ {
ActiveDate = DateTime.ParseExact(backflu.scmout_dt_w, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture),
ActiveDate = Convert.ToDateTime(backflu.scmout_dt_w.Substring(0, 4) + "-" + backflu.scmout_dt_w.Substring(4, 2) + "-" + backflu.scmout_dt_w.Substring(6, 2)), // ActiveDate = Convert.ToDateTime(backflu.scmout_dt_w.Substring(0, 4) + "-" + backflu.scmout_dt_w.Substring(4, 2) + "-" + backflu.scmout_dt_w.Substring(6, 2)),
ItemCode = backflu.scmout_part, ItemCode = backflu.scmout_part,
Number = backflu.scmout_nbr Number = backflu.scmout_nbr
}; };

92
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/CountAdjustNoteConverter.cs

@ -44,80 +44,72 @@ public class CountAdjustNoteConverter : IOutgoingConverter
foreach (var outgoingFromWms in outgoingFromWmsList) foreach (var outgoingFromWms in outgoingFromWmsList)
{ {
var wmsCountAdjust = JsonSerializer.Deserialize<CountAdjustNoteDTO>(outgoingFromWms.DataContent); var wmsCountAdjust = JsonSerializer.Deserialize<CountAdjustNoteDTO>(outgoingFromWms.DataContent);
var department = await _departmentAppService.GetByUsernameAsync(wmsCountAdjust.Worker).ConfigureAwait(false);
var departmentCode = department == null ? "" : department.Code; var department = await _departmentAppService.GetByUsernameAsync(wmsCountAdjust.Worker).ConfigureAwait(false);
var departmentCode = department == null ? "" : department.Code;
var details = wmsCountAdjust.Details.GroupBy(r => new { r.ItemCode, r.LocationErpCode }).Select(p => new CountAdjustNoteDetailExchangeDto { CountQty = p.Sum(itm => itm.CountQty), ItemCode = p.Key.ItemCode, LocationErpCode = p.Key.LocationErpCode, ReasonCode = String.Join("、", p.Select(x => x.ReasonCode).ToArray()) }); var details = wmsCountAdjust.Details.GroupBy(r => new { r.ItemCode, r.LocationErpCode }).Select(p => new CountAdjustNoteDetailExchangeDto { CountQty = p.Sum(itm => itm.CountQty), InventoryQty = p.Sum(itm => itm.InventoryQty), ItemCode = p.Key.ItemCode, LocationErpCode = p.Key.LocationErpCode, ReasonCode = String.Join("、", p.Select(x => x.ReasonCode).ToArray()) });
foreach (var detail in details.Where(r => r.CountQty == 0)) var detal = details.ToList();
{ foreach (var detail in detal)
var outgoingToExternal = new OutgoingToExternal()
{ {
DataType = outgoingFromWms.DataType, //判断盘点数与库存数是否相等
DataAction = outgoingFromWms.DataAction, if (detail.CountQty != detail.InventoryQty)
SourceSystem = EnumSystemType.WMS.ToString(), {
SourceDataId = wmsCountAdjust.Number, var outgoingToExternal = new OutgoingToExternal()
SourceDataGroupCode = wmsCountAdjust.Number, {
SourceDataDetailCode = detail.ItemCode, DataType = outgoingFromWms.DataType,
Writer = nameof(TyrpOutgoingBackgroundWorker), DataAction = outgoingFromWms.DataAction,
DestinationSystem = EnumSystemType.ERP.ToString(), SourceSystem = EnumSystemType.WMS.ToString(),
DestinationDataId = "", SourceDataId = wmsCountAdjust.Number,
}; SourceDataGroupCode = wmsCountAdjust.Number,
outgoingToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate); SourceDataDetailCode = details.FirstOrDefault().ItemCode,
Writer = nameof(TyrpOutgoingBackgroundWorker),
var exchangeIssue = await BuildPurchaseReceiptExchangeDtoAsync(wmsCountAdjust, detail).ConfigureAwait(false); DestinationSystem = EnumSystemType.ERP.ToString(),
outgoingToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeIssue); DestinationDataId = "",
var arrive = BuildIssue(exchangeIssue, departmentCode); };
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(arrive); outgoingToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
var exchangeIssue = await BuildPurchaseReceiptExchangeDtoAsync(wmsCountAdjust, detail).ConfigureAwait(false);
outgoingToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeIssue);
var arrive = BuildIssue(exchangeIssue, departmentCode);
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(arrive);
outgoingToExternalList.Add(outgoingToExternal); outgoingToExternalList.Add(outgoingToExternal);
} }
}
} }
await _outgoingToExternalManager.CreateManyAsync(outgoingToExternalList).ConfigureAwait(false); await _outgoingToExternalManager.CreateManyAsync(outgoingToExternalList).ConfigureAwait(false);
//将outgoingFromWms数据归档
await _outgoingFromWmsManager.ArchiveManyAsync(outgoingFromWmsList).ConfigureAwait(false);
return outgoingToExternalList; return outgoingToExternalList;
//插入到中间表OutgoingToExternal
} }
private static CountAdjust BuildIssue(CountAdjustNoteExchangeDto exchangeCountAdjust, string departmentCode) private CountAdjust BuildIssue(CountAdjustNoteExchangeDto exchangeCountAdjust, string departmentCode)
{ {
var detail = exchangeCountAdjust.Detail; var detail = exchangeCountAdjust.Detail;
string time = DateTime.Now.ToLongTimeString();
string time1 = DateTime.Now.ToShortDateString().Replace("/", "").Trim();
string date = time1 + "" + time;
string asdtype = "";
if (Enum.Parse<EnumTransSubType>(exchangeCountAdjust.Type) == EnumTransSubType.CountAdjust_WIP)
{
asdtype = "4041";
}
else if (Enum.Parse<EnumTransSubType>(exchangeCountAdjust.Type) == EnumTransSubType.CountAdjust_Warehouse)
{
asdtype = "4003";
}
var counta = new CountAdjust() var counta = new CountAdjust()
{ {
mesout_asd_refc = departmentCode, mesout_asd_refc = departmentCode,
mesout_asd_dt_w = date, mesout_asd_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"),
mesout_asd_type = asdtype, mesout_asd_type = "4003",
mesout_asd_part = detail.ItemCode, mesout_asd_part = detail.ItemCode,
mesout_asd_date = exchangeCountAdjust.ActiveDate.ToShortDateString().Replace("/", "").Trim(), mesout_asd_date = exchangeCountAdjust.ActiveDate.ToString("yyyyMMdd"),
mesout_asd_loc = detail.LocationErpCode, mesout_asd_loc = string.Empty,
mesout_asd_code = detail.ReasonCode, mesout_asd_code = detail.ReasonCode,
mesout_asd_qty = detail.CountQty, mesout_asd_qty = detail.CountQty + detail.InventoryQty,
mesout_asd_user = exchangeCountAdjust.Worker, mesout_asd_user = exchangeCountAdjust.Worker,
mesout_asd_k = string.Empty, mesout_asd_k = string.Empty,
mesout_asd_stat = "Y" mesout_asd_stat = "Y"
}; };
return counta; return counta;
} }
private async Task<CountAdjustNoteExchangeDto> BuildPurchaseReceiptExchangeDtoAsync( private async Task<CountAdjustNoteExchangeDto> BuildPurchaseReceiptExchangeDtoAsync(
CountAdjustNoteDTO wmsCountAdjust, CountAdjustNoteDetailExchangeDto wmsCountAdjustDetail) CountAdjustNoteDTO wmsCountAdjust, CountAdjustNoteDetailExchangeDto wmsCountAdjustDetail)
{ {
await Task.CompletedTask.ConfigureAwait(false);
var exchangeCountAdjust = _objectMapper.Map<CountAdjustNoteDTO, CountAdjustNoteExchangeDto>(wmsCountAdjust); var exchangeCountAdjust = _objectMapper.Map<CountAdjustNoteDTO, CountAdjustNoteExchangeDto>(wmsCountAdjust);
//var exchangeCountAdjustDetail =
// _objectMapper.Map<CountAdjustNoteDetailDTO, CountAdjustNoteDetailExchangeDto>(wmsCountAdjustDetail);
//var userdep = await _supplierAsnAppService.GetByNumberAsync(exchangeCountAdjust.Worker);
//exchangeCountAdjust.DepartmentCode = userdep.DepartmentCode;
exchangeCountAdjust.Detail = wmsCountAdjustDetail; exchangeCountAdjust.Detail = wmsCountAdjustDetail;
return exchangeCountAdjust; return exchangeCountAdjust;
} }

8
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/IssueNoteConverter.cs

@ -78,7 +78,7 @@ public class IssueNoteConverter : IOutgoingConverter
outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate); outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
var exchangeReceiptDetail = _objectMapper.Map<IssueNoteDetailDTO, IssueNoteDetailExchangeDto>(detail); var exchangeReceiptDetail = _objectMapper.Map<IssueNoteDetailDTO, IssueNoteDetailExchangeDto>(detail);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail); outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail);
var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail); var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, putawayNote.scontrol_dt_w);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetail); outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetail);
outgoingToExternalList.Add(outgoingDetailToExternal); outgoingToExternalList.Add(outgoingDetailToExternal);
} }
@ -115,12 +115,12 @@ public class IssueNoteConverter : IOutgoingConverter
/// <param name="exchangeOrder"></param> /// <param name="exchangeOrder"></param>
/// <param name="exchangeDetailOrder"></param> /// <param name="exchangeDetailOrder"></param>
/// <returns></returns> /// <returns></returns>
private Scmsend BuildDataInterfaceDetail(IssueNoteExchangeDto exchangeOrder, IssueNoteDetailExchangeDto exchangeDetailOrder) private Scmsend BuildDataInterfaceDetail(IssueNoteExchangeDto exchangeOrder, IssueNoteDetailExchangeDto exchangeDetailOrder, string dt_w)
{ {
var ret = new Scmsend() var ret = new Scmsend()
{ {
scmsend_type = billtype, scmsend_type = billtype,
scmsend_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), scmsend_dt_w = dt_w,
scmsend_nbr = exchangeOrder.Number, scmsend_nbr = exchangeOrder.Number,
scmsend_stat1 = "1", scmsend_stat1 = "1",
scmsend_part = exchangeDetailOrder.ItemCode, scmsend_part = exchangeDetailOrder.ItemCode,
@ -130,7 +130,7 @@ public class IssueNoteConverter : IOutgoingConverter
scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"), scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
scmsend_qty = exchangeDetailOrder.Qty, scmsend_qty = exchangeDetailOrder.Qty,
scmsend_wipd_loc = exchangeDetailOrder.ToLocationErpCode, scmsend_wipd_loc = exchangeDetailOrder.ToLocationErpCode,
scmsend_userid = exchangeOrder.Worker scmsend_userid = string.IsNullOrEmpty(exchangeOrder.Worker) ? "" : exchangeOrder.Worker.Length>6?(exchangeOrder.Worker).Substring(0, 6): exchangeOrder.Worker
}; };
return ret; return ret;
} }

9
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ItemTransformNoteConverter.cs

@ -46,7 +46,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent.Outgoing;
var wmsCountAdjust = JsonSerializer.Deserialize<ItemTransformNoteDTO>(outgoingFromWms.DataContent); var wmsCountAdjust = JsonSerializer.Deserialize<ItemTransformNoteDTO>(outgoingFromWms.DataContent);
if (Enum.Parse<EnumTransSubType>(wmsCountAdjust.Type) == EnumTransSubType.Item_Transform) if (Enum.Parse<EnumTransSubType>(wmsCountAdjust.Type) == EnumTransSubType.Item_Transform)
{ {
var department = await _departmentAppService.GetByUsernameAsync(wmsCountAdjust.Worker).ConfigureAwait(false); var department =await _departmentAppService.GetByUsernameAsync(wmsCountAdjust.Worker).ConfigureAwait(false);
var departmentCode = department == null ? "" : department.Code; var departmentCode = department == null ? "" : department.Code;
var details = wmsCountAdjust.Details.GroupBy(r => new { r.ItemCode, r.ToItemCode, r.LocationErpCode, r.ToLocationCode }).Select(p => new ItemTransformNoteDetailExchangeDto { ToQty = p.Sum(itm => itm.ToQty), FromQty = p.Sum(itm => itm.FromQty), ItemCode = p.Key.ItemCode, ToItemCode = p.Key.ToItemCode, LocationErpCode = p.Key.LocationErpCode, ReasonCode = String.Join("、", p.Select(x => x.ReasonCode).ToArray()) }); var details = wmsCountAdjust.Details.GroupBy(r => new { r.ItemCode, r.ToItemCode, r.LocationErpCode, r.ToLocationCode }).Select(p => new ItemTransformNoteDetailExchangeDto { ToQty = p.Sum(itm => itm.ToQty), FromQty = p.Sum(itm => itm.FromQty), ItemCode = p.Key.ItemCode, ToItemCode = p.Key.ToItemCode, LocationErpCode = p.Key.LocationErpCode, ReasonCode = String.Join("、", p.Select(x => x.ReasonCode).ToArray()) });
foreach (var detail in details) foreach (var detail in details)
@ -100,16 +100,11 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent.Outgoing;
private CountAdjust BuildIssue(ItemTransformNoteExchangeDto exchangeCountAdjust, string departmentCode) private CountAdjust BuildIssue(ItemTransformNoteExchangeDto exchangeCountAdjust, string departmentCode)
{ {
var detail = exchangeCountAdjust.Detail; var detail = exchangeCountAdjust.Detail;
string asdtype = "";
if (Enum.Parse<EnumTransSubType>(exchangeCountAdjust.Type) == EnumTransSubType.Item_Transform)
{
asdtype = "4003";
}
var counta = new CountAdjust() var counta = new CountAdjust()
{ {
mesout_asd_refc = departmentCode, mesout_asd_refc = departmentCode,
mesout_asd_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), mesout_asd_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"),
mesout_asd_type = asdtype, mesout_asd_type = "4003",
mesout_asd_part = detail.ItemCode, mesout_asd_part = detail.ItemCode,
mesout_asd_date = exchangeCountAdjust.ActiveDate.ToString("yyyyMMdd"), mesout_asd_date = exchangeCountAdjust.ActiveDate.ToString("yyyyMMdd"),
mesout_asd_loc = detail.LocationErpCode, mesout_asd_loc = detail.LocationErpCode,

5
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductReceiptNoteConverter.cs

@ -27,6 +27,8 @@ public class ProductReceiptNoteConverter : IOutgoingConverter
_objectMapper = objectMapper; _objectMapper = objectMapper;
} }
public virtual async Task<List<OutgoingToExternal>> ConvertAsync() public virtual async Task<List<OutgoingToExternal>> ConvertAsync()
{ {
var outgoingToExternalList = new List<OutgoingToExternal>(); var outgoingToExternalList = new List<OutgoingToExternal>();
@ -67,7 +69,7 @@ public class ProductReceiptNoteConverter : IOutgoingConverter
return outgoingToExternalList; return outgoingToExternalList;
} }
private static ProductReceiptNote BuildProductReceiptNote(ProductReceiptNoteExchangeDto exchangeProductReceiptNote) private ProductReceiptNote BuildProductReceiptNote(ProductReceiptNoteExchangeDto exchangeProductReceiptNote)
{ {
var detail = exchangeProductReceiptNote.Detail; var detail = exchangeProductReceiptNote.Detail;
var ret = new ProductReceiptNote() var ret = new ProductReceiptNote()
@ -90,7 +92,6 @@ public class ProductReceiptNoteConverter : IOutgoingConverter
private async Task<ProductReceiptNoteExchangeDto> BuildProductReceiptNoteExchangeDtoAsync(ProductReceiptNoteDTO wmsReceipt, ProductReceiptNoteDetailDTO wmsReceiptDetail) private async Task<ProductReceiptNoteExchangeDto> BuildProductReceiptNoteExchangeDtoAsync(ProductReceiptNoteDTO wmsReceipt, ProductReceiptNoteDetailDTO wmsReceiptDetail)
{ {
await Task.CompletedTask.ConfigureAwait(false);
var exchangeReceipt = _objectMapper.Map<ProductReceiptNoteDTO, ProductReceiptNoteExchangeDto>(wmsReceipt); var exchangeReceipt = _objectMapper.Map<ProductReceiptNoteDTO, ProductReceiptNoteExchangeDto>(wmsReceipt);
var exchangeReceiptDetail = _objectMapper.Map<ProductReceiptNoteDetailDTO, ProductReceiptNoteDetailExchangeDto>(wmsReceiptDetail); var exchangeReceiptDetail = _objectMapper.Map<ProductReceiptNoteDetailDTO, ProductReceiptNoteDetailExchangeDto>(wmsReceiptDetail);
exchangeReceipt.Detail = exchangeReceiptDetail; exchangeReceipt.Detail = exchangeReceiptDetail;

6
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductRecycleNoteConverter.cs

@ -87,7 +87,7 @@ public class ProductRecycleNoteConverter : IOutgoingConverter
DataAction = outgoingFromWms.DataAction, DataAction = outgoingFromWms.DataAction,
SourceSystem = EnumSystemType.WMS.ToString(), SourceSystem = EnumSystemType.WMS.ToString(),
SourceDataId = materialDetail.Id.ToString(), SourceDataId = materialDetail.Id.ToString(),
SourceDataGroupCode = detail.ItemCode, SourceDataGroupCode = wmsReceipt.Number,
SourceDataDetailCode = materialDetail.ItemCode, SourceDataDetailCode = materialDetail.ItemCode,
Writer = nameof(TyrpOutgoingBackgroundWorker), Writer = nameof(TyrpOutgoingBackgroundWorker),
DestinationSystem = EnumSystemType.ERP.ToString(), DestinationSystem = EnumSystemType.ERP.ToString(),
@ -134,7 +134,7 @@ public class ProductRecycleNoteConverter : IOutgoingConverter
wmsoutm_stock_stat = "", wmsoutm_stock_stat = "",
wmsoutm_open_part = exchangeOrder.ItemCode, wmsoutm_open_part = exchangeOrder.ItemCode,
wmsoutm_open_loc = exchangeOrder.LocationErpCode, wmsoutm_open_loc = exchangeOrder.LocationErpCode,
wmsoutm_open_hours = 0, wmsoutm_open_hours = 1,//无法取到转移工时 目前默认为1
wmsoutm_tyrp_k = "", wmsoutm_tyrp_k = "",
wmsoutm_id = 0,//明细中最大scmsend_id wmsoutm_id = 0,//明细中最大scmsend_id
wmsoutm_open_qt = exchangeOrderDetail.Qty, wmsoutm_open_qt = exchangeOrderDetail.Qty,
@ -147,7 +147,7 @@ public class ProductRecycleNoteConverter : IOutgoingConverter
/// <param name="exchangeOrder"></param> /// <param name="exchangeOrder"></param>
/// <param name="exchangeDetailOrder"></param> /// <param name="exchangeDetailOrder"></param>
/// <returns></returns> /// <returns></returns>
private static Wmsoutd BuildDataInterfaceDetail(ProductRecycleNoteExchangeDto exchangeOrder, ProductRecycleMaterialDetailExchangeDto exchangeDetailOrder) private Wmsoutd BuildDataInterfaceDetail(ProductRecycleNoteExchangeDto exchangeOrder, ProductRecycleMaterialDetailExchangeDto exchangeDetailOrder)
{ {
var ret = new Wmsoutd() var ret = new Wmsoutd()
{ {

8
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductionReturnNoteConverter.cs

@ -77,7 +77,7 @@ public class ProductionReturnNoteConverter : IOutgoingConverter
outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate); outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
var exchangeReceiptDetail = _objectMapper.Map<ProductionReturnNoteDetailDTO, ProductionReturnNoteDetailExchangeDto>(detail); var exchangeReceiptDetail = _objectMapper.Map<ProductionReturnNoteDetailDTO, ProductionReturnNoteDetailExchangeDto>(detail);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail); outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail);
var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail); var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, putawayNote.scontrol_dt_w);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetail); outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetail);
outgoingToExternalList.Add(outgoingDetailToExternal); outgoingToExternalList.Add(outgoingDetailToExternal);
} }
@ -114,12 +114,12 @@ public class ProductionReturnNoteConverter : IOutgoingConverter
/// <param name="exchangeOrder"></param> /// <param name="exchangeOrder"></param>
/// <param name="exchangeDetailOrder"></param> /// <param name="exchangeDetailOrder"></param>
/// <returns></returns> /// <returns></returns>
private Scmsend BuildDataInterfaceDetail(ProductionReturnNoteExchangeDto exchangeOrder, ProductionReturnNoteDetailExchangeDto exchangeDetailOrder) private Scmsend BuildDataInterfaceDetail(ProductionReturnNoteExchangeDto exchangeOrder, ProductionReturnNoteDetailExchangeDto exchangeDetailOrder, string dt_w)
{ {
var ret = new Scmsend() var ret = new Scmsend()
{ {
scmsend_type = billtype, scmsend_type = billtype,
scmsend_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), scmsend_dt_w = dt_w,
scmsend_nbr = exchangeOrder.Number, scmsend_nbr = exchangeOrder.Number,
scmsend_stat1 = "2", scmsend_stat1 = "2",
scmsend_part = exchangeDetailOrder.ItemCode, scmsend_part = exchangeDetailOrder.ItemCode,
@ -129,7 +129,7 @@ public class ProductionReturnNoteConverter : IOutgoingConverter
scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"), scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
scmsend_qty = exchangeDetailOrder.Qty, scmsend_qty = exchangeDetailOrder.Qty,
scmsend_wipd_loc = exchangeDetailOrder.FromLocationErpCode, scmsend_wipd_loc = exchangeDetailOrder.FromLocationErpCode,
scmsend_userid = exchangeOrder.Worker scmsend_userid = string.IsNullOrEmpty(exchangeOrder.Worker) ? "" : exchangeOrder.Worker
}; };
return ret; return ret;
} }

8
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseOrderConverter.cs

@ -85,7 +85,7 @@ public class PurchaseOrderConverter : IOutgoingConverter
outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate); outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
var exchangeReceiptDetail = _objectMapper.Map<PurchaseOrderDetailDTO, PurchaseOrderDetailExchangeDto>(detail); var exchangeReceiptDetail = _objectMapper.Map<PurchaseOrderDetailDTO, PurchaseOrderDetailExchangeDto>(detail);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail); outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail);
var purchaseOrderDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail); var purchaseOrderDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, purchaseOrder.scontrol_dt_w);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(purchaseOrderDetail); outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(purchaseOrderDetail);
outgoingToExternalList.Add(outgoingDetailToExternal); outgoingToExternalList.Add(outgoingDetailToExternal);
} }
@ -122,12 +122,12 @@ public class PurchaseOrderConverter : IOutgoingConverter
/// <param name="exchangeOrder"></param> /// <param name="exchangeOrder"></param>
/// <param name="exchangeDetailOrder"></param> /// <param name="exchangeDetailOrder"></param>
/// <returns></returns> /// <returns></returns>
private Scmsend BuildDataInterfaceDetail(PurchaseOrderExchangeDto exchangeOrder, PurchaseOrderDetailExchangeDto exchangeDetailOrder) private Scmsend BuildDataInterfaceDetail(PurchaseOrderExchangeDto exchangeOrder, PurchaseOrderDetailExchangeDto exchangeDetailOrder, string dt_w)
{ {
var ret = new Scmsend() var ret = new Scmsend()
{ {
scmsend_type = billtype, scmsend_type = billtype,
scmsend_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), scmsend_dt_w = dt_w,
scmsend_nbr = exchangeOrder.Number, scmsend_nbr = exchangeOrder.Number,
scmsend_stat1 = "3", scmsend_stat1 = "3",
scmsend_part = exchangeDetailOrder.ItemCode, scmsend_part = exchangeDetailOrder.ItemCode,
@ -137,7 +137,7 @@ public class PurchaseOrderConverter : IOutgoingConverter
scmsend_date = exchangeOrder.OrderDate.ToString("yyyyMMdd"), scmsend_date = exchangeOrder.OrderDate.ToString("yyyyMMdd"),
scmsend_qty = exchangeDetailOrder.Qty, scmsend_qty = exchangeDetailOrder.Qty,
scmsend_wipd_loc = "", scmsend_wipd_loc = "",
scmsend_userid = exchangeOrder.ContactName scmsend_userid = string.IsNullOrEmpty(exchangeOrder.ContactName) ? "" : exchangeOrder.ContactName
}; };
return ret; return ret;
} }

10
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseReturnConverter.cs

@ -82,7 +82,7 @@ public class PurchaseReturnConverter : IOutgoingConverter
outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate); outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
var exchangeReceiptDetail = _objectMapper.Map<PurchaseReturnNoteDetailDTO, PurchaseReturnNoteDetailExchangeDto>(detail); var exchangeReceiptDetail = _objectMapper.Map<PurchaseReturnNoteDetailDTO, PurchaseReturnNoteDetailExchangeDto>(detail);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail); outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail);
var purchaseReturnDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail); var purchaseReturnDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, purchaseReturn.scontrol_dt_w);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(purchaseReturnDetail); outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(purchaseReturnDetail);
outgoingToExternalList.Add(outgoingDetailToExternal); outgoingToExternalList.Add(outgoingDetailToExternal);
} }
@ -119,14 +119,14 @@ public class PurchaseReturnConverter : IOutgoingConverter
/// <param name="exchangeOrder"></param> /// <param name="exchangeOrder"></param>
/// <param name="exchangeDetailOrder"></param> /// <param name="exchangeDetailOrder"></param>
/// <returns></returns> /// <returns></returns>
private Scmsend BuildDataInterfaceDetail(PurchaseReturnNoteExchangeDto exchangeOrder, PurchaseReturnNoteDetailExchangeDto exchangeDetailOrder) private Scmsend BuildDataInterfaceDetail(PurchaseReturnNoteExchangeDto exchangeOrder, PurchaseReturnNoteDetailExchangeDto exchangeDetailOrder, string dt_w)
{ {
var ret = new Scmsend() var ret = new Scmsend()
{ {
scmsend_type = billtype, scmsend_type = billtype,
scmsend_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), scmsend_dt_w = dt_w,
scmsend_nbr = exchangeOrder.Number, scmsend_nbr = exchangeOrder.Number,
scmsend_stat1 = "0", scmsend_stat1 = "4",
scmsend_part = exchangeDetailOrder.ItemCode, scmsend_part = exchangeDetailOrder.ItemCode,
scmsend_delv_date = "", scmsend_delv_date = "",
scmsend_orderno = exchangeOrder.SupplierCode, scmsend_orderno = exchangeOrder.SupplierCode,
@ -134,7 +134,7 @@ public class PurchaseReturnConverter : IOutgoingConverter
scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"), scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
scmsend_qty = exchangeDetailOrder.Qty, scmsend_qty = exchangeDetailOrder.Qty,
scmsend_wipd_loc = "", scmsend_wipd_loc = "",
scmsend_userid = exchangeOrder.ContactName scmsend_userid = string.IsNullOrEmpty(exchangeOrder.ContactName) ? "" : exchangeOrder.ContactName
}; };
return ret; return ret;
} }

8
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PutawayNoteConverter.cs

@ -77,7 +77,7 @@ public class PutawayNoteConverter : IOutgoingConverter
outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate); outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
var exchangeReceiptDetail = _objectMapper.Map<PutawayNoteDetailDTO, PutawayNoteDetailExchangeDto>(detail); var exchangeReceiptDetail = _objectMapper.Map<PutawayNoteDetailDTO, PutawayNoteDetailExchangeDto>(detail);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail); outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail);
var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail); var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, putawayNote.scontrol_dt_w);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetail); outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetail);
outgoingToExternalList.Add(outgoingDetailToExternal); outgoingToExternalList.Add(outgoingDetailToExternal);
} }
@ -114,12 +114,12 @@ public class PutawayNoteConverter : IOutgoingConverter
/// <param name="exchangeOrder"></param> /// <param name="exchangeOrder"></param>
/// <param name="exchangeDetailOrder"></param> /// <param name="exchangeDetailOrder"></param>
/// <returns></returns> /// <returns></returns>
private Scmsend BuildDataInterfaceDetail(PutawayNoteExchangeDto exchangeOrder, PutawayNoteDetailExchangeDto exchangeDetailOrder) private Scmsend BuildDataInterfaceDetail(PutawayNoteExchangeDto exchangeOrder, PutawayNoteDetailExchangeDto exchangeDetailOrder, string dt_w)
{ {
var ret = new Scmsend() var ret = new Scmsend()
{ {
scmsend_type = billtype, scmsend_type = billtype,
scmsend_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), scmsend_dt_w = dt_w,
scmsend_nbr = exchangeOrder.Number, scmsend_nbr = exchangeOrder.Number,
scmsend_stat1 = "0", scmsend_stat1 = "0",
scmsend_part = exchangeDetailOrder.ItemCode, scmsend_part = exchangeDetailOrder.ItemCode,
@ -129,7 +129,7 @@ public class PutawayNoteConverter : IOutgoingConverter
scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"), scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
scmsend_qty = exchangeDetailOrder.Qty, scmsend_qty = exchangeDetailOrder.Qty,
scmsend_wipd_loc = "", scmsend_wipd_loc = "",
scmsend_userid = exchangeOrder.Worker scmsend_userid = string.IsNullOrEmpty(exchangeOrder.Worker) ? "" : exchangeOrder.Worker
}; };
return ret; return ret;
} }

2
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/RecycledMaterialReceiptNoteConverter.cs

@ -138,7 +138,7 @@ public class RecycledMaterialReceiptNoteConverter : IOutgoingConverter
/// <param name="exchangeOrder"></param> /// <param name="exchangeOrder"></param>
/// <param name="exchangeDetailOrder"></param> /// <param name="exchangeDetailOrder"></param>
/// <returns></returns> /// <returns></returns>
private static Wmsoutd BuildDataInterfaceDetail(RecycledMaterialReceiptNoteExchangeDto exchangeOrder, RecycledMaterialReceiptNoteDetailExchangeDto exchangeDetailOrder) private Wmsoutd BuildDataInterfaceDetail(RecycledMaterialReceiptNoteExchangeDto exchangeOrder, RecycledMaterialReceiptNoteDetailExchangeDto exchangeDetailOrder)
{ {
var ret = new Wmsoutd() var ret = new Wmsoutd()
{ {

32
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScrapNoteConVerter.cs

@ -38,8 +38,7 @@ IOutgoingFromWmsManager outgoingFromWmsManager
public virtual async Task<List<OutgoingToExternal>> ConvertAsync() public virtual async Task<List<OutgoingToExternal>> ConvertAsync()
{ {
var outgoingToExternalList = new List<OutgoingToExternal>(); var outgoingToExternalList = new List<OutgoingToExternal>();
var outgoingFromWmsList = var outgoingFromWmsList = await _outgoingFromWmsManager.GetToBeProcessedListAsync(EnumOutgoingDataType.Scrap, EnumSystemType.ERP).ConfigureAwait(false);
await _outgoingFromWmsManager.GetToBeProcessedListAsync(EnumOutgoingDataType.UnplannedIssue, EnumSystemType.ERP).ConfigureAwait(false);
foreach (var outgoingFromWms in outgoingFromWmsList) foreach (var outgoingFromWms in outgoingFromWmsList)
{ {
var wmsCountAdjust = JsonSerializer.Deserialize<ScrapNoteDTO>(outgoingFromWms.DataContent); var wmsCountAdjust = JsonSerializer.Deserialize<ScrapNoteDTO>(outgoingFromWms.DataContent);
@ -69,36 +68,40 @@ IOutgoingFromWmsManager outgoingFromWmsManager
outgoingToExternalList.Add(outgoingToExternal); outgoingToExternalList.Add(outgoingToExternal);
} }
} }
await _outgoingToExternalManager.CreateManyAsync(outgoingToExternalList).ConfigureAwait(false); await _outgoingToExternalManager.CreateManyAsync(outgoingToExternalList).ConfigureAwait(false);
//将outgoingFromWms数据归档
await _outgoingFromWmsManager.ArchiveManyAsync(outgoingFromWmsList).ConfigureAwait(false);
return outgoingToExternalList; return outgoingToExternalList;
} }
private static CountAdjust BuildIssue(ScrapNoteExchangeDto exchangeScrap, string departmentCode) private CountAdjust BuildIssue(ScrapNoteExchangeDto exchangeScrap, string departmentCode)
{ {
var detail = exchangeScrap.Detail; var detail = exchangeScrap.Detail;
string time = DateTime.Now.ToLongTimeString();
string time1 = DateTime.Now.ToShortDateString().Replace("/", "").Trim();
//string date = time1 + " " + time;
string date = string.Format("{0} {1}", time, time1);
string asdtype = ""; string asdtype = "";
if (exchangeScrap.Type== EnumTransSubType.CountAdjust_WIP.ToString())
if (Enum.Parse<EnumTransSubType>(exchangeScrap.Type) == EnumTransSubType.CountAdjust_WIP)
{ {
asdtype = "4042"; asdtype = "4042";
} }
else if (Enum.Parse<EnumTransSubType>(exchangeScrap.Type) == EnumTransSubType.CountAdjust_Warehouse) else if (exchangeScrap.Type == EnumTransSubType.CountAdjust_Warehouse.ToString())
{
asdtype = "4004";
}
else if (exchangeScrap.Type == EnumTransSubType.Scrap_Manual.ToString())
{ {
asdtype = "4004"; asdtype = "4004";
} }
else if (exchangeScrap.Type == EnumTransSubType.Scrap_WIP.ToString())
{
asdtype = "4042";
}
var counta = new CountAdjust() var counta = new CountAdjust()
{ {
mesout_asd_refc = departmentCode, mesout_asd_refc = departmentCode,
mesout_asd_dt_w = date, mesout_asd_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"),
mesout_asd_type = asdtype, mesout_asd_type = asdtype,
mesout_asd_part = detail.ItemCode, mesout_asd_part = detail.ItemCode,
mesout_asd_date = exchangeScrap.ActiveDate.ToShortDateString().Replace("/", "").Trim(), mesout_asd_date = exchangeScrap.ActiveDate.ToString("yyyyMMdd"),
mesout_asd_loc = "",//字段不明确 mesout_asd_loc = detail.FromLocationErpCode,
mesout_asd_code = detail.ReasonCode, mesout_asd_code = detail.ReasonCode,
mesout_asd_qty = detail.Qty, mesout_asd_qty = detail.Qty,
mesout_asd_user = exchangeScrap.Worker, mesout_asd_user = exchangeScrap.Worker,
@ -109,7 +112,6 @@ IOutgoingFromWmsManager outgoingFromWmsManager
} }
private async Task<ScrapNoteExchangeDto> BuildPurchaseReceiptExchangeDtoAsync(ScrapNoteDTO wmsScrap, ScrapNoteDetailDTO wmsScrapDetail) private async Task<ScrapNoteExchangeDto> BuildPurchaseReceiptExchangeDtoAsync(ScrapNoteDTO wmsScrap, ScrapNoteDetailDTO wmsScrapDetail)
{ {
await Task.CompletedTask.ConfigureAwait(false);
var exchangeScrap = _objectMapper.Map<ScrapNoteDTO, ScrapNoteExchangeDto>(wmsScrap); var exchangeScrap = _objectMapper.Map<ScrapNoteDTO, ScrapNoteExchangeDto>(wmsScrap);
var exchangeScrapDetail = _objectMapper.Map<ScrapNoteDetailDTO, ScrapNoteDetailExchangeDto>(wmsScrapDetail); var exchangeScrapDetail = _objectMapper.Map<ScrapNoteDetailDTO, ScrapNoteDetailExchangeDto>(wmsScrapDetail);
//var userdep = await _supplierAsnAppService.GetByNumberAsync(exchangeCountAdjust.Worker); //var userdep = await _supplierAsnAppService.GetByNumberAsync(exchangeCountAdjust.Worker);

24
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs

@ -36,6 +36,7 @@ public class TransferNoteConverter : IOutgoingConverter
_objectMapper = objectMapper; _objectMapper = objectMapper;
} }
public virtual async Task<List<OutgoingToExternal>> ConvertAsync() public virtual async Task<List<OutgoingToExternal>> ConvertAsync()
{ {
var outgoingToExternalList = new List<OutgoingToExternal>(); var outgoingToExternalList = new List<OutgoingToExternal>();
@ -68,16 +69,17 @@ public class TransferNoteConverter : IOutgoingConverter
}; };
outgoingToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate); outgoingToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
outgoingToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceipt); outgoingToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceipt);
string dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss");
if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString()) if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString())
{ {
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForErp.ToString(); outgoingToExternal.DataType = EnumOutgoingDataType.TransferForErp.ToString();
var putawayNoteScontrol = BuildScontrolDataInterface(exchangeReceipt); var putawayNoteScontrol = BuildScontrolDataInterface(exchangeReceipt, dt_w);
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteScontrol); outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteScontrol);
} }
else else
{ {
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForCustom.ToString(); outgoingToExternal.DataType = EnumOutgoingDataType.TransferForCustom.ToString();
var putawayNoteWmsoutm = BuildWmsoutmDataInterface(exchangeReceipt, departmentCode); var putawayNoteWmsoutm = BuildWmsoutmDataInterface(exchangeReceipt, departmentCode, dt_w);
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteWmsoutm); outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteWmsoutm);
} }
@ -106,7 +108,7 @@ public class TransferNoteConverter : IOutgoingConverter
if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString()) if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString())
{ {
var putawayNoteDetailScmsend = BuildScmsendDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail); var putawayNoteDetailScmsend = BuildScmsendDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, dt_w);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetailScmsend); outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetailScmsend);
} }
else else
@ -133,12 +135,12 @@ public class TransferNoteConverter : IOutgoingConverter
/// </summary> /// </summary>
/// <param name="exchangeOrder"></param> /// <param name="exchangeOrder"></param>
/// <returns></returns> /// <returns></returns>
private Scontrol BuildScontrolDataInterface(TransferNoteExchangeDto exchangeOrder) private Scontrol BuildScontrolDataInterface(TransferNoteExchangeDto exchangeOrder, string dt_w)
{ {
var ret = new Scontrol() var ret = new Scontrol()
{ {
scontrol_nbr = exchangeOrder.Number, scontrol_nbr = exchangeOrder.Number,
scontrol_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), scontrol_dt_w = dt_w,
scontrol_stat = "Y", scontrol_stat = "Y",
scontrol_dt_k = "", scontrol_dt_k = "",
scontrol_type = billtype_s, scontrol_type = billtype_s,
@ -152,12 +154,12 @@ public class TransferNoteConverter : IOutgoingConverter
/// <param name="exchangeOrder"></param> /// <param name="exchangeOrder"></param>
/// <param name="exchangeDetailOrder"></param> /// <param name="exchangeDetailOrder"></param>
/// <returns></returns> /// <returns></returns>
private Scmsend BuildScmsendDataInterfaceDetail(TransferNoteExchangeDto exchangeOrder, TransferNoteDetailExchangeDto exchangeDetailOrder) private Scmsend BuildScmsendDataInterfaceDetail(TransferNoteExchangeDto exchangeOrder, TransferNoteDetailExchangeDto exchangeDetailOrder, string dt_w)
{ {
var ret = new Scmsend() var ret = new Scmsend()
{ {
scmsend_type = billtype_s, scmsend_type = billtype_s,
scmsend_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), scmsend_dt_w = dt_w,
scmsend_nbr = exchangeOrder.Number, scmsend_nbr = exchangeOrder.Number,
scmsend_stat1 = "0", scmsend_stat1 = "0",
scmsend_part = exchangeDetailOrder.ItemCode, scmsend_part = exchangeDetailOrder.ItemCode,
@ -177,13 +179,13 @@ public class TransferNoteConverter : IOutgoingConverter
/// </summary> /// </summary>
/// <param name="exchangeOrder"></param> /// <param name="exchangeOrder"></param>
/// <returns></returns> /// <returns></returns>
private Wmsoutm BuildWmsoutmDataInterface(TransferNoteExchangeDto exchangeOrder, string departmentCode) private Wmsoutm BuildWmsoutmDataInterface(TransferNoteExchangeDto exchangeOrder, string departmentCode, string dt_w)
{ {
var ret = new Wmsoutm() var ret = new Wmsoutm()
{ {
wmsoutm_nbr = exchangeOrder.Number, wmsoutm_nbr = exchangeOrder.Number,
wmsoutm_type = billtype_w, wmsoutm_type = billtype_w,
wmsoutm_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), wmsoutm_dt_w = dt_w,
wmsoutm_stat = "Y", wmsoutm_stat = "Y",
wmsoutm_tyrp_dt = "", wmsoutm_tyrp_dt = "",
wmsoutm_user = exchangeOrder.Worker, wmsoutm_user = exchangeOrder.Worker,
@ -192,7 +194,7 @@ public class TransferNoteConverter : IOutgoingConverter
wmsoutm_cust = "", wmsoutm_cust = "",
wmsoutm_shm_nbr = "", wmsoutm_shm_nbr = "",
wmsoutm_cust_loc = "", wmsoutm_cust_loc = "",
wmsoutm_stock_stat = "", wmsoutm_stock_stat = "1",
wmsoutm_open_part = "", wmsoutm_open_part = "",
wmsoutm_open_loc = "", wmsoutm_open_loc = "",
wmsoutm_open_hours = 0, wmsoutm_open_hours = 0,
@ -208,7 +210,7 @@ public class TransferNoteConverter : IOutgoingConverter
/// <param name="exchangeOrder"></param> /// <param name="exchangeOrder"></param>
/// <param name="exchangeDetailOrder"></param> /// <param name="exchangeDetailOrder"></param>
/// <returns></returns> /// <returns></returns>
private static Wmsoutd BuildWmsoutdDataInterfaceDetail(TransferNoteExchangeDto exchangeOrder, TransferNoteDetailExchangeDto exchangeDetailOrder) private Wmsoutd BuildWmsoutdDataInterfaceDetail(TransferNoteExchangeDto exchangeOrder, TransferNoteDetailExchangeDto exchangeDetailOrder)
{ {
var ret = new Wmsoutd() var ret = new Wmsoutd()
{ {

19
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs

@ -30,8 +30,9 @@ public class TyrpOutgoingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase
[UnitOfWork] [UnitOfWork]
protected override async Task DoWorkAsync(PeriodicBackgroundWorkerContext workerContext) protected override async Task DoWorkAsync(PeriodicBackgroundWorkerContext workerContext)
{ {
Logger.LogInformation($"Starting: Handling {Outgoing}"); Logger.LogInformation($"Starting: Handling {Outgoing}");
if (!_options.Value.IncomingOptions.Active) if (!_options.Value.IncomingOptions.Active)
{ {
Logger.LogInformation($"{Outgoing} is not active!"); Logger.LogInformation($"{Outgoing} is not active!");
@ -109,22 +110,28 @@ public class TyrpOutgoingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase
var productRecycleNoteList = await productRecycleNoteConvert.ConvertAsync().ConfigureAwait(false); var productRecycleNoteList = await productRecycleNoteConvert.ConvertAsync().ConfigureAwait(false);
await wmsoutmWriter.WriteAsync(productRecycleNoteList).ConfigureAwait(false); await wmsoutmWriter.WriteAsync(productRecycleNoteList).ConfigureAwait(false);
Logger.LogInformation($"Write CountAdjusNote");//调整单、线边仓调整单 Logger.LogInformation($"Write CountAdjusNote");//盘点调整单
var countadjustNoteConvert = workerContext.ServiceProvider.GetRequiredService<CountAdjustNoteConverter>(); var countadjustNoteConvert = workerContext.ServiceProvider.GetRequiredService<CountAdjustNoteConverter>();
var countadjustNoteList = await countadjustNoteConvert.ConvertAsync().ConfigureAwait(false); var countadjustNoteList = await countadjustNoteConvert.ConvertAsync().ConfigureAwait(false);
var countadjustWriter = workerContext.ServiceProvider.GetRequiredService<CountAdjustNoteWriter>(); var countadjustWriter = workerContext.ServiceProvider.GetRequiredService<CountAdjustNoteWriter>();
await countadjustWriter.WriteAsync(countadjustNoteList).ConfigureAwait(false); await countadjustWriter.WriteAsync(countadjustNoteList).ConfigureAwait(false);
Logger.LogInformation($"Write ScrapNote");//报废单、线边仓报废 Logger.LogInformation($"Write WIPAdjusNote");//线边仓调整
var scrapNoteConvert = workerContext.ServiceProvider.GetRequiredService<ScrapNoteConverter>(); var wipAdjustNoteConvert = workerContext.ServiceProvider.GetRequiredService<WIPAdjusNoteConverter>();
var scrapNoteList = await scrapNoteConvert.ConvertAsync().ConfigureAwait(false); var wipAdjustNoteList = await wipAdjustNoteConvert.ConvertAsync().ConfigureAwait(false);
await countadjustWriter.WriteAsync(scrapNoteList).ConfigureAwait(false); await countadjustWriter.WriteAsync(wipAdjustNoteList).ConfigureAwait(false);
Logger.LogInformation($"Write ItemTransformNote");//回收料调整单 Logger.LogInformation($"Write ItemTransformNote");//回收料调整单
var ItemTransformNoteConvert = workerContext.ServiceProvider.GetRequiredService<ItemTransformNoteConverter>(); var ItemTransformNoteConvert = workerContext.ServiceProvider.GetRequiredService<ItemTransformNoteConverter>();
var ItemTransformNoteList = await ItemTransformNoteConvert.ConvertAsync().ConfigureAwait(false); var ItemTransformNoteList = await ItemTransformNoteConvert.ConvertAsync().ConfigureAwait(false);
await countadjustWriter.WriteAsync(ItemTransformNoteList).ConfigureAwait(false); await countadjustWriter.WriteAsync(ItemTransformNoteList).ConfigureAwait(false);
Logger.LogInformation($"Completed: Handling {Outgoing}"); Logger.LogInformation($"Completed: Handling {Outgoing}");
Logger.LogInformation($"Write ScrapNote");//报废单、线边仓报废单
var scrapNoteConvert = workerContext.ServiceProvider.GetRequiredService<ScrapNoteConverter>();
var scrapNoteList = await scrapNoteConvert.ConvertAsync().ConfigureAwait(false);
await countadjustWriter.WriteAsync(scrapNoteList).ConfigureAwait(false);
} }
} }

6
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedIssueNoteConverter.cs

@ -49,7 +49,7 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter
var exchangeReceipt = _objectMapper.Map<UnplannedIssueNoteDTO, UnplannedIssueNoteExchangeDto>(wmsReceipt); var exchangeReceipt = _objectMapper.Map<UnplannedIssueNoteDTO, UnplannedIssueNoteExchangeDto>(wmsReceipt);
var department = await _departmentAppService.GetByUsernameAsync(exchangeReceipt.Worker).ConfigureAwait(false); var department = await _departmentAppService.GetByUsernameAsync(exchangeReceipt.Worker).ConfigureAwait(false);
var departmentCode = department == null ? "" : department.Code; var departmentCode = department == null ? "" : department.Code;
var purchaseOrder = BuildDataInterface(exchangeReceipt, departmentCode); var purchaseOrder = BuildDataInterface(exchangeReceipt);
var outgoingToExternal = new OutgoingToExternal() var outgoingToExternal = new OutgoingToExternal()
{ {
DataType = EnumOutgoingDataType.UnplannedIssue.ToString(), DataType = EnumOutgoingDataType.UnplannedIssue.ToString(),
@ -106,7 +106,7 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter
/// </summary> /// </summary>
/// <param name="exchangeOrder"></param> /// <param name="exchangeOrder"></param>
/// <returns></returns> /// <returns></returns>
private Wmsoutm BuildDataInterface(UnplannedIssueNoteExchangeDto exchangeOrder, string departmentCode) private Wmsoutm BuildDataInterface(UnplannedIssueNoteExchangeDto exchangeOrder)
{ {
var ret = new Wmsoutm() var ret = new Wmsoutm()
@ -138,7 +138,7 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter
/// <param name="exchangeOrder"></param> /// <param name="exchangeOrder"></param>
/// <param name="exchangeDetailOrder"></param> /// <param name="exchangeDetailOrder"></param>
/// <returns></returns> /// <returns></returns>
private static Wmsoutd BuildDataInterfaceDetail(UnplannedIssueNoteExchangeDto exchangeOrder, UnplannedIssueNoteDetailExchangeDto exchangeDetailOrder) private Wmsoutd BuildDataInterfaceDetail(UnplannedIssueNoteExchangeDto exchangeOrder, UnplannedIssueNoteDetailExchangeDto exchangeDetailOrder)
{ {
var ret = new Wmsoutd() var ret = new Wmsoutd()
{ {

2
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedReceiptNoteConverter.cs

@ -138,7 +138,7 @@ public class UnplannedReceiptNoteConverter : IOutgoingConverter
/// <param name="exchangeOrder"></param> /// <param name="exchangeOrder"></param>
/// <param name="exchangeDetailOrder"></param> /// <param name="exchangeDetailOrder"></param>
/// <returns></returns> /// <returns></returns>
private static Wmsoutd BuildDataInterfaceDetail(UnplannedReceiptNoteExchangeDto exchangeOrder, UnplannedReceiptNoteDetailExchangeDto exchangeDetailOrder) private Wmsoutd BuildDataInterfaceDetail(UnplannedReceiptNoteExchangeDto exchangeOrder, UnplannedReceiptNoteDetailExchangeDto exchangeDetailOrder)
{ {
var ret = new Wmsoutd() var ret = new Wmsoutd()
{ {

112
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/WIPAdjusNoteConverter.cs

@ -0,0 +1,112 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using System.Threading.Tasks;
using Volo.Abp.ObjectMapping;
using Win_in.Sfs.Auth.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.DataExchange.Domain;
using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Tyrp;
using Win_in.Sfs.Wms.DataExchange.Domain.Shared;
using Win_in.Sfs.Wms.DataExchange.WMS.CountAdjustNote;
using Win_in.Sfs.Wms.Store.Application.Contracts;
namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent.Outgoing;
public class WIPAdjusNoteConverter : IOutgoingConverter
{
private readonly IOutgoingFromWmsManager _outgoingFromWmsManager;
private readonly IOutgoingToExternalManager _outgoingToExternalManager;
private readonly ISupplierAsnAppService _supplierAsnAppService;
private readonly IDepartmentAppService _departmentAppService;
private readonly IObjectMapper _objectMapper;
public WIPAdjusNoteConverter(
IOutgoingFromWmsManager outgoingFromWmsManager
, IOutgoingToExternalManager outgoingToExternalManager
, ISupplierAsnAppService supplierAsnAppService
, IDepartmentAppService departmentAppService
, IObjectMapper objectMapper
)
{
_outgoingFromWmsManager = outgoingFromWmsManager;
_outgoingToExternalManager = outgoingToExternalManager;
_supplierAsnAppService = supplierAsnAppService;
_departmentAppService = departmentAppService;
_objectMapper = objectMapper;
}
public virtual async Task<List<OutgoingToExternal>> ConvertAsync()
{
var outgoingToExternalList = new List<OutgoingToExternal>();
var outgoingFromWmsList = await _outgoingFromWmsManager.GetToBeProcessedListAsync(EnumOutgoingDataType.WIPAdjust, EnumSystemType.ERP).ConfigureAwait(false);
foreach (var outgoingFromWms in outgoingFromWmsList)
{
var wmsCountAdjust = JsonSerializer.Deserialize<CountAdjustNoteDTO>(outgoingFromWms.DataContent);
var department = await _departmentAppService.GetByUsernameAsync(wmsCountAdjust.Worker).ConfigureAwait(false);
var departmentCode = department == null ? "" : department.Code;
var details = wmsCountAdjust.Details.GroupBy(r => new { r.ItemCode, r.LocationErpCode }).Select(p => new CountAdjustNoteDetailExchangeDto { CountQty = p.Sum(itm => itm.CountQty), InventoryQty = p.Sum(itm => itm.InventoryQty), ItemCode = p.Key.ItemCode, LocationErpCode = p.Key.LocationErpCode, ReasonCode = String.Join("、", p.Select(x => x.ReasonCode).ToArray()) });
var detal = details.ToList();
foreach (var detail in detal)
{
//判断盘点数与库存数是否相等
if (detail.CountQty != detail.InventoryQty)
{
var outgoingToExternal = new OutgoingToExternal()
{
DataType = outgoingFromWms.DataType,
DataAction = outgoingFromWms.DataAction,
SourceSystem = EnumSystemType.WMS.ToString(),
SourceDataId = wmsCountAdjust.Number,
SourceDataGroupCode = wmsCountAdjust.Number,
SourceDataDetailCode = details.FirstOrDefault().ItemCode,
Writer = nameof(TyrpOutgoingBackgroundWorker),
DestinationSystem = EnumSystemType.ERP.ToString(),
DestinationDataId = "",
};
outgoingToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
var exchangeIssue = await BuildPurchaseReceiptExchangeDtoAsync(wmsCountAdjust, detail).ConfigureAwait(false);
outgoingToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeIssue);
var arrive = BuildIssue(exchangeIssue, departmentCode);
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(arrive);
outgoingToExternalList.Add(outgoingToExternal);
}
}
}
await _outgoingToExternalManager.CreateManyAsync(outgoingToExternalList).ConfigureAwait(false);
//将outgoingFromWms数据归档
await _outgoingFromWmsManager.ArchiveManyAsync(outgoingFromWmsList).ConfigureAwait(false);
return outgoingToExternalList;
//插入到中间表OutgoingToExternal
}
private CountAdjust BuildIssue(CountAdjustNoteExchangeDto exchangeCountAdjust, string departmentCode)
{
var detail = exchangeCountAdjust.Detail;
var counta = new CountAdjust()
{
mesout_asd_refc = departmentCode,
mesout_asd_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"),
mesout_asd_type = "4041",
mesout_asd_part = detail.ItemCode,
mesout_asd_date = exchangeCountAdjust.ActiveDate.ToString("yyyyMMdd"),
mesout_asd_loc = string.Empty,
mesout_asd_code = detail.ReasonCode,
mesout_asd_qty = detail.CountQty + detail.InventoryQty,
mesout_asd_user = exchangeCountAdjust.Worker,
mesout_asd_k = string.Empty,
mesout_asd_stat = "Y"
};
return counta;
}
private async Task<CountAdjustNoteExchangeDto> BuildPurchaseReceiptExchangeDtoAsync(
CountAdjustNoteDTO wmsCountAdjust, CountAdjustNoteDetailExchangeDto wmsCountAdjustDetail)
{
var exchangeCountAdjust = _objectMapper.Map<CountAdjustNoteDTO, CountAdjustNoteExchangeDto>(wmsCountAdjust);
exchangeCountAdjust.Detail = wmsCountAdjustDetail;
return exchangeCountAdjust;
}
}

4
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/TyrpAgentModule.cs

@ -172,8 +172,8 @@ public class TyrpAgentModule : AbpModule
ApplicationInitializationContext context) ApplicationInitializationContext context)
{ {
context.AddBackgroundWorkerAsync<TyrpIncomingBackgroundWorker>(); // context.AddBackgroundWorkerAsync<TyrpIncomingBackgroundWorker>();
// context.AddBackgroundWorkerAsync<TyrpOutgoingBackgroundWorker>(); context.AddBackgroundWorkerAsync<TyrpOutgoingBackgroundWorker>();
} }
} }

4
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/AgentModule.cs

@ -149,7 +149,7 @@ public class AgentModule : AbpModule
public override void OnApplicationInitialization( public override void OnApplicationInitialization(
ApplicationInitializationContext context) ApplicationInitializationContext context)
{ {
context.AddBackgroundWorkerAsync<IncomingToWmsWorker>(); // context.AddBackgroundWorkerAsync<IncomingToWmsWorker>();
//context.AddBackgroundWorkerAsync<OutgoingFromWmsWorker>(); context.AddBackgroundWorkerAsync<OutgoingFromWmsWorker>();
} }
} }

12
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/CountAdjustNote/CountAdjustNoteDetailExchangeDto.cs

@ -4,7 +4,6 @@ namespace Win_in.Sfs.Wms.DataExchange.WMS.CountAdjustNote;
public class CountAdjustNoteDetailExchangeDto public class CountAdjustNoteDetailExchangeDto
{ {
/// <summary> /// <summary>
/// 物品代码 /// 物品代码
/// </summary> /// </summary>
@ -21,9 +20,18 @@ public class CountAdjustNoteDetailExchangeDto
[Display(Name = "原因代码")] [Display(Name = "原因代码")]
public string ReasonCode { get; set; } public string ReasonCode { get; set; }
/// <summary> /// <summary>
/// 库存数量
/// </summary>
[Display(Name = "库存数量")]
public decimal InventoryQty { get; set; }
/// <summary>
/// 调整数量
/// </summary>
[Display(Name = "调整数量")]
public decimal AdjustQty { get; set; }
/// <summary>
/// 盘点数量 /// 盘点数量
/// </summary> /// </summary>
[Display(Name = "盘点数量")] [Display(Name = "盘点数量")]
public decimal CountQty { get; set; } public decimal CountQty { get; set; }
} }

50
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteDetailExchangeDto.cs

@ -1,3 +1,4 @@
using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote; namespace Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote;
@ -26,9 +27,58 @@ public class PutawayNoteDetailExchangeDto
[Display(Name = "目标ERP库位")] [Display(Name = "目标ERP库位")]
public string ToLocationErpCode { get; set; } public string ToLocationErpCode { get; set; }
/// <summary>
/// 箱标签
/// </summary>
[Display(Name = "箱标签")]
public string ToPackingCode { get; set; }
/// <summary> /// <summary>
/// 数量 /// 数量
/// </summary> /// </summary>
[Display(Name = "数量")] [Display(Name = "数量")]
public decimal Qty { get; set; } public decimal Qty { get; set; }
/// <summary>
/// 数量
/// </summary>
[Display(Name = "订单数量")]
public decimal ShippedQty { get; set; }
/// <summary>
/// 供应商代码
/// </summary>
[Display(Name = "供应商代码")]
public string SupplierCode { get; set; }
/// <summary>
/// 批次
/// </summary>
[Display(Name = "批次")]
public string ToLot { get; set; }
/// <summary>
/// 生产时间
/// </summary>
[Display(Name = "生产时间")]
public DateTime ProduceDate { get; set; } = DateTime.Now;
/// <summary>
/// 发货单号
/// </summary>
[Display(Name = "发货单号")]
public string AsnNumber { get; set; }
/// <summary>
/// 发货时间
/// </summary>
public DateTime? ShipDate { get; set; }
/// <summary>
/// 筹措员
/// </summary>
public string PlanUserCode { get; set; }
[Display(Name = "备注")]
public string Remark { get; set; }
} }

2
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteExchangeDto.cs

@ -27,4 +27,6 @@ public class PutawayNoteExchangeDto
[Display(Name = "操作员")] [Display(Name = "操作员")]
public string Worker { get; set; } public string Worker { get; set; }
public PutawayNoteDetailExchangeDto Detail { get; set; } = new();
} }

50
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml

@ -411,6 +411,16 @@
原因代码 原因代码
</summary> </summary>
</member> </member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.CountAdjustNote.CountAdjustNoteDetailExchangeDto.InventoryQty">
<summary>
库存数量
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.CountAdjustNote.CountAdjustNoteDetailExchangeDto.AdjustQty">
<summary>
调整数量
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.CountAdjustNote.CountAdjustNoteDetailExchangeDto.CountQty"> <member name="P:Win_in.Sfs.Wms.DataExchange.WMS.CountAdjustNote.CountAdjustNoteDetailExchangeDto.CountQty">
<summary> <summary>
盘点数量 盘点数量
@ -1116,11 +1126,51 @@
目标ERP库位 目标ERP库位
</summary> </summary>
</member> </member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote.PutawayNoteDetailExchangeDto.ToPackingCode">
<summary>
箱标签
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote.PutawayNoteDetailExchangeDto.Qty"> <member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote.PutawayNoteDetailExchangeDto.Qty">
<summary> <summary>
数量 数量
</summary> </summary>
</member> </member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote.PutawayNoteDetailExchangeDto.ShippedQty">
<summary>
数量
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote.PutawayNoteDetailExchangeDto.SupplierCode">
<summary>
供应商代码
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote.PutawayNoteDetailExchangeDto.ToLot">
<summary>
批次
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote.PutawayNoteDetailExchangeDto.ProduceDate">
<summary>
生产时间
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote.PutawayNoteDetailExchangeDto.AsnNumber">
<summary>
发货单号
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote.PutawayNoteDetailExchangeDto.ShipDate">
<summary>
发货时间
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote.PutawayNoteDetailExchangeDto.PlanUserCode">
<summary>
筹措员
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote.PutawayNoteExchangeDto.Number"> <member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote.PutawayNoteExchangeDto.Number">
<summary> <summary>
上架单号 上架单号

7
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain.Shared/Enums/EnumOutgoingDataType.cs

@ -24,13 +24,14 @@ public enum EnumOutgoingDataType
ProductionReturn = 16, ProductionReturn = 16,
ProductReceipt = 17, ProductReceipt = 17,
Deliver = 18, Deliver = 18,
CountAdjust = 19, CountAdjust = 19,//盘点整单
CustomerReturn = 20, CustomerReturn = 20,
UnplannedIssue = 21, UnplannedIssue = 21,
RecycledMaterialReceipt = 22, RecycledMaterialReceipt = 22,
ScrapNote = 23, Scrap = 23,
ProductRecycle = 24, ProductRecycle = 24,
Item_Transform = 25 Item_Transform = 25,//线边仓调整单
WIPAdjust = 26//回收料调整单
} }
public enum EnumExchangeTableType public enum EnumExchangeTableType
{ {

3
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReceiptNoteEventHandler.cs

@ -40,8 +40,5 @@ public class PurchaseReceiptNoteEventHandler
//QAD //QAD
var exchangeData = await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.ERP, ExchangeDataType, dtos).ConfigureAwait(false); var exchangeData = await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.ERP, ExchangeDataType, dtos).ConfigureAwait(false);
await AddManyAsync(exchangeData).ConfigureAwait(false); await AddManyAsync(exchangeData).ConfigureAwait(false);
//EOS
var exchangeData_eos = await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.EOS, EnumExchangeDataType.PurchaseReceipt, dtos).ConfigureAwait(false);
await AddManyAsync(exchangeData_eos).ConfigureAwait(false);
} }
} }

3
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PutawayNoteEventHandler.cs

@ -39,5 +39,8 @@ public class PutawayNoteEventHandler
} }
var exchangeData = await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.ERP, ExchangeDataType, dtos).ConfigureAwait(false); var exchangeData = await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.ERP, ExchangeDataType, dtos).ConfigureAwait(false);
await AddManyAsync(exchangeData).ConfigureAwait(false); await AddManyAsync(exchangeData).ConfigureAwait(false);
//EOS
var exchangeData_eos = await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.EOS, ExchangeDataType, dtos).ConfigureAwait(false);
await AddManyAsync(exchangeData_eos).ConfigureAwait(false);
} }
} }

Loading…
Cancel
Save