Browse Source

修改发料

dev_DY_CC
郑勃旭 1 year ago
parent
commit
1d9e2bd5cf
  1. 24
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ProductionLines/DTOs/ProductionLineDTO.cs
  2. 24
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ProductionLines/Inputs/ProductionLineEditInput.cs
  3. 24
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ProductionLines/Inputs/ProductionLineImportInput.cs
  4. 6
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ProductionLines/ProductionLineAutoMapperProfile.cs
  5. 29
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/InjectionRequests/DTOs/InjectionRequestDTO.cs
  6. 44
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/InjectionRequests/DTOs/InjectionRequestDetailDTO.cs
  7. 25
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/MaterialRequests/InjectionRequests/InjectionRequestAppService.cs
  8. 12
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/InjectionRequests/InjectionRequest.cs
  9. 10
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/InjectionRequests/InjectionRequestManager.cs
  10. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/InjectionRequestEventHandler.cs

24
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ProductionLines/DTOs/ProductionLineDTO.cs

@ -12,18 +12,24 @@ namespace Win_in.Sfs.Basedata.Application.Contracts;
[Display(Name = "生产线")] [Display(Name = "生产线")]
public class ProductionLineDTO : SfsBaseDataDTOBase, IHasCode, IHasName public class ProductionLineDTO : SfsBaseDataDTOBase, IHasCode, IHasName
{ {
[Display(Name = "编码")] [IgnoreUpdate] public string Code { get; set; } /// <summary>
/// 代码
/// </summary>
[Display(Name = "代码")]
[Key]
[IgnoreUpdate]
public string Code { get; set; }
/// <summary> /// <summary>
/// 名称 /// 名称
/// </summary> /// </summary>
[Display(Name = "编码")] [Display(Name = "名称")]
public string Name { get; set; } public string Name { get; set; }
/// <summary> /// <summary>
/// 描述 /// 描述
/// </summary> /// </summary>
[Display(Name = "编码")] [Display(Name = "描述")]
public string Description { get; set; } public string Description { get; set; }
/// <summary> /// <summary>
@ -34,18 +40,18 @@ public class ProductionLineDTO : SfsBaseDataDTOBase, IHasCode, IHasName
/// <summary> /// <summary>
/// 原料库位 /// 原料库位
/// </summary> /// </summary>
[Display(Name = "原料库位集合")] [Display(Name = "原料库位Json集合")]
public List<string> RawLocationCodeList { get; set; } public string RawLocationCodeListJson { get; set; }
/// <summary> /// <summary>
/// 成品库位 /// 成品库位
/// </summary> /// </summary>
[Display(Name = "完工库位集合")] [Display(Name = "完工库位Json集合")]
public List<string> ProductLocationCodeList { get; set; } public string ProductLocationCodeListJson { get; set; }
/// <summary> /// <summary>
/// 线边库位 /// 线边库位
/// </summary> /// </summary>
[Display(Name = "线边库位集合")] [Display(Name = "线边库位Json集合")]
public List<string> WipLocationCodeList { get; set; } public string WipLocationCodeListJson { get; set; }
} }

24
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ProductionLines/Inputs/ProductionLineEditInput.cs

