Browse Source

位置码状态修改

dev_DY_CC
lvzb 12 months ago
parent
commit
42254b6d2e
  1. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/PositionCode/DTOs/PositionCodeDTO.cs
  2. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/PositionCode/Inputs/PositionCodeEditInput.cs
  3. 6
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/PositionCode/Inputs/PositionCodeImportInput.cs
  4. 28
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PositionCodes/PositionCodeAppService.cs
  5. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/PositionCodes/PositionCode.cs
  6. 36
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumPositionCodeType.cs

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/PositionCode/DTOs/PositionCodeDTO.cs

@ -59,5 +59,5 @@ public class PositionCodeDTO : SfsBaseDataDTOBase, IHasCode
/// 类型
/// </summary>
[Display(Name = "类型")]
public EnumRecommendType Type { get; set; }
public EnumPositionCodeType Type { get; set; }
}

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/PositionCode/Inputs/PositionCodeEditInput.cs

@ -51,7 +51,7 @@ public class PositionCodeEditInput : SfsBaseDataCreateOrUpdateInputBase
/// </summary>
[Display(Name = "类型")]
[Required(ErrorMessage = "{0}是必填项")]
public EnumRecommendType Type { get; set; }
public EnumPositionCodeType Type { get; set; }
#endregion

6
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/PositionCode/Inputs/PositionCodeImportInput.cs

@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
@ -56,13 +57,14 @@ public class PositionCodeImportInput : SfsBaseDataImportInputBase
/// <summary>
/// 箱数/数量
/// </summary>
[Display(Name = "箱数/数量")]
[Display(Name = "箱数/数量")]
[Required(ErrorMessage = "{0}是必填项")]
public decimal StdPackQty { get; set; }
/// <summary>
/// 类型
/// </summary>
[Display(Name = "类型")]
[Required(ErrorMessage = "{0}是必填项")]
public EnumRecommendType Type { get; set; }
public EnumPositionCodeType Type { get; set; }
}

28
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PositionCodes/PositionCodeAppService.cs

@ -67,28 +67,14 @@ public class PositionCodeAppService
var itemBasic = await ItemBasicAppService.GetByCodeAsync(input.PartCode).ConfigureAwait(false);
Check.NotNull(itemBasic, "物品代码", $"物品 {input.PartCode} 不存在");
//如果类型选择为原料,校验物料号类型必须为原料,器具、KItting 的不用加校验
if (input.Type == EnumRecommendType.RAW && itemBasic.CanBuy != true)
{
throw new UserFriendlyException($"{input.PartCode} 物料号类型必须为采购件");
}
input.PartName = itemBasic.Name;
input.PartDesc = itemBasic.Desc1;
var location = await LocationAppService.GetByCodeAsync(input.LocationCode).ConfigureAwait(false);
Check.NotNull(location, "库位代码", $"库位 {input.LocationCode} 不存在");
//如果类型选择为原料,库位的类型必须为原料库位
if (input.Type == EnumRecommendType.RAW && location.Type != EnumLocationType.RAW)
{
throw new UserFriendlyException($"{input.LocationCode} 库位的类型必须为原料库位");
}
input.LocationName = location.Name;
if(input.Type== EnumRecommendType.None)
{
throw new UserFriendlyException($"{input.Type} 位置码类型不正确");
}
input.LocationName = location.Name;
return await base.CreateAsync(input).ConfigureAwait(false);
}
@ -118,22 +104,14 @@ public class PositionCodeAppService
var itemBasic = await ItemBasicAppService.GetByCodeAsync(input.PartCode).ConfigureAwait(false);
Check.NotNull(itemBasic, "物品代码", $"物品 {input.PartCode} 不存在");
//如果类型选择为原料,校验物料号类型必须为原料,器具、KItting 的不用加校验
if (input.Type == EnumRecommendType.RAW && itemBasic.Type != "10C02")
{
throw new UserFriendlyException($"{input.PartCode} 物料号类型必须为原料");
}
entity.PartName = itemBasic.Name;
entity.PartDesc = itemBasic.Desc1;
var location = await LocationAppService.GetByCodeAsync(input.LocationCode).ConfigureAwait(false);
Check.NotNull(location, "库位代码", $"库位 {input.LocationCode} 不存在");
//如果类型选择为原料,库位的类型必须为原料库位
if (input.Type == EnumRecommendType.RAW && location.Type!= EnumLocationType.RAW)
{
throw new UserFriendlyException($"{input.LocationCode} 库位的类型必须为原料库位");
}
entity.LocationName = location.Name;
await _repository.UpdateAsync(entity).ConfigureAwait(false);

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/PositionCodes/PositionCode.cs

@ -54,6 +54,6 @@ public class PositionCode : SfsBaseDataAggregateRootBase, IHasCode
/// 类型
/// </summary>
[Display(Name = "类型")]
public EnumRecommendType Type { get; set; }
public EnumPositionCodeType Type { get; set; }
}

36
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumPositionCodeType.cs

@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
namespace Win_in.Sfs.Shared.Domain.Shared;
/// <summary>
/// 位置码类型
/// </summary>
public enum EnumPositionCodeType
{
/// <summary>
/// 注塑区
/// </summary>
[Display(Name = "注塑区")]
InjectionIssue = 1,
/// <summary>
/// 喷涂区
/// </summary>
[Display(Name = "喷涂区")]
CoatingIssue = 2,
/// <summary>
/// 装配区
/// </summary>
[Display(Name = "装配区")]
AssembleIssue = 3,
/// <summary>
/// kitting区
/// </summary>
[Display(Name = "Kitting区")]
KITTING = 4
}
Loading…
Cancel
Save