diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/EosAgentModule.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/EosAgentModule.cs index 86d84862a..20a68644a 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/EosAgentModule.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/EosAgentModule.cs @@ -165,8 +165,8 @@ public class EosAgentModule : AbpModule ApplicationInitializationContext context) { - context.AddBackgroundWorkerAsync(); - // context.AddBackgroundWorkerAsync(); + // context.AddBackgroundWorkerAsync(); + context.AddBackgroundWorkerAsync(); } } 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 791c8ae4f..e79c43aeb 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 @@ -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.Shared; using Win_in.Sfs.Wms.DataExchange.WMS.PurchaseReceipt; +using Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote; using Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent; @@ -18,6 +19,7 @@ public class ArriveConverter : IOutgoingConverter private readonly ISupplierAsnAppService _supplierAsnAppService; private readonly IObjectMapper _objectMapper; + public ArriveConverter( IOutgoingFromWmsManager outgoingFromWmsManager , IOutgoingToExternalManager outgoingToExternalManager @@ -35,11 +37,11 @@ public class ArriveConverter : IOutgoingConverter { var outgoingToExternalList = new List(); - 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) { - var wmsReceipt = JsonSerializer.Deserialize(outgoingFromWms.DataContent); + var wmsReceipt = JsonSerializer.Deserialize(outgoingFromWms.DataContent); foreach (var detail in wmsReceipt.Details) { var outgoingToExternal = new OutgoingToExternal() @@ -49,14 +51,14 @@ public class ArriveConverter : IOutgoingConverter SourceSystem = EnumSystemType.WMS.ToString(), SourceDataId = detail.Id.ToString(), SourceDataGroupCode = wmsReceipt.Number, - SourceDataDetailCode = detail.PackingCode, + SourceDataDetailCode = detail.ToPackingCode, Writer = nameof(EosOutgoingBackgroundWorker), - DestinationSystem = EnumSystemType.SCP.ToString(), + DestinationSystem = EnumSystemType.EOS.ToString(), DestinationDataId = "", }; 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); var arrive = BuildArrive(exchangeReceipt); outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(arrive); @@ -71,25 +73,25 @@ public class ArriveConverter : IOutgoingConverter return outgoingToExternalList; } - private static ArriveNote BuildArrive(PurchaseReceiptNoteExchangeDto exchangeReceipt) + private ArriveNote BuildArrive(PutawayNoteExchangeDto exchangeReceipt) { var detail = exchangeReceipt.Detail; var arrive = new ArriveNote() { - PlanBillNo = exchangeReceipt.PoNumber, - ShipBillNo = exchangeReceipt.AsnNumber, + PlanBillNo = detail.PoNumber, + ShipBillNo = detail.AsnNumber, DocNo = exchangeReceipt.Number, - DetailMatNo = detail.PackingCode, + DetailMatNo = detail.ToPackingCode, ERP = detail.ItemCode, - Qty = detail.Qty, + Qty = detail.ShippedQty, HgQty = detail.Qty, ProductDate = detail.ProduceDate, - ProductBatch = detail.Lot, - Loc = detail.LocationErpCode, - ShipDate = exchangeReceipt.ShipDate, + ProductBatch = detail.ToLot, + Loc = detail.ToLocationErpCode, + ShipDate = detail.ShipDate, ShipBillState = 0, - SupplierCode = exchangeReceipt.SupplierCode, - PlanUserCode = exchangeReceipt.ContactName, + SupplierCode = detail.SupplierCode, + PlanUserCode = detail.PlanUserCode,//筹措员 EosState = 0, // EosDate = DateTime.MinValue, WmsDate = DateTime.Now, @@ -98,14 +100,11 @@ public class ArriveConverter : IOutgoingConverter return arrive; } - private async Task BuildPurchaseReceiptExchangeDtoAsync(PurchaseReceiptNoteDTO wmsReceipt, PurchaseReceiptNoteDetailDTO wmsReceiptDetail) + private Task BuildPutawayExchangeDtoAsync(PutawayNoteDTO wmsReceipt, PutawayNoteDetailDTO wmsReceiptDetail) { - var exchangeReceipt = _objectMapper.Map(wmsReceipt); - var exchangeReceiptDetail = _objectMapper.Map(wmsReceiptDetail); - var asn = await _supplierAsnAppService.GetByNumberAsync(exchangeReceipt.AsnNumber).ConfigureAwait(false); - exchangeReceipt.ShipDate = asn?.ShipDate; - exchangeReceipt.ContactName = asn == null ? "" : asn.ContactName; + var exchangeReceipt = _objectMapper.Map(wmsReceipt); + var exchangeReceiptDetail = _objectMapper.Map(wmsReceiptDetail); exchangeReceipt.Detail = exchangeReceiptDetail; - return exchangeReceipt; + return Task.FromResult(exchangeReceipt); } } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/appsettings.json b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/appsettings.json index 83cadac0a..4002a48b9 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/appsettings.json +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/appsettings.json @@ -2,7 +2,7 @@ "ConnectionStrings": { "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", - "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": { diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/BackFluReader.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/BackFluReader.cs index f479fed59..ce937c504 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/BackFluReader.cs +++ b/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() { - 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, Number = backflu.scmout_nbr }; diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/FawtygAutoMapperProfile.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/FawtygAutoMapperProfile.cs index 0a7c85483..f8ba7366d 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/FawtygAutoMapperProfile.cs +++ b/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.InterfaceCalendar; 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.ProductionReturnNote; 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.PurchaseReturn; using Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote; 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.TransferNote; using Win_in.Sfs.Wms.DataExchange.WMS.UnplannedIssueNote; @@ -34,6 +37,12 @@ public class FawtygAutoMapperProfile : Profile { public FawtygAutoMapperProfile() { + CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); + + CreateMap(); CreateMap() .Ignore(x => x.Items); @@ -45,6 +54,9 @@ public class FawtygAutoMapperProfile : Profile CreateMap(); CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); CreateMap(); @@ -85,16 +97,25 @@ public class FawtygAutoMapperProfile : Profile .Ignore(x => x.Detail); CreateMap(); - CreateMap(); - CreateMap(); - CreateMap(); CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); + + CreateMap() + .Ignore(x => x.Details) + .Ignore(x => x.MaterialDetails); + CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); } } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BackFluReader.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BackFluReader.cs index a8676a368..f3f502241 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BackFluReader.cs +++ b/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() { - - 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), + // 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, Number = backflu.scmout_nbr }; diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/CountAdjustNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/CountAdjustNoteConverter.cs index 705cf6919..af7d5d81d 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/CountAdjustNoteConverter.cs +++ b/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) { var wmsCountAdjust = JsonSerializer.Deserialize(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), 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 outgoingToExternal = new OutgoingToExternal() + + 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) { - DataType = outgoingFromWms.DataType, - DataAction = outgoingFromWms.DataAction, - SourceSystem = EnumSystemType.WMS.ToString(), - SourceDataId = wmsCountAdjust.Number, - SourceDataGroupCode = wmsCountAdjust.Number, - SourceDataDetailCode = detail.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); + //判断盘点数与库存数是否相等 + 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); - } + outgoingToExternalList.Add(outgoingToExternal); + } + } + } - await _outgoingToExternalManager.CreateManyAsync(outgoingToExternalList).ConfigureAwait(false); + //将outgoingFromWms数据归档 + await _outgoingFromWmsManager.ArchiveManyAsync(outgoingFromWmsList).ConfigureAwait(false); return outgoingToExternalList; + //插入到中间表OutgoingToExternal } - private static CountAdjust BuildIssue(CountAdjustNoteExchangeDto exchangeCountAdjust, string departmentCode) + private CountAdjust BuildIssue(CountAdjustNoteExchangeDto exchangeCountAdjust, string departmentCode) { 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(exchangeCountAdjust.Type) == EnumTransSubType.CountAdjust_WIP) - { - asdtype = "4041"; - } - else if (Enum.Parse(exchangeCountAdjust.Type) == EnumTransSubType.CountAdjust_Warehouse) - { - asdtype = "4003"; - } var counta = new CountAdjust() { mesout_asd_refc = departmentCode, - mesout_asd_dt_w = date, - mesout_asd_type = asdtype, + mesout_asd_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), + mesout_asd_type = "4003", mesout_asd_part = detail.ItemCode, - mesout_asd_date = exchangeCountAdjust.ActiveDate.ToShortDateString().Replace("/", "").Trim(), - mesout_asd_loc = detail.LocationErpCode, + mesout_asd_date = exchangeCountAdjust.ActiveDate.ToString("yyyyMMdd"), + mesout_asd_loc = string.Empty, mesout_asd_code = detail.ReasonCode, - mesout_asd_qty = detail.CountQty, + 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 BuildPurchaseReceiptExchangeDtoAsync( CountAdjustNoteDTO wmsCountAdjust, CountAdjustNoteDetailExchangeDto wmsCountAdjustDetail) { - await Task.CompletedTask.ConfigureAwait(false); var exchangeCountAdjust = _objectMapper.Map(wmsCountAdjust); - //var exchangeCountAdjustDetail = - // _objectMapper.Map(wmsCountAdjustDetail); - //var userdep = await _supplierAsnAppService.GetByNumberAsync(exchangeCountAdjust.Worker); - //exchangeCountAdjust.DepartmentCode = userdep.DepartmentCode; + exchangeCountAdjust.Detail = wmsCountAdjustDetail; return exchangeCountAdjust; } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/IssueNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/IssueNoteConverter.cs index 785aedbce..dd628e54c 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/IssueNoteConverter.cs +++ b/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); var exchangeReceiptDetail = _objectMapper.Map(detail); outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail); - var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail); + var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, putawayNote.scontrol_dt_w); outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetail); outgoingToExternalList.Add(outgoingDetailToExternal); } @@ -115,12 +115,12 @@ public class IssueNoteConverter : IOutgoingConverter /// /// /// - private Scmsend BuildDataInterfaceDetail(IssueNoteExchangeDto exchangeOrder, IssueNoteDetailExchangeDto exchangeDetailOrder) + private Scmsend BuildDataInterfaceDetail(IssueNoteExchangeDto exchangeOrder, IssueNoteDetailExchangeDto exchangeDetailOrder, string dt_w) { var ret = new Scmsend() { scmsend_type = billtype, - scmsend_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), + scmsend_dt_w = dt_w, scmsend_nbr = exchangeOrder.Number, scmsend_stat1 = "1", scmsend_part = exchangeDetailOrder.ItemCode, @@ -130,7 +130,7 @@ public class IssueNoteConverter : IOutgoingConverter scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"), scmsend_qty = exchangeDetailOrder.Qty, 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; } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ItemTransformNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ItemTransformNoteConverter.cs index 8e25bb6a7..bae2a8231 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ItemTransformNoteConverter.cs +++ b/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(outgoingFromWms.DataContent); if (Enum.Parse(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 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) @@ -100,16 +100,11 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent.Outgoing; private CountAdjust BuildIssue(ItemTransformNoteExchangeDto exchangeCountAdjust, string departmentCode) { var detail = exchangeCountAdjust.Detail; - string asdtype = ""; - if (Enum.Parse(exchangeCountAdjust.Type) == EnumTransSubType.Item_Transform) - { - asdtype = "4003"; - } var counta = new CountAdjust() { mesout_asd_refc = departmentCode, 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_date = exchangeCountAdjust.ActiveDate.ToString("yyyyMMdd"), mesout_asd_loc = detail.LocationErpCode, diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductReceiptNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductReceiptNoteConverter.cs index 3289b919f..4782151d0 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductReceiptNoteConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductReceiptNoteConverter.cs @@ -27,6 +27,8 @@ public class ProductReceiptNoteConverter : IOutgoingConverter _objectMapper = objectMapper; } + + public virtual async Task> ConvertAsync() { var outgoingToExternalList = new List(); @@ -67,7 +69,7 @@ public class ProductReceiptNoteConverter : IOutgoingConverter return outgoingToExternalList; } - private static ProductReceiptNote BuildProductReceiptNote(ProductReceiptNoteExchangeDto exchangeProductReceiptNote) + private ProductReceiptNote BuildProductReceiptNote(ProductReceiptNoteExchangeDto exchangeProductReceiptNote) { var detail = exchangeProductReceiptNote.Detail; var ret = new ProductReceiptNote() @@ -90,7 +92,6 @@ public class ProductReceiptNoteConverter : IOutgoingConverter private async Task BuildProductReceiptNoteExchangeDtoAsync(ProductReceiptNoteDTO wmsReceipt, ProductReceiptNoteDetailDTO wmsReceiptDetail) { - await Task.CompletedTask.ConfigureAwait(false); var exchangeReceipt = _objectMapper.Map(wmsReceipt); var exchangeReceiptDetail = _objectMapper.Map(wmsReceiptDetail); exchangeReceipt.Detail = exchangeReceiptDetail; diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductRecycleNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductRecycleNoteConverter.cs index 18069fd9e..778dad2a5 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductRecycleNoteConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductRecycleNoteConverter.cs @@ -87,7 +87,7 @@ public class ProductRecycleNoteConverter : IOutgoingConverter DataAction = outgoingFromWms.DataAction, SourceSystem = EnumSystemType.WMS.ToString(), SourceDataId = materialDetail.Id.ToString(), - SourceDataGroupCode = detail.ItemCode, + SourceDataGroupCode = wmsReceipt.Number, SourceDataDetailCode = materialDetail.ItemCode, Writer = nameof(TyrpOutgoingBackgroundWorker), DestinationSystem = EnumSystemType.ERP.ToString(), @@ -134,7 +134,7 @@ public class ProductRecycleNoteConverter : IOutgoingConverter wmsoutm_stock_stat = "", wmsoutm_open_part = exchangeOrder.ItemCode, wmsoutm_open_loc = exchangeOrder.LocationErpCode, - wmsoutm_open_hours = 0, + wmsoutm_open_hours = 1,//无法取到转移工时 目前默认为1 wmsoutm_tyrp_k = "", wmsoutm_id = 0,//明细中最大scmsend_id wmsoutm_open_qt = exchangeOrderDetail.Qty, @@ -147,7 +147,7 @@ public class ProductRecycleNoteConverter : IOutgoingConverter /// /// /// - private static Wmsoutd BuildDataInterfaceDetail(ProductRecycleNoteExchangeDto exchangeOrder, ProductRecycleMaterialDetailExchangeDto exchangeDetailOrder) + private Wmsoutd BuildDataInterfaceDetail(ProductRecycleNoteExchangeDto exchangeOrder, ProductRecycleMaterialDetailExchangeDto exchangeDetailOrder) { var ret = new Wmsoutd() { diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductionReturnNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductionReturnNoteConverter.cs index 2711e5c5d..ddbc84b36 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductionReturnNoteConverter.cs +++ b/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); var exchangeReceiptDetail = _objectMapper.Map(detail); outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail); - var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail); + var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, putawayNote.scontrol_dt_w); outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetail); outgoingToExternalList.Add(outgoingDetailToExternal); } @@ -114,12 +114,12 @@ public class ProductionReturnNoteConverter : IOutgoingConverter /// /// /// - private Scmsend BuildDataInterfaceDetail(ProductionReturnNoteExchangeDto exchangeOrder, ProductionReturnNoteDetailExchangeDto exchangeDetailOrder) + private Scmsend BuildDataInterfaceDetail(ProductionReturnNoteExchangeDto exchangeOrder, ProductionReturnNoteDetailExchangeDto exchangeDetailOrder, string dt_w) { var ret = new Scmsend() { scmsend_type = billtype, - scmsend_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), + scmsend_dt_w = dt_w, scmsend_nbr = exchangeOrder.Number, scmsend_stat1 = "2", scmsend_part = exchangeDetailOrder.ItemCode, @@ -129,7 +129,7 @@ public class ProductionReturnNoteConverter : IOutgoingConverter scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"), scmsend_qty = exchangeDetailOrder.Qty, scmsend_wipd_loc = exchangeDetailOrder.FromLocationErpCode, - scmsend_userid = exchangeOrder.Worker + scmsend_userid = string.IsNullOrEmpty(exchangeOrder.Worker) ? "" : exchangeOrder.Worker }; return ret; } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseOrderConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseOrderConverter.cs index a24a2ebd6..8f4f6c1db 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseOrderConverter.cs +++ b/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); var exchangeReceiptDetail = _objectMapper.Map(detail); outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail); - var purchaseOrderDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail); + var purchaseOrderDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, purchaseOrder.scontrol_dt_w); outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(purchaseOrderDetail); outgoingToExternalList.Add(outgoingDetailToExternal); } @@ -122,12 +122,12 @@ public class PurchaseOrderConverter : IOutgoingConverter /// /// /// - private Scmsend BuildDataInterfaceDetail(PurchaseOrderExchangeDto exchangeOrder, PurchaseOrderDetailExchangeDto exchangeDetailOrder) + private Scmsend BuildDataInterfaceDetail(PurchaseOrderExchangeDto exchangeOrder, PurchaseOrderDetailExchangeDto exchangeDetailOrder, string dt_w) { var ret = new Scmsend() { scmsend_type = billtype, - scmsend_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), + scmsend_dt_w = dt_w, scmsend_nbr = exchangeOrder.Number, scmsend_stat1 = "3", scmsend_part = exchangeDetailOrder.ItemCode, @@ -137,7 +137,7 @@ public class PurchaseOrderConverter : IOutgoingConverter scmsend_date = exchangeOrder.OrderDate.ToString("yyyyMMdd"), scmsend_qty = exchangeDetailOrder.Qty, scmsend_wipd_loc = "", - scmsend_userid = exchangeOrder.ContactName + scmsend_userid = string.IsNullOrEmpty(exchangeOrder.ContactName) ? "" : exchangeOrder.ContactName }; return ret; } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseReturnConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseReturnConverter.cs index 5e718b037..81c5c7571 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseReturnConverter.cs +++ b/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); var exchangeReceiptDetail = _objectMapper.Map(detail); outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail); - var purchaseReturnDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail); + var purchaseReturnDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, purchaseReturn.scontrol_dt_w); outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(purchaseReturnDetail); outgoingToExternalList.Add(outgoingDetailToExternal); } @@ -119,14 +119,14 @@ public class PurchaseReturnConverter : IOutgoingConverter /// /// /// - private Scmsend BuildDataInterfaceDetail(PurchaseReturnNoteExchangeDto exchangeOrder, PurchaseReturnNoteDetailExchangeDto exchangeDetailOrder) + private Scmsend BuildDataInterfaceDetail(PurchaseReturnNoteExchangeDto exchangeOrder, PurchaseReturnNoteDetailExchangeDto exchangeDetailOrder, string dt_w) { var ret = new Scmsend() { scmsend_type = billtype, - scmsend_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), + scmsend_dt_w = dt_w, scmsend_nbr = exchangeOrder.Number, - scmsend_stat1 = "0", + scmsend_stat1 = "4", scmsend_part = exchangeDetailOrder.ItemCode, scmsend_delv_date = "", scmsend_orderno = exchangeOrder.SupplierCode, @@ -134,7 +134,7 @@ public class PurchaseReturnConverter : IOutgoingConverter scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"), scmsend_qty = exchangeDetailOrder.Qty, scmsend_wipd_loc = "", - scmsend_userid = exchangeOrder.ContactName + scmsend_userid = string.IsNullOrEmpty(exchangeOrder.ContactName) ? "" : exchangeOrder.ContactName }; return ret; } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PutawayNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PutawayNoteConverter.cs index afa25d379..8e98d56a8 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PutawayNoteConverter.cs +++ b/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); var exchangeReceiptDetail = _objectMapper.Map(detail); outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail); - var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail); + var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, putawayNote.scontrol_dt_w); outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetail); outgoingToExternalList.Add(outgoingDetailToExternal); } @@ -114,12 +114,12 @@ public class PutawayNoteConverter : IOutgoingConverter /// /// /// - private Scmsend BuildDataInterfaceDetail(PutawayNoteExchangeDto exchangeOrder, PutawayNoteDetailExchangeDto exchangeDetailOrder) + private Scmsend BuildDataInterfaceDetail(PutawayNoteExchangeDto exchangeOrder, PutawayNoteDetailExchangeDto exchangeDetailOrder, string dt_w) { var ret = new Scmsend() { scmsend_type = billtype, - scmsend_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), + scmsend_dt_w = dt_w, scmsend_nbr = exchangeOrder.Number, scmsend_stat1 = "0", scmsend_part = exchangeDetailOrder.ItemCode, @@ -129,7 +129,7 @@ public class PutawayNoteConverter : IOutgoingConverter scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"), scmsend_qty = exchangeDetailOrder.Qty, scmsend_wipd_loc = "", - scmsend_userid = exchangeOrder.Worker + scmsend_userid = string.IsNullOrEmpty(exchangeOrder.Worker) ? "" : exchangeOrder.Worker }; return ret; } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/RecycledMaterialReceiptNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/RecycledMaterialReceiptNoteConverter.cs index 02d8514ad..dc64e2b06 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/RecycledMaterialReceiptNoteConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/RecycledMaterialReceiptNoteConverter.cs @@ -138,7 +138,7 @@ public class RecycledMaterialReceiptNoteConverter : IOutgoingConverter /// /// /// - private static Wmsoutd BuildDataInterfaceDetail(RecycledMaterialReceiptNoteExchangeDto exchangeOrder, RecycledMaterialReceiptNoteDetailExchangeDto exchangeDetailOrder) + private Wmsoutd BuildDataInterfaceDetail(RecycledMaterialReceiptNoteExchangeDto exchangeOrder, RecycledMaterialReceiptNoteDetailExchangeDto exchangeDetailOrder) { var ret = new Wmsoutd() { diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScrapNoteConVerter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScrapNoteConVerter.cs index 486fecdc3..8a4bb37f9 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScrapNoteConVerter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScrapNoteConVerter.cs @@ -38,8 +38,7 @@ IOutgoingFromWmsManager outgoingFromWmsManager public virtual async Task> ConvertAsync() { var outgoingToExternalList = new List(); - var outgoingFromWmsList = - await _outgoingFromWmsManager.GetToBeProcessedListAsync(EnumOutgoingDataType.UnplannedIssue, EnumSystemType.ERP).ConfigureAwait(false); + var outgoingFromWmsList = await _outgoingFromWmsManager.GetToBeProcessedListAsync(EnumOutgoingDataType.Scrap, EnumSystemType.ERP).ConfigureAwait(false); foreach (var outgoingFromWms in outgoingFromWmsList) { var wmsCountAdjust = JsonSerializer.Deserialize(outgoingFromWms.DataContent); @@ -69,36 +68,40 @@ IOutgoingFromWmsManager outgoingFromWmsManager outgoingToExternalList.Add(outgoingToExternal); } } - await _outgoingToExternalManager.CreateManyAsync(outgoingToExternalList).ConfigureAwait(false); + //将outgoingFromWms数据归档 + await _outgoingFromWmsManager.ArchiveManyAsync(outgoingFromWmsList).ConfigureAwait(false); return outgoingToExternalList; } - private static CountAdjust BuildIssue(ScrapNoteExchangeDto exchangeScrap, string departmentCode) + private CountAdjust BuildIssue(ScrapNoteExchangeDto exchangeScrap, string departmentCode) { 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 = ""; - - if (Enum.Parse(exchangeScrap.Type) == EnumTransSubType.CountAdjust_WIP) + if (exchangeScrap.Type== EnumTransSubType.CountAdjust_WIP.ToString()) { asdtype = "4042"; } - else if (Enum.Parse(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"; } + else if (exchangeScrap.Type == EnumTransSubType.Scrap_WIP.ToString()) + { + asdtype = "4042"; + } var counta = new CountAdjust() { 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_part = detail.ItemCode, - mesout_asd_date = exchangeScrap.ActiveDate.ToShortDateString().Replace("/", "").Trim(), - mesout_asd_loc = "",//字段不明确 + mesout_asd_date = exchangeScrap.ActiveDate.ToString("yyyyMMdd"), + mesout_asd_loc = detail.FromLocationErpCode, mesout_asd_code = detail.ReasonCode, mesout_asd_qty = detail.Qty, mesout_asd_user = exchangeScrap.Worker, @@ -109,7 +112,6 @@ IOutgoingFromWmsManager outgoingFromWmsManager } private async Task BuildPurchaseReceiptExchangeDtoAsync(ScrapNoteDTO wmsScrap, ScrapNoteDetailDTO wmsScrapDetail) { - await Task.CompletedTask.ConfigureAwait(false); var exchangeScrap = _objectMapper.Map(wmsScrap); var exchangeScrapDetail = _objectMapper.Map(wmsScrapDetail); //var userdep = await _supplierAsnAppService.GetByNumberAsync(exchangeCountAdjust.Worker); diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs index c3c0e45aa..3fd884c13 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs @@ -36,6 +36,7 @@ public class TransferNoteConverter : IOutgoingConverter _objectMapper = objectMapper; } + public virtual async Task> ConvertAsync() { var outgoingToExternalList = new List(); @@ -68,16 +69,17 @@ public class TransferNoteConverter : IOutgoingConverter }; outgoingToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate); outgoingToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceipt); + string dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"); if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString()) { outgoingToExternal.DataType = EnumOutgoingDataType.TransferForErp.ToString(); - var putawayNoteScontrol = BuildScontrolDataInterface(exchangeReceipt); + var putawayNoteScontrol = BuildScontrolDataInterface(exchangeReceipt, dt_w); outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteScontrol); } else { outgoingToExternal.DataType = EnumOutgoingDataType.TransferForCustom.ToString(); - var putawayNoteWmsoutm = BuildWmsoutmDataInterface(exchangeReceipt, departmentCode); + var putawayNoteWmsoutm = BuildWmsoutmDataInterface(exchangeReceipt, departmentCode, dt_w); outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteWmsoutm); } @@ -106,7 +108,7 @@ public class TransferNoteConverter : IOutgoingConverter if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString()) { - var putawayNoteDetailScmsend = BuildScmsendDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail); + var putawayNoteDetailScmsend = BuildScmsendDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, dt_w); outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetailScmsend); } else @@ -133,12 +135,12 @@ public class TransferNoteConverter : IOutgoingConverter /// /// /// - private Scontrol BuildScontrolDataInterface(TransferNoteExchangeDto exchangeOrder) + private Scontrol BuildScontrolDataInterface(TransferNoteExchangeDto exchangeOrder, string dt_w) { var ret = new Scontrol() { scontrol_nbr = exchangeOrder.Number, - scontrol_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), + scontrol_dt_w = dt_w, scontrol_stat = "Y", scontrol_dt_k = "", scontrol_type = billtype_s, @@ -152,12 +154,12 @@ public class TransferNoteConverter : IOutgoingConverter /// /// /// - private Scmsend BuildScmsendDataInterfaceDetail(TransferNoteExchangeDto exchangeOrder, TransferNoteDetailExchangeDto exchangeDetailOrder) + private Scmsend BuildScmsendDataInterfaceDetail(TransferNoteExchangeDto exchangeOrder, TransferNoteDetailExchangeDto exchangeDetailOrder, string dt_w) { var ret = new Scmsend() { scmsend_type = billtype_s, - scmsend_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), + scmsend_dt_w = dt_w, scmsend_nbr = exchangeOrder.Number, scmsend_stat1 = "0", scmsend_part = exchangeDetailOrder.ItemCode, @@ -177,13 +179,13 @@ public class TransferNoteConverter : IOutgoingConverter /// /// /// - private Wmsoutm BuildWmsoutmDataInterface(TransferNoteExchangeDto exchangeOrder, string departmentCode) + private Wmsoutm BuildWmsoutmDataInterface(TransferNoteExchangeDto exchangeOrder, string departmentCode, string dt_w) { var ret = new Wmsoutm() { wmsoutm_nbr = exchangeOrder.Number, wmsoutm_type = billtype_w, - wmsoutm_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), + wmsoutm_dt_w = dt_w, wmsoutm_stat = "Y", wmsoutm_tyrp_dt = "", wmsoutm_user = exchangeOrder.Worker, @@ -192,7 +194,7 @@ public class TransferNoteConverter : IOutgoingConverter wmsoutm_cust = "", wmsoutm_shm_nbr = "", wmsoutm_cust_loc = "", - wmsoutm_stock_stat = "", + wmsoutm_stock_stat = "1", wmsoutm_open_part = "", wmsoutm_open_loc = "", wmsoutm_open_hours = 0, @@ -208,7 +210,7 @@ public class TransferNoteConverter : IOutgoingConverter /// /// /// - private static Wmsoutd BuildWmsoutdDataInterfaceDetail(TransferNoteExchangeDto exchangeOrder, TransferNoteDetailExchangeDto exchangeDetailOrder) + private Wmsoutd BuildWmsoutdDataInterfaceDetail(TransferNoteExchangeDto exchangeOrder, TransferNoteDetailExchangeDto exchangeDetailOrder) { var ret = new Wmsoutd() { diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs index 52ca1123a..f51ade931 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs @@ -30,8 +30,9 @@ public class TyrpOutgoingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase [UnitOfWork] protected override async Task DoWorkAsync(PeriodicBackgroundWorkerContext workerContext) - { + { Logger.LogInformation($"Starting: Handling {Outgoing}"); + if (!_options.Value.IncomingOptions.Active) { Logger.LogInformation($"{Outgoing} is not active!"); @@ -109,22 +110,28 @@ public class TyrpOutgoingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase var productRecycleNoteList = await productRecycleNoteConvert.ConvertAsync().ConfigureAwait(false); await wmsoutmWriter.WriteAsync(productRecycleNoteList).ConfigureAwait(false); - Logger.LogInformation($"Write CountAdjusNote");//调整单、线边仓调整单 + Logger.LogInformation($"Write CountAdjusNote");//盘点调整单 var countadjustNoteConvert = workerContext.ServiceProvider.GetRequiredService(); var countadjustNoteList = await countadjustNoteConvert.ConvertAsync().ConfigureAwait(false); var countadjustWriter = workerContext.ServiceProvider.GetRequiredService(); await countadjustWriter.WriteAsync(countadjustNoteList).ConfigureAwait(false); - Logger.LogInformation($"Write ScrapNote");//报废单、线边仓报废单 - var scrapNoteConvert = workerContext.ServiceProvider.GetRequiredService(); - var scrapNoteList = await scrapNoteConvert.ConvertAsync().ConfigureAwait(false); - await countadjustWriter.WriteAsync(scrapNoteList).ConfigureAwait(false); + Logger.LogInformation($"Write WIPAdjusNote");//线边仓调整单 + var wipAdjustNoteConvert = workerContext.ServiceProvider.GetRequiredService(); + var wipAdjustNoteList = await wipAdjustNoteConvert.ConvertAsync().ConfigureAwait(false); + await countadjustWriter.WriteAsync(wipAdjustNoteList).ConfigureAwait(false); Logger.LogInformation($"Write ItemTransformNote");//回收料调整单 var ItemTransformNoteConvert = workerContext.ServiceProvider.GetRequiredService(); var ItemTransformNoteList = await ItemTransformNoteConvert.ConvertAsync().ConfigureAwait(false); await countadjustWriter.WriteAsync(ItemTransformNoteList).ConfigureAwait(false); Logger.LogInformation($"Completed: Handling {Outgoing}"); + + Logger.LogInformation($"Write ScrapNote");//报废单、线边仓报废单 + var scrapNoteConvert = workerContext.ServiceProvider.GetRequiredService(); + var scrapNoteList = await scrapNoteConvert.ConvertAsync().ConfigureAwait(false); + await countadjustWriter.WriteAsync(scrapNoteList).ConfigureAwait(false); + } } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedIssueNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedIssueNoteConverter.cs index d302b0278..8a48b7e26 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedIssueNoteConverter.cs +++ b/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(wmsReceipt); var department = await _departmentAppService.GetByUsernameAsync(exchangeReceipt.Worker).ConfigureAwait(false); var departmentCode = department == null ? "" : department.Code; - var purchaseOrder = BuildDataInterface(exchangeReceipt, departmentCode); + var purchaseOrder = BuildDataInterface(exchangeReceipt); var outgoingToExternal = new OutgoingToExternal() { DataType = EnumOutgoingDataType.UnplannedIssue.ToString(), @@ -106,7 +106,7 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter /// /// /// - private Wmsoutm BuildDataInterface(UnplannedIssueNoteExchangeDto exchangeOrder, string departmentCode) + private Wmsoutm BuildDataInterface(UnplannedIssueNoteExchangeDto exchangeOrder) { var ret = new Wmsoutm() @@ -138,7 +138,7 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter /// /// /// - private static Wmsoutd BuildDataInterfaceDetail(UnplannedIssueNoteExchangeDto exchangeOrder, UnplannedIssueNoteDetailExchangeDto exchangeDetailOrder) + private Wmsoutd BuildDataInterfaceDetail(UnplannedIssueNoteExchangeDto exchangeOrder, UnplannedIssueNoteDetailExchangeDto exchangeDetailOrder) { var ret = new Wmsoutd() { diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedReceiptNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedReceiptNoteConverter.cs index c45eb07b8..bc4f6f856 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedReceiptNoteConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedReceiptNoteConverter.cs @@ -138,7 +138,7 @@ public class UnplannedReceiptNoteConverter : IOutgoingConverter /// /// /// - private static Wmsoutd BuildDataInterfaceDetail(UnplannedReceiptNoteExchangeDto exchangeOrder, UnplannedReceiptNoteDetailExchangeDto exchangeDetailOrder) + private Wmsoutd BuildDataInterfaceDetail(UnplannedReceiptNoteExchangeDto exchangeOrder, UnplannedReceiptNoteDetailExchangeDto exchangeDetailOrder) { var ret = new Wmsoutd() { diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/WIPAdjusNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/WIPAdjusNoteConverter.cs new file mode 100644 index 000000000..7f3498c07 --- /dev/null +++ b/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> ConvertAsync() + { + var outgoingToExternalList = new List(); + var outgoingFromWmsList = await _outgoingFromWmsManager.GetToBeProcessedListAsync(EnumOutgoingDataType.WIPAdjust, EnumSystemType.ERP).ConfigureAwait(false); + foreach (var outgoingFromWms in outgoingFromWmsList) + { + var wmsCountAdjust = JsonSerializer.Deserialize(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 BuildPurchaseReceiptExchangeDtoAsync( + CountAdjustNoteDTO wmsCountAdjust, CountAdjustNoteDetailExchangeDto wmsCountAdjustDetail) + { + var exchangeCountAdjust = _objectMapper.Map(wmsCountAdjust); + + exchangeCountAdjust.Detail = wmsCountAdjustDetail; + return exchangeCountAdjust; + } +} diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/TyrpAgentModule.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/TyrpAgentModule.cs index 7b996e278..215ea8659 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/TyrpAgentModule.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/TyrpAgentModule.cs @@ -172,8 +172,8 @@ public class TyrpAgentModule : AbpModule ApplicationInitializationContext context) { - context.AddBackgroundWorkerAsync(); - // context.AddBackgroundWorkerAsync(); + // context.AddBackgroundWorkerAsync(); + context.AddBackgroundWorkerAsync(); } } diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/AgentModule.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/AgentModule.cs index 3b5a3402e..692eb9497 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/AgentModule.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/AgentModule.cs @@ -149,7 +149,7 @@ public class AgentModule : AbpModule public override void OnApplicationInitialization( ApplicationInitializationContext context) { - context.AddBackgroundWorkerAsync(); - //context.AddBackgroundWorkerAsync(); + // context.AddBackgroundWorkerAsync(); + context.AddBackgroundWorkerAsync(); } } diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/CountAdjustNote/CountAdjustNoteDetailExchangeDto.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/CountAdjustNote/CountAdjustNoteDetailExchangeDto.cs index 2b9bde390..2f85e4307 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/CountAdjustNote/CountAdjustNoteDetailExchangeDto.cs +++ b/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 { - /// /// 物品代码 /// @@ -21,9 +20,18 @@ public class CountAdjustNoteDetailExchangeDto [Display(Name = "原因代码")] public string ReasonCode { get; set; } /// + /// 库存数量 + /// + [Display(Name = "库存数量")] + public decimal InventoryQty { get; set; } + /// + /// 调整数量 + /// + [Display(Name = "调整数量")] + public decimal AdjustQty { get; set; } + /// /// 盘点数量 /// [Display(Name = "盘点数量")] public decimal CountQty { get; set; } - } diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteDetailExchangeDto.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteDetailExchangeDto.cs index 8fed844ed..21b82f5e1 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteDetailExchangeDto.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteDetailExchangeDto.cs @@ -1,3 +1,4 @@ +using System; using System.ComponentModel.DataAnnotations; namespace Win_in.Sfs.Wms.DataExchange.WMS.PutawayNote; @@ -26,9 +27,58 @@ public class PutawayNoteDetailExchangeDto [Display(Name = "目标ERP库位")] public string ToLocationErpCode { get; set; } + /// + /// 箱标签 + /// + [Display(Name = "箱标签")] + public string ToPackingCode { get; set; } + /// /// 数量 /// [Display(Name = "数量")] public decimal Qty { get; set; } + + /// + /// 数量 + /// + [Display(Name = "订单数量")] + public decimal ShippedQty { get; set; } + + /// + /// 供应商代码 + /// + [Display(Name = "供应商代码")] + public string SupplierCode { get; set; } + /// + /// 批次 + /// + [Display(Name = "批次")] + public string ToLot { get; set; } + /// + /// 生产时间 + /// + [Display(Name = "生产时间")] + public DateTime ProduceDate { get; set; } = DateTime.Now; + /// + /// 发货单号 + /// + [Display(Name = "发货单号")] + public string AsnNumber { get; set; } + /// + /// 发货时间 + /// + + public DateTime? ShipDate { get; set; } + /// + /// 筹措员 + /// + + public string PlanUserCode { get; set; } + + + + + [Display(Name = "备注")] + public string Remark { get; set; } } diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteExchangeDto.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteExchangeDto.cs index 74034bbdf..dc0d65103 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteExchangeDto.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PutawayNote/PutawayNoteExchangeDto.cs @@ -27,4 +27,6 @@ public class PutawayNoteExchangeDto [Display(Name = "操作员")] public string Worker { get; set; } + public PutawayNoteDetailExchangeDto Detail { get; set; } = new(); + } diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml index b7dad136f..e4bc696cb 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml @@ -411,6 +411,16 @@ 原因代码 + + + 库存数量 + + + + + 调整数量 + + 盘点数量 @@ -1116,11 +1126,51 @@ 目标ERP库位 + + + 箱标签 + + 数量 + + + 数量 + + + + + 供应商代码 + + + + + 批次 + + + + + 生产时间 + + + + + 发货单号 + + + + + 发货时间 + + + + + 筹措员 + + 上架单号 diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain.Shared/Enums/EnumOutgoingDataType.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain.Shared/Enums/EnumOutgoingDataType.cs index cc783226f..74cb9fe37 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain.Shared/Enums/EnumOutgoingDataType.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain.Shared/Enums/EnumOutgoingDataType.cs @@ -24,13 +24,14 @@ public enum EnumOutgoingDataType ProductionReturn = 16, ProductReceipt = 17, Deliver = 18, - CountAdjust = 19, + CountAdjust = 19,//盘点整单 CustomerReturn = 20, UnplannedIssue = 21, RecycledMaterialReceipt = 22, - ScrapNote = 23, + Scrap = 23, ProductRecycle = 24, - Item_Transform = 25 + Item_Transform = 25,//线边仓调整单 + WIPAdjust = 26//回收料调整单 } public enum EnumExchangeTableType { diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReceiptNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReceiptNoteEventHandler.cs index 5afa1533b..332591e09 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReceiptNoteEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/PurchaseReceiptNoteEventHandler.cs @@ -40,8 +40,5 @@ public class PurchaseReceiptNoteEventHandler //QAD var exchangeData = await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.ERP, ExchangeDataType, dtos).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); } } 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 1031ccca6..da7e53b71 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 @@ -39,5 +39,8 @@ public class PutawayNoteEventHandler } var exchangeData = await BuildExchangeDataAsync(StoreEventConsts.WMS, StoreEventConsts.ERP, ExchangeDataType, dtos).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); } }