Browse Source

优化Tyrp接口

集成Redis
lvzb 2 years ago
parent
commit
c53c1471ed
  1. 3
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/DeliverNoteConverter.cs
  2. 3
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/IssueNoteConverter.cs
  3. 3
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ItemTransformNoteConverter.cs
  4. 6
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductReceiptNoteConverter.cs
  5. 3
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductRecycleNoteConverter.cs
  6. 3
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductionReturnNoteConverter.cs
  7. 5
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseOrderConverter.cs
  8. 16
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseReturnConverter.cs
  9. 3
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PutawayNoteConverter.cs
  10. 3
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/RecycledMaterialReceiptNoteConverter.cs
  11. 3
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScrapNoteConVerter.cs
  12. 3
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/SemiPutawayNoteConverter.cs
  13. 23
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs
  14. 178
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs
  15. 15
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedIssueNoteConverter.cs
  16. 15
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedReceiptNoteConverter.cs
  17. 3
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/WIPAdjusNoteConverter.cs
  18. 7
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PurchaseReturn/PurchaseReturnNoteDetailExchangeDto.cs
  19. 5
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml

3
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/DeliverNoteConverter.cs

@ -115,7 +115,8 @@ public class DeliverNoteConverter : IOutgoingConverter
wmsoutm_tyrp_dt = "",
wmsoutm_user = "WMS",
wmsoutm_dept = "",
wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
// wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
wmsoutm_date = DateTime.Now.ToString("yyyyMMdd"),
wmsoutm_cust = exchangeOrder.CustomerCode ?? "",
wmsoutm_shm_nbr = "",
wmsoutm_cust_loc = "",

3
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/IssueNoteConverter.cs

@ -128,7 +128,8 @@ public class IssueNoteConverter : IOutgoingConverter
scmsend_delv_date = "",
scmsend_orderno = "",
scmsend_loc = exchangeDetailOrder.FromLocationErpCode,
scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
//scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
scmsend_date = DateTime.Now.ToString("yyyyMMdd"),
scmsend_qty = exchangeDetailOrder.Qty,
scmsend_wipd_loc = exchangeDetailOrder.ToLocationErpCode,
scmsend_userid ="WMS"

3
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ItemTransformNoteConverter.cs

@ -106,7 +106,8 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent.Outgoing;
mesout_asd_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"),
mesout_asd_type = "4003",
mesout_asd_part = detail.ItemCode,
mesout_asd_date = exchangeCountAdjust.ActiveDate.ToString("yyyyMMdd"),
//mesout_asd_date = exchangeCountAdjust.ActiveDate.ToString("yyyyMMdd"),
mesout_asd_date = DateTime.Now.ToString("yyyyMMdd"),
mesout_asd_loc = detail.LocationErpCode,
mesout_asd_code = detail.ReasonCode,
mesout_asd_qty = detail.FromQty,

6
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductReceiptNoteConverter.cs

@ -81,12 +81,14 @@ public class ProductReceiptNoteConverter : IOutgoingConverter
mesout_ref_nbr = number,//exchangeProductReceiptNote.Number,
mesout_id = string.IsNullOrEmpty(detail.RawLocationCode)?"": detail.RawLocationCode,
mesout_part = detail.ItemCode,
mesout_date = exchangeProductReceiptNote.ActiveDate.ToString("yyyyMMdd"),
// mesout_date = exchangeProductReceiptNote.ActiveDate.ToString("yyyyMMdd"),
mesout_date = DateTime.Now.ToString("yyyyMMdd"),
mesout_bad = detail.ReturnQty,
mesout_move = detail.ReturnQty != 0 ? 0 : detail.Qty,
mesout_unable = 0,
mesout_loc = detail.LocationErpCode,
mesout_dt = exchangeProductReceiptNote.CompleteTime.ToString("yyyyMMdd HH:mm:ss"),
//mesout_dt = exchangeProductReceiptNote.CompleteTime.ToString("yyyyMMdd HH:mm:ss"),
mesout_dt = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"),
memo = string.IsNullOrEmpty(detail.Remark)?"": detail.Remark,
refno = "",

3
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductRecycleNoteConverter.cs

@ -127,7 +127,8 @@ public class ProductRecycleNoteConverter : IOutgoingConverter
wmsoutm_tyrp_dt = "",
wmsoutm_user = "WMS",
wmsoutm_dept = departmentCode,//根据Worker从UserDepartment中获取
wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
//wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
wmsoutm_date = DateTime.Now.ToString("yyyyMMdd"),
wmsoutm_cust = "",
wmsoutm_shm_nbr = "",
wmsoutm_cust_loc = "",

