郑勃旭 2 years ago
parent
commit
dd323ffebf
  1. 1
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/MesOut/IMesOutManager.cs
  2. 15
      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 UpdateProcessedListAsync(List<MesOut> entities);
Task UpdateProcesseErrordListAsync(List<MesOut> entities);
}

15
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<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)
{
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);

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.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,27 +18,38 @@ public class MesOutReader : IReader
private readonly IMesOutManager _mesOutManager;
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
private readonly ILogger<MesOutReader> _logger;
private readonly ILocationAppService _locationAppService;
public MesOutReader(
IMesOutManager mesOutManager
, IIncomingFromExternalManager incomingFromExternalManager
, ILogger<MesOutReader> logger
, ILocationAppService locationAppService
)
{
_mesOutManager = mesOutManager;
_incomingFromExternalManager = incomingFromExternalManager;
_logger = logger;
_locationAppService = locationAppService;
}
public virtual async Task<List<IncomingFromExternal>> ReadAsync()
{
//从MES读取待处理MesOut
var toBeProcessedMwsOuts = await _mesOutManager.GetToBeProcessedListAsync().ConfigureAwait(false);
if (!toBeProcessedMwsOuts.Any())
{
_logger.LogInformation("no productreceipts");
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
var incomingDataList = BuildIncomingFromExternalFromShipAsync(toBeProcessedMwsOuts);
await _incomingFromExternalManager.CreateManyAsync(incomingDataList).ConfigureAwait(false);
@ -71,7 +84,25 @@ public class MesOutReader : IReader
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)
{
var incomingData = new IncomingFromExternal()

14
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/"
}
},

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

Loading…
Cancel
Save