From 216128ae9f16c5932408113bb528904e46a381f9 Mon Sep 17 00:00:00 2001 From: "mingliang.tang" Date: Mon, 19 Jun 2023 11:31:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=96=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MesOut/IMesOutManager.cs | 1 + .../MesOut/MesOutManager.cs | 17 +++++++-- .../Incoming/MesOutReader.cs | 35 +++++++++++++++++-- .../appsettings.json | 14 ++++---- .../Outgoing/TyrpOutgoingBackgroundWorker.cs | 9 ++--- 5 files changed, 60 insertions(+), 16 deletions(-) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/MesOut/IMesOutManager.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/MesOut/IMesOutManager.cs index a5cab655c..5fc7fc1a2 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/MesOut/IMesOutManager.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/MesOut/IMesOutManager.cs @@ -8,4 +8,5 @@ public interface IMesOutManager : IDomainService { Task> GetToBeProcessedListAsync(); Task UpdateProcessedListAsync(List entities); + Task UpdateProcesseErrordListAsync(List entities); } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/MesOut/MesOutManager.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/MesOut/MesOutManager.cs index 6a4e8867c..a75796e22 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/MesOut/MesOutManager.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/MesOut/MesOutManager.cs @@ -20,14 +20,25 @@ public class MesOutManager : DomainService, IMesOutManager return plans; } - + public virtual async Task UpdateProcesseErrordListAsync(List entities) + { + var ids = entities.Select(p => p.Mesout_ref_nbr); + var plans = await _repository.GetListAsync(p => ids.Contains(p.Mesout_ref_nbr)).ConfigureAwait(false); + plans.ForEach(p => + { + p.Yl1 = 2; + // p.WmsDate = Clock.Now; + }); + await _repository.UpdateManyAsync(plans).ConfigureAwait(false); + } public virtual async Task UpdateProcessedListAsync(List entities) { var ids = entities.Select(p => p.Mesout_ref_nbr); var plans = await _repository.GetListAsync(p => ids.Contains(p.Mesout_ref_nbr)).ConfigureAwait(false); plans.ForEach(p => - { - p.Yl1 = 1; + { + p.Yl1 = 1; + // p.WmsDate = Clock.Now; }); await _repository.UpdateManyAsync(plans).ConfigureAwait(false); diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutReader.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutReader.cs index 425e3da53..2ee47259e 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutReader.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutReader.cs @@ -4,6 +4,8 @@ using System.Linq; using System.Text.Json; using System.Threading.Tasks; using Microsoft.Extensions.Logging; +using Win_in.Sfs.Basedata.Application.Contracts; +using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Wms.DataExchange.Domain; using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.MesOut; using Win_in.Sfs.Wms.DataExchange.Domain.Shared; @@ -16,33 +18,44 @@ public class MesOutReader : IReader private readonly IMesOutManager _mesOutManager; private readonly IIncomingFromExternalManager _incomingFromExternalManager; private readonly ILogger _logger; - + private readonly ILocationAppService _locationAppService; public MesOutReader( IMesOutManager mesOutManager , IIncomingFromExternalManager incomingFromExternalManager , ILogger logger + , ILocationAppService locationAppService ) { _mesOutManager = mesOutManager; _incomingFromExternalManager = incomingFromExternalManager; _logger = logger; + _locationAppService = locationAppService; } public virtual async Task> ReadAsync() { //从MES读取待处理MesOut var toBeProcessedMwsOuts = await _mesOutManager.GetToBeProcessedListAsync().ConfigureAwait(false); + if (!toBeProcessedMwsOuts.Any()) { _logger.LogInformation("no productreceipts"); return new List(); } + var mesoutnbr = await GetListByTypesAndErpCodeAsync(toBeProcessedMwsOuts).ConfigureAwait(false); + if (mesoutnbr.Count > 0) + { + toBeProcessedMwsOuts = toBeProcessedMwsOuts.Where(r => !mesoutnbr.Contains(r.Mesout_ref_nbr)).ToList(); + var toBeProcessedEroMwsOuts = toBeProcessedMwsOuts.Where(r => mesoutnbr.Contains(r.Mesout_ref_nbr)).ToList(); + + await _mesOutManager.UpdateProcesseErrordListAsync(toBeProcessedEroMwsOuts).ConfigureAwait(false); + } //MesOut逐一转换为ProductReceiptNote var incomingDataList = BuildIncomingFromExternalFromShipAsync(toBeProcessedMwsOuts); await _incomingFromExternalManager.CreateManyAsync(incomingDataList).ConfigureAwait(false); //更新MES数据状态 await _mesOutManager.UpdateProcessedListAsync(toBeProcessedMwsOuts).ConfigureAwait(false); - + return incomingDataList; } @@ -71,7 +84,25 @@ public class MesOutReader : IReader return incomingDataList; } + private async Task> GetListByTypesAndErpCodeAsync(List toBeProcessedShips) + { + List mesoutnbr = new List(); + foreach (var item in toBeProcessedShips) + { + if (mesoutnbr.Contains(item.Mesout_ref_nbr)) + { + continue; + } + List types = new List { EnumLocationType.FG, EnumLocationType.WIP }; + var loc = await _locationAppService.GetListByTypesAndErpCodeAsync(types, item.Mesout_loc).ConfigureAwait(false); + if (loc.Count == 0) + { + mesoutnbr.Add(item.Mesout_ref_nbr); + } + } + return mesoutnbr; + } private static IncomingFromExternal BuildIncomingFromExternal(MesOut mesOut) { var incomingData = new IncomingFromExternal() diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/appsettings.json b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/appsettings.json index 865028c94..1ca608d0e 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/appsettings.json +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/appsettings.json @@ -1,12 +1,12 @@ { "ConnectionStrings": { - "Default": "Server=10.164.113.32,1818\\SHDB;Database=Wms_Dy_ShangHai;uid=ShWmsUser;pwd=Faty@Wms_20230413#SH;TrustServerCertificate=True", - "DataExchange": "Server=10.164.113.32,1818\\SHDB;Database=Wms_DataExchange_Main_Dy_ShangHai;uid=ShWmsUser;pwd=Faty@Wms_20230413#SH;TrustServerCertificate=True", - "MES": "Server=10.164.113.32,1818\\SHDB;Database=MES_SH;uid=ShWmsUser;pwd=Faty@Wms_20230413#SH;TrustServerCertificate=True" + "Default": "Server=10.164.0.226,51433;Database=Wms_Dy_AnHui;uid=sa;pwd=Microsoft2008;TrustServerCertificate=True", + "DataExchange": "Server=10.164.0.226,51433;Database=Wms_DataExchange_Main_Dy_AnHui;uid=sa;pwd=Microsoft2008;TrustServerCertificate=True", + "MES": "Server=10.164.0.232,1818;Database=MES_AH;uid=AhMesUser;pwd=Faty@Mes_20230312#AH;TrustServerCertificate=True" }, "AuthServer": { - "Authority": "http://10.164.113.31:60083/", + "Authority": "http://10.164.0.227:60083/", "RequireHttpsMetadata": "false", "SwaggerClientId": "admin", "SwaggerClientSecret": "1q2w3E*", @@ -24,13 +24,13 @@ "RemoteServices": { "BaseData": { - "BaseUrl": "http://10.164.113.31:60084/" + "BaseUrl": "http://10.164.0.227:60084/" }, "Store": { - "BaseUrl": "http://10.164.113.31:60085/" + "BaseUrl": "http://10.164.0.227:60085/" }, "Label": { - "BaseUrl": "http://10.164.113.31:60082/" + "BaseUrl": "http://10.164.0.227:60082/" } }, 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 5848def0f..943cbc986 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 @@ -116,11 +116,12 @@ public class TyrpOutgoingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase var productRecycleNoteList = await productRecycleNoteConvert.ConvertAsync().ConfigureAwait(false); await wmsoutmWriter.WriteAsync(productRecycleNoteList).ConfigureAwait(false); - Logger.LogInformation($"Write CountAdjusNote");//盘点调整单 - var countadjustNoteConvert = workerContext.ServiceProvider.GetRequiredService(); - var countadjustNoteList = await countadjustNoteConvert.ConvertAsync().ConfigureAwait(false); + //东阳上海和安徽暂时关闭此接口 + //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); + //await countadjustWriter.WriteAsync(countadjustNoteList).ConfigureAwait(false); Logger.LogInformation($"Write WIPAdjusNote");//线边仓调整单 var wipAdjustNoteConvert = workerContext.ServiceProvider.GetRequiredService();