3
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ProductionReturnNoteConverter.cs

@ -126,7 +126,8 @@ public class ProductionReturnNoteConverter : IOutgoingConverter
scmsend_delv_date = "",
scmsend_orderno = "",
scmsend_loc = exchangeDetailOrder.ToLocationErpCode,
scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
// scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
scmsend_date = DateTime.Now.ToString("yyyyMMdd"),
scmsend_qty = exchangeDetailOrder.Qty,
scmsend_wipd_loc = exchangeDetailOrder.FromLocationErpCode,
scmsend_userid = "WMS"

5
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseOrderConverter.cs

@ -131,10 +131,11 @@ public class PurchaseOrderConverter : IOutgoingConverter
scmsend_nbr = exchangeOrder.Number,
scmsend_stat1 = "3",
scmsend_part = exchangeDetailOrder.ItemCode,
scmsend_delv_date = exchangeOrder.DueDate.ToString("yyyyMMdd"),
scmsend_delv_date = exchangeOrder.DueDate.ToString("yyyyMMdd"),
scmsend_orderno = exchangeOrder.SupplierCode,
scmsend_loc = "",
scmsend_date = exchangeOrder.OrderDate.ToString("yyyyMMdd"),
// scmsend_date = exchangeOrder.OrderDate.ToString("yyyyMMdd"),
scmsend_date = DateTime.Now.ToString("yyyyMMdd"),
scmsend_qty = exchangeDetailOrder.Qty,
scmsend_wipd_loc = "",
scmsend_userid = "WMS"

16
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PurchaseReturnConverter.cs

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using System.Threading.Tasks;
using Volo.Abp.ObjectMapping;
@ -64,7 +65,8 @@ public class PurchaseReturnConverter : IOutgoingConverter
#endregion
#region 明细
foreach (var detail in wmsReceipt.Details)
var WipDetails = wmsReceipt.Details.GroupBy(r => new { r.Number, r.ItemCode, r.LocationErpCode }).Select(p => new PurchaseReturnNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, LocationErpCode = p.Key.LocationErpCode });
foreach (var detail in WipDetails)
{
var outgoingDetailToExternal = new OutgoingToExternal()
{
@ -72,17 +74,16 @@ public class PurchaseReturnConverter : IOutgoingConverter
TableType = EnumExchangeTableType.DetailTable,
DataAction = outgoingFromWms.DataAction,
SourceSystem = EnumSystemType.WMS.ToString(),
SourceDataId = detail.Id.ToString(),
SourceDataId = detail.Number.ToString(),
SourceDataGroupCode = wmsReceipt.Number,
SourceDataDetailCode = detail.ItemCode,
Writer = nameof(TyrpOutgoingBackgroundWorker),
DestinationSystem = EnumSystemType.ERP.ToString(),
DestinationDataId = "",
};
outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
var exchangeReceiptDetail = _objectMapper.Map<PurchaseReturnNoteDetailDTO, PurchaseReturnNoteDetailExchangeDto>(detail);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail);
var purchaseReturnDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, purchaseReturn.scontrol_dt_w);
outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(detail);
var purchaseReturnDetail = BuildDataInterfaceDetail(exchangeReceipt, detail, purchaseReturn.scontrol_dt_w);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(purchaseReturnDetail);
outgoingToExternalList.Add(outgoingDetailToExternal);
}
@ -131,7 +132,8 @@ public class PurchaseReturnConverter : IOutgoingConverter
scmsend_delv_date = "",
scmsend_orderno = exchangeOrder.SupplierCode,
scmsend_loc = exchangeDetailOrder.LocationErpCode,
scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
//scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
scmsend_date = DateTime.Now.ToString("yyyyMMdd"),
scmsend_qty = exchangeDetailOrder.Qty,
scmsend_wipd_loc = "",
scmsend_userid = "WMS"

3
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/PutawayNoteConverter.cs

@ -146,7 +146,8 @@ public class PutawayNoteConverter : IOutgoingConverter
scmsend_delv_date = exchangeOrder.DueDate.ToString("yyyyMMdd"),
scmsend_orderno = exchangeDetailOrder.PoNumber,
scmsend_loc = exchangeDetailOrder.ToLocationErpCode,
scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
//scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
scmsend_date= DateTime.Now.ToString("yyyyMMdd"),
scmsend_qty = exchangeDetailOrder.Qty,
scmsend_wipd_loc = "",
scmsend_userid = "WMS"

3
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/RecycledMaterialReceiptNoteConverter.cs

