61 changed files with 7587 additions and 1952 deletions
@ -1,112 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class AssembleJobDetailDTO : SfsJobRecommendFromDetailDTOBase, IHasToLocation |
|||
public class AssembleJobDetailDTO : SfsDetailDTOBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "请求库位")] |
|||
public string RequestLocationCode { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
[Display(Name = "到库位")] |
|||
public string ToLocationCode { get; set; } |
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库区
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "到库区")] |
|||
public string ToLocationArea { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位组
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
[Display(Name = "到库位组")] |
|||
public string ToLocationGroup { get; set; } |
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "到ERP库位")] |
|||
public string ToLocationErpCode { get; set; } |
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
[Display(Name = "到仓库")] |
|||
public string ToWarehouseCode { get; set; } |
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
public string WorkStation { get; set; } |
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工序
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
[Display(Name = "工序")] |
|||
public string Operation { get; set; } |
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 配送方式
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
[Display(Name = "配送方式")] |
|||
public EnumDistributionType DistributionType { get; set; } |
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整方式
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "取整方式")] |
|||
public EnumTruncType TruncType { get; set; } |
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整后数量
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
[Display(Name = "取整后数量")] |
|||
public decimal RoundedQty { get; set; } |
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计划拆分规则
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
[Display(Name = "计划拆分规则")] |
|||
public EnumPlannedSplitRule PlannedSplitRule { get; set; } |
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 计划开始时间
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
[Display(Name = "计划开始时间")] |
|||
public DateTime PlanBeginTime { get; set; } |
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 每次配送数量
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
[Display(Name = "每次配送数量")] |
|||
public decimal DeliveryQty { get; set; } |
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,134 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class AssembleJobDetailInput : SfsJobRecommendFromDetailInputBase, IHasToLocation |
|||
public class AssembleJobDetailInput : SfsDetailInputBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "请求库位")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string RequestLocationCode { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
[Display(Name = "到库位")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ToLocationCode { get; set; } |
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库区
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "到库区")] |
|||
public string ToLocationArea { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位组
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
[Display(Name = "到库位组")] |
|||
public string ToLocationGroup { get; set; } |
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "到ERP库位")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ToLocationErpCode { get; set; } |
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
[Display(Name = "到仓库")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ToWarehouseCode { get; set; } |
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string WorkStation { get; set; } |
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 工序
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
[Display(Name = "工序")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string Operation { get; set; } |
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 配送方式
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
[Display(Name = "配送方式")] |
|||
public EnumDistributionType DistributionType { get; set; } |
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整方式
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
[Display(Name = "取整方式")] |
|||
public EnumTruncType TruncType { get; set; } |
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整后数量
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
[Display(Name = "取整后数量")] |
|||
public decimal RoundedQty { get; set; } |
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计划拆分规则
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
[Display(Name = "计划拆分规则")] |
|||
public EnumPlannedSplitRule PlannedSplitRule { get; set; } |
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计划开始时间
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
[Display(Name = "计划开始时间")] |
|||
public DateTime PlanBeginTime { get; set; } |
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 每次配送数量
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
[Display(Name = "每次配送数量")] |
|||
public decimal DeliveryQty { get; set; } |
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐类型
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,113 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
using Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Jobs.IssueJobs; |
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class CoatingIssueJobDetailDTO : SfsJobRecommendFromDetailDTOBase, IHasToLocation |
|||
public class CoatingIssueJobDetailDTO : SfsDetailDTOBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "请求库位")] |
|||
public string RequestLocationCode { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
[Display(Name = "到库位")] |
|||
public string ToLocationCode { get; set; } |
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库区
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "到库区")] |
|||
public string ToLocationArea { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位组
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
[Display(Name = "到库位组")] |
|||
public string ToLocationGroup { get; set; } |
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "到ERP库位")] |
|||
public string ToLocationErpCode { get; set; } |
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
[Display(Name = "到仓库")] |
|||
public string ToWarehouseCode { get; set; } |
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
public string WorkStation { get; set; } |
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工序
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
[Display(Name = "工序")] |
|||
public string Operation { get; set; } |
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 配送方式
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
[Display(Name = "配送方式")] |
|||
public EnumDistributionType DistributionType { get; set; } |
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整方式
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "取整方式")] |
|||
public EnumTruncType TruncType { get; set; } |
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整后数量
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
[Display(Name = "取整后数量")] |
|||
public decimal RoundedQty { get; set; } |
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计划拆分规则
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
[Display(Name = "计划拆分规则")] |
|||
public EnumPlannedSplitRule PlannedSplitRule { get; set; } |
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 计划开始时间
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
[Display(Name = "计划开始时间")] |
|||
public DateTime PlanBeginTime { get; set; } |
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 每次配送数量
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
[Display(Name = "每次配送数量")] |
|||
public decimal DeliveryQty { get; set; } |
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,135 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
using Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Jobs.IssueJobs; |
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class CoatingIssueJobDetailInput : SfsJobRecommendFromDetailInputBase, IHasToLocation |
|||
public class CoatingIssueJobDetailInput : SfsDetailInputBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "请求库位")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string RequestLocationCode { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
[Display(Name = "到库位")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ToLocationCode { get; set; } |
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库区
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "到库区")] |
|||
public string ToLocationArea { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位组
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
[Display(Name = "到库位组")] |
|||
public string ToLocationGroup { get; set; } |
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "到ERP库位")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ToLocationErpCode { get; set; } |
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
[Display(Name = "到仓库")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ToWarehouseCode { get; set; } |
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string WorkStation { get; set; } |
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 工序
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
[Display(Name = "工序")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string Operation { get; set; } |
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 配送方式
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
[Display(Name = "配送方式")] |
|||
public EnumDistributionType DistributionType { get; set; } |
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整方式
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
[Display(Name = "取整方式")] |
|||
public EnumTruncType TruncType { get; set; } |
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整后数量
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
[Display(Name = "取整后数量")] |
|||
public decimal RoundedQty { get; set; } |
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计划拆分规则
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
[Display(Name = "计划拆分规则")] |
|||
public EnumPlannedSplitRule PlannedSplitRule { get; set; } |
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计划开始时间
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
[Display(Name = "计划开始时间")] |
|||
public DateTime PlanBeginTime { get; set; } |
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 每次配送数量
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
[Display(Name = "每次配送数量")] |
|||
public decimal DeliveryQty { get; set; } |
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐类型
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,42 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class AssembleNoteDetailDTO : SfsStoreRecommendFromDetailWithFromToDTOBase |
|||
public class AssembleNoteDetailDTO : SfsDetailDTOBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 发料时间
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "发料时间")] |
|||
public DateTime IssueTime { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ProdLine { get; set; } |
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string WorkStation { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,53 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class AssembleNoteDetailInput : SfsStoreRecommendFromDetailWithFromToInputBase |
|||
public class AssembleNoteDetailInput : SfsDetailInputBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 发料时间
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "发料时间")] |
|||
public DateTime IssueTime { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ProdLine { get; set; } |
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string WorkStation { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐类型
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,43 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Notes.IssueNotes; |
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class CoatingIssueNoteDetailDTO : SfsStoreRecommendFromDetailWithFromToDTOBase |
|||
public class CoatingIssueNoteDetailDTO : SfsDetailDTOBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 发料时间
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "发料时间")] |
|||
public DateTime IssueTime { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ProdLine { get; set; } |
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string WorkStation { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,54 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
using Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Notes.IssueNotes; |
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class CoatingIssueNoteDetailInput : SfsStoreRecommendFromDetailWithFromToInputBase |
|||
public class CoatingIssueNoteDetailInput : SfsDetailInputBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 发料时间
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "发料时间")] |
|||
public DateTime IssueTime { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ProdLine { get; set; } |
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string WorkStation { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐类型
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,195 +1,194 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Data; |
|||
using System.Linq; |
|||
using System.Linq.Expressions; |
|||
using System.Threading; |
|||
using System.Threading.Tasks; |
|||
using Castle.Components.DictionaryAdapter; |
|||
using Microsoft.AspNetCore.Authorization; |
|||
using Microsoft.AspNetCore.Mvc; |
|||
using Volo.Abp; |
|||
using Volo.Abp.Application.Dtos; |
|||
using Volo.Abp.ObjectMapping; |
|||
using Win_in.Sfs.Basedata.Application.Contracts; |
|||
using Win_in.Sfs.Basedata.Domain.Shared; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
using Win_in.Sfs.Wms.Store.Application; |
|||
using Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
using Win_in.Sfs.Wms.Store.Domain; |
|||
using Win_in.Sfs.Wms.Store.Domain.Shared; |
|||
using Win_in.Sfs.Wms.Store.Jobs.IssueJobs; |
|||
using Win_in.Sfs.Wms.Store.Notes; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Jobs.IssueJobs; |
|||
namespace Win_in.Sfs.Wms.Store.Application; |
|||
|
|||
[Authorize] |
|||
[Route($"{StoreConsts.RootPath}coatingissue-job")] |
|||
|
|||
[Route($"{StoreConsts.RootPath}coating-issue-job")] |
|||
public class CoatingIssueJobAppService |
|||
: SfsJobAppServiceBase<CoatingIssueJob, CoatingIssueJobDetail, CoatingIssueJobDTO, SfsJobRequestInputBase, CoatingIssueJobCheckInput, CoatingIssueJobEditInput>, |
|||
ICoatingIssueJobAppService |
|||
: SfsJobAppServiceBase<CoatingIssueJob, CoatingIssueJobDetail, CoatingIssueJobDTO, SfsJobRequestInputBase, |
|||
CoatingIssueJobCheckInput, CoatingIssueJobEditInput>, |
|||
ICoatingIssueJobAppService, ITransferLibCallback |
|||
{ |
|||
private readonly ICoatingIssueJobManager _CoatingIssueJobManager; |
|||
private readonly ICoatingIssueJobManager _coatingIssueJobManager; |
|||
private readonly ILocationAppService _locationAppService; |
|||
private readonly ITransferLibJobAppService _transferLibJobAppService; |
|||
|
|||
public CoatingIssueJobAppService( |
|||
ICoatingIssueJobRepository repository, ICoatingIssueJobManager CoatingIssueJobManager |
|||
) : base(repository, CoatingIssueJobManager) |
|||
ICoatingIssueJobRepository repository, ICoatingIssueJobManager coatingIssueJobManager, |
|||
ILocationAppService locationAppService, ITransferLibJobAppService transferLibJobAppService) : base(repository, coatingIssueJobManager) |
|||
{ |
|||
_CoatingIssueJobManager = CoatingIssueJobManager; |
|||
_coatingIssueJobManager = coatingIssueJobManager; |
|||
_locationAppService = locationAppService; |
|||
_transferLibJobAppService = transferLibJobAppService; |
|||
} |
|||
|
|||
[HttpPost("add-many")] |
|||
public override async Task<List<CoatingIssueJobDTO>> CreateManyAsync(List<CoatingIssueJobEditInput> inputs) |
|||
{ |
|||
foreach (var input in inputs) |
|||
{ |
|||
await CheckMinRowAndSetStatusAsync(input).ConfigureAwait(false); |
|||
} |
|||
|
|||
return await base.CreateManyAsync(inputs).ConfigureAwait(false); |
|||
} |
|||
|
|||
[HttpPost("")] |
|||
public override async Task<CoatingIssueJobDTO> CreateAsync(CoatingIssueJobEditInput input) |
|||
{ |
|||
await CheckMinRowAndSetStatusAsync(input).ConfigureAwait(false); |
|||
|
|||
return await base.CreateAsync(input).ConfigureAwait(false); |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 根据物品和库位 检查是否存在发料任务
|
|||
/// 判断是不是在最底层 如果不是则把状态变更为等待 并把库移推荐的From和To赋值
|
|||
/// </summary>
|
|||
/// <param name="itemCode"></param>
|
|||
/// <param name="locationCode"></param>
|
|||
/// <param name="input"></param>
|
|||
/// <returns></returns>
|
|||
/// <exception cref="NotImplementedException"></exception>
|
|||
[Authorize] |
|||
[HttpGet("check-job-exist")] |
|||
public virtual async Task<List<CoatingIssueJobDTO>> CheckJobExistByItemCodeAndLocationCode(string itemCode, |
|||
string locationCode) |
|||
private async Task CheckMinRowAndSetStatusAsync(CoatingIssueJobEditInput input) |
|||
{ |
|||
var entities = await _repository.GetListAsync(c => |
|||
c.Details.Any(p => |
|||
p.ItemCode == itemCode && p.RecommendFromLocationCode == locationCode || |
|||
p.ItemCode == itemCode && p.ToLocationCode == locationCode) |
|||
&& (c.JobStatus == EnumJobStatus.Open || c.JobStatus == EnumJobStatus.Doing), true).ConfigureAwait(false); |
|||
var dtos = ObjectMapper.Map<List<CoatingIssueJob>, List<CoatingIssueJobDTO>>(entities); |
|||
return dtos; |
|||
var jobDetailInputdetail = input.Details.FirstOrDefault(); |
|||
|
|||
var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode) |
|||
.ConfigureAwait(false); |
|||
|
|||
if (loctionDto.RowCode != 1) |
|||
{ |
|||
input.JobStatus = EnumJobStatus.Wait; |
|||
|
|||
jobDetailInputdetail.TransferLibFromArriveDate = jobDetailInputdetail.RecommendFromArriveDate; |
|||
jobDetailInputdetail.TransferLibFromContainerCode = jobDetailInputdetail.RecommendFromContainerCode; |
|||
jobDetailInputdetail.TransferLibFromExpireDate = jobDetailInputdetail.RecommendFromExpireDate; |
|||
jobDetailInputdetail.TransferLibFromLocationArea = jobDetailInputdetail.RecommendFromLocationArea; |
|||
jobDetailInputdetail.TransferLibFromLocationCode = jobDetailInputdetail.RecommendFromLocationCode; |
|||
jobDetailInputdetail.TransferLibFromLocationErpCode = jobDetailInputdetail.RecommendFromLocationErpCode; |
|||
jobDetailInputdetail.TransferLibFromLocationGroup = jobDetailInputdetail.RecommendFromLocationGroup; |
|||
jobDetailInputdetail.TransferLibFromLot = jobDetailInputdetail.RecommendFromLot; |
|||
jobDetailInputdetail.TransferLibFromPackingCode = jobDetailInputdetail.RecommendFromPackingCode; |
|||
jobDetailInputdetail.TransferLibFromProduceDate = jobDetailInputdetail.RecommendFromProduceDate; |
|||
jobDetailInputdetail.TransferLibFromQty = jobDetailInputdetail.RecommendFromQty; |
|||
jobDetailInputdetail.TransferLibFromSupplierBatch = jobDetailInputdetail.RecommendFromSupplierBatch; |
|||
jobDetailInputdetail.TransferLibFromWarehouseCode = jobDetailInputdetail.RecommendFromWarehouseCode; |
|||
|
|||
jobDetailInputdetail.TransferLibToArriveDate = jobDetailInputdetail.RecommendToArriveDate; |
|||
jobDetailInputdetail.TransferLibToContainerCode = jobDetailInputdetail.RecommendToContainerCode; |
|||
jobDetailInputdetail.TransferLibToExpireDate = jobDetailInputdetail.RecommendToExpireDate; |
|||
jobDetailInputdetail.TransferLibToLocationArea = jobDetailInputdetail.RecommendToLocationArea; |
|||
jobDetailInputdetail.TransferLibToLocationCode = jobDetailInputdetail.RecommendToLocationCode; |
|||
jobDetailInputdetail.TransferLibToLocationErpCode = jobDetailInputdetail.RecommendToLocationErpCode; |
|||
jobDetailInputdetail.TransferLibToLocationGroup = jobDetailInputdetail.RecommendToLocationGroup; |
|||
jobDetailInputdetail.TransferLibToLot = jobDetailInputdetail.RecommendToLot; |
|||
jobDetailInputdetail.TransferLibToPackingCode = jobDetailInputdetail.RecommendToPackingCode; |
|||
jobDetailInputdetail.TransferLibToProduceDate = jobDetailInputdetail.RecommendToProduceDate; |
|||
jobDetailInputdetail.TransferLibToQty = jobDetailInputdetail.RecommendToQty; |
|||
jobDetailInputdetail.TransferLibToSupplierBatch = jobDetailInputdetail.RecommendToSupplierBatch; |
|||
jobDetailInputdetail.TransferLibToWarehouseCode = jobDetailInputdetail.RecommendToWarehouseCode; |
|||
} |
|||
} |
|||
|
|||
[HttpPost("cancel-by-request/{materialNumber}")] |
|||
public virtual async Task CancelByMaterialRequestAsync(string materialNumber) |
|||
[HttpPost("cancel-by-request/{requestNumber}")] |
|||
public virtual async Task CancelByMaterialRequestAsync(string requestNumber) |
|||
{ |
|||
var entities = await _repository.GetListAsync(p => p.MaterialRequestNumber == materialNumber).ConfigureAwait(false); |
|||
var entities = await _repository.GetListAsync(p => p.MaterialRequestNumber == requestNumber) |
|||
.ConfigureAwait(false); |
|||
foreach (var entity in entities) |
|||
{ |
|||
await _CoatingIssueJobManager.CancelAsync(entity).ConfigureAwait(false); |
|||
await _coatingIssueJobManager.CancelAsync(entity).ConfigureAwait(false); |
|||
} |
|||
} |
|||
|
|||
//[Authorize(CoatingIssueJobPermissions.Delete)]
|
|||
//[HttpDelete("details/{id}")]
|
|||
//public virtual async Task DeleteDetailAsync(Guid id, Guid detailId)
|
|||
//{
|
|||
// var entity = await _repository.GetAsync(id);
|
|||
// Check.NotNull(entity, EntityClassName);
|
|||
|
|||
// var input = new CoatingIssueJobCheckInput
|
|||
// {
|
|||
// JobStatuses = new List<EnumJobStatus>() { EnumJobStatus.Pending, EnumJobStatus.Open },
|
|||
// };
|
|||
// var result = new AbpValidationResult();
|
|||
|
|||
// var detail = entity.GetDetail(detailId);
|
|||
|
|||
// _CoatingIssueJobManager.CheckJobStatus(entity, input.JobStatuses, result);
|
|||
// if (result.Errors.Any())
|
|||
// {
|
|||
// throw new AbpValidationException("任务状态错误,不能进行删除明细操作");
|
|||
// }
|
|||
// entity.RemoveDetail(detailId);
|
|||
//}
|
|||
|
|||
//[Authorize(CoatingIssueJobPermissions.Delete)]
|
|||
[HttpPost("invalid")] |
|||
public override async Task CancelAsync(Guid id) |
|||
{ |
|||
var CoatingIssueJob = await _repository.GetAsync(id).ConfigureAwait(false); |
|||
if (CoatingIssueJob == null) |
|||
var coatingIssueJob = await _repository.GetAsync(id).ConfigureAwait(false); |
|||
if (coatingIssueJob == null) |
|||
{ |
|||
throw new UserFriendlyException($"未找到ID为 {id} 的任务"); |
|||
} |
|||
|
|||
/* |
|||
var listLocationCode = new List<string>();//取出所有当前job 影响的库位code
|
|||
foreach (var detail in CoatingIssueJob.Details) |
|||
{ |
|||
if (detail.HandledLocationCode != null) |
|||
{ |
|||
listLocationCode.Add(detail.HandledLocationCode); |
|||
} |
|||
if (detail.HandledLocationCode != null) |
|||
{ |
|||
listLocationCode.Add(detail.RecommendLocationCode); |
|||
} |
|||
if (detail.HandledLocationCode != null) |
|||
{ |
|||
listLocationCode.Add(detail.RequestLocationCode); |
|||
} |
|||
if (detail.HandledLocationCode != null) |
|||
{ |
|||
listLocationCode.Add(detail.ToLocationCode); |
|||
} |
|||
} |
|||
listLocationCode = listLocationCode.Distinct().ToList(); |
|||
*/ |
|||
|
|||
await _CoatingIssueJobManager.CancelAsync(CoatingIssueJob).ConfigureAwait(false); |
|||
|
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 根据叫料请求类型获取发料任务
|
|||
/// </summary>
|
|||
/// <param name="requestInput"></param>
|
|||
/// <param name="requestType">
|
|||
/// 叫料请求类型:
|
|||
/// 人工拉动:Issue_Manual;
|
|||
/// 线边拉动:Issue_WIP;
|
|||
/// </param>
|
|||
/// <param name="includeDetails"></param>
|
|||
/// <param name="cancellationToken"></param>
|
|||
/// <returns></returns>
|
|||
[HttpPost("by-type/{requestType}")] |
|||
public virtual async Task<PagedResultDto<CoatingIssueJobDTO>> GetListByTypeAsync(SfsJobRequestInputBase requestInput, |
|||
string requestType, bool includeDetails = false, CancellationToken cancellationToken = default) |
|||
{ |
|||
Expression<Func<CoatingIssueJob, bool>> expression = p => p.RequestType == requestType; |
|||
if (requestInput.Condition.Filters?.Count > 0) |
|||
{ |
|||
expression = expression.And(requestInput.Condition.Filters.ToLambda<CoatingIssueJob>()); |
|||
} |
|||
|
|||
return await GetPagedListAsync(expression, requestInput.SkipCount, requestInput.MaxResultCount, |
|||
requestInput.Sorting, includeDetails, cancellationToken).ConfigureAwait(false); |
|||
|
|||
await _coatingIssueJobManager.CancelAsync(coatingIssueJob).ConfigureAwait(false); |
|||
} |
|||
|
|||
[HttpPost("by-request-number/{requestNumber}")] |
|||
public virtual async Task<List<CoatingIssueJobDTO>> GetByRequestNumberAsync(string requestNumber) |
|||
{ |
|||
var entitys = await _repository.GetListAsync(p => p.MaterialRequestNumber == requestNumber).ConfigureAwait(false); |
|||
var entitys = await _repository.GetListAsync(p => p.MaterialRequestNumber == requestNumber) |
|||
.ConfigureAwait(false); |
|||
return ObjectMapper.Map<List<CoatingIssueJob>, List<CoatingIssueJobDTO>>(entitys); |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 保存拆箱时涉及的明细修改
|
|||
/// </summary>
|
|||
/// <returns></returns>
|
|||
[HttpPost("save-detail-split-packing")] |
|||
public virtual async Task<CoatingIssueJobDTO> SaveDetail_SplitPackingAsync(SplitPacking_UpdateJobDetailInput input) |
|||
[HttpPost("Do-Call-Back")] |
|||
public async Task DoTransferLibCallbackAsync(TransferLibJobDTO dto) |
|||
{ |
|||
var job = await _repository.FindAsync(p => p.Number == input.Number).ConfigureAwait(false); |
|||
var detail = job.Details.FirstOrDefault(p => p.RecommendPackingCode == input.FromPackingCode); /*&& p.HandledQty == input.FromQty*/ |
|||
if (detail == null) |
|||
{ |
|||
throw new UserFriendlyException($"根据RecommendPackingCode={input.FromPackingCode}取CoatingIssueJobDetail表为空!"); |
|||
} |
|||
//插入目标箱
|
|||
var newDetail = CommonHelper.CloneObj(detail); |
|||
newDetail.SetId(GuidGenerator.Create()); |
|||
newDetail.RecommendPackingCode = input.ToPackingCode; |
|||
newDetail.RecommendQty = input.ToQty; |
|||
newDetail.HandledPackingCode = detail.HandledPackingCode.HasValue() ? input.ToPackingCode : null; //源实际实际箱码有值,则新记录实际箱码有值
|
|||
newDetail.HandledQty = detail.HandledQty > 0 ? input.ToQty : 0; |
|||
//newDetail.CreationTime = CommonHelper.CurTime;
|
|||
job.Details.Add(newDetail); |
|||
//修改源箱
|
|||
detail.RecommendQty = input.FromQty - input.ToQty; |
|||
detail.HandledQty = detail.HandledQty > 0 ? input.FromQty - input.ToQty : 0; |
|||
var entity = await _repository.UpdateAsync(job).ConfigureAwait(false); |
|||
var ret = ObjectMapper.Map<CoatingIssueJob, CoatingIssueJobDTO>(entity); |
|||
return ret; |
|||
var job = await _repository.FindAsync(p => p.Number == dto.JobNumber).ConfigureAwait(false); |
|||
|
|||
//todo 等云峰写好换成真实的
|
|||
var transferLibJobDto = await _transferLibJobAppService.GetByNumberAsync("AAA").ConfigureAwait(false); |
|||
var transferLibNote = new TransferLibNote(); |
|||
|
|||
var transferLibNoteDetail = transferLibNote.Details.First(); |
|||
|
|||
var jobDetail = job.Details.First(); |
|||
job.JobStatus = EnumJobStatus.Open; |
|||
|
|||
jobDetail.TransferLibFromArriveDate = transferLibNoteDetail.HandledFromArriveDate; |
|||
jobDetail.TransferLibFromContainerCode = transferLibNoteDetail.HandledFromContainerCode; |
|||
jobDetail.TransferLibFromExpireDate = transferLibNoteDetail.HandledFromExpireDate; |
|||
jobDetail.TransferLibFromLocationArea = transferLibNoteDetail.HandledFromLocationArea; |
|||
jobDetail.TransferLibFromLocationCode = transferLibNoteDetail.HandledFromLocationCode; |
|||
jobDetail.TransferLibFromLocationErpCode = transferLibNoteDetail.HandledFromLocationErpCode; |
|||
jobDetail.TransferLibFromLocationGroup = transferLibNoteDetail.HandledFromLocationGroup; |
|||
jobDetail.TransferLibFromLot = transferLibNoteDetail.HandledFromLot; |
|||
jobDetail.TransferLibFromPackingCode = transferLibNoteDetail.HandledFromPackingCode; |
|||
jobDetail.TransferLibFromProduceDate = transferLibNoteDetail.HandledFromProduceDate; |
|||
jobDetail.TransferLibFromQty = transferLibNoteDetail.HandledFromQty; |
|||
jobDetail.TransferLibFromSupplierBatch = transferLibNoteDetail.HandledFromSupplierBatch; |
|||
jobDetail.TransferLibFromWarehouseCode = transferLibNoteDetail.HandledFromWarehouseCode; |
|||
|
|||
jobDetail.TransferLibToArriveDate = transferLibNoteDetail.HandledToArriveDate; |
|||
jobDetail.TransferLibToContainerCode = transferLibNoteDetail.HandledToContainerCode; |
|||
jobDetail.TransferLibToExpireDate = transferLibNoteDetail.HandledToExpireDate; |
|||
jobDetail.TransferLibToLocationArea = transferLibNoteDetail.HandledToLocationArea; |
|||
jobDetail.TransferLibToLocationCode = transferLibNoteDetail.HandledToLocationCode; |
|||
jobDetail.TransferLibToLocationErpCode = transferLibNoteDetail.HandledToLocationErpCode; |
|||
jobDetail.TransferLibToLocationGroup = transferLibNoteDetail.HandledToLocationGroup; |
|||
jobDetail.TransferLibToLot = transferLibNoteDetail.HandledToLot; |
|||
jobDetail.TransferLibToPackingCode = transferLibNoteDetail.HandledToPackingCode; |
|||
jobDetail.TransferLibToProduceDate = transferLibNoteDetail.HandledToProduceDate; |
|||
jobDetail.TransferLibToQty = transferLibNoteDetail.HandledToQty; |
|||
jobDetail.TransferLibToSupplierBatch = transferLibNoteDetail.HandledToSupplierBatch; |
|||
jobDetail.TransferLibToWarehouseCode = transferLibNoteDetail.HandledToWarehouseCode; |
|||
|
|||
await _repository.UpdateAsync(job).ConfigureAwait(false); |
|||
|
|||
return; |
|||
} |
|||
|
|||
|
|||
|
|||
[HttpPost("test")] |
|||
public virtual async Task Test() |
|||
{ |
|||
Console.WriteLine("FuAZCZXVZXVXZVZ"); |
|||
await Task.CompletedTask; |
|||
} |
|||
} |
|||
|
@ -1,6 +1,6 @@ |
|||
namespace Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
public interface IInjectionJobRepository : ISfsJobRepositoryBase<InjectionJob> |
|||
public interface IIssueJobRepository : ISfsJobRepositoryBase<IssueJob> |
|||
{ |
|||
|
|||
} |
|||
|
@ -1,6 +1,6 @@ |
|||
namespace Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
public interface IIssueJobRepository : ISfsJobRepositoryBase<IssueJob> |
|||
public interface IInjectionJobRepository : ISfsJobRepositoryBase<InjectionJob> |
|||
{ |
|||
|
|||
} |
|||
|
@ -1,43 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
public class AssembleNoteDetail : SfsStoreRecommendFromDetailWithFromToEntityBase |
|||
public class AssembleNoteDetail : SfsStoreDetailEntityBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 发料时间
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
public DateTime IssueTime { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
public DateTime ExpiredTime { get; set; } |
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
public string WorkStation { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐类型
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,44 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
using Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Notes.IssueNotes; |
|||
namespace Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
public class CoatingIssueNoteDetail : SfsStoreRecommendFromDetailWithFromToEntityBase |
|||
public class CoatingIssueNoteDetail : SfsStoreDetailEntityBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 发料时间
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
public DateTime IssueTime { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
public DateTime ExpiredTime { get; set; } |
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
public string WorkStation { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐类型
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -0,0 +1,88 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.EventBus; |
|||
using Volo.Abp.Uow; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
using Win_in.Sfs.Shared.Event; |
|||
using Win_in.Sfs.Wms.Inventory.Application.Contracts; |
|||
using Win_in.Sfs.Wms.Store.Domain; |
|||
using Win_in.Sfs.Wms.Store.Event.Transaction; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Event.Transactions; |
|||
|
|||
public class AssembleNoteEventHandler |
|||
: StoreInventoryEventHandlerBase |
|||
, ILocalEventHandler<SfsCreatedEntityEventData<AssembleNote>> |
|||
, ILocalEventHandler<SfsCreatedEntityEventData<List<AssembleNote>>> |
|||
, ILocalEventHandler<SfsConfirmedEntityEventData<AssembleNote>> |
|||
{ |
|||
private const EnumTransType TransType = EnumTransType.Issue; |
|||
|
|||
[UnitOfWork] |
|||
public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<AssembleNote> eventData) |
|||
{ |
|||
var entity = eventData.Entity; |
|||
var transferLogs = new List<TransferLogEditInput>(); |
|||
var route = entity.UseOnTheWayLocation |
|||
? EnumTransferRoute.SourceToOnTheWay |
|||
: EnumTransferRoute.SourceToDestination; |
|||
transferLogs.AddRange(await BuildTransferLogsAsync(entity).ConfigureAwait(false)); |
|||
|
|||
await TransferLogAppService.AddManyAsync(transferLogs).ConfigureAwait(false); |
|||
} |
|||
|
|||
[UnitOfWork] |
|||
public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<List<AssembleNote>> eventData) |
|||
{ |
|||
var entities = eventData.Entity; |
|||
var transferLogs = new List<TransferLogEditInput>(); |
|||
//如果要做库存事务汇总,可以修改此处
|
|||
foreach (var issueNote in entities) |
|||
{ |
|||
transferLogs.AddRange(await BuildTransferLogsAsync(issueNote).ConfigureAwait(false)); |
|||
} |
|||
|
|||
await TransferLogAppService.AddManyAsync(transferLogs).ConfigureAwait(false); |
|||
} |
|||
|
|||
[UnitOfWork] |
|||
public virtual async Task HandleEventAsync(SfsConfirmedEntityEventData<AssembleNote> eventData) |
|||
{ |
|||
var entity = eventData.Entity; |
|||
|
|||
var inputList = await BuildTransferLogsAsync(entity) |
|||
.ConfigureAwait(false); |
|||
await AddTransferLogsAsync(inputList).ConfigureAwait(false); |
|||
} |
|||
|
|||
private async Task AddTransferLogsAsync(List<TransferLogEditInput> inputList) |
|||
{ |
|||
var transferLogs = new List<TransferLogEditInput>(); |
|||
|
|||
transferLogs.AddRange(inputList); |
|||
|
|||
await TransferLogAppService.AddManyAsync(transferLogs).ConfigureAwait(false); |
|||
} |
|||
|
|||
private async Task<List<TransferLogEditInput>> BuildTransferLogsAsync(AssembleNote issueNote) |
|||
{ |
|||
var transferLogs = new List<TransferLogEditInput>(); |
|||
foreach (var detail in issueNote.Details.Where(detail => detail.HandledToQty != 0)) |
|||
{ |
|||
var transferLog = ObjectMapper.Map<AssembleNoteDetail, TransferLogEditInput>(detail); |
|||
|
|||
transferLog.TransSubType = EnumTransSubType.Issue_WIP; |
|||
transferLog.TransType = TransType; |
|||
transferLog.DocNumber = issueNote.Number; |
|||
transferLog.JobNumber = issueNote.JobNumber; |
|||
|
|||
transferLogs.Add(transferLog); |
|||
} |
|||
|
|||
await Task.CompletedTask.ConfigureAwait(false); |
|||
|
|||
return transferLogs; |
|||
} |
|||
} |
Loading…
Reference in new issue