@ -11,18 +11,24 @@ namespace Win_in.Sfs.Basedata.Application.Contracts;
/// </summary> /// </summary>
public class ProductionLineEditInput : SfsBaseDataCreateOrUpdateInputBase public class ProductionLineEditInput : SfsBaseDataCreateOrUpdateInputBase
{ {
[Display(Name = "编码")][IgnoreUpdate] public string Code { get; set; } /// <summary>
/// 代码
/// </summary>
[Display(Name = "代码")]
[Key]
[IgnoreUpdate]
public string Code { get; set; }
/// <summary> /// <summary>
/// 名称 /// 名称
/// </summary> /// </summary>
[Display(Name = "编码")] [Display(Name = "名称")]
public string Name { get; set; } public string Name { get; set; }
/// <summary> /// <summary>
/// 描述 /// 描述
/// </summary> /// </summary>
[Display(Name = "编码")] [Display(Name = "描述")]
public string Description { get; set; } public string Description { get; set; }
/// <summary> /// <summary>
@ -33,18 +39,18 @@ public class ProductionLineEditInput : SfsBaseDataCreateOrUpdateInputBase
/// <summary> /// <summary>
/// 原料库位 /// 原料库位
/// </summary> /// </summary>
[Display(Name = "原料库位集合")] [Display(Name = "原料库位Json集合")]
public List<string> RawLocationCodeList { get; set; } public string RawLocationCodeListJson { get; set; }
/// <summary> /// <summary>
/// 成品库位 /// 成品库位
/// </summary> /// </summary>
[Display(Name = "完工库位集合")] [Display(Name = "完工库位Json集合")]
public List<string> ProductLocationCodeList { get; set; } public string ProductLocationCodeListJson { get; set; }
/// <summary> /// <summary>
/// 线边库位 /// 线边库位
/// </summary> /// </summary>
[Display(Name = "线边库位集合")] [Display(Name = "线边库位Json集合")]
public List<string> WipLocationCodeList { get; set; } public string WipLocationCodeListJson { get; set; }
} }

24
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ProductionLines/Inputs/ProductionLineImportInput.cs

@ -12,18 +12,24 @@ namespace Win_in.Sfs.Basedata.Application.Contracts;
[Display(Name = "生产线")] [Display(Name = "生产线")]
public class ProductionLineImportInput : SfsBaseDataImportInputBase public class ProductionLineImportInput : SfsBaseDataImportInputBase
{ {
[Display(Name = "编码")][IgnoreUpdate] public string Code { get; set; } /// <summary>
/// 代码
/// </summary>
[Display(Name = "代码")]
[Key]
[IgnoreUpdate]
public string Code { get; set; }
/// <summary> /// <summary>
/// 名称 /// 名称
/// </summary> /// </summary>
[Display(Name = "编码")] [Display(Name = "名称")]
public string Name { get; set; } public string Name { get; set; }
/// <summary> /// <summary>
/// 描述 /// 描述
/// </summary> /// </summary>
[Display(Name = "编码")] [Display(Name = "描述")]
public string Description { get; set; } public string Description { get; set; }
/// <summary> /// <summary>
@ -34,18 +40,18 @@ public class ProductionLineImportInput : SfsBaseDataImportInputBase
/// <summary> /// <summary>
/// 原料库位 /// 原料库位
/// </summary> /// </summary>
[Display(Name = "原料库位集合")] [Display(Name = "原料库位Json集合")]
public List<string> RawLocationCodeList { get; set; } public string RawLocationCodeListJson { get; set; }
/// <summary> /// <summary>
/// 成品库位 /// 成品库位
/// </summary> /// </summary>
[Display(Name = "完工库位集合")] [Display(Name = "完工库位Json集合")]
public List<string> ProductLocationCodeList { get; set; } public string ProductLocationCodeListJson { get; set; }
/// <summary> /// <summary>
/// 线边库位 /// 线边库位
/// </summary> /// </summary>
[Display(Name = "线边库位集合")] [Display(Name = "线边库位Json集合")]
public List<string> WipLocationCodeList { get; set; } public string WipLocationCodeListJson { get; set; }
} }

6
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ProductionLines/ProductionLineAutoMapperProfile.cs

@ -17,11 +17,11 @@ public partial class BasedataApplicationAutoMapperProfile : Profile
.Ignore(x => x.TenantId) .Ignore(x => x.TenantId)
.Ignore(x => x.ExtraProperties) .Ignore(x => x.ExtraProperties)
.Ignore(x => x.ConcurrencyStamp) .Ignore(x => x.ConcurrencyStamp)
; .Ignore(x=>x.Remark)
;
CreateMap<ProductionLine, ProductionLineImportInput>() CreateMap<ProductionLine, ProductionLineImportInput>()
.Ignore(x => x.ReportStatus) .Ignore(x => x.ReportStatus)
.Ignore(x => x.ReportReason); .Ignore(x => x.ReportReason);
} }
} }

29
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/InjectionRequests/DTOs/InjectionRequestDTO.cs