@ -118,7 +118,8 @@ public class RecycledMaterialReceiptNoteConverter : IOutgoingConverter
wmsoutm_tyrp_dt = "",
wmsoutm_user = "WMS",
wmsoutm_dept = "",//根据Worker从UserDepartment中获取
wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
//wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
wmsoutm_date = DateTime.Now.ToString("yyyyMMdd"),
wmsoutm_cust = "",
wmsoutm_shm_nbr = "",
wmsoutm_cust_loc = "",

3
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScrapNoteConVerter.cs

@ -100,7 +100,8 @@ IOutgoingFromWmsManager outgoingFromWmsManager
mesout_asd_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"),
mesout_asd_type = asdtype,
mesout_asd_part = detail.ItemCode,
mesout_asd_date = exchangeScrap.ActiveDate.ToString("yyyyMMdd"),
// mesout_asd_date = exchangeScrap.ActiveDate.ToString("yyyyMMdd"),
mesout_asd_date = DateTime.Now.ToString("yyyyMMdd"),
mesout_asd_loc = detail.FromLocationErpCode,
mesout_asd_code = detail.ReasonCode,
mesout_asd_qty = detail.Qty,

3
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/SemiPutawayNoteConverter.cs

@ -129,7 +129,8 @@ public class SemiPutawayNoteConverter : IOutgoingConverter
scmsend_delv_date = "",
scmsend_orderno = "",
scmsend_loc = exchangeDetailOrder.FromLocationErpCode,
scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
//scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
scmsend_date = DateTime.Now.ToString("yyyyMMdd"),
scmsend_qty = exchangeDetailOrder.Qty,
scmsend_wipd_loc = exchangeDetailOrder.ToLocationErpCode,
scmsend_userid = "WMS"

23
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs

@ -9,6 +9,7 @@ using Win_in.Sfs.Shared.Domain.Shared;
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.PurchaseReturn;
using Win_in.Sfs.Wms.DataExchange.WMS.TransferNote;
using Win_in.Sfs.Wms.Store.Application.Contracts;
@ -51,6 +52,7 @@ public class TransferNoteConverter : IOutgoingConverter
var department = await _departmentAppService.GetByUsernameAsync(exchangeReceipt.Worker).ConfigureAwait(false);
var departmentCode = department == null ? "" : department.Code;
var details = wmsReceipt.Details.Where(r => r.FromLocationErpCode != r.ToLocationErpCode).ToList();
List<TransferNoteDetailExchangeDto> WipDetails = new List<TransferNoteDetailExchangeDto>();
if (details.Count > 0 && (wmsReceipt.Type != EnumTransSubType.Transfer_Inside.ToString()||wmsReceipt.Type!=EnumTransSubType.Transfer_SplitPacking.ToString()))
{
#region 主表
@ -75,19 +77,25 @@ public class TransferNoteConverter : IOutgoingConverter
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForErp.ToString();
var putawayNoteScontrol = BuildScontrolDataInterface(exchangeReceipt, dt_w);
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteScontrol);
WipDetails =details.GroupBy(r => new { r.Number, r.ItemCode, r.FromLocationErpCode , r.ToLocationErpCode }).Select(p => new TransferNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, FromLocationErpCode = p.Key.FromLocationErpCode, ToLocationErpCode=p.Key.ToLocationErpCode }).ToList();
}
else
{
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForCustom.ToString();
var putawayNoteWmsoutm = BuildWmsoutmDataInterface(exchangeReceipt, departmentCode, dt_w);
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteWmsoutm);
WipDetails = details.GroupBy(r => new { r.Number, r.ItemCode, r.FromLocationErpCode }).Select(p => new TransferNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, FromLocationErpCode = p.Key.FromLocationErpCode }).ToList();
}
outgoingToExternalList.Add(outgoingToExternal);
#endregion
#region 明细
foreach (var detail in details)
foreach (var detail in WipDetails)
{
var outgoingDetailToExternal = new OutgoingToExternal()
{
@ -95,7 +103,7 @@ public class TransferNoteConverter : IOutgoingConverter
TableType = EnumExchangeTableType.DetailTable,
DataAction = outgoingFromWms.DataAction,
SourceSystem = EnumSystemType.WMS.ToString(),
SourceDataId = detail.Id.ToString(),
SourceDataId = detail.Number.ToString(),
SourceDataGroupCode = wmsReceipt.Number,
SourceDataDetailCode = detail.ItemCode,
Writer = nameof(TyrpOutgoingBackgroundWorker),
@ -103,17 +111,17 @@ public class TransferNoteConverter : IOutgoingConverter
DestinationDataId = "",
};
outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
var exchangeReceiptDetail = _objectMapper.Map<TransferNoteDetailDTO, TransferNoteDetailExchangeDto>(detail);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail);
// var exchangeReceiptDetail = _objectMapper.Map<TransferNoteDetailDTO, TransferNoteDetailExchangeDto>(detail);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(detail);
if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString())
{
var putawayNoteDetailScmsend = BuildScmsendDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, dt_w);
var putawayNoteDetailScmsend = BuildScmsendDataInterfaceDetail(exchangeReceipt, detail, dt_w);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetailScmsend);
}
else
{
var putawayNoteDetailWmsoutd = BuildWmsoutdDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail);
var putawayNoteDetailWmsoutd = BuildWmsoutdDataInterfaceDetail(exchangeReceipt, detail);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetailWmsoutd);
}
outgoingToExternalList.Add(outgoingDetailToExternal);
@ -166,7 +174,8 @@ public class TransferNoteConverter : IOutgoingConverter
scmsend_delv_date = "",
scmsend_orderno = "",
scmsend_loc = exchangeDetailOrder.FromLocationErpCode,
scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
// scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
scmsend_date = DateTime.Now.ToString("yyyyMMdd"),
scmsend_qty = exchangeDetailOrder.Qty,
scmsend_wipd_loc = exchangeDetailOrder.ToLocationErpCode,
scmsend_userid ="WMS"

