From e2107faf00109aec3eef068dd1e31367200e640f Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Fri, 10 May 2024 14:29:31 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0Kitting=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Outgoing/AssembleIssueNoteConverter.cs | 142 ------------------ .../AssembleIssueNoteDetailExchangeDto.cs | 36 ----- .../AssembleIssueNoteExchangeDto.cs | 29 ---- .../Enums/EnumOutgoingDataType.cs | 14 +- .../ExchangeDatas/EnumExchangeDataType.cs | 18 +-- 5 files changed, 2 insertions(+), 237 deletions(-) delete mode 100644 be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/AssembleIssueNoteConverter.cs delete mode 100644 be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/IssueNote/AssembleIssueNote/AssembleIssueNoteDetailExchangeDto.cs delete mode 100644 be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/IssueNote/AssembleIssueNote/AssembleIssueNoteExchangeDto.cs diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/AssembleIssueNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/AssembleIssueNoteConverter.cs deleted file mode 100644 index 375faace0..000000000 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/AssembleIssueNoteConverter.cs +++ /dev/null @@ -1,142 +0,0 @@ -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.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.PCK; -using Win_in.Sfs.Wms.Store.Application.Contracts; - -namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent.Outgoing; - -public class AssembleIssueNoteConverter : IOutgoingConverter -{ - private readonly string billtype = "4026"; - private readonly IOutgoingFromWmsManager _outgoingFromWmsManager; - private readonly IOutgoingToExternalManager _outgoingToExternalManager; - private readonly IObjectMapper _objectMapper; - - public AssembleIssueNoteConverter( - IOutgoingFromWmsManager outgoingFromWmsManager - , IOutgoingToExternalManager outgoingToExternalManager - , IObjectMapper objectMapper - ) - { - _outgoingFromWmsManager = outgoingFromWmsManager; - _outgoingToExternalManager = outgoingToExternalManager; - _objectMapper = objectMapper; - } - - public virtual async Task> ConvertAsync() - { - var outgoingToExternalList = new List(); - //获取要同步得数据 - var outgoingFromWmsList = await _outgoingFromWmsManager.GetToBeProcessedListAsync(EnumOutgoingDataType.AssembleIssue, EnumSystemType.ERP).ConfigureAwait(false); - foreach (var outgoingFromWms in outgoingFromWmsList) - { - string tyrpNumber = outgoingFromWms.TyrpNumber; - #region 主表 - var wmsReceipt = JsonSerializer.Deserialize(outgoingFromWms.DataContent); - var exchangeReceipt = _objectMapper.Map(wmsReceipt); - var putawayNote = BuildDataInterface(exchangeReceipt); - var outgoingToExternal = new OutgoingToExternal() - { - DataType = EnumOutgoingDataType.Issue.ToString(), - TableType = EnumExchangeTableType.MainTable, - DataAction = outgoingFromWms.DataAction, - SerialNumber = tyrpNumber, - SourceSystem = EnumSystemType.WMS.ToString(), - SourceDataId = wmsReceipt.Id.ToString(), - SourceDataGroupCode = wmsReceipt.Number, - SourceDataDetailCode = wmsReceipt.Number, - Writer = nameof(TyrpOutgoingBackgroundWorker), - DestinationSystem = EnumSystemType.ERP.ToString(), - DestinationDataId = "", - }; - outgoingToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate); - outgoingToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceipt); - outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNote); - outgoingToExternalList.Add(outgoingToExternal); - #endregion - var sumDetails = wmsReceipt.Details.GroupBy(r => new { r.ItemCode, r.HandledFromLocationErpCode, r.HandledToLocationErpCode }).Select(p => new AssembleIssueNoteDetailDTO { ItemCode = p.Key.ItemCode, HandledFromLocationErpCode = p.Key.HandledFromLocationErpCode, HandledToLocationErpCode = p.Key.HandledToLocationErpCode, HandledToQty = p.Sum(x => x.HandledToQty) }).ToList(); - #region 明细 - foreach (var detail in sumDetails) - { - var outgoingDetailToExternal = new OutgoingToExternal() - { - DataType = EnumOutgoingDataType.Issue.ToString(), - TableType = EnumExchangeTableType.DetailTable, - DataAction = outgoingFromWms.DataAction, - SerialNumber = tyrpNumber, - SourceSystem = EnumSystemType.WMS.ToString(), - SourceDataId = detail.Id.ToString(), - SourceDataGroupCode = wmsReceipt.Number, - SourceDataDetailCode = detail.ItemCode, - Writer = nameof(TyrpOutgoingBackgroundWorker), - DestinationSystem = EnumSystemType.ERP.ToString(), - DestinationDataId = "", - }; - outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate); - var exchangeReceiptDetail = _objectMapper.Map(detail); - outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail); - var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, putawayNote.scontrol_dt_w); - outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetail); - outgoingToExternalList.Add(outgoingDetailToExternal); - } - #endregion - } - //插入到中间表OutgoingToExternal - await _outgoingToExternalManager.CreateManyAsync(outgoingToExternalList).ConfigureAwait(false); - //将outgoingFromWms数据归档 - await _outgoingFromWmsManager.ArchiveManyAsync(outgoingFromWmsList).ConfigureAwait(false); - - return outgoingToExternalList; - } - /// - /// 构建主表 - /// - /// - /// - private Scontrol BuildDataInterface(AssembleIssueNoteExchangeDto exchangeOrder) - { - var ret = new Scontrol() - { - scontrol_nbr = exchangeOrder.Number, - scontrol_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), - scontrol_stat = "Y", - scontrol_dt_k = "", - scontrol_type = billtype, - scontrol_id = 0,//明细中最大scmsend_id - }; - return ret; - } - /// - /// 构建明细 - /// - /// - /// - /// - private Scmsend BuildDataInterfaceDetail(AssembleIssueNoteExchangeDto exchangeOrder, AssembleIssueNoteDetailExchangeDto exchangeDetailOrder, string dt_w) - { - var ret = new Scmsend() - { - scmsend_type = billtype, - scmsend_dt_w = dt_w, - scmsend_nbr = exchangeOrder.Number, - scmsend_stat1 = "1", - scmsend_part = exchangeDetailOrder.ItemCode, - scmsend_delv_date = "", - scmsend_orderno = "", - scmsend_loc = exchangeDetailOrder.FromLocationErpCode, - //scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"), - scmsend_date = DateTime.Now.ToString("yyyyMMdd"), - scmsend_qty = exchangeDetailOrder.Qty, - scmsend_wipd_loc = exchangeDetailOrder.ToLocationErpCode, - scmsend_userid = "WMS" - }; - return ret; - } -} diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/IssueNote/AssembleIssueNote/AssembleIssueNoteDetailExchangeDto.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/IssueNote/AssembleIssueNote/AssembleIssueNoteDetailExchangeDto.cs deleted file mode 100644 index c58436b83..000000000 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/IssueNote/AssembleIssueNote/AssembleIssueNoteDetailExchangeDto.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.ComponentModel.DataAnnotations; -using Win_in.Sfs.Shared.Domain; - -namespace Win_in.Sfs.Wms.DataExchange.WMS.PCK; - -public class AssembleIssueNoteDetailExchangeDto - -{ - - /// - /// 目标ERP库位 - /// - [Display(Name = "目标ERP库位")] - public string ToLocationErpCode { get; set; } - - public string FromPackingCode { get; set; } - /// - /// 来源ERP库位 - /// - public string FromLocationErpCode { get; set; } - - /// - /// 数量 - /// - [Display(Name = "数量")] - public decimal Qty { get; set; } - - /// - /// 物品代码 - /// - [Display(Name = "物品代码")] - [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] - [Required(ErrorMessage = "{0}是必填项")] - public string ItemCode { get; set; } - -} diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/IssueNote/AssembleIssueNote/AssembleIssueNoteExchangeDto.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/IssueNote/AssembleIssueNote/AssembleIssueNoteExchangeDto.cs deleted file mode 100644 index 22ff4899e..000000000 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/IssueNote/AssembleIssueNote/AssembleIssueNoteExchangeDto.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; - -namespace Win_in.Sfs.Wms.DataExchange.WMS.PCK; - -public class AssembleIssueNoteExchangeDto -{ - /// - /// 发料记录号 - /// - [Display(Name = "发料记录号")] - public string Number { get; set; } - /// - /// 生效日期 - /// - [Display(Name = "生效日期")] - public DateTime ActiveDate { get; set; } = DateTime.Now.Date; - - /// - /// 操作员 - /// - [Display(Name = "操作员")] - public string Worker { get; set; } - /// - /// 明细 - /// - [Display(Name = "明细")] - public AssembleIssueNoteDetailExchangeDto Detail { get; set; } = new(); -} 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 a2fdb0412..e4bcf2fd1 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 @@ -32,19 +32,7 @@ public enum EnumOutgoingDataType ProductRecycle = 24, Item_Transform = 25,//线边仓调整单 WIPAdjust = 26,//回收料调整单 - SemiPutaway=27,//半成品上架 - /// - /// 注塑发料 - /// - InjectionIssue = 30, - /// - /// 涂装发料 - /// - CoatingIssue = 31, - /// - /// 装配发料 - /// - AssembleIssue = 32, + SemiPutaway=27,//半成品上架 } public enum EnumExchangeTableType diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/ExchangeDatas/EnumExchangeDataType.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/ExchangeDatas/EnumExchangeDataType.cs index cf50200fa..547f89df8 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/ExchangeDatas/EnumExchangeDataType.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/ExchangeDatas/EnumExchangeDataType.cs @@ -32,22 +32,6 @@ public enum EnumExchangeDataType //回收料调整 Item_Transform = 28, //半成品上架 - SemiPutaway = 29, - /// - /// 注塑发料 - /// - InjectionIssue=30, - /// - /// 涂装发料 - /// - CoatingIssue=31, - /// - /// 装配发料 - /// - AssembleIssue=32, - /// - /// 三方库 - /// - ThirdLocation = 33, + SemiPutaway = 29, } From 28469ea6fbc224aa8d291d60d1b79821c5c91bec Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Fri, 10 May 2024 14:32:48 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=A2=86=E6=96=99=E5=8D=95=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataExchanges/AssembleIssueNoteEventHandler.cs | 2 +- .../DataExchanges/CoatingIssueNoteEventHandler.cs | 2 +- .../DataExchanges/InjectionIssueNoteEventHandler.cs | 2 +- .../DataExchanges/ThirdLocationNoteEventHandler.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/AssembleIssueNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/AssembleIssueNoteEventHandler.cs index bfcaccd94..cf5be225d 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/AssembleIssueNoteEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/AssembleIssueNoteEventHandler.cs @@ -20,7 +20,7 @@ public class AssembleIssueNoteEventHandler , ILocalEventHandler>> { - private const EnumExchangeDataType ExchangeDataType = EnumExchangeDataType.AssembleIssue; + private const EnumExchangeDataType ExchangeDataType = EnumExchangeDataType.Issue; [UnitOfWork] public virtual async Task HandleEventAsync(SfsCreatedEntityEventData eventData) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/CoatingIssueNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/CoatingIssueNoteEventHandler.cs index 523e5973f..c498f9646 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/CoatingIssueNoteEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/CoatingIssueNoteEventHandler.cs @@ -20,7 +20,7 @@ public class CoatingIssueNoteEventHandler , ILocalEventHandler>> { - private const EnumExchangeDataType ExchangeDataType = EnumExchangeDataType.CoatingIssue; + private const EnumExchangeDataType ExchangeDataType = EnumExchangeDataType.Issue; [UnitOfWork] public virtual async Task HandleEventAsync(SfsCreatedEntityEventData eventData) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/InjectionIssueNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/InjectionIssueNoteEventHandler.cs index 10600d8ce..cc18d9c3e 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/InjectionIssueNoteEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/InjectionIssueNoteEventHandler.cs @@ -19,7 +19,7 @@ public class InjectionIssueNoteEventHandler , ILocalEventHandler>> { - private const EnumExchangeDataType ExchangeDataType = EnumExchangeDataType.InjectionIssue; + private const EnumExchangeDataType ExchangeDataType = EnumExchangeDataType.Issue; [UnitOfWork] public virtual async Task HandleEventAsync(SfsCreatedEntityEventData eventData) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/ThirdLocationNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/ThirdLocationNoteEventHandler.cs index 22374322d..f870f147b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/ThirdLocationNoteEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/ThirdLocationNoteEventHandler.cs @@ -19,7 +19,7 @@ namespace Win_in.Sfs.Wms.Store.Event.DataExchanges , ILocalEventHandler> { - private const EnumExchangeDataType ExchangeDataType = EnumExchangeDataType.ThirdLocation; + private const EnumExchangeDataType ExchangeDataType = EnumExchangeDataType.Issue; [UnitOfWork] public virtual async Task HandleEventAsync(SfsCreatedEntityEventData eventData)