diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/Backflus/Backflu.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/Backflus/Backflu.cs
index ba7f8d84d..6bda0023b 100644
--- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/Backflus/Backflu.cs
+++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/Backflus/Backflu.cs
@@ -4,7 +4,8 @@ using Volo.Abp.Domain.Entities;
namespace Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes;
public class Backflu : Entity
{
-
+ [Key]
+ public long scmout_id { get; set; }
///
/// MES写入时间
///
@@ -56,6 +57,6 @@ public class Backflu : Entity
public override object[] GetKeys()
{
- return new object[] { scmout_type + scmout_nbr + scmout_part + scmout_no };
+ return new object[] { scmout_id };
}
}
diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Mes/Backflus/BackflusDbContextModelCreatingExtensions.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Mes/Backflus/BackflusDbContextModelCreatingExtensions.cs
index c8f89e671..538442014 100644
--- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Mes/Backflus/BackflusDbContextModelCreatingExtensions.cs
+++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Mes/Backflus/BackflusDbContextModelCreatingExtensions.cs
@@ -14,6 +14,7 @@ public static class BackfluDbContextModelCreatingExtensions
b.ToTable(options.TablePrefix + "scmout", options.Schema);
//Configure ABP properties
b.ConfigureByConvention();
+ b.Property(q => q.scmout_id).UseMySqlIdentityColumn().ValueGeneratedOnAdd();
b.Property(q => q.scmout_dt_w).HasMaxLength(20);
b.Property(q => q.scmout_type).HasMaxLength(6);
b.Property(q => q.scmout_nbr).HasMaxLength(20);
@@ -25,8 +26,7 @@ public static class BackfluDbContextModelCreatingExtensions
b.Property(q => q.scmout_qty).HasPrecision(10, 2);
b.Property(q => q.scmout_in_loc).HasMaxLength(10);
b.Property(q => q.scmout_stat).HasMaxLength(1);
- b.Property(q => q.BOMVer).HasMaxLength(50);
- b.HasKey(x => new { x.scmout_type,x.scmout_nbr,x.scmout_part,x.scmout_no });
+ b.Property(q => q.BOMVer).HasMaxLength(50);
});
}
diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesIncomingBackgroundWorker.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesIncomingBackgroundWorker.cs
index 2d0fb7efe..2d1e6a1a3 100644
--- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesIncomingBackgroundWorker.cs
+++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesIncomingBackgroundWorker.cs
@@ -59,7 +59,6 @@ public class MesIncomingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase
//转换Scrap
await scrapConverter.ConvertAsync(scrapsFromExternalList).ConfigureAwait(false);
-
//上海和安徽无此接口
//Logger.LogInformation($"Read Issue");
//var pckHandleService = workerContext.ServiceProvider.GetRequiredService();
diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs
index 907622f56..3ccb99a71 100644
--- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs
+++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs
@@ -140,6 +140,7 @@ public class IncomingToWmsWorker : AsyncPeriodicBackgroundWorkerBase
break;
case EnumIncomingDataType.BackFlush:
await incomingToWms.HandleBackFlushsAsync(workerContext).ConfigureAwait(false);
+
break;
case EnumIncomingDataType.None:
default:
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs
index 6620567aa..11e682df0 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs
@@ -113,7 +113,7 @@ public class PurchaseOrderAppService :
}
var entity = ObjectMapper.Map(input);
-
+ entity.Remark = "接口数据";
await _purchaseOrderManager.CreateAsync(entity).ConfigureAwait(false);
return ObjectMapper.Map(entity);
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Orders/PurchaseOrderEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Orders/PurchaseOrderEventHandler.cs
index 3f6729e85..34448fc27 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Orders/PurchaseOrderEventHandler.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Orders/PurchaseOrderEventHandler.cs
@@ -1,26 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using System.Net.Http;
using System.Threading.Tasks;
using Castle.Components.DictionaryAdapter;
using Volo.Abp;
using Volo.Abp.Data;
using Volo.Abp.EventBus;
-using Volo.Abp.ObjectMapping;
using Volo.Abp.Uow;
using Win_in.Sfs.Basedata.Application.Contracts;
-using Win_in.Sfs.Basedata.Domain;
using Win_in.Sfs.Label.Application.Contracts;
using Win_in.Sfs.Label.Domain.Shared;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Event;
-using Win_in.Sfs.Wms.Inventory.Domain.Acl.ItemBasic;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
-using static Win_in.Sfs.Wms.Store.Domain.Shared.StoreSettings;
-using SupplierAsn = Win_in.Sfs.Wms.Store.Domain.SupplierAsn;
namespace Win_in.Sfs.Wms.Store.Event.Orders;
@@ -67,7 +61,10 @@ public class PurchaseOrderEventHandler
{
var entity = eventData.Entity;
- await CreateSupplierAsnAsync(entity).ConfigureAwait(false);
+ if (entity.Remark != "接口数据")
+ {
+ await CreateSupplierAsnAsync(entity).ConfigureAwait(false);
+ }
}
//批量创建
@@ -78,7 +75,10 @@ public class PurchaseOrderEventHandler
foreach (var entity in entities)
{
- await CreateSupplierAsnAsync(entity).ConfigureAwait(false);
+ if (entity.Remark != "接口数据")
+ {
+ await CreateSupplierAsnAsync(entity).ConfigureAwait(false);
+ }
}
}
@@ -95,18 +95,25 @@ public class PurchaseOrderEventHandler
//构造供应商到货DTO
private async Task BuildSupplierAsnAsync(PurchaseOrder purchaseOrder)
{
- var supplierAsnEditInput= ObjectMapper.Map(purchaseOrder);
- supplierAsnEditInput.Details = new EditableList();//导入的是采购订单 所以下面要根据标包计算 拆成多个发货单
+ var supplierAsnEditInput = ObjectMapper.Map(purchaseOrder);
+ supplierAsnEditInput.Details = new EditableList(); //导入的是采购订单 所以下面要根据标包计算 拆成多个发货单
//所有的物品Code
- var itemCodes = purchaseOrder.Details.GroupBy(p =>new{ p.ItemCode,p.Lot}).Select(p => p.Key.ItemCode);
+ var itemCodes = purchaseOrder.Details.GroupBy(p => new { p.ItemCode, p.Lot }).Select(p => p.Key.ItemCode);
//收货口
var dock = await _dockAppService.GetAllListByFilterAsync(
- new SfsBaseDataRequestInputBase() { Condition = new Condition() { Filters = new List() }, MaxResultCount = 99, SkipCount = 0, Sorting = string.Empty }, true).ConfigureAwait(false);
+ new SfsBaseDataRequestInputBase
+ {
+ Condition = new Condition { Filters = new List() },
+ MaxResultCount = 99,
+ SkipCount = 0,
+ Sorting = string.Empty
+ }, true).ConfigureAwait(false);
//供应商窗口
- var supplierTimeWindowDtos = await _supplierTimeWindowAppService.GetListBySupplierCodeAsync(purchaseOrder.SupplierCode).ConfigureAwait(false);
+ var supplierTimeWindowDtos = await _supplierTimeWindowAppService
+ .GetListBySupplierCodeAsync(purchaseOrder.SupplierCode).ConfigureAwait(false);
if (!supplierTimeWindowDtos.Any())
{
throw new UserFriendlyException($"供应商窗口【{purchaseOrder.SupplierCode}】没设置");
@@ -114,21 +121,22 @@ public class PurchaseOrderEventHandler
//一次性返回所有物品信息
var itemBasicDtos = await _itemBasicAppService.GetByCodesAsync(itemCodes).ConfigureAwait(false);
- var ItemPacks = new List();//一次性返回所有物品包装信息
- var supplierItemDtos = new List();//一次性返回所有供应商物品信息
+ var ItemPacks = new List(); //一次性返回所有物品包装信息
+ var supplierItemDtos = new List(); //一次性返回所有供应商物品信息
//供应商信息
- var supplierDto =await _supplierAppService.GetByCodeAsync(purchaseOrder.SupplierCode).ConfigureAwait(false);
+ var supplierDto = await _supplierAppService.GetByCodeAsync(purchaseOrder.SupplierCode).ConfigureAwait(false);
//所有的标签
- List inventoryLabelEditInputs = new List();
+ var inventoryLabelEditInputs = new List();
- foreach (var itemCode in itemCodes)//查询
+ foreach (var itemCode in itemCodes) //查询
{
//var itemPackDtos = await _itemPackAppService.GetListByItemCodeAsync(itemCode).ConfigureAwait(false);
//var itemPackDto = itemPackDtos.First();
//ItemPacks.Add(itemPackDto);
- var supplierItem = await _supplierItemAppService.GetBySupplierCodeAndItemCodeAsync(purchaseOrder.SupplierCode, itemCode).ConfigureAwait(false);
+ var supplierItem = await _supplierItemAppService
+ .GetBySupplierCodeAndItemCodeAsync(purchaseOrder.SupplierCode, itemCode).ConfigureAwait(false);
supplierItemDtos.Add(supplierItem);
}
@@ -142,8 +150,8 @@ public class PurchaseOrderEventHandler
//日期 //todo 这几个日期 有点问题
supplierAsnEditInput.ShipDate = purchaseOrder.OrderDate;
- supplierAsnEditInput.PlanArriveDate= purchaseOrder.Details.First().PlanArriveDate;
- supplierAsnEditInput.Ctype= purchaseOrder.Details.First().Ctype;
+ supplierAsnEditInput.PlanArriveDate = purchaseOrder.Details.First().PlanArriveDate;
+ supplierAsnEditInput.Ctype = purchaseOrder.Details.First().Ctype;
supplierAsnEditInput.PlanUserCode = purchaseOrder.Details.First().PlanUserCode;
//新到货
@@ -156,21 +164,31 @@ public class PurchaseOrderEventHandler
supplierAsnEditInput.CreateType = EnumSupplierAsnCreateType.Import;
//供应商时间窗口
- var dayOfWeek = new List() { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
- var chineseWeek= dayOfWeek[Clock.Now.DayOfWeek.GetHashCode()]; //中文星期
- var dateTimeWindowDto=supplierTimeWindowDtos.FirstOrDefault(p => p.Week == chineseWeek);
+ var dayOfWeek = new List
+ {
+ "星期日",
+ "星期一",
+ "星期二",
+ "星期三",
+ "星期四",
+ "星期五",
+ "星期六"
+ };
+ var chineseWeek = dayOfWeek[Clock.Now.DayOfWeek.GetHashCode()]; //中文星期
+ var dateTimeWindowDto = supplierTimeWindowDtos.FirstOrDefault(p => p.Week == chineseWeek);
if (dateTimeWindowDto == null)
{
throw new UserFriendlyException($"供应商时间窗口当前时间【{chineseWeek}】不存在");
}
-
+
supplierAsnEditInput.TimeWindow = dateTimeWindowDto.TimeSlot;
//生效日期
supplierAsnEditInput.ActiveDate = Clock.Now;
//发货单号
- supplierAsnEditInput.Number = await _supplierAsnAppService.GenerateSupplierAsnNumberAsync(supplierAsnEditInput.ActiveDate).ConfigureAwait(false);
+ supplierAsnEditInput.Number = await _supplierAsnAppService
+ .GenerateSupplierAsnNumberAsync(supplierAsnEditInput.ActiveDate).ConfigureAwait(false);
#endregion
@@ -182,7 +200,7 @@ public class PurchaseOrderEventHandler
//todo 一个物品多个包装?怎么取值
//标包数
- var itemPackDto = itemBasicDtos.First(p=>p.Code== purchaseOrderDetaildetail.ItemCode).StdPackQty;
+ var itemPackDto = itemBasicDtos.First(p => p.Code == purchaseOrderDetaildetail.ItemCode).StdPackQty;
//总箱数
var itemPackingCount = (int)(itemQty / itemPackDto);
@@ -200,7 +218,7 @@ public class PurchaseOrderEventHandler
//添加物品信息
var itemBasicDto = itemBasicDtos.First(p => p.Code == purchaseOrderDetaildetail.ItemCode);
-
+
//供应商物品
var supplierItemDto = supplierItemDtos.First(p =>
p.ItemCode == purchaseOrderDetaildetail.ItemCode && p.SupplierCode == purchaseOrder.SupplierCode);
@@ -212,7 +230,8 @@ public class PurchaseOrderEventHandler
for (var i = 0; i < itemPackingCount; i++)
{
- var supplierAsnDetailInput = ObjectMapper.Map(purchaseOrderDetaildetail);
+ var supplierAsnDetailInput =
+ ObjectMapper.Map(purchaseOrderDetaildetail);
//添加箱码
var pakcingCode = generateManyAsync.First();
supplierAsnDetailInput.PackingCode = pakcingCode;
@@ -237,11 +256,12 @@ public class PurchaseOrderEventHandler
supplierAsnDetailInput.RecommendErpCode = purchaseOrderDetaildetail.LocationErpCode;
supplierAsnDetailInput.PoNumber = purchaseOrder.Number;
- supplierAsnDetailInput.Qty = itemQty>itemPackDto ? itemPackDto : itemQty;
+ supplierAsnDetailInput.Qty = itemQty > itemPackDto ? itemPackDto : itemQty;
- itemQty-=itemPackDto;
+ itemQty -= itemPackDto;
- var InventoryLabelEditInput = await BuildInventoryLabelEditInputAsync(supplierAsnEditInput, supplierAsnDetailInput, supplierDto, itemBasicDto, supplierItemDto).ConfigureAwait(false);
+ var InventoryLabelEditInput = await BuildInventoryLabelEditInputAsync(supplierAsnEditInput,
+ supplierAsnDetailInput, supplierDto, itemBasicDto, supplierItemDto).ConfigureAwait(false);
inventoryLabelEditInputs.Add(InventoryLabelEditInput);
supplierAsnEditInput.Details.Add(supplierAsnDetailInput);
@@ -256,7 +276,7 @@ public class PurchaseOrderEventHandler
}
///
- /// 创建 构造标签
+ /// 创建 构造标签
///
///
///
@@ -303,7 +323,7 @@ public class PurchaseOrderEventHandler
inputLabel.RecommendLocationCode = supplierAsnDetail.RecommendErpCode;
inputLabel.Remark = supplierAsnDetail.Remark;
inputLabel.Code = supplierAsnDetail.PackingCode;
- inputLabel.PlanArriveDate=supplierAsn.PlanArriveDate;
+ inputLabel.PlanArriveDate = supplierAsn.PlanArriveDate;
inputLabel.Qty = supplierAsnDetail.Qty;
inputLabel.Uom = supplierAsnDetail.Uom;
@@ -314,13 +334,13 @@ public class PurchaseOrderEventHandler
inputLabel.ItemDesc2 = itemBasicDto.Desc2;
inputLabel.ExpireDate = DateTime.Now.AddDays(itemBasicDto.GetValidateDays());
-
+
inputLabel.ExtraProperties = new ExtraPropertyDictionary();
inputLabel.LabelStatus = LabelStatus.Enable;
-
+
inputLabel.Specifications = itemBasicDto.Color;
inputLabel.StdPackQty = itemBasicDto.StdPackQty;
-
+
inputLabel.SupplierItemCode = supplierItemDto.SupplierItemCode;
inputLabel.SupplierItemName = supplierItemDto.ItemName;
inputLabel.SupplierName = supplierDto.Name;
@@ -329,7 +349,7 @@ public class PurchaseOrderEventHandler
inputLabel.ProdLine = string.Empty;
inputLabel.QLevel = string.Empty;
inputLabel.QualityFile = string.Empty;
-
+
inputLabel.Shift = string.Empty;
inputLabel.ContainerCode = string.Empty;