178
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs

@ -41,104 +41,244 @@ public class TyrpOutgoingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase
}
var scontrolWriter = workerContext.ServiceProvider.GetRequiredService<ScontrolWriter>();//scontrol中间表服务
var wmsoutmWriter = workerContext.ServiceProvider.GetRequiredService<WmsoutmWriter>();//wmsoutm中间表的服务
var countadjustWriter = workerContext.ServiceProvider.GetRequiredService<CountAdjustNoteWriter>();//mesout_asd中间表的服务
int scontrol_count = 0;//scontrol插入条数
int wmsoutm_count = 0; //wmsoutm插入条数
int mesout_asd_count = 0; //mesout_asd插入条数
#region 采购单 PurchaseOrder scontrol
Logger.LogInformation($"Write PurchaseOrder");//采购单
var purchaseOrderConvert = workerContext.ServiceProvider.GetRequiredService<PurchaseOrderConverter>();
var purchaseOrderList = await purchaseOrderConvert.ConvertAsync().ConfigureAwait(false);
await scontrolWriter.WriteAsync(purchaseOrderList).ConfigureAwait(false);
if (purchaseOrderList.Count > 0)
{
Logger.LogInformation($"采购单-PurchaseOrder处理{purchaseOrderList.Count}条");
scontrol_count += purchaseOrderList.Count;
}
#endregion
Logger.LogInformation($"Write PurchaseReturn");//采购退货单
#region 采购退货单 PurchaseReturn scontrol
Logger.LogInformation($"Write PurchaseReturn");//采购退货单(汇总)
var purchaseReturnConvert = workerContext.ServiceProvider.GetRequiredService<PurchaseReturnConverter>();
var purchaseReturnList = await purchaseReturnConvert.ConvertAsync().ConfigureAwait(false);
await scontrolWriter.WriteAsync(purchaseReturnList).ConfigureAwait(false);
if (purchaseReturnList.Count > 0)
{
Logger.LogInformation($"采购退货单-PurchaseReturn处理{purchaseReturnList.Count}条");
scontrol_count += purchaseReturnList.Count;
}
#endregion
Logger.LogInformation($"Write PutawayNote");//验收单
#region 验收单 Putaway scontrol
Logger.LogInformation($"Write PutawayNote");//验收单(汇总)
var putawayNoteConvert = workerContext.ServiceProvider.GetRequiredService<PutawayNoteConverter>();
var putawayNoteList = await putawayNoteConvert.ConvertAsync().ConfigureAwait(false);
await scontrolWriter.WriteAsync(putawayNoteList).ConfigureAwait(false);
if (putawayNoteList.Count > 0)
{
Logger.LogInformation($"验收单-Putaway处理{putawayNoteList.Count}条");
scontrol_count += putawayNoteList.Count;
}
#endregion
Logger.LogInformation($"Write IssueNote");//线边仓领料单
#region 线边仓领料单 Issue scontrol
Logger.LogInformation($"Write IssueNote");//线边仓领料单(汇总)
var issueNoteConvert = workerContext.ServiceProvider.GetRequiredService<IssueNoteConverter>();
var issueNoteList = await issueNoteConvert.ConvertAsync().ConfigureAwait(false);
await scontrolWriter.WriteAsync(issueNoteList).ConfigureAwait(false);
if (issueNoteList.Count > 0)
{
Logger.LogInformation($"线边仓领料单-Issue处理{issueNoteList.Count}条");
scontrol_count += issueNoteList.Count;
}
#endregion
#region 线边仓退料单 ProductionReturn scontrol
Logger.LogInformation($"Write ProductionReturnNote");//线边仓退料单
var productionReturnNoteConvert = workerContext.ServiceProvider.GetRequiredService<ProductionReturnNoteConverter>();
var productionReturnNoteList = await productionReturnNoteConvert.ConvertAsync().ConfigureAwait(false);
await scontrolWriter.WriteAsync(productionReturnNoteList).ConfigureAwait(false);
if (productionReturnNoteList.Count > 0)
{
Logger.LogInformation($"线边仓退料单-ProductionReturn处理{productionReturnNoteList.Count}条");
scontrol_count += productionReturnNoteList.Count;
}
#endregion
#region 半成品上架 SemiPutaway scontrol
Logger.LogInformation($"Write SemiPutawayNote");//半成品上架
var semiPutawayNoteConvert = workerContext.ServiceProvider.GetRequiredService<SemiPutawayNoteConverter>();
var semiPutawayNoteList = await semiPutawayNoteConvert.ConvertAsync().ConfigureAwait(false);
await scontrolWriter.WriteAsync(semiPutawayNoteList).ConfigureAwait(false);
if (semiPutawayNoteList.Count > 0)
{
Logger.LogInformation($"半成品上架-SemiPutaway处理{semiPutawayNoteList.Count}条");
scontrol_count += semiPutawayNoteList.Count;
}
#endregion
Logger.LogInformation($"Write TransferNote");//储位、线边仓调拨单 和 客户储位调拨单
#region 储位、线边仓调拨单 和 客户储位调拨单 Transfer scontrol
Logger.LogInformation($"Write TransferNote");//储位、线边仓调拨单 和 客户储位调拨单(汇总)
var transferNoteConvert = workerContext.ServiceProvider.GetRequiredService<TransferNoteConverter>();
var transferNoteList = await transferNoteConvert.ConvertAsync().ConfigureAwait(false);
var transferNoteForErpList = transferNoteList.Where(r => r.DataType == EnumOutgoingDataType.TransferForErp.ToString()).ToList();//储位、线边仓调拨单
var transferNoteForCustomList = transferNoteList.Where(r => r.DataType == EnumOutgoingDataType.TransferForCustom.ToString()).ToList();//客户储位调拨单
await scontrolWriter.WriteAsync(transferNoteForErpList).ConfigureAwait(false);
await wmsoutmWriter.WriteAsync(transferNoteForCustomList).ConfigureAwait(false);
if (transferNoteForErpList.Count > 0)
{
Logger.LogInformation($"储位、线边仓调拨单-Transfer处理{transferNoteForErpList.Count}条");
scontrol_count += transferNoteForErpList.Count;
}
if (transferNoteForCustomList.Count > 0)
{
Logger.LogInformation($"客户储位调拨单-Transfer处理{transferNoteForCustomList.Count}条");
wmsoutm_count += transferNoteForCustomList.Count;
}
#endregion
Logger.LogInformation($"Write SemiPutawayNote");//半成品上架
var semiPutawayNoteConvert = workerContext.ServiceProvider.GetRequiredService<SemiPutawayNoteConverter>();
var semiPutawayNoteList = await semiPutawayNoteConvert.ConvertAsync().ConfigureAwait(false);
await scontrolWriter.WriteAsync(semiPutawayNoteList).ConfigureAwait(false);
Logger.LogInformation($"Write ProductReceiptNote");//缴库单
var productReceiptNoteConvert = workerContext.ServiceProvider.GetRequiredService<ProductReceiptNoteConverter>();
var productReceiptNoteList = await productReceiptNoteConvert.ConvertAsync().ConfigureAwait(false);
var productReceiptNoteWriter = workerContext.ServiceProvider.GetRequiredService<ProductReceiptNoteWriter>();
await productReceiptNoteWriter.WriteAsync(productReceiptNoteList).ConfigureAwait(false);
if (scontrol_count > 0)//如果scontrol中有插入数据下边接口不执行
{
Logger.LogInformation($"scontrol处理{scontrol_count}条");
return;
}
Logger.LogInformation($"Write DeliverNote");//出货单
#region 出货单 Deliver wmsoutm
Logger.LogInformation($"Write DeliverNote");//出货单(汇总)
var deliverNoteConvert = workerContext.ServiceProvider.GetRequiredService<DeliverNoteConverter>();
var deliverNoteList = await deliverNoteConvert.ConvertAsync().ConfigureAwait(false);
await wmsoutmWriter.WriteAsync(deliverNoteList).ConfigureAwait(false);
if (deliverNoteList.Count > 0)
{
Logger.LogInformation($"出货单-Deliver处理{deliverNoteList.Count}条");
wmsoutm_count += deliverNoteList.Count;
}
#endregion
#region --接口以关闭-- 退货单 UnplannedReceipt wmsoutm
//暂无此接口
//Logger.LogInformation($"Write CustomerReturnNote");//退货单
//var customerReturnNoteConvert = workerContext.ServiceProvider.GetRequiredService<CustomerReturnNoteConverter>();
//var customerReturnNoteList = await customerReturnNoteConvert.ConvertAsync().ConfigureAwait(false);
//await wmsoutmWriter.WriteAsync(customerReturnNoteList).ConfigureAwait(false);
#endregion
Logger.LogInformation($"Write UnplannedIssueNote");//非生产领料单
#region 非生产领料单 UnplannedIssue wmsoutm
Logger.LogInformation($"Write UnplannedIssueNote");//非生产领料单(汇总)
var unplannedIssueNoteConvert = workerContext.ServiceProvider.GetRequiredService<UnplannedIssueNoteConverter>();
var unplannedIssueNoteNoteList = await unplannedIssueNoteConvert.ConvertAsync().ConfigureAwait(false);
await wmsoutmWriter.WriteAsync(unplannedIssueNoteNoteList).ConfigureAwait(false);
if (unplannedIssueNoteNoteList.Count > 0)
{
Logger.LogInformation($"非生产领料单-UnplannedIssue处理{unplannedIssueNoteNoteList.Count}条");
wmsoutm_count += unplannedIssueNoteNoteList.Count;
}
#endregion
Logger.LogInformation($"Write UnplannedReceiptNote");//非生产退料
#region 非生产退料 UnplannedReceipt wmsoutm
Logger.LogInformation($"Write UnplannedReceiptNote");//非生产退料(汇总)
var unplannedReceiptNoteConvert = workerContext.ServiceProvider.GetRequiredService<UnplannedReceiptNoteConverter>();
var unplannedReceiptNoteList = await unplannedReceiptNoteConvert.ConvertAsync().ConfigureAwait(false);
await wmsoutmWriter.WriteAsync(unplannedReceiptNoteList).ConfigureAwait(false);
if (unplannedReceiptNoteList.Count > 0)
{
Logger.LogInformation($"非生产退料-UnplannedReceipt处理{unplannedReceiptNoteList.Count}条");
wmsoutm_count += unplannedReceiptNoteList.Count;
}
#endregion
#region 回收料入库单 RecycledMaterialReceipt wmsoutm
Logger.LogInformation($"Write RecycledMaterialReceiptNote");//回收料入库单
var recycledMaterialReceiptNoteConvert = workerContext.ServiceProvider.GetRequiredService<RecycledMaterialReceiptNoteConverter>();
var recycledMaterialReceiptNoteList = await recycledMaterialReceiptNoteConvert.ConvertAsync().ConfigureAwait(false);
await wmsoutmWriter.WriteAsync(recycledMaterialReceiptNoteList).ConfigureAwait(false);
if (recycledMaterialReceiptNoteList.Count > 0)
{
Logger.LogInformation($"回收料入库单-RecycledMaterialReceipt处理{recycledMaterialReceiptNoteList.Count}条");
wmsoutm_count += recycledMaterialReceiptNoteList.Count;
}
#endregion
#region 退拆单 ProductRecycle wmsoutm
Logger.LogInformation($"Write BackFlushNote");//退拆单
var productRecycleNoteConvert = workerContext.ServiceProvider.GetRequiredService<ProductRecycleNoteConverter>();
var productRecycleNoteList = await productRecycleNoteConvert.ConvertAsync().ConfigureAwait(false);
await wmsoutmWriter.WriteAsync(productRecycleNoteList).ConfigureAwait(false);
if (productRecycleNoteList.Count > 0)
{
Logger.LogInformation($"退拆单-ProductRecycle处理{productRecycleNoteList.Count}条");
wmsoutm_count += productRecycleNoteList.Count;
}
#endregion
if (wmsoutm_count > 0)//如果wmsoutm中有插入数据下边接口不执行
{
Logger.LogInformation($"wmsoutm处理{wmsoutm_count}条");
return;
}
#region --接口以关闭-- 盘点调整单 CountAdjust mesout_asd
//东阳上海和安徽暂时关闭此接口
//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);
#endregion
#region 线边仓调整单 WIPAdjust mesout_asd
Logger.LogInformation($"Write WIPAdjusNote");//线边仓调整单
var wipAdjustNoteConvert = workerContext.ServiceProvider.GetRequiredService<WIPAdjusNoteConverter>();
var wipAdjustNoteList = await wipAdjustNoteConvert.ConvertAsync().ConfigureAwait(false);
await countadjustWriter.WriteAsync(wipAdjustNoteList).ConfigureAwait(false);
if (wipAdjustNoteList.Count > 0)
{
Logger.LogInformation($"线边仓调整单-WIPAdjust处理{wipAdjustNoteList.Count}条");
mesout_asd_count += wipAdjustNoteList.Count;
}
#endregion
#region 回收料调整单 Item_Transform mesout_asd
Logger.LogInformation($"Write ItemTransformNote");//回收料调整单
var ItemTransformNoteConvert = workerContext.ServiceProvider.GetRequiredService<ItemTransformNoteConverter>();
var ItemTransformNoteList = await ItemTransformNoteConvert.ConvertAsync().ConfigureAwait(false);
await countadjustWriter.WriteAsync(ItemTransformNoteList).ConfigureAwait(false);
if (ItemTransformNoteList.Count > 0)
{
Logger.LogInformation($"回收料调整单-Item_Transform处理{ItemTransformNoteList.Count}条");
mesout_asd_count += ItemTransformNoteList.Count;
}
#endregion
#region 报废单、线边仓报废单 Scrap mesout_asd
Logger.LogInformation($"Write ScrapNote");//报废单、线边仓报废单
var scrapNoteConvert = workerContext.ServiceProvider.GetRequiredService<ScrapNoteConverter>();
var scrapNoteList = await scrapNoteConvert.ConvertAsync().ConfigureAwait(false);
await countadjustWriter.WriteAsync(scrapNoteList).ConfigureAwait(false);
if (scrapNoteList.Count > 0)
{
Logger.LogInformation($"报废单、线边仓报废单-Scrap处理{scrapNoteList.Count}条");
mesout_asd_count += scrapNoteList.Count;
}
#endregion
if (mesout_asd_count > 0)//如果mesout_asd中有插入数据下边接口不执行
{
Logger.LogInformation($"mesout_asd处理{mesout_asd_count}条");
return;
}
#region 缴库单 ProductReceipt mesout
Logger.LogInformation($"Write ProductReceiptNote");//缴库单
var productReceiptNoteConvert = workerContext.ServiceProvider.GetRequiredService<ProductReceiptNoteConverter>();
var productReceiptNoteList = await productReceiptNoteConvert.ConvertAsync().ConfigureAwait(false);
var productReceiptNoteWriter = workerContext.ServiceProvider.GetRequiredService<ProductReceiptNoteWriter>();//mesout中间表的服务
await productReceiptNoteWriter.WriteAsync(productReceiptNoteList).ConfigureAwait(false);
if (productReceiptNoteList.Count > 0)
{
Logger.LogInformation($"缴库单-ProductReceipt处理{productReceiptNoteList.Count}条");
}
#endregion
Logger.LogInformation($"Completed: Handling {Outgoing}");
}