@ -5,33 +5,36 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class InjectionRequestDTO : SfsStoreRequestDTOBase<InjectionRequestDetailDTO>, IHasNumber public class InjectionRequestDTO : SfsStoreRequestDTOBase<InjectionRequestDetailDTO>, IHasNumber
{ {
/// <summary> /// <summary>
/// 叫料类型 /// 叫料类型
/// </summary> /// </summary>
[Display(Name = "叫料类型")] [Display(Name = "叫料类型")]
public string Type { get; set; } public string Type { get; set; }
/// <summary> /// <summary>
/// 备料计划单号 /// 生产线
/// </summary> /// </summary>
[Display(Name = "备料计划单号")] [Display(Name = "生产线")]
public string PreparationPlanNumber { get; set; } public string ProdLine { get; set; }
/// <summary> /// <summary>
/// 生产线 /// 是否使用在途库
/// </summary> /// </summary>
[Display(Name = "生产线")] [Display(Name = "是否使用在途库")]
public string ProdLine { get; set; } public bool IsUseOnTheWayLocation { get; set; }
/// <summary> /// <summary>
/// 车间 /// 可用来源库位Json集合
/// </summary> /// </summary>
[Display(Name = "车间")] public string FromLocationCodeJsonList { get; set; }
public string Workshop { get; set; }
/// <summary> /// <summary>
/// 使用在途库 /// 叫料库位
/// </summary> /// </summary>
[Display(Name = "使用在途库")] public string ToLocationCode { get; set; }
public bool UseOnTheWayLocation { get; set; }
/// <summary>
/// 目标ERP储位
/// </summary>
[Display(Name = "目标ERP储位")]
public string ToLocationErpCode { get; set; }
} }

44
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/InjectionRequests/DTOs/InjectionRequestDetailDTO.cs

