|
|
@ -7,6 +7,7 @@ using Microsoft.Extensions.Options; |
|
|
|
using Volo.Abp.BackgroundWorkers; |
|
|
|
using Volo.Abp.Threading; |
|
|
|
using Volo.Abp.Uow; |
|
|
|
using Win_in.Sfs.Wms.DataExchange.Domain; |
|
|
|
using Win_in.Sfs.Wms.DataExchange.Domain.Shared; |
|
|
|
using Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent.Incoming; |
|
|
|
|
|
|
@ -32,11 +33,26 @@ public class MesIncomingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase |
|
|
|
protected override async Task DoWorkAsync(PeriodicBackgroundWorkerContext workerContext) |
|
|
|
{ |
|
|
|
Logger.LogInformation($"开始: 执行 {Incoming}"); |
|
|
|
|
|
|
|
var configManager = workerContext.ServiceProvider.GetRequiredService<IInterfaceConfigManager>(); |
|
|
|
var confitem = await configManager.GetInterfaceConfig("MES-IN").ConfigureAwait(false); |
|
|
|
if (confitem == null) |
|
|
|
{ |
|
|
|
if (!_options.Value.IncomingOptions.Active) |
|
|
|
{ |
|
|
|
Logger.LogInformation($"{Incoming} 已关闭没有执行!"); |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
if (!confitem.Active) |
|
|
|
{ |
|
|
|
Logger.LogInformation($"{Incoming} 已关闭没有执行!"); |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
int min = DateTime.Now.Hour*60+ DateTime.Now.Minute;//第二天00:05:00与当天23:55:00不执行避免tyrpnumber重复
|
|
|
|
if ( (24*60-5)<= min || min <= 5) |
|
|
@ -45,94 +61,93 @@ public class MesIncomingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
//#region 缴库 MesOut
|
|
|
|
//Logger.LogInformation($"读取缴库(MesOut)");//缴库
|
|
|
|
//var mesOutReader = workerContext.ServiceProvider.GetRequiredService<MesOutReader>();
|
|
|
|
//var mesOutConverter = workerContext.ServiceProvider.GetRequiredService<MesOutConverter>();
|
|
|
|
//var TransferNoteConverter = workerContext.ServiceProvider.GetRequiredService<QtyrfeConverter>();
|
|
|
|
////读取mes缴库
|
|
|
|
//var mesOutsFromExternalList = await mesOutReader.ReadAsync().ConfigureAwait(false);
|
|
|
|
//var mesOutsFromExternalList_ProductReceipt = mesOutsFromExternalList.Where(r => r.DataType == EnumIncomingDataType.ProductReceipt.ToString()).ToList();
|
|
|
|
//var mesOutsFromExternalList_TransferNote = mesOutsFromExternalList.Where(r => r.DataType == EnumIncomingDataType.TransferNote.ToString()).ToList();
|
|
|
|
////转换缴库数据(如果有质量补得数据直接生产移库数据移到客户库位)
|
|
|
|
//await mesOutConverter.ConvertAsync(mesOutsFromExternalList_ProductReceipt).ConfigureAwait(false);
|
|
|
|
//if (mesOutsFromExternalList_TransferNote.Count > 0)//如果有质量补则生产储位调拨任务
|
|
|
|
//{
|
|
|
|
// await TransferNoteConverter.ConvertAsync(mesOutsFromExternalList_TransferNote).ConfigureAwait(false);
|
|
|
|
//}
|
|
|
|
//Logger.LogInformation($"处理完工收货(缴库)【{mesOutsFromExternalList_ProductReceipt.Count}】条数据");
|
|
|
|
//Logger.LogInformation($"处理储位调拨【{mesOutsFromExternalList_TransferNote.Count}】条数据");
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
//#region 冻结解冻 Frozen
|
|
|
|
//Logger.LogInformation($"读取冻结解冻 (Frozen)");//冻结解冻
|
|
|
|
//var FrozenReader = workerContext.ServiceProvider.GetRequiredService<FrozenReader>();
|
|
|
|
//var FrozenConverter = workerContext.ServiceProvider.GetRequiredService<FrozenConverter>();
|
|
|
|
////读取并保存Frozen
|
|
|
|
//var mesNoteFromExternalList = await FrozenReader.ReadAsync().ConfigureAwait(false);
|
|
|
|
////转换Frozen
|
|
|
|
//await FrozenConverter.ConvertAsync(mesNoteFromExternalList).ConfigureAwait(false);
|
|
|
|
//Logger.LogInformation($"处理冻结解冻【{mesNoteFromExternalList.Count}】条数据");
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
|
|
//#region 报废 Scrap
|
|
|
|
//Logger.LogInformation($"读取报废(Scrap)");//报废
|
|
|
|
//var scrapReader = workerContext.ServiceProvider.GetRequiredService<ScrapReader>();
|
|
|
|
//var scrapConverter = workerContext.ServiceProvider.GetRequiredService<ScrapConverter>();
|
|
|
|
////读取并保存Scrap
|
|
|
|
//var scrapsFromExternalList = await scrapReader.ReadAsync().ConfigureAwait(false);
|
|
|
|
////转换Scrap
|
|
|
|
//await scrapConverter.ConvertAsync(scrapsFromExternalList).ConfigureAwait(false);
|
|
|
|
//Logger.LogInformation($"处理报废【{scrapsFromExternalList.Count}】条数据");
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
//#region 耗用单 BackFlush
|
|
|
|
//Logger.LogInformation($"读取耗用单 (BackFlush)");//耗用单
|
|
|
|
//var BackFlushReader = workerContext.ServiceProvider.GetRequiredService<BackFluReader>();
|
|
|
|
//var BackFlushConverter = workerContext.ServiceProvider.GetRequiredService<BackFluConverter>();
|
|
|
|
////读取并保存BackFlush
|
|
|
|
//var backFlushsFromExternalList = await BackFlushReader.ReadAsync().ConfigureAwait(false);
|
|
|
|
////转换BackFlush
|
|
|
|
//await BackFlushConverter.ConvertAsync(backFlushsFromExternalList).ConfigureAwait(false);
|
|
|
|
//Logger.LogInformation($"处理耗用单【{backFlushsFromExternalList.Count}】条数据");
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
//#region 储位调拨 TransferNote
|
|
|
|
//Logger.LogInformation($"读取储位调拨 (TransferNote)");//储位调拨
|
|
|
|
//var TransferNoteReader = workerContext.ServiceProvider.GetRequiredService<QtyrfeReader>();
|
|
|
|
//// var TransferNoteConverter = workerContext.ServiceProvider.GetRequiredService<QtyrfeConverter>();
|
|
|
|
////读取并保存TransferNote
|
|
|
|
//var transferNoteFromExternalList = await TransferNoteReader.ReadAsync().ConfigureAwait(false);
|
|
|
|
////转换TransferNote
|
|
|
|
//await TransferNoteConverter.ConvertAsync(transferNoteFromExternalList).ConfigureAwait(false);
|
|
|
|
//Logger.LogInformation($"处理储位调拨【{transferNoteFromExternalList.Count}】条数据");
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//#region 成品发运 Delivery
|
|
|
|
//Logger.LogInformation($"读取成品发运 (Delivery)");//成品发运
|
|
|
|
//var DeliveryReader = workerContext.ServiceProvider.GetRequiredService<DeliveryReader>();
|
|
|
|
//var DeliveryConverter = workerContext.ServiceProvider.GetRequiredService<DeliveryConverter>();
|
|
|
|
////读取并保存Delivery
|
|
|
|
//var deliveryNoteFromExternalList = await DeliveryReader.ReadAsync().ConfigureAwait(false);
|
|
|
|
////转换Delivery
|
|
|
|
//await DeliveryConverter.ConvertAsync(deliveryNoteFromExternalList).ConfigureAwait(false);
|
|
|
|
//Logger.LogInformation($"处理成品发运【{deliveryNoteFromExternalList.Count}】条数据");
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
//#region 自动叫料 CallMtl
|
|
|
|
|
|
|
|
//Logger.LogInformation($"读取自动叫料 (CallMtl)");//自动叫料
|
|
|
|
//var CallMtlReader = workerContext.ServiceProvider.GetRequiredService<CallMtlReader>();
|
|
|
|
//var CallMtlConverter = workerContext.ServiceProvider.GetRequiredService<CallMtlConverter>();
|
|
|
|
////读取并保存Delivery
|
|
|
|
//var callMtlFromExternalList = await CallMtlReader.ReadAsync().ConfigureAwait(false);
|
|
|
|
////转换Delivery
|
|
|
|
//await CallMtlConverter.ConvertAsync(callMtlFromExternalList).ConfigureAwait(false);
|
|
|
|
//Logger.LogInformation($"处理自动叫料【{callMtlFromExternalList.Count}】条数据");
|
|
|
|
//#endregion
|
|
|
|
#region 缴库 MesOut
|
|
|
|
Logger.LogInformation($"读取缴库(MesOut)");//缴库
|
|
|
|
var mesOutReader = workerContext.ServiceProvider.GetRequiredService<MesOutReader>(); |
|
|
|
var mesOutConverter = workerContext.ServiceProvider.GetRequiredService<MesOutConverter>(); |
|
|
|
var TransferNoteConverter = workerContext.ServiceProvider.GetRequiredService<QtyrfeConverter>(); |
|
|
|
//读取mes缴库
|
|
|
|
var mesOutsFromExternalList = await mesOutReader.ReadAsync().ConfigureAwait(false); |
|
|
|
var mesOutsFromExternalList_ProductReceipt = mesOutsFromExternalList.Where(r => r.DataType == EnumIncomingDataType.ProductReceipt.ToString()).ToList(); |
|
|
|
var mesOutsFromExternalList_TransferNote = mesOutsFromExternalList.Where(r => r.DataType == EnumIncomingDataType.TransferNote.ToString()).ToList(); |
|
|
|
//转换缴库数据(如果有质量补得数据直接生产移库数据移到客户库位)
|
|
|
|
await mesOutConverter.ConvertAsync(mesOutsFromExternalList_ProductReceipt).ConfigureAwait(false); |
|
|
|
if (mesOutsFromExternalList_TransferNote.Count > 0)//如果有质量补则生产储位调拨任务
|
|
|
|
{ |
|
|
|
await TransferNoteConverter.ConvertAsync(mesOutsFromExternalList_TransferNote).ConfigureAwait(false); |
|
|
|
} |
|
|
|
Logger.LogInformation($"处理完工收货(缴库)【{mesOutsFromExternalList_ProductReceipt.Count}】条数据"); |
|
|
|
Logger.LogInformation($"处理储位调拨【{mesOutsFromExternalList_TransferNote.Count}】条数据"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 冻结解冻 Frozen
|
|
|
|
Logger.LogInformation($"读取冻结解冻 (Frozen)");//冻结解冻
|
|
|
|
var FrozenReader = workerContext.ServiceProvider.GetRequiredService<FrozenReader>(); |
|
|
|
var FrozenConverter = workerContext.ServiceProvider.GetRequiredService<FrozenConverter>(); |
|
|
|
//读取并保存Frozen
|
|
|
|
var mesNoteFromExternalList = await FrozenReader.ReadAsync().ConfigureAwait(false); |
|
|
|
//转换Frozen
|
|
|
|
await FrozenConverter.ConvertAsync(mesNoteFromExternalList).ConfigureAwait(false); |
|
|
|
Logger.LogInformation($"处理冻结解冻【{mesNoteFromExternalList.Count}】条数据"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 报废 Scrap
|
|
|
|
Logger.LogInformation($"读取报废(Scrap)");//报废
|
|
|
|
var scrapReader = workerContext.ServiceProvider.GetRequiredService<ScrapReader>(); |
|
|
|
var scrapConverter = workerContext.ServiceProvider.GetRequiredService<ScrapConverter>(); |
|
|
|
//读取并保存Scrap
|
|
|
|
var scrapsFromExternalList = await scrapReader.ReadAsync().ConfigureAwait(false); |
|
|
|
//转换Scrap
|
|
|
|
await scrapConverter.ConvertAsync(scrapsFromExternalList).ConfigureAwait(false); |
|
|
|
Logger.LogInformation($"处理报废【{scrapsFromExternalList.Count}】条数据"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 耗用单 BackFlush
|
|
|
|
Logger.LogInformation($"读取耗用单 (BackFlush)");//耗用单
|
|
|
|
var BackFlushReader = workerContext.ServiceProvider.GetRequiredService<BackFluReader>(); |
|
|
|
var BackFlushConverter = workerContext.ServiceProvider.GetRequiredService<BackFluConverter>(); |
|
|
|
//读取并保存BackFlush
|
|
|
|
var backFlushsFromExternalList = await BackFlushReader.ReadAsync().ConfigureAwait(false); |
|
|
|
//转换BackFlush
|
|
|
|
await BackFlushConverter.ConvertAsync(backFlushsFromExternalList).ConfigureAwait(false); |
|
|
|
Logger.LogInformation($"处理耗用单【{backFlushsFromExternalList.Count}】条数据"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 储位调拨 TransferNote
|
|
|
|
Logger.LogInformation($"读取储位调拨 (TransferNote)");//储位调拨
|
|
|
|
var TransferNoteReader = workerContext.ServiceProvider.GetRequiredService<QtyrfeReader>(); |
|
|
|
//读取并保存TransferNote
|
|
|
|
var transferNoteFromExternalList = await TransferNoteReader.ReadAsync().ConfigureAwait(false); |
|
|
|
//转换TransferNote
|
|
|
|
await TransferNoteConverter.ConvertAsync(transferNoteFromExternalList).ConfigureAwait(false); |
|
|
|
Logger.LogInformation($"处理储位调拨【{transferNoteFromExternalList.Count}】条数据"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 成品发运 Delivery
|
|
|
|
Logger.LogInformation($"读取成品发运 (Delivery)");//成品发运
|
|
|
|
var DeliveryReader = workerContext.ServiceProvider.GetRequiredService<DeliveryReader>(); |
|
|
|
var DeliveryConverter = workerContext.ServiceProvider.GetRequiredService<DeliveryConverter>(); |
|
|
|
//读取并保存Delivery
|
|
|
|
var deliveryNoteFromExternalList = await DeliveryReader.ReadAsync().ConfigureAwait(false); |
|
|
|
//转换Delivery
|
|
|
|
await DeliveryConverter.ConvertAsync(deliveryNoteFromExternalList).ConfigureAwait(false); |
|
|
|
Logger.LogInformation($"处理成品发运【{deliveryNoteFromExternalList.Count}】条数据"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 自动叫料 CallMtl
|
|
|
|
|
|
|
|
Logger.LogInformation($"读取自动叫料 (CallMtl)");//自动叫料
|
|
|
|
var CallMtlReader = workerContext.ServiceProvider.GetRequiredService<CallMtlReader>(); |
|
|
|
var CallMtlConverter = workerContext.ServiceProvider.GetRequiredService<CallMtlConverter>(); |
|
|
|
//读取并保存Delivery
|
|
|
|
var callMtlFromExternalList = await CallMtlReader.ReadAsync().ConfigureAwait(false); |
|
|
|
//转换Delivery
|
|
|
|
await CallMtlConverter.ConvertAsync(callMtlFromExternalList).ConfigureAwait(false); |
|
|
|
Logger.LogInformation($"处理自动叫料【{callMtlFromExternalList.Count}】条数据"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 底盘 Chassis
|
|
|
|