15
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedIssueNoteConverter.cs

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using System.Threading.Tasks;
using Volo.Abp.ObjectMapping;
@ -82,7 +83,8 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter
#endregion
#region 明细
foreach (var detail in wmsReceipt.Details)
var WipDetails = wmsReceipt.Details.GroupBy(r => new { r.Number, r.ItemCode, r.LocationErpCode }).Select(p => new UnplannedIssueNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, LocationErpCode = p.Key.LocationErpCode });
foreach (var detail in WipDetails)
{
var outgoingDetailToExternal = new OutgoingToExternal()
{
@ -90,7 +92,7 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter
TableType = EnumExchangeTableType.DetailTable,
DataAction = outgoingFromWms.DataAction,
SourceSystem = EnumSystemType.WMS.ToString(),
SourceDataId = detail.Id.ToString(),
SourceDataId = detail.Number.ToString(),
SourceDataGroupCode = wmsReceipt.Number,
SourceDataDetailCode = detail.ItemCode,
Writer = nameof(TyrpOutgoingBackgroundWorker),
@ -98,9 +100,9 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter
DestinationDataId = "",
};
outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
var exchangeReceiptDetail = _objectMapper.Map<UnplannedIssueNoteDetailDTO, UnplannedIssueNoteDetailExchangeDto>(detail);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail);
var purchaseOrderDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(detail);
var purchaseOrderDetail = BuildDataInterfaceDetail(exchangeReceipt, detail);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(purchaseOrderDetail);
outgoingToExternalList.Add(outgoingDetailToExternal);
}
@ -129,7 +131,8 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter
wmsoutm_tyrp_dt = "",
wmsoutm_user = exchangeOrder.Worker.Length >= 6 ? exchangeOrder.Worker.Substring(exchangeOrder.Worker.Length- 6) : exchangeOrder.Worker,
wmsoutm_dept = "",//根据Worker从UserDepartment中获取
wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
// wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
wmsoutm_date = DateTime.Now.ToString("yyyyMMdd"),
wmsoutm_cust = "",
wmsoutm_shm_nbr = "",
wmsoutm_cust_loc = "",

