郑勃旭 2 years ago
parent
commit
dd323ffebf
  1. 1
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/MesOut/IMesOutManager.cs
  2. 13
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/MesOut/MesOutManager.cs
  3. 33
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutReader.cs
  4. 14
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/appsettings.json
  5. 9
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs

1
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/MesOut/IMesOutManager.cs

@ -8,4 +8,5 @@ public interface IMesOutManager : IDomainService
{ {
Task<List<MesOut>> GetToBeProcessedListAsync(); Task<List<MesOut>> GetToBeProcessedListAsync();
Task UpdateProcessedListAsync(List<MesOut> entities); Task UpdateProcessedListAsync(List<MesOut> entities);
Task UpdateProcesseErrordListAsync(List<MesOut> entities);
} }

13
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/MesOut/MesOutManager.cs

@ -20,7 +20,17 @@ public class MesOutManager : DomainService, IMesOutManager
return plans; return plans;
} }
public virtual async Task UpdateProcesseErrordListAsync(List<MesOut> 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<MesOut> entities) public virtual async Task UpdateProcessedListAsync(List<MesOut> entities)
{ {
var ids = entities.Select(p => p.Mesout_ref_nbr); var ids = entities.Select(p => p.Mesout_ref_nbr);
@ -28,6 +38,7 @@ public class MesOutManager : DomainService, IMesOutManager
plans.ForEach(p => plans.ForEach(p =>
{ {
p.Yl1 = 1; p.Yl1 = 1;
// p.WmsDate = Clock.Now; // p.WmsDate = Clock.Now;
}); });
await _repository.UpdateManyAsync(plans).ConfigureAwait(false); await _repository.UpdateManyAsync(plans).ConfigureAwait(false);

33
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.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.Logging; 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;
using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.MesOut; using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.MesOut;
using Win_in.Sfs.Wms.DataExchange.Domain.Shared; using Win_in.Sfs.Wms.DataExchange.Domain.Shared;
@ -16,27 +18,38 @@ public class MesOutReader : IReader
private readonly IMesOutManager _mesOutManager; private readonly IMesOutManager _mesOutManager;
private readonly IIncomingFromExternalManager _incomingFromExternalManager; private readonly IIncomingFromExternalManager _incomingFromExternalManager;
private readonly ILogger<MesOutReader> _logger; private readonly ILogger<MesOutReader> _logger;
private readonly ILocationAppService _locationAppService;
public MesOutReader( public MesOutReader(
IMesOutManager mesOutManager IMesOutManager mesOutManager
, IIncomingFromExternalManager incomingFromExternalManager , IIncomingFromExternalManager incomingFromExternalManager
, ILogger<MesOutReader> logger , ILogger<MesOutReader> logger
, ILocationAppService locationAppService
) )
{ {
_mesOutManager = mesOutManager; _mesOutManager = mesOutManager;
_incomingFromExternalManager = incomingFromExternalManager; _incomingFromExternalManager = incomingFromExternalManager;
_logger = logger; _logger = logger;
_locationAppService = locationAppService;
} }
public virtual async Task<List<IncomingFromExternal>> ReadAsync() public virtual async Task<List<IncomingFromExternal>> ReadAsync()
{ {
//从MES读取待处理MesOut //从MES读取待处理MesOut
var toBeProcessedMwsOuts = await _mesOutManager.GetToBeProcessedListAsync().ConfigureAwait(false); var toBeProcessedMwsOuts = await _mesOutManager.GetToBeProcessedListAsync().ConfigureAwait(false);
if (!toBeProcessedMwsOuts.Any()) if (!toBeProcessedMwsOuts.Any())
{ {
_logger.LogInformation("no productreceipts"); _logger.LogInformation("no productreceipts");
return new List<IncomingFromExternal>(); return new List<IncomingFromExternal>();
} }
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 //MesOut逐一转换为ProductReceiptNote
var incomingDataList = BuildIncomingFromExternalFromShipAsync(toBeProcessedMwsOuts); var incomingDataList = BuildIncomingFromExternalFromShipAsync(toBeProcessedMwsOuts);
await _incomingFromExternalManager.CreateManyAsync(incomingDataList).ConfigureAwait(false); await _incomingFromExternalManager.CreateManyAsync(incomingDataList).ConfigureAwait(false);
@ -71,7 +84,25 @@ public class MesOutReader : IReader
return incomingDataList; return incomingDataList;
} }
private async Task<List<string>> GetListByTypesAndErpCodeAsync(List<MesOut> toBeProcessedShips)
{
List<string> mesoutnbr = new List<string>();
foreach (var item in toBeProcessedShips)
{
if (mesoutnbr.Contains(item.Mesout_ref_nbr))
{
continue;
}
List<EnumLocationType> types = new List<EnumLocationType> { 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) private static IncomingFromExternal BuildIncomingFromExternal(MesOut mesOut)
{ {
var incomingData = new IncomingFromExternal() var incomingData = new IncomingFromExternal()

14
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/appsettings.json

@ -1,12 +1,12 @@
{ {
"ConnectionStrings": { "ConnectionStrings": {
"Default": "Server=10.164.113.32,1818\\SHDB;Database=Wms_Dy_ShangHai;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.113.32,1818\\SHDB;Database=Wms_DataExchange_Main_Dy_ShangHai;uid=ShWmsUser;pwd=Faty@Wms_20230413#SH;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.113.32,1818\\SHDB;Database=MES_SH;uid=ShWmsUser;pwd=Faty@Wms_20230413#SH;TrustServerCertificate=True" "MES": "Server=10.164.0.232,1818;Database=MES_AH;uid=AhMesUser;pwd=Faty@Mes_20230312#AH;TrustServerCertificate=True"
}, },
"AuthServer": { "AuthServer": {
"Authority": "http://10.164.113.31:60083/", "Authority": "http://10.164.0.227:60083/",
"RequireHttpsMetadata": "false", "RequireHttpsMetadata": "false",
"SwaggerClientId": "admin", "SwaggerClientId": "admin",
"SwaggerClientSecret": "1q2w3E*", "SwaggerClientSecret": "1q2w3E*",
@ -24,13 +24,13 @@
"RemoteServices": { "RemoteServices": {
"BaseData": { "BaseData": {
"BaseUrl": "http://10.164.113.31:60084/" "BaseUrl": "http://10.164.0.227:60084/"
}, },
"Store": { "Store": {
"BaseUrl": "http://10.164.113.31:60085/" "BaseUrl": "http://10.164.0.227:60085/"
}, },
"Label": { "Label": {
"BaseUrl": "http://10.164.113.31:60082/" "BaseUrl": "http://10.164.0.227:60082/"
} }
}, },

9
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); var productRecycleNoteList = await productRecycleNoteConvert.ConvertAsync().ConfigureAwait(false);
await wmsoutmWriter.WriteAsync(productRecycleNoteList).ConfigureAwait(false); await wmsoutmWriter.WriteAsync(productRecycleNoteList).ConfigureAwait(false);
Logger.LogInformation($"Write CountAdjusNote");//盘点调整单 //东阳上海和安徽暂时关闭此接口
var countadjustNoteConvert = workerContext.ServiceProvider.GetRequiredService<CountAdjustNoteConverter>(); //Logger.LogInformation($"Write CountAdjusNote");//盘点调整单
var countadjustNoteList = await countadjustNoteConvert.ConvertAsync().ConfigureAwait(false); //var countadjustNoteConvert = workerContext.ServiceProvider.GetRequiredService<CountAdjustNoteConverter>();
//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 WIPAdjusNote");//线边仓调整单 Logger.LogInformation($"Write WIPAdjusNote");//线边仓调整单
var wipAdjustNoteConvert = workerContext.ServiceProvider.GetRequiredService<WIPAdjusNoteConverter>(); var wipAdjustNoteConvert = workerContext.ServiceProvider.GetRequiredService<WIPAdjusNoteConverter>();

Loading…
Cancel
Save