From dc082d4e7a704dd571f9194733a82a1a1f26d79a Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Mon, 24 Apr 2023 15:25:49 +0800 Subject: [PATCH 1/3] =?UTF-8?q?tyrp=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Plans/PlanManager.cs | 4 +++- .../Incoming/ProductReader.cs | 2 +- .../appsettings.json | 2 +- .../Incoming/DictConverter.cs | 4 ++++ .../Incoming/SupplierConverter.cs | 1 + .../Incoming/TyrpIncomingBackgroundWorker.cs | 2 +- .../appsettings.json | 14 +++++++------- .../appsettings.json | 14 +++++++------- 8 files changed, 25 insertions(+), 18 deletions(-) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/PlanManager.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/PlanManager.cs index eaceb8c69..b9a3f91ba 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/PlanManager.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/PlanManager.cs @@ -32,6 +32,8 @@ public class PlanManager : DomainService, IPlanManager p.WmsState = 1; p.WmsDate = Clock.Now; }); - await _repository.BulkUpdateAsync(plans).ConfigureAwait(false); + //await _repository.BulkUpdateAsync(plans).ConfigureAwait(false); + + await _repository.UpdateManyAsync(plans).ConfigureAwait(false); } } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ProductReader.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ProductReader.cs index 45e9c53a1..aea4041b4 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ProductReader.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ProductReader.cs @@ -45,7 +45,7 @@ public class ProductReader : IReader return new List(); } //Product逐一转换为ItemPack - var incomingDataList = BuildIncomingFromExternalFromProductAsync(toBeProcessedProducts.Where(r => string.IsNullOrWhiteSpace(r.Code)).ToList()); + var incomingDataList = BuildIncomingFromExternalFromProductAsync(toBeProcessedProducts.Where(r => !string.IsNullOrWhiteSpace(r.Code)).ToList()); await _incomingFromExternalManager.CreateBulkAsync(incomingDataList).ConfigureAwait(false); return incomingDataList; diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/appsettings.json b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/appsettings.json index 87fb22fe9..a00c200c9 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/appsettings.json +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/appsettings.json @@ -1,7 +1,7 @@ { "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=DataExchange_Main;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", "EOS": "Server=61.139.155.47;Database=EOSSH;Uid=wms;Pwd=1;TrustServerCertificate=True" }, diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictConverter.cs index be7906816..0499c7eae 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictConverter.cs @@ -8,6 +8,7 @@ using Volo.Abp.ObjectMapping; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Wms.DataExchange.Domain; using Win_in.Sfs.Wms.DataExchange.WMS.Dict; +using static StackExchange.Redis.Role; namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent.Incoming; @@ -68,10 +69,13 @@ public class DictConverter : IIncomingConverter var exchangeDictRequest = JsonSerializer.Deserialize(first.DestinationDataContent); var wmsDictRequest = _objectMapper.Map(exchangeDictRequest); wmsDictRequest.Items = new List(); + var masterId = _guidGenerator.Create(); foreach (var incomingFromExternal in group.ToList()) { var dictlRequest = JsonSerializer.Deserialize(incomingFromExternal.DestinationDataContent); var wmsDictItemRequest = _objectMapper.Map(exchangeDictRequest.Detail); + wmsDictItemRequest.Id = _guidGenerator.Create(); + wmsDictItemRequest.MasterId = masterId; wmsDictItemRequest.Enabled = true; wmsDictRequest.Items.Add(wmsDictItemRequest); } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/SupplierConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/SupplierConverter.cs index 49bbf2cc4..59155ccd0 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/SupplierConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/SupplierConverter.cs @@ -27,6 +27,7 @@ public class SupplierConverter : IIncomingConverter ) { + _incomingFromExternalManager = incomingFromExternalManage; _incomingToWmsManager = incomingToWmsManager; _objectMapper = objectMapper; _logger = logger; diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/TyrpIncomingBackgroundWorker.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/TyrpIncomingBackgroundWorker.cs index 3e8197b79..81dc7c649 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/TyrpIncomingBackgroundWorker.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/TyrpIncomingBackgroundWorker.cs @@ -117,7 +117,7 @@ public class TyrpIncomingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase //读取并保存Dictpj var dictpjOutsFromExternalList = await DictpjReader.ReadAsync().ConfigureAwait(false); //转换Dictpj - await dictConverter.ConvertAsync(dictOutsFromExternalList).ConfigureAwait(false); + await dictConverter.ConvertAsync(dictpjOutsFromExternalList).ConfigureAwait(false); Logger.LogInformation($"Read Customer");//客户资料 var CustomerReader = workerContext.ServiceProvider.GetRequiredService(); diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/appsettings.json b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/appsettings.json index aeba77ac9..263acf7e6 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/appsettings.json +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/appsettings.json @@ -1,13 +1,13 @@ { "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=DataExchange_Main;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", "TYRP": "Server=10.164.113.32,1818\\SHDB;Database=TYRP;Uid=ShWmsUser;Pwd=Faty@Wms_20230413#SH;TrustServerCertificate=True", - "SYBASE_TYRP": "Data Source=10.164.115.137; Port=5000; Database=mesdb; Uid=mesuser; Pwd=mesuser1234;Charset=cp850;" //iso_1 + "SYBASE_TYRP": "Data Source=10.164.115.137; Port=5000; Database=mesdb; Uid=sa; Pwd=dawning;Charset=cp850;" //iso_1 }, "AuthServer": { - "Authority": "http://dev.ccwin-in.com:60083/", + "Authority": "http://10.164.113.31:60083/", "RequireHttpsMetadata": "false", "SwaggerClientId": "admin", "SwaggerClientSecret": "1q2w3E*", @@ -26,16 +26,16 @@ "RemoteServices": { "BaseData": { - "BaseUrl": "http://dev.ccwin-in.com:60084/" + "BaseUrl": "http://10.164.113.31:60084/" }, "Store": { - "BaseUrl": "http://dev.ccwin-in.com:60085/" + "BaseUrl": "http://10.164.113.31:60085/" }, "Label": { - "BaseUrl": "http://dev.ccwin-in.com:60082/" + "BaseUrl": "http://10.164.113.31:60082/" }, "Auth": { - "BaseUrl": "http://dev.ccwin-in.com:60083/" + "BaseUrl": "http://10.164.113.31:60083/" } }, "TyrpOptions": { diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/appsettings.json b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/appsettings.json index f42f6248d..f4e3a4d33 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/appsettings.json +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/appsettings.json @@ -1,13 +1,13 @@ { "ConnectionStrings": { - "Default": "Server=10.164.113.32,1818\\SHDB;Database=DataExchange_Main;uid=ShWmsUser;pwd=Faty@Wms_20230413#SH;TrustServerCertificate=True", - "DataExchange": "Server=10.164.113.32,1818\\SHDB;Database=DataExchange_Main;uid=ShWmsUser;pwd=Faty@Wms_20230413#SH;TrustServerCertificate=True" + "Default": "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.113.32,1818\\SHDB;Database=Wms_DataExchange_Main_Dy_ShangHai;uid=ShWmsUser;pwd=Faty@Wms_20230413#SH;TrustServerCertificate=True" }, "AuthServer": { - "Authority": "http://dev.ccwin-in.com:60083/", + "Authority": "http://10.164.113.31:60083/", "RequireHttpsMetadata": "false", "SwaggerClientId": "admin", "SwaggerClientSecret": "1q2w3E*", @@ -26,16 +26,16 @@ "RemoteServices": { "BaseData": { - "BaseUrl": "http://dev.ccwin-in.com:60084/" + "BaseUrl": "http://10.164.113.31:60084/" }, "Store": { - "BaseUrl": "http://dev.ccwin-in.com:60085/" + "BaseUrl": "http://10.164.113.31:60085/" }, "Label": { - "BaseUrl": "http://dev.ccwin-in.com:60082/" + "BaseUrl": "http://10.164.113.31:60082/" }, "Auth": { - "BaseUrl": "http://dev.ccwin-in.com:60083/" + "BaseUrl": "http://10.164.113.31:60083/" } }, "DataExchangeOptions": { From 098c500945efd0c574657ae0019cc2e10a294118 Mon Sep 17 00:00:00 2001 From: "boxu.zheng" Date: Mon, 24 Apr 2023 15:37:55 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseOrders/PurchaseOrderAppService.cs | 75 +++++++++++++++++-- .../StoreDataExchangeEventHandlerBase.cs | 7 +- .../Transactions/BackFlushNoteEventHandler.cs | 5 ++ 3 files changed, 77 insertions(+), 10 deletions(-) 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 c66e42ebc..af8b2d953 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 @@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Volo.Abp; +using Volo.Abp.Domain.Entities; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Shared.Domain.Shared; @@ -53,32 +54,90 @@ public class PurchaseOrderAppService : protected override async Task> ImportProcessingEntityAsync( Dictionary dictionary) { - var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key); + var ImportData = dictionary.Select(p => p.Key); - foreach (var purchaseOrder in addList) + var supplierDtos = new List(); + #region 校验供应商 + + var allSupplierCode = ImportData.Select(p => p.SupplierCode).ToList();//所有供应商编号 + supplierDtos = await CheckSupplierCodeAsync(allSupplierCode).ConfigureAwait(false); + + #endregion + + var itemBasicDtos = new List(); + #region 校验物品 + + var allTempItemCode = ImportData.Select(p => p.Details.Select(p => p.ItemCode).ToList()).ToList(); + var allItemCode = new List(); + allTempItemCode.ForEach(p => { allItemCode.AddRange(p); }); + itemBasicDtos = await CheckItemCodeAsync(allItemCode).ConfigureAwait(false); + + #endregion + + foreach (var purchaseOrder in ImportData) { purchaseOrder.CreatorId = CurrentUser.Id; purchaseOrder.Worker = CurrentUser.GetName(); - var supplierDto = - await _supplierAppService.GetByCodeAsync(purchaseOrder.SupplierCode).ConfigureAwait(false); + var supplierDto = supplierDtos.First(p => p.Code == purchaseOrder.SupplierCode); purchaseOrder.SupplierCode = supplierDto.Code; purchaseOrder.SupplierAddress = supplierDto.Address; purchaseOrder.SupplierName = supplierDto.Name; foreach (var detail in purchaseOrder.Details) { - var itemBasicDto = await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); + var itemBasicDto = itemBasicDtos.First(p => p.Code == detail.ItemCode); detail.ItemName = itemBasicDto.Name; detail.ItemDesc1 = itemBasicDto.Desc1; detail.ItemDesc2 = itemBasicDto.Desc2; + detail.StdPackQty=itemBasicDto.StdPackQty; } } return dictionary; } + #region 校验 + + /// + /// 校验所有供应商是否存在 + /// + /// + private async Task> CheckSupplierCodeAsync(List supplierCodes) + { + supplierCodes = supplierCodes.Distinct().ToList(); + var result = await _supplierAppService.GetByCodesAsync(supplierCodes).ConfigureAwait(false); + + foreach (var supplierCode in supplierCodes) + { + if (result.All(p => p.Code != supplierCode)) + { + throw new UserFriendlyException($"供应商代码【{supplierCode}】不存在"); + } + } + + return result; + } + + private async Task> CheckItemCodeAsync(List itemCodes) + { + itemCodes = itemCodes.Distinct().ToList(); + var result = await _itemBasicAppService.GetByCodesAsync(itemCodes).ConfigureAwait(false); + + foreach (var itemCode in itemCodes) + { + if (result.All(p => p.Code != itemCode)) + { + throw new UserFriendlyException($"供应商代码【{itemCode}】不存在"); + } + } + + return result; + } + + #endregion + #endregion /// @@ -237,12 +296,12 @@ public class PurchaseOrderAppService : [HttpGet("get-list-by-supplier-code-and-item-code")] public virtual async Task> GetListBySupplierCodeAsync(string supplierCode, string itemCode) { - var entitys = await _repository.GetListAsync(p => p.Details.Any(y => y.ItemCode == itemCode) && p.SupplierCode == supplierCode).ConfigureAwait(false); + var entitys = await _repository + .GetListAsync(p => p.Details.Any(y => y.ItemCode == itemCode) && p.SupplierCode == supplierCode) + .ConfigureAwait(false); var dtos = ObjectMapper.Map, List>(entitys); return dtos; } - - } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Bases/StoreDataExchangeEventHandlerBase.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Bases/StoreDataExchangeEventHandlerBase.cs index c0675f55b..c57663924 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Bases/StoreDataExchangeEventHandlerBase.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Bases/StoreDataExchangeEventHandlerBase.cs @@ -24,8 +24,11 @@ public abstract class StoreDataExchangeEventHandlerBase : StoreEventHandlerBa protected async Task GetActiveDateAsync() { - var activeDate = await InterfaceCalendarAppService.GetActiveDateAsync(Clock.Now).ConfigureAwait(false); - return activeDate; + //todo 报错 + //var activeDate = await InterfaceCalendarAppService.GetActiveDateAsync(Clock.Now).ConfigureAwait(false); + //return activeDate; + + return DateTime.Now; } protected async Task> BuildExchangeDataAsync(string sourceSystem, diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/BackFlushNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/BackFlushNoteEventHandler.cs index 67737017d..00d45ab6a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/BackFlushNoteEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/BackFlushNoteEventHandler.cs @@ -68,6 +68,11 @@ public class BackFlushNoteEventHandler transaction.DocNumber = backFlushNote.Number; transaction.JobNumber = backFlushNote.JobNumber; transaction.Status = detail.Status; + transaction.LocationArea = detail.LocationArea; + transaction.LocationGroup=detail.LocationGroup; + transaction.LocationCode=detail.LocationCode; + transaction.LocationErpCode=detail.LocationErpCode; + transaction.WarehouseCode=detail.WarehouseCode; transactions.Add(transaction); } From e69183ab07fd4dd9f9e66ec5e3f0f325349e38a7 Mon Sep 17 00:00:00 2001 From: "boxu.zheng" Date: Mon, 24 Apr 2023 16:15:10 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseOrders/PurchaseOrderAppService.cs | 42 +++++++++---------- .../PurchaseOrders/PurchaseOrderManager.cs | 2 +- .../Orders/PurchaseOrderEventHandler.cs | 25 ++++++----- 3 files changed, 36 insertions(+), 33 deletions(-) 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 af8b2d953..6620567aa 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 @@ -98,6 +98,27 @@ public class PurchaseOrderAppService : return dictionary; } + /// + /// 【创建】采购订单 + /// + /// + /// + [HttpPost("")] + public override async Task CreateAsync(PurchaseOrderEditInput input) + { + if (string.IsNullOrWhiteSpace(input.Number)) + { + input.Number = await _purchaseOrderManager + .GenerateNumberAsync(nameof(PurchaseOrder), Clock.Normalize(input.ActiveDate)).ConfigureAwait(false); + } + + var entity = ObjectMapper.Map(input); + + await _purchaseOrderManager.CreateAsync(entity).ConfigureAwait(false); + + return ObjectMapper.Map(entity); + } + #region 校验 /// @@ -140,27 +161,6 @@ public class PurchaseOrderAppService : #endregion - /// - /// 【创建】采购订单 - /// - /// - /// - [HttpPost("")] - public override async Task CreateAsync(PurchaseOrderEditInput input) - { - if (string.IsNullOrWhiteSpace(input.Number)) - { - input.Number = await _purchaseOrderManager - .GenerateNumberAsync(nameof(PurchaseOrder), Clock.Normalize(input.ActiveDate)).ConfigureAwait(false); - } - - var entity = ObjectMapper.Map(input); - - await _purchaseOrderManager.CreateAsync(entity).ConfigureAwait(false); - - return ObjectMapper.Map(entity); - } - /// /// 【批量创建】采购订单 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Orders/PurchaseOrders/PurchaseOrderManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Orders/PurchaseOrders/PurchaseOrderManager.cs index c87e0fc62..721b1c17c 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Orders/PurchaseOrders/PurchaseOrderManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Orders/PurchaseOrders/PurchaseOrderManager.cs @@ -54,8 +54,8 @@ public class PurchaseOrderManager : SfsStoreManagerBase 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 5b8074599..143c43909 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 @@ -107,6 +107,10 @@ public class PurchaseOrderEventHandler //供应商窗口 var supplierTimeWindowDtos = await _supplierTimeWindowAppService.GetListBySupplierCodeAsync(purchaseOrder.SupplierCode).ConfigureAwait(false); + if (!supplierTimeWindowDtos.Any()) + { + throw new UserFriendlyException($"供应商窗口【{purchaseOrder.SupplierCode}】没设置"); + } //一次性返回所有物品信息 var itemBasicDtos = await _itemBasicAppService.GetByCodesAsync(itemCodes).ConfigureAwait(false); @@ -173,13 +177,13 @@ public class PurchaseOrderEventHandler //todo 一个物品多个包装?怎么取值 //标包数 - var itemPackDto=ItemPacks.First(p => p.ItemCode == purchaseOrderDetaildetail.ItemCode); + var itemPackDto = itemBasicDtos.First(p=>p.Code== purchaseOrderDetaildetail.ItemCode).StdPackQty; //总箱数 - var itemPackingCount = (int)(itemQty / itemPackDto.Qty); - if (itemQty > itemPackDto.Qty) + var itemPackingCount = (int)(itemQty / itemPackDto); + if (itemQty > itemPackDto) { - if (itemQty % itemPackDto.Qty != 0) + if (itemQty % itemPackDto != 0) { itemPackingCount++; } @@ -214,7 +218,7 @@ public class PurchaseOrderEventHandler supplierAsnDetailInput.ItemDesc2 = itemBasicDto.Desc2; //标包 - supplierAsnDetailInput.StdPackQty = itemPackDto.Qty; + supplierAsnDetailInput.StdPackQty = itemPackDto; supplierAsnDetailInput.SupplierPackQty = supplierItemDto.SupplierPackQty; supplierAsnDetailInput.SupplierPackUom = supplierItemDto.SupplierPackUom; @@ -228,11 +232,11 @@ public class PurchaseOrderEventHandler supplierAsnDetailInput.RecommendErpCode = purchaseOrderDetaildetail.LocationErpCode; supplierAsnDetailInput.PoNumber = purchaseOrder.Number; - supplierAsnDetailInput.Qty = itemQty>itemPackDto.Qty ? itemPackDto.Qty : itemQty; + supplierAsnDetailInput.Qty = itemQty>itemPackDto ? itemPackDto : itemQty; - itemQty-=itemPackDto.Qty; + itemQty-=itemPackDto; - var InventoryLabelEditInput = await BuildInventoryLabelEditInputAsync(supplierAsnEditInput, supplierAsnDetailInput, supplierDto, itemBasicDto, supplierItemDto, itemPackDto).ConfigureAwait(false); + var InventoryLabelEditInput = await BuildInventoryLabelEditInputAsync(supplierAsnEditInput, supplierAsnDetailInput, supplierDto, itemBasicDto, supplierItemDto).ConfigureAwait(false); inventoryLabelEditInputs.Add(InventoryLabelEditInput); supplierAsnEditInput.Details.Add(supplierAsnDetailInput); @@ -260,8 +264,7 @@ public class PurchaseOrderEventHandler SupplierAsnDetailInput supplierAsnDetail, SupplierDTO supplierDto, ItemBasicDTO itemBasicDto, - SupplierItemDTO supplierItemDto, - ItemPackDTO itemPackDto) + SupplierItemDTO supplierItemDto) { if (itemBasicDto == null) @@ -308,7 +311,7 @@ public class PurchaseOrderEventHandler inputLabel.LabelStatus = LabelStatus.Enable; inputLabel.Specifications = itemBasicDto.Color; - inputLabel.StdPackQty = itemPackDto.Qty; + inputLabel.StdPackQty = itemBasicDto.StdPackQty; inputLabel.SupplierItemCode = supplierItemDto.SupplierItemCode; inputLabel.SupplierItemName = supplierItemDto.ItemName;