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());