15
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedReceiptNoteConverter.cs

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using System.Threading.Tasks;
using Volo.Abp.ObjectMapping;
@ -82,7 +83,9 @@ public class UnplannedReceiptNoteConverter : IOutgoingConverter
#endregion
#region 明细
foreach (var detail in wmsReceipt.Details)
var WipDetails = wmsReceipt.Details.GroupBy(r => new { r.Number, r.ItemCode, r.LocationErpCode }).Select(p => new UnplannedReceiptNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, LocationErpCode = p.Key.LocationErpCode });
foreach (var detail in WipDetails)
{
var outgoingDetailToExternal = new OutgoingToExternal()
{
@ -90,7 +93,7 @@ public class UnplannedReceiptNoteConverter : IOutgoingConverter
TableType = EnumExchangeTableType.DetailTable,
DataAction = outgoingFromWms.DataAction,
SourceSystem = EnumSystemType.WMS.ToString(),
SourceDataId = detail.Id.ToString(),
SourceDataId = detail.Number.ToString(),
SourceDataGroupCode = wmsReceipt.Number,
SourceDataDetailCode = detail.ItemCode,
Writer = nameof(TyrpOutgoingBackgroundWorker),
@ -98,9 +101,8 @@ public class UnplannedReceiptNoteConverter : IOutgoingConverter
DestinationDataId = "",
};
outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
var exchangeReceiptDetail = _objectMapper.Map<UnplannedReceiptNoteDetailDTO, UnplannedReceiptNoteDetailExchangeDto>(detail);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail);
var purchaseOrderDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail);
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(detail);
var purchaseOrderDetail = BuildDataInterfaceDetail(exchangeReceipt, detail);
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(purchaseOrderDetail);
outgoingToExternalList.Add(outgoingDetailToExternal);
}
@ -130,7 +132,8 @@ public class UnplannedReceiptNoteConverter : IOutgoingConverter
wmsoutm_tyrp_dt = "",
wmsoutm_user = exchangeOrder.Worker.Length>=6? exchangeOrder.Worker.Substring(exchangeOrder.Worker.Length-6) : exchangeOrder.Worker,
wmsoutm_dept = "",//根据Worker从UserDepartment中获取
wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
//wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
wmsoutm_date = DateTime.Now.ToString("yyyyMMdd"),
wmsoutm_cust = "",
wmsoutm_shm_nbr = "",
wmsoutm_cust_loc = "",

