61 changed files with 7587 additions and 1952 deletions
@ -1,112 +1,519 @@ |
|||||
using System; |
using System; |
||||
using System.ComponentModel.DataAnnotations; |
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.Shared.Domain.Shared; |
||||
|
|
||||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
||||
|
|
||||
public class AssembleJobDetailDTO : SfsJobRecommendFromDetailDTOBase, IHasToLocation |
public class AssembleJobDetailDTO : SfsDetailDTOBase |
||||
{ |
{ |
||||
|
#region 库存基础信息
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 请求库位
|
/// 物品代码
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "请求库位")] |
public string ItemCode { get; set; } |
||||
public string RequestLocationCode { 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>
|
||||
|
public string Uom { get; set; } |
||||
|
|
||||
|
#endregion
|
||||
|
|
||||
|
#region 请求信息
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到库位
|
/// 请求库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到库位")] |
public string RequestLocationCode { get; set; } |
||||
public string ToLocationCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到库区
|
/// 到库区
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到库区")] |
public string RequestLocationArea { get; set; } |
||||
public string ToLocationArea { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到库位组
|
/// 到库位组
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到库位组")] |
public string RequestLocationGroup { get; set; } |
||||
public string ToLocationGroup { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到ERP库位
|
/// 到ERP库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到ERP库位")] |
public string RequestLocationErpCode { get; set; } |
||||
public string ToLocationErpCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到仓库
|
/// 到仓库
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到仓库")] |
public string RequestWarehouseCode { get; set; } |
||||
public string ToWarehouseCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 在途库库位
|
/// 在途库库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "在途库库位")] |
|
||||
public string OnTheWayLocationCode { get; set; } |
public string OnTheWayLocationCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 生产线
|
/// 生产线
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "生产线")] |
|
||||
public string ProdLine { get; set; } |
public string ProdLine { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <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>
|
/// </summary>
|
||||
[Display(Name = "工作中心")] |
public string RecommendFromLocationCode { get; set; } |
||||
public string WorkStation { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 过期时间
|
/// 推荐来源库区
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "过期时间")] |
public string RecommendFromLocationArea { get; set; } |
||||
public DateTime ExpiredTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 工序
|
/// 推荐来源库位组
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "工序")] |
public string RecommendFromLocationGroup { get; set; } |
||||
public string Operation { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 配送方式
|
/// 推荐来源ERP库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "配送方式")] |
public string RecommendFromLocationErpCode { get; set; } |
||||
public EnumDistributionType DistributionType { get; set; } |
|
||||
|
/// <summary>
|
||||
|
/// 推荐来源仓库
|
||||
|
/// </summary>
|
||||
|
public string RecommendFromWarehouseCode { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 推荐来源数量
|
||||
|
/// </summary>
|
||||
|
public decimal RecommendFromQty { get; set; } |
||||
|
|
||||
|
#endregion
|
||||
|
|
||||
|
#region 推荐目标
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 取整方式
|
/// 推荐目标托标签
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "取整方式")] |
public string RecommendToContainerCode { get; set; } |
||||
public EnumTruncType TruncType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 取整后数量
|
/// 推荐目标箱标签
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "取整后数量")] |
public string RecommendToPackingCode { get; set; } |
||||
public decimal RoundedQty { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 计划拆分规则
|
/// 推荐目标批次供应商批次
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "计划拆分规则")] |
public string RecommendToSupplierBatch { get; set; } |
||||
public EnumPlannedSplitRule PlannedSplitRule { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 计划开始时间
|
/// 推荐目标批次到货时间
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "计划开始时间")] |
public DateTime RecommendToArriveDate { get; set; } |
||||
public DateTime PlanBeginTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 每次配送数量
|
/// 推荐目标批次生产时间
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "每次配送数量")] |
public DateTime RecommendToProduceDate { get; set; } |
||||
public decimal DeliveryQty { 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,134 +1,519 @@ |
|||||
using System; |
using System; |
||||
using System.ComponentModel.DataAnnotations; |
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.Shared.Domain.Shared; |
||||
|
|
||||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
||||
|
|
||||
public class AssembleJobDetailInput : SfsJobRecommendFromDetailInputBase, IHasToLocation |
public class AssembleJobDetailInput : SfsDetailInputBase |
||||
{ |
{ |
||||
|
#region 库存基础信息
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 请求库位
|
/// 物品代码
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "请求库位")] |
public string ItemCode { get; set; } |
||||
[Required(ErrorMessage = "{0}是必填项")] |
|
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
/// <summary>
|
||||
public string RequestLocationCode { get; set; } |
/// 物品名称
|
||||
|
/// </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>
|
||||
|
public string Uom { get; set; } |
||||
|
|
||||
|
#endregion
|
||||
|
|
||||
|
#region 请求信息
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到库位
|
/// 请求库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到库位")] |
public string RequestLocationCode { get; set; } |
||||
[Required(ErrorMessage = "{0}是必填项")] |
|
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string ToLocationCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到库区
|
/// 到库区
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到库区")] |
public string RequestLocationArea { get; set; } |
||||
public string ToLocationArea { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到库位组
|
/// 到库位组
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到库位组")] |
public string RequestLocationGroup { get; set; } |
||||
public string ToLocationGroup { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到ERP库位
|
/// 到ERP库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到ERP库位")] |
public string RequestLocationErpCode { get; set; } |
||||
[Required(ErrorMessage = "{0}是必填项")] |
|
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string ToLocationErpCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到仓库
|
/// 到仓库
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到仓库")] |
public string RequestWarehouseCode { get; set; } |
||||
[Required(ErrorMessage = "{0}是必填项")] |
|
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string ToWarehouseCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 在途库库位
|
/// 在途库库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "在途库库位")] |
|
||||
public string OnTheWayLocationCode { get; set; } |
public string OnTheWayLocationCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 生产线
|
/// 生产线
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "生产线")] |
|
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string ProdLine { get; set; } |
public string ProdLine { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 工作中心
|
/// 位置码
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "工作中心")] |
public string PositionCode { get; set; } |
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string WorkStation { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 过期时间
|
/// 推荐的类型
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "过期时间")] |
public EnumRecommendType RecommendType { get; set; } |
||||
[Required(ErrorMessage = "{0}是必填项")] |
|
||||
public DateTime ExpiredTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 工序
|
/// 需求数量
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "工序")] |
public decimal RequestQty { get; set; } |
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string Operation { get; set; } |
#endregion
|
||||
|
|
||||
|
#region 推荐来源
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 配送方式
|
/// 推荐来源托标签
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "配送方式")] |
public string RecommendFromContainerCode { get; set; } |
||||
public EnumDistributionType DistributionType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 取整方式
|
/// 推荐来源箱标签
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "取整方式")] |
public string RecommendFromPackingCode { get; set; } |
||||
public EnumTruncType TruncType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 取整后数量
|
/// 推荐来源批次供应商批次
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "取整后数量")] |
public string RecommendFromSupplierBatch { get; set; } |
||||
public decimal RoundedQty { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 计划拆分规则
|
/// 推荐来源批次到货时间
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "计划拆分规则")] |
public DateTime RecommendFromArriveDate { get; set; } |
||||
public EnumPlannedSplitRule PlannedSplitRule { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 计划开始时间
|
/// 推荐来源批次生产时间
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "计划开始时间")] |
public DateTime RecommendFromProduceDate { get; set; } |
||||
public DateTime PlanBeginTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 每次配送数量
|
/// 推荐来源批次过期时间
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "每次配送数量")] |
public DateTime RecommendFromExpireDate { get; set; } |
||||
public decimal DeliveryQty { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 位置码
|
/// 推荐来源批次排序
|
||||
/// </summary>
|
/// </summary>
|
||||
public string PositionCode { get; set; } |
public string RecommendFromLot { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 推荐类型
|
/// 推荐来源库位
|
||||
/// </summary>
|
/// </summary>
|
||||
public EnumRecommendType RecommendType { get; set; } |
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,113 +1,519 @@ |
|||||
using System; |
using System; |
||||
using System.ComponentModel.DataAnnotations; |
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.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>
|
||||
/// 请求库位
|
/// 物品代码
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "请求库位")] |
public string ItemCode { get; set; } |
||||
public string RequestLocationCode { 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>
|
||||
|
public string Uom { get; set; } |
||||
|
|
||||
|
#endregion
|
||||
|
|
||||
|
#region 请求信息
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到库位
|
/// 请求库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到库位")] |
public string RequestLocationCode { get; set; } |
||||
public string ToLocationCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到库区
|
/// 到库区
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到库区")] |
public string RequestLocationArea { get; set; } |
||||
public string ToLocationArea { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到库位组
|
/// 到库位组
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到库位组")] |
public string RequestLocationGroup { get; set; } |
||||
public string ToLocationGroup { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到ERP库位
|
/// 到ERP库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到ERP库位")] |
public string RequestLocationErpCode { get; set; } |
||||
public string ToLocationErpCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到仓库
|
/// 到仓库
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到仓库")] |
public string RequestWarehouseCode { get; set; } |
||||
public string ToWarehouseCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 在途库库位
|
/// 在途库库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "在途库库位")] |
|
||||
public string OnTheWayLocationCode { get; set; } |
public string OnTheWayLocationCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 生产线
|
/// 生产线
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "生产线")] |
|
||||
public string ProdLine { get; set; } |
public string ProdLine { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <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>
|
/// </summary>
|
||||
[Display(Name = "工作中心")] |
public string RecommendFromLocationCode { get; set; } |
||||
public string WorkStation { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 过期时间
|
/// 推荐来源库区
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "过期时间")] |
public string RecommendFromLocationArea { get; set; } |
||||
public DateTime ExpiredTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 工序
|
/// 推荐来源库位组
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "工序")] |
public string RecommendFromLocationGroup { get; set; } |
||||
public string Operation { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 配送方式
|
/// 推荐来源ERP库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "配送方式")] |
public string RecommendFromLocationErpCode { get; set; } |
||||
public EnumDistributionType DistributionType { get; set; } |
|
||||
|
/// <summary>
|
||||
|
/// 推荐来源仓库
|
||||
|
/// </summary>
|
||||
|
public string RecommendFromWarehouseCode { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 推荐来源数量
|
||||
|
/// </summary>
|
||||
|
public decimal RecommendFromQty { get; set; } |
||||
|
|
||||
|
#endregion
|
||||
|
|
||||
|
#region 推荐目标
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 取整方式
|
/// 推荐目标托标签
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "取整方式")] |
public string RecommendToContainerCode { get; set; } |
||||
public EnumTruncType TruncType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 取整后数量
|
/// 推荐目标箱标签
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "取整后数量")] |
public string RecommendToPackingCode { get; set; } |
||||
public decimal RoundedQty { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 计划拆分规则
|
/// 推荐目标批次供应商批次
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "计划拆分规则")] |
public string RecommendToSupplierBatch { get; set; } |
||||
public EnumPlannedSplitRule PlannedSplitRule { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 计划开始时间
|
/// 推荐目标批次到货时间
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "计划开始时间")] |
public DateTime RecommendToArriveDate { get; set; } |
||||
public DateTime PlanBeginTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 每次配送数量
|
/// 推荐目标批次生产时间
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "每次配送数量")] |
public DateTime RecommendToProduceDate { get; set; } |
||||
public decimal DeliveryQty { 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,135 +1,519 @@ |
|||||
using System; |
using System; |
||||
using System.ComponentModel.DataAnnotations; |
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.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>
|
||||
/// 请求库位
|
/// 物品代码
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "请求库位")] |
public string ItemCode { get; set; } |
||||
[Required(ErrorMessage = "{0}是必填项")] |
|
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
/// <summary>
|
||||
public string RequestLocationCode { get; set; } |
/// 物品名称
|
||||
|
/// </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>
|
||||
|
public string Uom { get; set; } |
||||
|
|
||||
|
#endregion
|
||||
|
|
||||
|
#region 请求信息
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到库位
|
/// 请求库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到库位")] |
public string RequestLocationCode { get; set; } |
||||
[Required(ErrorMessage = "{0}是必填项")] |
|
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string ToLocationCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到库区
|
/// 到库区
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到库区")] |
public string RequestLocationArea { get; set; } |
||||
public string ToLocationArea { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到库位组
|
/// 到库位组
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到库位组")] |
public string RequestLocationGroup { get; set; } |
||||
public string ToLocationGroup { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到ERP库位
|
/// 到ERP库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到ERP库位")] |
public string RequestLocationErpCode { get; set; } |
||||
[Required(ErrorMessage = "{0}是必填项")] |
|
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string ToLocationErpCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 到仓库
|
/// 到仓库
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "到仓库")] |
public string RequestWarehouseCode { get; set; } |
||||
[Required(ErrorMessage = "{0}是必填项")] |
|
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string ToWarehouseCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 在途库库位
|
/// 在途库库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "在途库库位")] |
|
||||
public string OnTheWayLocationCode { get; set; } |
public string OnTheWayLocationCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 生产线
|
/// 生产线
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "生产线")] |
|
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string ProdLine { get; set; } |
public string ProdLine { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 工作中心
|
/// 位置码
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "工作中心")] |
public string PositionCode { get; set; } |
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string WorkStation { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 过期时间
|
/// 推荐的类型
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "过期时间")] |
public EnumRecommendType RecommendType { get; set; } |
||||
[Required(ErrorMessage = "{0}是必填项")] |
|
||||
public DateTime ExpiredTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 工序
|
/// 需求数量
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "工序")] |
public decimal RequestQty { get; set; } |
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string Operation { get; set; } |
#endregion
|
||||
|
|
||||
|
#region 推荐来源
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 配送方式
|
/// 推荐来源托标签
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "配送方式")] |
public string RecommendFromContainerCode { get; set; } |
||||
public EnumDistributionType DistributionType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 取整方式
|
/// 推荐来源箱标签
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "取整方式")] |
public string RecommendFromPackingCode { get; set; } |
||||
public EnumTruncType TruncType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 取整后数量
|
/// 推荐来源批次供应商批次
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "取整后数量")] |
public string RecommendFromSupplierBatch { get; set; } |
||||
public decimal RoundedQty { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 计划拆分规则
|
/// 推荐来源批次到货时间
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "计划拆分规则")] |
public DateTime RecommendFromArriveDate { get; set; } |
||||
public EnumPlannedSplitRule PlannedSplitRule { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 计划开始时间
|
/// 推荐来源批次生产时间
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "计划开始时间")] |
public DateTime RecommendFromProduceDate { get; set; } |
||||
public DateTime PlanBeginTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 每次配送数量
|
/// 推荐来源批次过期时间
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "每次配送数量")] |
public DateTime RecommendFromExpireDate { get; set; } |
||||
public decimal DeliveryQty { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 位置码
|
/// 推荐来源批次排序
|
||||
/// </summary>
|
/// </summary>
|
||||
public string PositionCode { get; set; } |
public string RecommendFromLot { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 推荐类型
|
/// 推荐来源库位
|
||||
/// </summary>
|
/// </summary>
|
||||
public EnumRecommendType RecommendType { get; set; } |
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,42 +1,519 @@ |
|||||
using System; |
using System; |
||||
using System.ComponentModel.DataAnnotations; |
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; |
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
||||
|
|
||||
public class AssembleNoteDetailDTO : SfsStoreRecommendFromDetailWithFromToDTOBase |
public class AssembleNoteDetailDTO : SfsDetailDTOBase |
||||
{ |
{ |
||||
|
#region 库存基础信息
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 发料时间
|
/// 物品代码
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "发料时间")] |
public string ItemCode { get; set; } |
||||
public DateTime IssueTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 过期时间
|
/// 物品名称
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "过期时间")] |
public string ItemName { get; set; } |
||||
public DateTime ExpiredTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 生产线
|
/// 物品描述1
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "生产线")] |
public string ItemDesc1 { get; set; } |
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string ProdLine { 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 RequestLocationArea { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 到库位组
|
||||
|
/// </summary>
|
||||
|
public string RequestLocationGroup { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 到ERP库位
|
||||
|
/// </summary>
|
||||
|
public string RequestLocationErpCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 工作中心
|
/// 到仓库
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "工作中心")] |
public string RequestWarehouseCode { get; set; } |
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string WorkStation { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 在途库库位
|
/// 在途库库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "在途库库位")] |
|
||||
public string OnTheWayLocationCode { get; set; } |
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; |
||||
using System.ComponentModel.DataAnnotations; |
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.Shared.Domain.Shared; |
||||
|
|
||||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
||||
|
|
||||
public class AssembleNoteDetailInput : SfsStoreRecommendFromDetailWithFromToInputBase |
public class AssembleNoteDetailInput : SfsDetailInputBase |
||||
{ |
{ |
||||
|
#region 库存基础信息
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 发料时间
|
/// 物品代码
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "发料时间")] |
public string ItemCode { get; set; } |
||||
public DateTime IssueTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 过期时间
|
/// 物品名称
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "过期时间")] |
public string ItemName { get; set; } |
||||
public DateTime ExpiredTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 生产线
|
/// 物品描述1
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "生产线")] |
public string ItemDesc1 { get; set; } |
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string ProdLine { 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 RequestLocationArea { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 到库位组
|
||||
|
/// </summary>
|
||||
|
public string RequestLocationGroup { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 到ERP库位
|
||||
|
/// </summary>
|
||||
|
public string RequestLocationErpCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 工作中心
|
/// 到仓库
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "工作中心")] |
public string RequestWarehouseCode { get; set; } |
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string WorkStation { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 在途库库位
|
/// 在途库库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "在途库库位")] |
|
||||
public string OnTheWayLocationCode { get; set; } |
public string OnTheWayLocationCode { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 生产线
|
||||
|
/// </summary>
|
||||
|
public string ProdLine { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 位置码
|
/// 位置码
|
||||
/// </summary>
|
/// </summary>
|
||||
public string PositionCode { get; set; } |
public string PositionCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 推荐类型
|
/// 推荐的类型
|
||||
/// </summary>
|
/// </summary>
|
||||
public EnumRecommendType RecommendType { get; set; } |
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; |
||||
using System.ComponentModel.DataAnnotations; |
using System.ComponentModel.DataAnnotations; |
||||
using Win_in.Sfs.Shared.Domain; |
using System.ComponentModel.DataAnnotations.Schema; |
||||
using Win_in.Sfs.Wms.Store.Application.Contracts; |
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>
|
||||
/// 发料时间
|
/// 物品代码
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "发料时间")] |
public string ItemCode { get; set; } |
||||
public DateTime IssueTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 过期时间
|
/// 物品名称
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "过期时间")] |
public string ItemName { get; set; } |
||||
public DateTime ExpiredTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 生产线
|
/// 物品描述1
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "生产线")] |
public string ItemDesc1 { get; set; } |
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string ProdLine { 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 RequestLocationArea { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 到库位组
|
||||
|
/// </summary>
|
||||
|
public string RequestLocationGroup { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 到ERP库位
|
||||
|
/// </summary>
|
||||
|
public string RequestLocationErpCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 工作中心
|
/// 到仓库
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "工作中心")] |
public string RequestWarehouseCode { get; set; } |
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string WorkStation { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 在途库库位
|
/// 在途库库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "在途库库位")] |
|
||||
public string OnTheWayLocationCode { get; set; } |
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; |
||||
using System.ComponentModel.DataAnnotations; |
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.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>
|
||||
/// 发料时间
|
/// 物品代码
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "发料时间")] |
public string ItemCode { get; set; } |
||||
public DateTime IssueTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 过期时间
|
/// 物品名称
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "过期时间")] |
public string ItemName { get; set; } |
||||
public DateTime ExpiredTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 生产线
|
/// 物品描述1
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "生产线")] |
public string ItemDesc1 { get; set; } |
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string ProdLine { 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 RequestLocationArea { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 到库位组
|
||||
|
/// </summary>
|
||||
|
public string RequestLocationGroup { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 到ERP库位
|
||||
|
/// </summary>
|
||||
|
public string RequestLocationErpCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 工作中心
|
/// 到仓库
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "工作中心")] |
public string RequestWarehouseCode { get; set; } |
||||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|
||||
public string WorkStation { get; set; } |
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 在途库库位
|
/// 在途库库位
|
||||
/// </summary>
|
/// </summary>
|
||||
[Display(Name = "在途库库位")] |
|
||||
public string OnTheWayLocationCode { get; set; } |
public string OnTheWayLocationCode { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 生产线
|
||||
|
/// </summary>
|
||||
|
public string ProdLine { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 位置码
|
/// 位置码
|
||||
/// </summary>
|
/// </summary>
|
||||
public string PositionCode { get; set; } |
public string PositionCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 推荐类型
|
/// 推荐的类型
|
||||
/// </summary>
|
/// </summary>
|
||||
public EnumRecommendType RecommendType { get; set; } |
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; |
||||
using System.Collections.Generic; |
using System.Collections.Generic; |
||||
|
using System.Data; |
||||
using System.Linq; |
using System.Linq; |
||||
using System.Linq.Expressions; |
using System.Linq.Expressions; |
||||
using System.Threading; |
using System.Threading; |
||||
using System.Threading.Tasks; |
using System.Threading.Tasks; |
||||
|
using Castle.Components.DictionaryAdapter; |
||||
using Microsoft.AspNetCore.Authorization; |
using Microsoft.AspNetCore.Authorization; |
||||
using Microsoft.AspNetCore.Mvc; |
using Microsoft.AspNetCore.Mvc; |
||||
using Volo.Abp; |
using Volo.Abp; |
||||
using Volo.Abp.Application.Dtos; |
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.Basedata.Domain.Shared; |
||||
using Win_in.Sfs.Shared.Domain; |
using Win_in.Sfs.Shared.Domain; |
||||
using Win_in.Sfs.Shared.Domain.Shared; |
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.Application.Contracts; |
||||
|
using Win_in.Sfs.Wms.Store.Domain; |
||||
using Win_in.Sfs.Wms.Store.Domain.Shared; |
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] |
[Authorize] |
||||
[Route($"{StoreConsts.RootPath}coatingissue-job")] |
[Route($"{StoreConsts.RootPath}coating-issue-job")] |
||||
|
|
||||
public class CoatingIssueJobAppService |
public class CoatingIssueJobAppService |
||||
: SfsJobAppServiceBase<CoatingIssueJob, CoatingIssueJobDetail, CoatingIssueJobDTO, SfsJobRequestInputBase, CoatingIssueJobCheckInput, CoatingIssueJobEditInput>, |
: SfsJobAppServiceBase<CoatingIssueJob, CoatingIssueJobDetail, CoatingIssueJobDTO, SfsJobRequestInputBase, |
||||
ICoatingIssueJobAppService |
CoatingIssueJobCheckInput, CoatingIssueJobEditInput>, |
||||
|
ICoatingIssueJobAppService, ITransferLibCallback |
||||
{ |
{ |
||||
private readonly ICoatingIssueJobManager _CoatingIssueJobManager; |
private readonly ICoatingIssueJobManager _coatingIssueJobManager; |
||||
|
private readonly ILocationAppService _locationAppService; |
||||
|
private readonly ITransferLibJobAppService _transferLibJobAppService; |
||||
|
|
||||
public CoatingIssueJobAppService( |
public CoatingIssueJobAppService( |
||||
ICoatingIssueJobRepository repository, ICoatingIssueJobManager CoatingIssueJobManager |
ICoatingIssueJobRepository repository, ICoatingIssueJobManager coatingIssueJobManager, |
||||
) : base(repository, CoatingIssueJobManager) |
ILocationAppService locationAppService, ITransferLibJobAppService transferLibJobAppService) : base(repository, coatingIssueJobManager) |
||||
{ |
{ |
||||
_CoatingIssueJobManager = CoatingIssueJobManager; |
_coatingIssueJobManager = coatingIssueJobManager; |
||||
|
_locationAppService = locationAppService; |
||||
|
_transferLibJobAppService = transferLibJobAppService; |
||||
} |
} |
||||
|
|
||||
/// <summary>
|
[HttpPost("add-many")] |
||||
/// 根据物品和库位 检查是否存在发料任务
|
public override async Task<List<CoatingIssueJobDTO>> CreateManyAsync(List<CoatingIssueJobEditInput> inputs) |
||||
/// </summary>
|
{ |
||||
/// <param name="itemCode"></param>
|
foreach (var input in inputs) |
||||
/// <param name="locationCode"></param>
|
|
||||
/// <returns></returns>
|
|
||||
/// <exception cref="NotImplementedException"></exception>
|
|
||||
[Authorize] |
|
||||
[HttpGet("check-job-exist")] |
|
||||
public virtual async Task<List<CoatingIssueJobDTO>> CheckJobExistByItemCodeAndLocationCode(string itemCode, |
|
||||
string locationCode) |
|
||||
{ |
{ |
||||
var entities = await _repository.GetListAsync(c => |
await CheckMinRowAndSetStatusAsync(input).ConfigureAwait(false); |
||||
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; |
|
||||
} |
} |
||||
|
|
||||
[HttpPost("cancel-by-request/{materialNumber}")] |
return await base.CreateManyAsync(inputs).ConfigureAwait(false); |
||||
public virtual async Task CancelByMaterialRequestAsync(string materialNumber) |
} |
||||
|
|
||||
|
[HttpPost("")] |
||||
|
public override async Task<CoatingIssueJobDTO> CreateAsync(CoatingIssueJobEditInput input) |
||||
{ |
{ |
||||
var entities = await _repository.GetListAsync(p => p.MaterialRequestNumber == materialNumber).ConfigureAwait(false); |
await CheckMinRowAndSetStatusAsync(input).ConfigureAwait(false); |
||||
|
|
||||
|
return await base.CreateAsync(input).ConfigureAwait(false); |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 判断是不是在最底层 如果不是则把状态变更为等待 并把库移推荐的From和To赋值
|
||||
|
/// </summary>
|
||||
|
/// <param name="input"></param>
|
||||
|
/// <returns></returns>
|
||||
|
private async Task CheckMinRowAndSetStatusAsync(CoatingIssueJobEditInput input) |
||||
|
{ |
||||
|
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/{requestNumber}")] |
||||
|
public virtual async Task CancelByMaterialRequestAsync(string requestNumber) |
||||
|
{ |
||||
|
var entities = await _repository.GetListAsync(p => p.MaterialRequestNumber == requestNumber) |
||||
|
.ConfigureAwait(false); |
||||
foreach (var entity in entities) |
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")] |
[HttpPost("invalid")] |
||||
public override async Task CancelAsync(Guid id) |
public override async Task CancelAsync(Guid id) |
||||
{ |
{ |
||||
var CoatingIssueJob = await _repository.GetAsync(id).ConfigureAwait(false); |
var coatingIssueJob = await _repository.GetAsync(id).ConfigureAwait(false); |
||||
if (CoatingIssueJob == null) |
if (coatingIssueJob == null) |
||||
{ |
{ |
||||
throw new UserFriendlyException($"未找到ID为 {id} 的任务"); |
throw new UserFriendlyException($"未找到ID为 {id} 的任务"); |
||||
} |
} |
||||
|
|
||||
/* |
await _coatingIssueJobManager.CancelAsync(coatingIssueJob).ConfigureAwait(false); |
||||
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) |
|
||||
|
[HttpPost("by-request-number/{requestNumber}")] |
||||
|
public virtual async Task<List<CoatingIssueJobDTO>> GetByRequestNumberAsync(string requestNumber) |
||||
{ |
{ |
||||
listLocationCode.Add(detail.RequestLocationCode); |
var entitys = await _repository.GetListAsync(p => p.MaterialRequestNumber == requestNumber) |
||||
|
.ConfigureAwait(false); |
||||
|
return ObjectMapper.Map<List<CoatingIssueJob>, List<CoatingIssueJobDTO>>(entitys); |
||||
} |
} |
||||
if (detail.HandledLocationCode != null) |
|
||||
|
[HttpPost("Do-Call-Back")] |
||||
|
public async Task DoTransferLibCallbackAsync(TransferLibJobDTO dto) |
||||
{ |
{ |
||||
listLocationCode.Add(detail.ToLocationCode); |
var job = await _repository.FindAsync(p => p.Number == dto.JobNumber).ConfigureAwait(false); |
||||
} |
|
||||
} |
|
||||
listLocationCode = listLocationCode.Distinct().ToList(); |
|
||||
*/ |
|
||||
|
|
||||
await _CoatingIssueJobManager.CancelAsync(CoatingIssueJob).ConfigureAwait(false); |
//todo 等云峰写好换成真实的
|
||||
|
var transferLibJobDto = await _transferLibJobAppService.GetByNumberAsync("AAA").ConfigureAwait(false); |
||||
|
var transferLibNote = new TransferLibNote(); |
||||
|
|
||||
} |
var transferLibNoteDetail = transferLibNote.Details.First(); |
||||
|
|
||||
/// <summary>
|
var jobDetail = job.Details.First(); |
||||
/// 根据叫料请求类型获取发料任务
|
job.JobStatus = EnumJobStatus.Open; |
||||
/// </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, |
jobDetail.TransferLibFromArriveDate = transferLibNoteDetail.HandledFromArriveDate; |
||||
requestInput.Sorting, includeDetails, cancellationToken).ConfigureAwait(false); |
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; |
||||
|
|
||||
[HttpPost("by-request-number/{requestNumber}")] |
await _repository.UpdateAsync(job).ConfigureAwait(false); |
||||
public virtual async Task<List<CoatingIssueJobDTO>> GetByRequestNumberAsync(string requestNumber) |
|
||||
{ |
return; |
||||
var entitys = await _repository.GetListAsync(p => p.MaterialRequestNumber == requestNumber).ConfigureAwait(false); |
|
||||
return ObjectMapper.Map<List<CoatingIssueJob>, List<CoatingIssueJobDTO>>(entitys); |
|
||||
} |
} |
||||
|
|
||||
/// <summary>
|
[HttpPost("test")] |
||||
/// 保存拆箱时涉及的明细修改
|
public virtual async Task Test() |
||||
/// </summary>
|
|
||||
/// <returns></returns>
|
|
||||
[HttpPost("save-detail-split-packing")] |
|
||||
public virtual async Task<CoatingIssueJobDTO> SaveDetail_SplitPackingAsync(SplitPacking_UpdateJobDetailInput input) |
|
||||
{ |
{ |
||||
var job = await _repository.FindAsync(p => p.Number == input.Number).ConfigureAwait(false); |
Console.WriteLine("FuAZCZXVZXVXZVZ"); |
||||
var detail = job.Details.FirstOrDefault(p => p.RecommendPackingCode == input.FromPackingCode); /*&& p.HandledQty == input.FromQty*/ |
await Task.CompletedTask; |
||||
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; |
|
||||
} |
} |
||||
|
|
||||
|
|
||||
|
|
||||
} |
} |
||||
|
@ -1,6 +1,6 @@ |
|||||
namespace Win_in.Sfs.Wms.Store.Domain; |
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; |
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; |
||||
|
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.Shared.Domain.Shared; |
||||
|
|
||||
namespace Win_in.Sfs.Wms.Store.Domain; |
namespace Win_in.Sfs.Wms.Store.Domain; |
||||
|
|
||||
public class AssembleNoteDetail : SfsStoreRecommendFromDetailWithFromToEntityBase |
public class AssembleNoteDetail : SfsStoreDetailEntityBase |
||||
{ |
{ |
||||
|
#region 库存基础信息
|
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 发料时间
|
/// 物品代码
|
||||
/// </summary>
|
/// </summary>
|
||||
public DateTime IssueTime { get; set; } |
public string ItemCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 过期时间
|
/// 物品名称
|
||||
/// </summary>
|
/// </summary>
|
||||
public DateTime ExpiredTime { get; set; } |
public string ItemName { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 生产线
|
/// 物品描述1
|
||||
/// </summary>
|
/// </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 RequestLocationArea { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 到库位组
|
||||
|
/// </summary>
|
||||
|
public string RequestLocationGroup { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 到ERP库位
|
||||
|
/// </summary>
|
||||
|
public string RequestLocationErpCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 工作中心
|
/// 到仓库
|
||||
/// </summary>
|
/// </summary>
|
||||
public string WorkStation { get; set; } |
public string RequestWarehouseCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 在途库库位
|
/// 在途库库位
|
||||
/// </summary>
|
/// </summary>
|
||||
public string OnTheWayLocationCode { get; set; } |
public string OnTheWayLocationCode { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 生产线
|
||||
|
/// </summary>
|
||||
|
public string ProdLine { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 位置码
|
/// 位置码
|
||||
/// </summary>
|
/// </summary>
|
||||
public string PositionCode { get; set; } |
public string PositionCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 推荐类型
|
/// 推荐的类型
|
||||
/// </summary>
|
/// </summary>
|
||||
public EnumRecommendType RecommendType { get; set; } |
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; |
||||
|
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.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>
|
||||
/// 发料时间
|
/// 物品代码
|
||||
/// </summary>
|
/// </summary>
|
||||
public DateTime IssueTime { get; set; } |
public string ItemCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 过期时间
|
/// 物品名称
|
||||
/// </summary>
|
/// </summary>
|
||||
public DateTime ExpiredTime { get; set; } |
public string ItemName { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 生产线
|
/// 物品描述1
|
||||
/// </summary>
|
/// </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 RequestLocationArea { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 到库位组
|
||||
|
/// </summary>
|
||||
|
public string RequestLocationGroup { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 到ERP库位
|
||||
|
/// </summary>
|
||||
|
public string RequestLocationErpCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 工作中心
|
/// 到仓库
|
||||
/// </summary>
|
/// </summary>
|
||||
public string WorkStation { get; set; } |
public string RequestWarehouseCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 在途库库位
|
/// 在途库库位
|
||||
/// </summary>
|
/// </summary>
|
||||
public string OnTheWayLocationCode { get; set; } |
public string OnTheWayLocationCode { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 生产线
|
||||
|
/// </summary>
|
||||
|
public string ProdLine { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 位置码
|
/// 位置码
|
||||
/// </summary>
|
/// </summary>
|
||||
public string PositionCode { get; set; } |
public string PositionCode { get; set; } |
||||
|
|
||||
/// <summary>
|
/// <summary>
|
||||
/// 推荐类型
|
/// 推荐的类型
|
||||
/// </summary>
|
/// </summary>
|
||||
public EnumRecommendType RecommendType { get; set; } |
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