diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs index 4d1ebb37b..4edd22ff0 100644 --- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs +++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs @@ -658,6 +658,8 @@ public class BalanceAppService [HttpPost("update/item-basic-info")] public async Task UpdateItemBasicInfoAsync(BalanceUpdateItemBasicInfoDto balanceUpdateItemBasicInfoDto) { + //停用,可能用其他处理方案 + return; // 物品编码 var itemCodes = balanceUpdateItemBasicInfoDto.BalanceUpdateItemBasicInfos?.Select(c => c.ItemCode); itemCodes = itemCodes?.Where(t => string.IsNullOrWhiteSpace(t) == false); diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Inventory/EnumTransSubType.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Inventory/EnumTransSubType.cs index 1434da8ce..57d1e43cd 100644 --- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Inventory/EnumTransSubType.cs +++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Inventory/EnumTransSubType.cs @@ -134,9 +134,9 @@ public enum EnumTransSubType Issue_SafetyStock = 1504, /// - /// 直接发料 + /// 非生产调拨 /// - [Display(Name = "直接发料")] + [Display(Name = "非生产调拨")] Issue_Direct = 1505, /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/DTOs/CountPlanForNoteExportDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/DTOs/CountPlanForNoteExportDTO.cs index 84b6434e7..ff01cb52e 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/DTOs/CountPlanForNoteExportDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/DTOs/CountPlanForNoteExportDTO.cs @@ -26,7 +26,7 @@ public class CountPlanForNoteExportDTO /// /// 物品代码 /// - [Display(Name = "物料号")] + [Display(Name = "物品代码")] [Required(ErrorMessage = "{0}是必填项")] public string ItemCode { get; set; } @@ -36,6 +36,24 @@ public class CountPlanForNoteExportDTO [Display(Name = "物品名称")] public string ItemName { get; set; } + /// + /// 物品描述1 + /// + [Display(Name = "物品描述1")] + public string ItemDesc1 { get; set; } + + /// + /// 物品描述2 + /// + [Display(Name = "物品描述2")] + public string ItemDesc2 { get; set; } + + /// + /// 配置码 + /// + [Display(Name = "配置码")] + public string Configuration { get; set; } + /// /// 箱码 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs index cf4254513..bba258161 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs @@ -13,6 +13,7 @@ using Win_in.Sfs.Wms.Store.Domain.Shared; namespace Win_in.Sfs.Wms.Store.Application; +using Win_in.Sfs.Basedata.Application; using Win_in.Sfs.Shared.Application.Contracts; using Win_in.Sfs.Shared.Domain; @@ -36,13 +37,15 @@ public class CountPlanAppService : private readonly ICountPlanManager _countPlanManager; private readonly ITransactionTypeAppService _transactionTypeAppService; + private readonly IItemBasicAppService _itemBasicAppService; public CountPlanAppService(ICountPlanRepository repository, ICountPlanManager countPlanManager, - ITransactionTypeAppService transactionTypeAppService) : base(repository, countPlanManager) + ITransactionTypeAppService transactionTypeAppService, IItemBasicAppService itemBasicAppService) : base(repository, countPlanManager) { _countPlanManager = countPlanManager; _transactionTypeAppService = transactionTypeAppService; + _itemBasicAppService = itemBasicAppService; base.CreatePolicyName = CountPlanPermissions.Create; base.UpdatePolicyName = CountPlanPermissions.Update; @@ -63,13 +66,13 @@ public class CountPlanAppService : entity.Worker = CurrentUser.GetUserName(); - TransactionTypeDTO tranTypeDTO = null; + TransactionTypeDTO tranTypeDto = null; switch (input.RequestType) { case CountPlanRequestType.Manual: - tranTypeDTO = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.CountPlan, + tranTypeDto = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.CountPlan, EnumTransSubType.ArtificialCountPlan).ConfigureAwait(false); - if (tranTypeDTO == null) + if (tranTypeDto == null) { throw new UserFriendlyException( $"盘点方式 {input.RequestType} 没有设置库存事务类型。主事务类型{EnumTransType.CountPlan}," + @@ -78,9 +81,9 @@ public class CountPlanAppService : break; case CountPlanRequestType.Import: - tranTypeDTO = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.CountPlan, + tranTypeDto = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.CountPlan, EnumTransSubType.ExcelInCountPlan).ConfigureAwait(false); - if (tranTypeDTO == null) + if (tranTypeDto == null) { throw new UserFriendlyException( $"盘点方式 {input.RequestType} 没有设置库存事务类型。主事务类型{EnumTransType.CountPlan}," + @@ -93,11 +96,11 @@ public class CountPlanAppService : throw new UserFriendlyException($"{input.RequestType}盘点方式设置错误"); } - entity.AutoCompleteJob = tranTypeDTO.AutoCompleteJob; - entity.AutoSubmit = tranTypeDTO.AutoSubmitRequest; - entity.AutoAgree = tranTypeDTO.AutoAgreeRequest; - entity.AutoHandle = tranTypeDTO.AutoHandleRequest; - entity.DirectCreateNote = tranTypeDTO.DirectCreateNote; + entity.AutoCompleteJob = tranTypeDto.AutoCompleteJob; + entity.AutoSubmit = tranTypeDto.AutoSubmitRequest; + entity.AutoAgree = tranTypeDto.AutoAgreeRequest; + entity.AutoHandle = tranTypeDto.AutoHandleRequest; + entity.DirectCreateNote = tranTypeDto.DirectCreateNote; await _countPlanManager.CreateWithConditionAsync(entity, input.PartCondition, input.LocCondition, input.LocCondition, input.StatusList).ConfigureAwait(false); @@ -185,6 +188,7 @@ public class CountPlanAppService : foreach (var detail in request.Details) { var note = new CountPlanForNoteExportDTO(); + var itemBasicDto = await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); note.CountPlanNumber = request.Number; note.LocationCode = detail.LocationCode; @@ -192,6 +196,9 @@ public class CountPlanAppService : note.ItemName = detail.ItemName; note.PackingCode = detail.PackingCode; note.ContainerCode = detail.ContainerCode; + note.ItemDesc1=detail.ItemDesc1; + note.ItemDesc2 = detail.ItemDesc1; + note.Configuration = itemBasicDto.Configuration; note.Lot = detail.Lot; note.InventoryQty = detail.InventoryQty; note.FirstCountQty = detail.FirstCountQty; diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs index f0c42a09b..846c509cc 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs @@ -132,6 +132,24 @@ public class CountPlanManager : SfsStoreRequestManagerBase p.Code).Distinct().ToList(); + + //同一个库位不能同时盘点 + var countPlans=await _repository.GetListAsync(p => + p.RequestStatus != EnumRequestStatus.Abort && + p.RequestStatus != EnumRequestStatus.Refused&& + p.RequestStatus !=EnumRequestStatus.None&& + p.RequestStatus !=EnumRequestStatus.Completed&& + p.RequestStatus !=EnumRequestStatus.Cancelled,true + ).ConfigureAwait(false); + foreach (var countPlan in countPlans) + { + var countPlanDetails = countPlan.Details.Where(p => selectLocationCodes.Contains(p.LocationCode)).ToList(); + if (countPlanDetails != null && countPlanDetails.Count() > 0) + { + throw new UserFriendlyException($"库位只能存在于一个盘点计划中,盘点计划号【{countPlan.Number}】中已包含【{countPlanDetails.First().LocationCode}】库位。"); + } + } + } //状态查询 var statusStr = System.Text.Json.JsonSerializer.Serialize(selectStatusList.Select(p => (int)p).ToList());