3
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/WIPAdjusNoteConverter.cs

@ -90,7 +90,8 @@ public class WIPAdjusNoteConverter : IOutgoingConverter
mesout_asd_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"),
mesout_asd_type = "4041",
mesout_asd_part = detail.ItemCode,
mesout_asd_date = exchangeCountAdjust.ActiveDate.ToString("yyyyMMdd"),
//mesout_asd_date = exchangeCountAdjust.ActiveDate.ToString("yyyyMMdd"),
mesout_asd_date = DateTime.Now.ToString("yyyyMMdd"),
mesout_asd_loc = string.Empty,
mesout_asd_code = detail.ReasonCode,
mesout_asd_qty = detail.CountQty + detail.InventoryQty,

7
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/PurchaseReturn/PurchaseReturnNoteDetailExchangeDto.cs

@ -1,12 +1,17 @@
using System;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
namespace Win_in.Sfs.Wms.DataExchange.WMS.PurchaseReturn;
public class PurchaseReturnNoteDetailExchangeDto
{
/// <summary>
/// 单据号
/// </summary>
[Display(Name = "单据号")]
public string Number { get; set; }
/// <summary>
/// 订单号
/// </summary>

5
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml

@ -1046,6 +1046,11 @@
供应商代码
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PurchaseReturn.PurchaseReturnNoteDetailExchangeDto.Number">
<summary>
单据号
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PurchaseReturn.PurchaseReturnNoteDetailExchangeDto.PoNumber">
<summary>
订单号

Loading…
Cancel
Save