@ -7,51 +7,7 @@ using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class InjectionRequestDetailDTO : SfsStoreDetailWithQtyDTOBase public class InjectionRequestDetailDTO : SfsStoreDetailWithQtyDTOBase
{ {
/// <summary>
/// 目标库位
/// </summary>
[Display(Name = "目标库位")]
public string ToLocationCode { get; set; }
/// <summary>
/// 来源库区
/// </summary>
[Display(Name = "来源库区")]
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
public string FromLocationArea { get; set; }
// /// <summary>
// /// 在途库库位
// /// </summary>
// public string OnTheWayLocationCode { get; set; }
/// <summary>
/// 生产线
/// </summary>
[Display(Name = "生产线")]
public string ProdLine { get; set; }
/// <summary>
/// 工作中心
/// </summary>
[Display(Name = "工作中心")]
public string WorkStation { get; set; }
/// <summary>
/// 过期时间
/// </summary>
[Display(Name = "过期时间")]
public DateTime ExpiredTime { get; set; }
/// <summary>
/// 目标ERP储位
/// </summary>
[Display(Name = "目标ERP储位")]
public string ToLocationErpCode { get; set; }
/// <summary> /// <summary>
/// 已发数量 /// 已发数量
/// </summary> /// </summary>

25
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/MaterialRequests/InjectionRequests/InjectionRequestAppService.cs

@ -61,10 +61,12 @@ public class InjectionRequestAppService : SfsStoreRequestAppServiceBase<Injectio
_issueJobAppService = issueJobAppService; _issueJobAppService = issueJobAppService;
} }
#region 东阳V2
public override async Task<InjectionRequestDTO> HandleAsync(Guid id) public override async Task<InjectionRequestDTO> HandleAsync(Guid id)
{ {
var entity=await _repository.GetAsync(id).ConfigureAwait(false); var entity = await _repository.GetAsync(id).ConfigureAwait(false);
await LocalEventBus.PublishAsync(new SfsHandledEntityEventData<InjectionRequest>(entity), false).ConfigureAwait(false); await LocalEventBus.PublishAsync(new SfsHandledEntityEventData<InjectionRequest>(entity), false).ConfigureAwait(false);
return ObjectMapper.Map<InjectionRequest, InjectionRequestDTO>(entity); return ObjectMapper.Map<InjectionRequest, InjectionRequestDTO>(entity);
} }
@ -72,12 +74,6 @@ public class InjectionRequestAppService : SfsStoreRequestAppServiceBase<Injectio
[HttpPost("")] [HttpPost("")]
//[Authorize(InjectionRequestPermissions.Create)] //[Authorize(InjectionRequestPermissions.Create)]
public override async Task<InjectionRequestDTO> CreateAsync(InjectionRequestEditInput input) public override async Task<InjectionRequestDTO> CreateAsync(InjectionRequestEditInput input)
{
return await CreateAndHandleAsync(input).ConfigureAwait(false);
}
//[Authorize(InjectionRequestPermissions.Create)]
private async Task<InjectionRequestDTO> CreateAndHandleAsync(InjectionRequestEditInput input)
{ {
foreach (var item in input.Details) foreach (var item in input.Details)
{ {
@ -113,6 +109,19 @@ public class InjectionRequestAppService : SfsStoreRequestAppServiceBase<Injectio
return dto; return dto;
} }
//[Authorize(InjectionRequestPermissions.Create)]
[HttpPost("create-and-handle")]
public async Task<InjectionRequestDTO> CreateAndHandleAsync(InjectionRequestEditInput input)
{
var injectionRequestDto = await CreateAsync(input).ConfigureAwait(false);
await HandleAsync(injectionRequestDto.Id).ConfigureAwait(false);
return injectionRequestDto;
}
#endregion
/// <summary> /// <summary>
/// 根据类型 获取叫料申请 /// 根据类型 获取叫料申请
/// </summary> /// </summary>

12
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/InjectionRequests/InjectionRequest.cs

@ -16,24 +16,12 @@ public class InjectionRequest : SfsStoreRequestAggregateRootBase<InjectionReques
[IgnoreUpdate] [IgnoreUpdate]
public string Type { get; set; } public string Type { get; set; }
/// <summary>
/// 备料计划单号
/// </summary>
[IgnoreUpdate]
public string PreparationPlanNumber { get; set; }
/// <summary> /// <summary>
/// 生产线 /// 生产线
/// </summary> /// </summary>
[IgnoreUpdate] [IgnoreUpdate]
public string ProdLine { get; set; } public string ProdLine { get; set; }
/// <summary>
/// 车间
/// </summary>
[IgnoreUpdate]
public string Workshop { get; set; }
/// <summary> /// <summary>
/// 使用在途库 /// 使用在途库
/// </summary> /// </summary>

10
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/InjectionRequests/InjectionRequestManager.cs

@ -25,6 +25,12 @@ public class InjectionRequestManager
_issueJobRepository = issueJobRepository; _issueJobRepository = issueJobRepository;
} }
#region 东阳V2
#endregion
/// <summary> /// <summary>
/// 创建 /// 创建
/// </summary> /// </summary>
@ -58,7 +64,7 @@ public class InjectionRequestManager
SetMaterialRequestDetailStatus(detail); SetMaterialRequestDetailStatus(detail);
} }
await SetMaterialRequestStatus(oldEntity).ConfigureAwait(false); await SetMaterialRequestStatusAsync(oldEntity).ConfigureAwait(false);
await Repository.UpdateAsync(oldEntity).ConfigureAwait(false); await Repository.UpdateAsync(oldEntity).ConfigureAwait(false);
} }
@ -77,7 +83,7 @@ public class InjectionRequestManager
} }
} }
private async Task SetMaterialRequestStatus(InjectionRequest materialRequest) private async Task SetMaterialRequestStatusAsync(InjectionRequest materialRequest)
{ {
if (materialRequest.Details.All(p => p.Status == EnumStatus.Close)) if (materialRequest.Details.All(p => p.Status == EnumStatus.Close))
{ {

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/InjectionRequestEventHandler.cs

@ -71,7 +71,6 @@ public class InjectionRequestEventHandler
{ {
await _injectionRequestManager.SubmitAsync(entity).ConfigureAwait(false); await _injectionRequestManager.SubmitAsync(entity).ConfigureAwait(false);
} }
} }
} }

Loading…
Cancel
Save