129 changed files with 8834 additions and 2442 deletions
@ -1,4 +1,5 @@ |
|||
using Volo.Abp.Authorization.Permissions; |
|||
using Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
@ -0,0 +1,21 @@ |
|||
using Volo.Abp.Authorization.Permissions; |
|||
using Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public static class ChassisOperationSequencePermissions |
|||
{ |
|||
public const string Default = StorePermissions.GroupName + "." + nameof(ChassisOperationSequence); |
|||
public const string Create = Default + "." + StorePermissions.CreateStr; |
|||
public const string Update = Default + "." + StorePermissions.UpdateStr; |
|||
public const string Delete = Default + "." + StorePermissions.DeleteStr; |
|||
|
|||
public static void AddChassisOperationSequencePermission(this PermissionGroupDefinition permissionGroup) |
|||
{ |
|||
var purchaseOrderPermission = |
|||
permissionGroup.AddPermission(Default, StorePermissionDefinitionProvider.L(nameof(ChassisOperationSequence))); |
|||
purchaseOrderPermission.AddChild(Create, StorePermissionDefinitionProvider.L(StorePermissions.CreateStr)); |
|||
purchaseOrderPermission.AddChild(Update, StorePermissionDefinitionProvider.L(StorePermissions.UpdateStr)); |
|||
purchaseOrderPermission.AddChild(Delete, StorePermissionDefinitionProvider.L(StorePermissions.DeleteStr)); |
|||
} |
|||
} |
@ -0,0 +1,48 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
/// <summary>
|
|||
/// 底盘信息
|
|||
/// </summary>
|
|||
[Display(Name = "底盘信息")] |
|||
public class ChassisOperationSequenceDTO : SfsBasicDTOBase |
|||
{ |
|||
/// <summary>
|
|||
/// Wms编号
|
|||
/// </summary>
|
|||
[Display(Name = "Wms编号")] |
|||
public string Number { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 底盘号
|
|||
/// </summary>
|
|||
[Display(Name = "底盘号")] |
|||
public string ChassisOperationSequenceNumber { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 描述
|
|||
/// </summary>
|
|||
[Display(Name = "描述")] |
|||
public string Description { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 底盘生产时间
|
|||
/// </summary>
|
|||
[Display(Name = "底盘生产时间")] |
|||
public DateTime ProduceDateTime { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 接收接口时间
|
|||
/// </summary>
|
|||
[Display(Name = "接收接口时间")] |
|||
public DateTime ReceiveInterfaceDateTime { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 执行位置排序列
|
|||
/// </summary>
|
|||
[Display(Name = "执行位置排序列")] |
|||
public long SortNumber { get; set; } |
|||
} |
@ -0,0 +1,12 @@ |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public interface IChassisOperationSequenceAppService |
|||
: |
|||
ISfsStoreMasterAppServiceBase<ChassisOperationSequenceDTO, SfsStoreRequestInputBase, ChassisOperationSequenceEditInput, ChassisOperationSequenceDTO, |
|||
SfsStoreRequestInputBase>, |
|||
ISfsCheckStatusAppService |
|||
, ISfsUpsertAppService<ChassisOperationSequenceEditInput> |
|||
{ |
|||
} |
@ -0,0 +1,48 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
/// <summary>
|
|||
/// 底盘信息
|
|||
/// </summary>
|
|||
[Display(Name = "底盘信息")] |
|||
public class ChassisOperationSequenceEditInput |
|||
: SfsStoreCreateOrUpdateInputBase |
|||
{ |
|||
/// <summary>
|
|||
/// Wms编号
|
|||
/// </summary>
|
|||
[Display(Name = "Wms编号")] |
|||
public string Number { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 底盘号
|
|||
/// </summary>
|
|||
[Display(Name = "底盘号")] |
|||
public string ChassisOperationSequenceNumber { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 描述
|
|||
/// </summary>
|
|||
[Display(Name = "描述")] |
|||
public string Description { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 底盘生产时间
|
|||
/// </summary>
|
|||
[Display(Name = "底盘生产时间")] |
|||
public DateTime ProduceDateTime { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 接收接口时间
|
|||
/// </summary>
|
|||
[Display(Name = "接收接口时间")] |
|||
public DateTime ReceiveInterfaceDateTime { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 执行位置排序列
|
|||
/// </summary>
|
|||
[Display(Name = "执行位置排序列")] |
|||
public long SortNumber { get; set; } |
|||
} |
@ -0,0 +1,51 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Application.Contracts.ExportAndImport; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
/// <summary>
|
|||
/// 底盘信息
|
|||
/// </summary>
|
|||
[Display(Name = "底盘信息")] |
|||
public class ChassisOperationSequenceImportInput : SfsStoreImportInputBase |
|||
{ |
|||
/// <summary>
|
|||
/// Wms编号
|
|||
/// </summary>
|
|||
[Display(Name = "Wms编号")] |
|||
public string Number { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 底盘号
|
|||
/// </summary>
|
|||
[Display(Name = "底盘号")] |
|||
public string ChassisOperationSequenceNumber { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 描述
|
|||
/// </summary>
|
|||
[Display(Name = "描述")] |
|||
public string Description { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 底盘生产时间
|
|||
/// </summary>
|
|||
[Display(Name = "底盘生产时间")] |
|||
public DateTime ProduceDateTime { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 接收接口时间
|
|||
/// </summary>
|
|||
[Display(Name = "接收接口时间")] |
|||
public DateTime ReceiveInterfaceDateTime { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 执行位置排序列
|
|||
/// </summary>
|
|||
[Display(Name = "执行位置排序列")] |
|||
public long SortNumber { get; set; } |
|||
} |
@ -1,112 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class AssembleJobDetailDTO : SfsJobRecommendFromDetailDTOBase, IHasToLocation |
|||
public class AssembleJobDetailDTO : SfsDetailDTOBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "请求库位")] |
|||
public string RequestLocationCode { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
[Display(Name = "到库位")] |
|||
public string ToLocationCode { get; set; } |
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库区
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "到库区")] |
|||
public string ToLocationArea { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位组
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
[Display(Name = "到库位组")] |
|||
public string ToLocationGroup { get; set; } |
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "到ERP库位")] |
|||
public string ToLocationErpCode { get; set; } |
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
[Display(Name = "到仓库")] |
|||
public string ToWarehouseCode { get; set; } |
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
public string WorkStation { get; set; } |
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工序
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
[Display(Name = "工序")] |
|||
public string Operation { get; set; } |
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 配送方式
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
[Display(Name = "配送方式")] |
|||
public EnumDistributionType DistributionType { get; set; } |
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整方式
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "取整方式")] |
|||
public EnumTruncType TruncType { get; set; } |
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整后数量
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
[Display(Name = "取整后数量")] |
|||
public decimal RoundedQty { get; set; } |
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计划拆分规则
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
[Display(Name = "计划拆分规则")] |
|||
public EnumPlannedSplitRule PlannedSplitRule { get; set; } |
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 计划开始时间
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
[Display(Name = "计划开始时间")] |
|||
public DateTime PlanBeginTime { get; set; } |
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 每次配送数量
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
[Display(Name = "每次配送数量")] |
|||
public decimal DeliveryQty { get; set; } |
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,134 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class AssembleJobDetailInput : SfsJobRecommendFromDetailInputBase, IHasToLocation |
|||
public class AssembleJobDetailInput : SfsDetailInputBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "请求库位")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string RequestLocationCode { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
[Display(Name = "到库位")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ToLocationCode { get; set; } |
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库区
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "到库区")] |
|||
public string ToLocationArea { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位组
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
[Display(Name = "到库位组")] |
|||
public string ToLocationGroup { get; set; } |
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "到ERP库位")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ToLocationErpCode { get; set; } |
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
[Display(Name = "到仓库")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ToWarehouseCode { get; set; } |
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string WorkStation { get; set; } |
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 工序
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
[Display(Name = "工序")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string Operation { get; set; } |
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 配送方式
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
[Display(Name = "配送方式")] |
|||
public EnumDistributionType DistributionType { get; set; } |
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整方式
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
[Display(Name = "取整方式")] |
|||
public EnumTruncType TruncType { get; set; } |
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整后数量
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
[Display(Name = "取整后数量")] |
|||
public decimal RoundedQty { get; set; } |
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计划拆分规则
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
[Display(Name = "计划拆分规则")] |
|||
public EnumPlannedSplitRule PlannedSplitRule { get; set; } |
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计划开始时间
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
[Display(Name = "计划开始时间")] |
|||
public DateTime PlanBeginTime { get; set; } |
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 每次配送数量
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
[Display(Name = "每次配送数量")] |
|||
public decimal DeliveryQty { get; set; } |
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐类型
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,113 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
using Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Jobs.IssueJobs; |
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class CoatingIssueJobDetailDTO : SfsJobRecommendFromDetailDTOBase, IHasToLocation |
|||
public class CoatingIssueJobDetailDTO : SfsDetailDTOBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "请求库位")] |
|||
public string RequestLocationCode { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
[Display(Name = "到库位")] |
|||
public string ToLocationCode { get; set; } |
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库区
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "到库区")] |
|||
public string ToLocationArea { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位组
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
[Display(Name = "到库位组")] |
|||
public string ToLocationGroup { get; set; } |
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "到ERP库位")] |
|||
public string ToLocationErpCode { get; set; } |
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
[Display(Name = "到仓库")] |
|||
public string ToWarehouseCode { get; set; } |
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
public string WorkStation { get; set; } |
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工序
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
[Display(Name = "工序")] |
|||
public string Operation { get; set; } |
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 配送方式
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
[Display(Name = "配送方式")] |
|||
public EnumDistributionType DistributionType { get; set; } |
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整方式
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "取整方式")] |
|||
public EnumTruncType TruncType { get; set; } |
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整后数量
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
[Display(Name = "取整后数量")] |
|||
public decimal RoundedQty { get; set; } |
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计划拆分规则
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
[Display(Name = "计划拆分规则")] |
|||
public EnumPlannedSplitRule PlannedSplitRule { get; set; } |
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 计划开始时间
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
[Display(Name = "计划开始时间")] |
|||
public DateTime PlanBeginTime { get; set; } |
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 每次配送数量
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
[Display(Name = "每次配送数量")] |
|||
public decimal DeliveryQty { get; set; } |
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,135 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
using Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Jobs.IssueJobs; |
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class CoatingIssueJobDetailInput : SfsJobRecommendFromDetailInputBase, IHasToLocation |
|||
public class CoatingIssueJobDetailInput : SfsDetailInputBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "请求库位")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string RequestLocationCode { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
[Display(Name = "到库位")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ToLocationCode { get; set; } |
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库区
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "到库区")] |
|||
public string ToLocationArea { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到库位组
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
[Display(Name = "到库位组")] |
|||
public string ToLocationGroup { get; set; } |
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
[Display(Name = "到ERP库位")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ToLocationErpCode { get; set; } |
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
[Display(Name = "到仓库")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ToWarehouseCode { get; set; } |
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string WorkStation { get; set; } |
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
[Required(ErrorMessage = "{0}是必填项")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 工序
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
[Display(Name = "工序")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string Operation { get; set; } |
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 配送方式
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
[Display(Name = "配送方式")] |
|||
public EnumDistributionType DistributionType { get; set; } |
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整方式
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
[Display(Name = "取整方式")] |
|||
public EnumTruncType TruncType { get; set; } |
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 取整后数量
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
[Display(Name = "取整后数量")] |
|||
public decimal RoundedQty { get; set; } |
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计划拆分规则
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
[Display(Name = "计划拆分规则")] |
|||
public EnumPlannedSplitRule PlannedSplitRule { get; set; } |
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计划开始时间
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
[Display(Name = "计划开始时间")] |
|||
public DateTime PlanBeginTime { get; set; } |
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 每次配送数量
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
[Display(Name = "每次配送数量")] |
|||
public decimal DeliveryQty { get; set; } |
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐类型
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,42 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class AssembleNoteDetailDTO : SfsStoreRecommendFromDetailWithFromToDTOBase |
|||
public class AssembleNoteDetailDTO : SfsDetailDTOBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 发料时间
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "发料时间")] |
|||
public DateTime IssueTime { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ProdLine { get; set; } |
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string WorkStation { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,53 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class AssembleNoteDetailInput : SfsStoreRecommendFromDetailWithFromToInputBase |
|||
public class AssembleNoteDetailInput : SfsDetailInputBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 发料时间
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "发料时间")] |
|||
public DateTime IssueTime { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ProdLine { get; set; } |
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string WorkStation { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐类型
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,43 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Notes.IssueNotes; |
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class CoatingIssueNoteDetailDTO : SfsStoreRecommendFromDetailWithFromToDTOBase |
|||
public class CoatingIssueNoteDetailDTO : SfsDetailDTOBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 发料时间
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "发料时间")] |
|||
public DateTime IssueTime { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ProdLine { get; set; } |
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string WorkStation { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,54 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
using Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Notes.IssueNotes; |
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public class CoatingIssueNoteDetailInput : SfsStoreRecommendFromDetailWithFromToInputBase |
|||
public class CoatingIssueNoteDetailInput : SfsDetailInputBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 发料时间
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
[Display(Name = "发料时间")] |
|||
public DateTime IssueTime { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
[Display(Name = "过期时间")] |
|||
public DateTime ExpiredTime { get; set; } |
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
[Display(Name = "生产线")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string ProdLine { get; set; } |
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
[Display(Name = "工作中心")] |
|||
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] |
|||
public string WorkStation { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
[Display(Name = "在途库库位")] |
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐类型
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -0,0 +1,27 @@ |
|||
using Volo.Abp.Authorization.Permissions; |
|||
using Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public static class AssembleIssueRequestsPermissions |
|||
{ |
|||
|
|||
public const string Default = StorePermissions.GroupName + "." + nameof(AssembleIssueRequests); |
|||
public const string Create = Default + "." + StorePermissions.CreateStr; |
|||
public const string Update = Default + "." + StorePermissions.UpdateStr; |
|||
public const string Delete = Default + "." + StorePermissions.DeleteStr; |
|||
|
|||
//自动叫料申请
|
|||
public const string AutoAssembleIssueRequests = StorePermissions.GroupName + "." + nameof(AutoAssembleIssueRequests); |
|||
|
|||
public static void AddAssembleIssueRequestsPermission(this PermissionGroupDefinition permissionGroup) |
|||
{ |
|||
var AssembleIssueRequestsPermission = permissionGroup.AddPermission(Default, StorePermissionDefinitionProvider.L(nameof(AssembleIssueRequests))); |
|||
AssembleIssueRequestsPermission.AddChild(Create, StorePermissionDefinitionProvider.L(StorePermissions.CreateStr)); |
|||
AssembleIssueRequestsPermission.AddChild(Update, StorePermissionDefinitionProvider.L(StorePermissions.UpdateStr)); |
|||
AssembleIssueRequestsPermission.AddChild(Delete, StorePermissionDefinitionProvider.L(StorePermissions.DeleteStr)); |
|||
|
|||
permissionGroup.AddPermission(AutoAssembleIssueRequests, StorePermissionDefinitionProvider.L(nameof(AutoAssembleIssueRequests))); |
|||
|
|||
} |
|||
} |
@ -0,0 +1,13 @@ |
|||
using System.Collections.Generic; |
|||
using System.Threading; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Application.Dtos; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public interface IAssembleIssueRequestsAppService |
|||
: ISfsStoreRequestMasterAppServiceBase<AssembleIssueRequestsDTO, SfsStoreRequestInputBase, AssembleIssueRequestsEditInput, AssembleIssueRequestsDetailDTO, SfsStoreRequestInputBase> |
|||
|
|||
{ |
|||
Task<AssembleIssueRequestsDTO> CreateAndHandleAsync(AssembleIssueRequestsEditInput input); |
|||
} |
2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/AssembleRequests/Inputs/AssembleRequestDetailInput.cs → be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/AssembleIssueRequests/Inputs/AssembleIssueRequestsDetailInput.cs
2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/AssembleRequests/Inputs/AssembleRequestDetailInput.cs → be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/AssembleIssueRequests/Inputs/AssembleIssueRequestsDetailInput.cs
2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/AssembleRequests/Inputs/AssembleRequestImportInput.cs → be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/AssembleIssueRequests/Inputs/AssembleIssueRequestsImportInput.cs
2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/AssembleRequests/Inputs/AssembleRequestImportInput.cs → be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/AssembleIssueRequests/Inputs/AssembleIssueRequestsImportInput.cs
@ -1,27 +0,0 @@ |
|||
using Volo.Abp.Authorization.Permissions; |
|||
using Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public static class AssembleRequestPermissions |
|||
{ |
|||
|
|||
public const string Default = StorePermissions.GroupName + "." + nameof(AssembleRequest); |
|||
public const string Create = Default + "." + StorePermissions.CreateStr; |
|||
public const string Update = Default + "." + StorePermissions.UpdateStr; |
|||
public const string Delete = Default + "." + StorePermissions.DeleteStr; |
|||
|
|||
//自动叫料申请
|
|||
public const string AutoAssembleRequest = StorePermissions.GroupName + "." + nameof(AutoAssembleRequest); |
|||
|
|||
public static void AddAssembleRequestPermission(this PermissionGroupDefinition permissionGroup) |
|||
{ |
|||
var AssembleRequestPermission = permissionGroup.AddPermission(Default, StorePermissionDefinitionProvider.L(nameof(AssembleRequest))); |
|||
AssembleRequestPermission.AddChild(Create, StorePermissionDefinitionProvider.L(StorePermissions.CreateStr)); |
|||
AssembleRequestPermission.AddChild(Update, StorePermissionDefinitionProvider.L(StorePermissions.UpdateStr)); |
|||
AssembleRequestPermission.AddChild(Delete, StorePermissionDefinitionProvider.L(StorePermissions.DeleteStr)); |
|||
|
|||
permissionGroup.AddPermission(AutoAssembleRequest, StorePermissionDefinitionProvider.L(nameof(AutoAssembleRequest))); |
|||
|
|||
} |
|||
} |
@ -1,13 +0,0 @@ |
|||
using System.Collections.Generic; |
|||
using System.Threading; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Application.Dtos; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
|
|||
public interface IAssembleRequestAppService |
|||
: ISfsStoreRequestMasterAppServiceBase<AssembleRequestDTO, SfsStoreRequestInputBase, AssembleRequestEditInput, AssembleRequestDetailDTO, SfsStoreRequestInputBase> |
|||
|
|||
{ |
|||
Task<AssembleRequestDTO> CreateAndHandleAsync(AssembleRequestEditInput input); |
|||
} |
@ -0,0 +1,87 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Threading; |
|||
using System.Threading.Tasks; |
|||
using Castle.Components.DictionaryAdapter; |
|||
using Microsoft.AspNetCore.Authorization; |
|||
using Microsoft.AspNetCore.Mvc; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Volo.Abp; |
|||
using Volo.Abp.Application.Dtos; |
|||
using Volo.Abp.Domain.Entities; |
|||
using Volo.Abp.Domain.Repositories; |
|||
using Volo.Abp.ObjectMapping; |
|||
using Win_in.Sfs.Basedata.Equipments.DTOs; |
|||
using Win_in.Sfs.Shared.Application; |
|||
using Win_in.Sfs.Shared.Application.Contracts; |
|||
using Win_in.Sfs.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.Equipments; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application; |
|||
|
|||
[Authorize] |
|||
[Route($"{StoreConsts.RootPath}ChassisOperationSequence")] |
|||
public class ChassisOperationSequenceAppService |
|||
: SfsStoreAppServiceBase<Domain.ChassisOperationSequence, ChassisOperationSequenceDTO, SfsStoreRequestInputBase, ChassisOperationSequenceEditInput, |
|||
ExchangeDataImportInput> |
|||
, IChassisOperationSequenceAppService |
|||
|
|||
{ |
|||
private new readonly IChassisOperationSequenceRepository _repository; |
|||
private readonly IChassisOperationSequenceManager _manager; |
|||
|
|||
public ChassisOperationSequenceAppService( |
|||
IChassisOperationSequenceRepository repository, IChassisOperationSequenceManager manager |
|||
):base(repository) |
|||
{ |
|||
base.CreatePolicyName = ChassisOperationSequencePermissions.Create; |
|||
base.UpdatePolicyName = ChassisOperationSequencePermissions.Update; |
|||
base.DeletePolicyName = ChassisOperationSequencePermissions.Delete; |
|||
|
|||
_repository = repository; |
|||
_manager = manager; |
|||
} |
|||
#region 无用
|
|||
|
|||
[NonAction] |
|||
public Task<ChassisOperationSequenceDTO> GetDetailAsync(Guid id, Guid detailId) |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
|
|||
[NonAction] |
|||
public Task<List<ChassisOperationSequenceDTO>> GetDetailListAsync(Guid id, SfsStoreRequestInputBase requestInput) |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
|
|||
[NonAction] |
|||
public Task AddDetailListAsync(Guid id, List<ChassisOperationSequenceDTO> list) |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
|
|||
[NonAction] |
|||
public Task UpdateDetailAsync(Guid id, Guid detailId, ChassisOperationSequenceDTO updateDTO) |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
|
|||
[NonAction] |
|||
public Task CheckStatusAsync(string number) |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
|
|||
[NonAction] |
|||
public Task UpsertAsync(ChassisOperationSequenceEditInput input) |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
|
|||
#endregion
|
|||
} |
@ -0,0 +1,19 @@ |
|||
using AutoMapper; |
|||
using Volo.Abp.AutoMapper; |
|||
using Win_in.Sfs.Basedata.Application.Contracts; |
|||
using Win_in.Sfs.Basedata.Domain; |
|||
using Win_in.Sfs.Store.Application.Contracts; |
|||
using Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
using Win_in.Sfs.Wms.Store.Domain; |
|||
using Win_in.Sfs.Wms.Store.Equipments; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Application; |
|||
|
|||
public partial class StoreApplicationAutoMapperProfile : Profile |
|||
{ |
|||
private void ChassisOperationSequenceAutoMapperProfile() |
|||
{ |
|||
CreateMap<Domain.ChassisOperationSequence, ChassisOperationSequenceDTO>() |
|||
.ReverseMap(); |
|||
} |
|||
} |
@ -1,195 +1,194 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Data; |
|||
using System.Linq; |
|||
using System.Linq.Expressions; |
|||
using System.Threading; |
|||
using System.Threading.Tasks; |
|||
using Castle.Components.DictionaryAdapter; |
|||
using Microsoft.AspNetCore.Authorization; |
|||
using Microsoft.AspNetCore.Mvc; |
|||
using Volo.Abp; |
|||
using Volo.Abp.Application.Dtos; |
|||
using Volo.Abp.ObjectMapping; |
|||
using Win_in.Sfs.Basedata.Application.Contracts; |
|||
using Win_in.Sfs.Basedata.Domain.Shared; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
using Win_in.Sfs.Wms.Store.Application; |
|||
using Win_in.Sfs.Wms.Store.Application.Contracts; |
|||
using Win_in.Sfs.Wms.Store.Domain; |
|||
using Win_in.Sfs.Wms.Store.Domain.Shared; |
|||
using Win_in.Sfs.Wms.Store.Jobs.IssueJobs; |
|||
using Win_in.Sfs.Wms.Store.Notes; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Jobs.IssueJobs; |
|||
namespace Win_in.Sfs.Wms.Store.Application; |
|||
|
|||
[Authorize] |
|||
[Route($"{StoreConsts.RootPath}coatingissue-job")] |
|||
|
|||
[Route($"{StoreConsts.RootPath}coating-issue-job")] |
|||
public class CoatingIssueJobAppService |
|||
: SfsJobAppServiceBase<CoatingIssueJob, CoatingIssueJobDetail, CoatingIssueJobDTO, SfsJobRequestInputBase, CoatingIssueJobCheckInput, CoatingIssueJobEditInput>, |
|||
ICoatingIssueJobAppService |
|||
: SfsJobAppServiceBase<CoatingIssueJob, CoatingIssueJobDetail, CoatingIssueJobDTO, SfsJobRequestInputBase, |
|||
CoatingIssueJobCheckInput, CoatingIssueJobEditInput>, |
|||
ICoatingIssueJobAppService, ITransferLibCallback |
|||
{ |
|||
private readonly ICoatingIssueJobManager _CoatingIssueJobManager; |
|||
private readonly ICoatingIssueJobManager _coatingIssueJobManager; |
|||
private readonly ILocationAppService _locationAppService; |
|||
private readonly ITransferLibJobAppService _transferLibJobAppService; |
|||
|
|||
public CoatingIssueJobAppService( |
|||
ICoatingIssueJobRepository repository, ICoatingIssueJobManager CoatingIssueJobManager |
|||
) : base(repository, CoatingIssueJobManager) |
|||
ICoatingIssueJobRepository repository, ICoatingIssueJobManager coatingIssueJobManager, |
|||
ILocationAppService locationAppService, ITransferLibJobAppService transferLibJobAppService) : base(repository, coatingIssueJobManager) |
|||
{ |
|||
_CoatingIssueJobManager = CoatingIssueJobManager; |
|||
_coatingIssueJobManager = coatingIssueJobManager; |
|||
_locationAppService = locationAppService; |
|||
_transferLibJobAppService = transferLibJobAppService; |
|||
} |
|||
|
|||
[HttpPost("add-many")] |
|||
public override async Task<List<CoatingIssueJobDTO>> CreateManyAsync(List<CoatingIssueJobEditInput> inputs) |
|||
{ |
|||
foreach (var input in inputs) |
|||
{ |
|||
await CheckMinRowAndSetStatusAsync(input).ConfigureAwait(false); |
|||
} |
|||
|
|||
return await base.CreateManyAsync(inputs).ConfigureAwait(false); |
|||
} |
|||
|
|||
[HttpPost("")] |
|||
public override async Task<CoatingIssueJobDTO> CreateAsync(CoatingIssueJobEditInput input) |
|||
{ |
|||
await CheckMinRowAndSetStatusAsync(input).ConfigureAwait(false); |
|||
|
|||
return await base.CreateAsync(input).ConfigureAwait(false); |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 根据物品和库位 检查是否存在发料任务
|
|||
/// 判断是不是在最底层 如果不是则把状态变更为等待 并把库移推荐的From和To赋值
|
|||
/// </summary>
|
|||
/// <param name="itemCode"></param>
|
|||
/// <param name="locationCode"></param>
|
|||
/// <param name="input"></param>
|
|||
/// <returns></returns>
|
|||
/// <exception cref="NotImplementedException"></exception>
|
|||
[Authorize] |
|||
[HttpGet("check-job-exist")] |
|||
public virtual async Task<List<CoatingIssueJobDTO>> CheckJobExistByItemCodeAndLocationCode(string itemCode, |
|||
string locationCode) |
|||
private async Task CheckMinRowAndSetStatusAsync(CoatingIssueJobEditInput input) |
|||
{ |
|||
var entities = await _repository.GetListAsync(c => |
|||
c.Details.Any(p => |
|||
p.ItemCode == itemCode && p.RecommendFromLocationCode == locationCode || |
|||
p.ItemCode == itemCode && p.ToLocationCode == locationCode) |
|||
&& (c.JobStatus == EnumJobStatus.Open || c.JobStatus == EnumJobStatus.Doing), true).ConfigureAwait(false); |
|||
var dtos = ObjectMapper.Map<List<CoatingIssueJob>, List<CoatingIssueJobDTO>>(entities); |
|||
return dtos; |
|||
var jobDetailInputdetail = input.Details.FirstOrDefault(); |
|||
|
|||
var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode) |
|||
.ConfigureAwait(false); |
|||
|
|||
if (loctionDto.RowCode != 1) |
|||
{ |
|||
input.JobStatus = EnumJobStatus.Wait; |
|||
|
|||
jobDetailInputdetail.TransferLibFromArriveDate = jobDetailInputdetail.RecommendFromArriveDate; |
|||
jobDetailInputdetail.TransferLibFromContainerCode = jobDetailInputdetail.RecommendFromContainerCode; |
|||
jobDetailInputdetail.TransferLibFromExpireDate = jobDetailInputdetail.RecommendFromExpireDate; |
|||
jobDetailInputdetail.TransferLibFromLocationArea = jobDetailInputdetail.RecommendFromLocationArea; |
|||
jobDetailInputdetail.TransferLibFromLocationCode = jobDetailInputdetail.RecommendFromLocationCode; |
|||
jobDetailInputdetail.TransferLibFromLocationErpCode = jobDetailInputdetail.RecommendFromLocationErpCode; |
|||
jobDetailInputdetail.TransferLibFromLocationGroup = jobDetailInputdetail.RecommendFromLocationGroup; |
|||
jobDetailInputdetail.TransferLibFromLot = jobDetailInputdetail.RecommendFromLot; |
|||
jobDetailInputdetail.TransferLibFromPackingCode = jobDetailInputdetail.RecommendFromPackingCode; |
|||
jobDetailInputdetail.TransferLibFromProduceDate = jobDetailInputdetail.RecommendFromProduceDate; |
|||
jobDetailInputdetail.TransferLibFromQty = jobDetailInputdetail.RecommendFromQty; |
|||
jobDetailInputdetail.TransferLibFromSupplierBatch = jobDetailInputdetail.RecommendFromSupplierBatch; |
|||
jobDetailInputdetail.TransferLibFromWarehouseCode = jobDetailInputdetail.RecommendFromWarehouseCode; |
|||
|
|||
jobDetailInputdetail.TransferLibToArriveDate = jobDetailInputdetail.RecommendToArriveDate; |
|||
jobDetailInputdetail.TransferLibToContainerCode = jobDetailInputdetail.RecommendToContainerCode; |
|||
jobDetailInputdetail.TransferLibToExpireDate = jobDetailInputdetail.RecommendToExpireDate; |
|||
jobDetailInputdetail.TransferLibToLocationArea = jobDetailInputdetail.RecommendToLocationArea; |
|||
jobDetailInputdetail.TransferLibToLocationCode = jobDetailInputdetail.RecommendToLocationCode; |
|||
jobDetailInputdetail.TransferLibToLocationErpCode = jobDetailInputdetail.RecommendToLocationErpCode; |
|||
jobDetailInputdetail.TransferLibToLocationGroup = jobDetailInputdetail.RecommendToLocationGroup; |
|||
jobDetailInputdetail.TransferLibToLot = jobDetailInputdetail.RecommendToLot; |
|||
jobDetailInputdetail.TransferLibToPackingCode = jobDetailInputdetail.RecommendToPackingCode; |
|||
jobDetailInputdetail.TransferLibToProduceDate = jobDetailInputdetail.RecommendToProduceDate; |
|||
jobDetailInputdetail.TransferLibToQty = jobDetailInputdetail.RecommendToQty; |
|||
jobDetailInputdetail.TransferLibToSupplierBatch = jobDetailInputdetail.RecommendToSupplierBatch; |
|||
jobDetailInputdetail.TransferLibToWarehouseCode = jobDetailInputdetail.RecommendToWarehouseCode; |
|||
} |
|||
} |
|||
|
|||
[HttpPost("cancel-by-request/{materialNumber}")] |
|||
public virtual async Task CancelByMaterialRequestAsync(string materialNumber) |
|||
[HttpPost("cancel-by-request/{requestNumber}")] |
|||
public virtual async Task CancelByMaterialRequestAsync(string requestNumber) |
|||
{ |
|||
var entities = await _repository.GetListAsync(p => p.MaterialRequestNumber == materialNumber).ConfigureAwait(false); |
|||
var entities = await _repository.GetListAsync(p => p.MaterialRequestNumber == requestNumber) |
|||
.ConfigureAwait(false); |
|||
foreach (var entity in entities) |
|||
{ |
|||
await _CoatingIssueJobManager.CancelAsync(entity).ConfigureAwait(false); |
|||
await _coatingIssueJobManager.CancelAsync(entity).ConfigureAwait(false); |
|||
} |
|||
} |
|||
|
|||
//[Authorize(CoatingIssueJobPermissions.Delete)]
|
|||
//[HttpDelete("details/{id}")]
|
|||
//public virtual async Task DeleteDetailAsync(Guid id, Guid detailId)
|
|||
//{
|
|||
// var entity = await _repository.GetAsync(id);
|
|||
// Check.NotNull(entity, EntityClassName);
|
|||
|
|||
// var input = new CoatingIssueJobCheckInput
|
|||
// {
|
|||
// JobStatuses = new List<EnumJobStatus>() { EnumJobStatus.Pending, EnumJobStatus.Open },
|
|||
// };
|
|||
// var result = new AbpValidationResult();
|
|||
|
|||
// var detail = entity.GetDetail(detailId);
|
|||
|
|||
// _CoatingIssueJobManager.CheckJobStatus(entity, input.JobStatuses, result);
|
|||
// if (result.Errors.Any())
|
|||
// {
|
|||
// throw new AbpValidationException("任务状态错误,不能进行删除明细操作");
|
|||
// }
|
|||
// entity.RemoveDetail(detailId);
|
|||
//}
|
|||
|
|||
//[Authorize(CoatingIssueJobPermissions.Delete)]
|
|||
[HttpPost("invalid")] |
|||
public override async Task CancelAsync(Guid id) |
|||
{ |
|||
var CoatingIssueJob = await _repository.GetAsync(id).ConfigureAwait(false); |
|||
if (CoatingIssueJob == null) |
|||
var coatingIssueJob = await _repository.GetAsync(id).ConfigureAwait(false); |
|||
if (coatingIssueJob == null) |
|||
{ |
|||
throw new UserFriendlyException($"未找到ID为 {id} 的任务"); |
|||
} |
|||
|
|||
/* |
|||
var listLocationCode = new List<string>();//取出所有当前job 影响的库位code
|
|||
foreach (var detail in CoatingIssueJob.Details) |
|||
{ |
|||
if (detail.HandledLocationCode != null) |
|||
{ |
|||
listLocationCode.Add(detail.HandledLocationCode); |
|||
} |
|||
if (detail.HandledLocationCode != null) |
|||
{ |
|||
listLocationCode.Add(detail.RecommendLocationCode); |
|||
} |
|||
if (detail.HandledLocationCode != null) |
|||
{ |
|||
listLocationCode.Add(detail.RequestLocationCode); |
|||
} |
|||
if (detail.HandledLocationCode != null) |
|||
{ |
|||
listLocationCode.Add(detail.ToLocationCode); |
|||
} |
|||
} |
|||
listLocationCode = listLocationCode.Distinct().ToList(); |
|||
*/ |
|||
|
|||
await _CoatingIssueJobManager.CancelAsync(CoatingIssueJob).ConfigureAwait(false); |
|||
|
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 根据叫料请求类型获取发料任务
|
|||
/// </summary>
|
|||
/// <param name="requestInput"></param>
|
|||
/// <param name="requestType">
|
|||
/// 叫料请求类型:
|
|||
/// 人工拉动:Issue_Manual;
|
|||
/// 线边拉动:Issue_WIP;
|
|||
/// </param>
|
|||
/// <param name="includeDetails"></param>
|
|||
/// <param name="cancellationToken"></param>
|
|||
/// <returns></returns>
|
|||
[HttpPost("by-type/{requestType}")] |
|||
public virtual async Task<PagedResultDto<CoatingIssueJobDTO>> GetListByTypeAsync(SfsJobRequestInputBase requestInput, |
|||
string requestType, bool includeDetails = false, CancellationToken cancellationToken = default) |
|||
{ |
|||
Expression<Func<CoatingIssueJob, bool>> expression = p => p.RequestType == requestType; |
|||
if (requestInput.Condition.Filters?.Count > 0) |
|||
{ |
|||
expression = expression.And(requestInput.Condition.Filters.ToLambda<CoatingIssueJob>()); |
|||
} |
|||
|
|||
return await GetPagedListAsync(expression, requestInput.SkipCount, requestInput.MaxResultCount, |
|||
requestInput.Sorting, includeDetails, cancellationToken).ConfigureAwait(false); |
|||
|
|||
await _coatingIssueJobManager.CancelAsync(coatingIssueJob).ConfigureAwait(false); |
|||
} |
|||
|
|||
[HttpPost("by-request-number/{requestNumber}")] |
|||
public virtual async Task<List<CoatingIssueJobDTO>> GetByRequestNumberAsync(string requestNumber) |
|||
{ |
|||
var entitys = await _repository.GetListAsync(p => p.MaterialRequestNumber == requestNumber).ConfigureAwait(false); |
|||
var entitys = await _repository.GetListAsync(p => p.MaterialRequestNumber == requestNumber) |
|||
.ConfigureAwait(false); |
|||
return ObjectMapper.Map<List<CoatingIssueJob>, List<CoatingIssueJobDTO>>(entitys); |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 保存拆箱时涉及的明细修改
|
|||
/// </summary>
|
|||
/// <returns></returns>
|
|||
[HttpPost("save-detail-split-packing")] |
|||
public virtual async Task<CoatingIssueJobDTO> SaveDetail_SplitPackingAsync(SplitPacking_UpdateJobDetailInput input) |
|||
[HttpPost("Do-Call-Back")] |
|||
public async Task DoTransferLibCallbackAsync(TransferLibJobDTO dto) |
|||
{ |
|||
var job = await _repository.FindAsync(p => p.Number == input.Number).ConfigureAwait(false); |
|||
var detail = job.Details.FirstOrDefault(p => p.RecommendPackingCode == input.FromPackingCode); /*&& p.HandledQty == input.FromQty*/ |
|||
if (detail == null) |
|||
{ |
|||
throw new UserFriendlyException($"根据RecommendPackingCode={input.FromPackingCode}取CoatingIssueJobDetail表为空!"); |
|||
} |
|||
//插入目标箱
|
|||
var newDetail = CommonHelper.CloneObj(detail); |
|||
newDetail.SetId(GuidGenerator.Create()); |
|||
newDetail.RecommendPackingCode = input.ToPackingCode; |
|||
newDetail.RecommendQty = input.ToQty; |
|||
newDetail.HandledPackingCode = detail.HandledPackingCode.HasValue() ? input.ToPackingCode : null; //源实际实际箱码有值,则新记录实际箱码有值
|
|||
newDetail.HandledQty = detail.HandledQty > 0 ? input.ToQty : 0; |
|||
//newDetail.CreationTime = CommonHelper.CurTime;
|
|||
job.Details.Add(newDetail); |
|||
//修改源箱
|
|||
detail.RecommendQty = input.FromQty - input.ToQty; |
|||
detail.HandledQty = detail.HandledQty > 0 ? input.FromQty - input.ToQty : 0; |
|||
var entity = await _repository.UpdateAsync(job).ConfigureAwait(false); |
|||
var ret = ObjectMapper.Map<CoatingIssueJob, CoatingIssueJobDTO>(entity); |
|||
return ret; |
|||
var job = await _repository.FindAsync(p => p.Number == dto.JobNumber).ConfigureAwait(false); |
|||
|
|||
//todo 等云峰写好换成真实的
|
|||
var transferLibJobDto = await _transferLibJobAppService.GetByNumberAsync("AAA").ConfigureAwait(false); |
|||
var transferLibNote = new TransferLibNote(); |
|||
|
|||
var transferLibNoteDetail = transferLibNote.Details.First(); |
|||
|
|||
var jobDetail = job.Details.First(); |
|||
job.JobStatus = EnumJobStatus.Open; |
|||
|
|||
jobDetail.TransferLibFromArriveDate = transferLibNoteDetail.HandledFromArriveDate; |
|||
jobDetail.TransferLibFromContainerCode = transferLibNoteDetail.HandledFromContainerCode; |
|||
jobDetail.TransferLibFromExpireDate = transferLibNoteDetail.HandledFromExpireDate; |
|||
jobDetail.TransferLibFromLocationArea = transferLibNoteDetail.HandledFromLocationArea; |
|||
jobDetail.TransferLibFromLocationCode = transferLibNoteDetail.HandledFromLocationCode; |
|||
jobDetail.TransferLibFromLocationErpCode = transferLibNoteDetail.HandledFromLocationErpCode; |
|||
jobDetail.TransferLibFromLocationGroup = transferLibNoteDetail.HandledFromLocationGroup; |
|||
jobDetail.TransferLibFromLot = transferLibNoteDetail.HandledFromLot; |
|||
jobDetail.TransferLibFromPackingCode = transferLibNoteDetail.HandledFromPackingCode; |
|||
jobDetail.TransferLibFromProduceDate = transferLibNoteDetail.HandledFromProduceDate; |
|||
jobDetail.TransferLibFromQty = transferLibNoteDetail.HandledFromQty; |
|||
jobDetail.TransferLibFromSupplierBatch = transferLibNoteDetail.HandledFromSupplierBatch; |
|||
jobDetail.TransferLibFromWarehouseCode = transferLibNoteDetail.HandledFromWarehouseCode; |
|||
|
|||
jobDetail.TransferLibToArriveDate = transferLibNoteDetail.HandledToArriveDate; |
|||
jobDetail.TransferLibToContainerCode = transferLibNoteDetail.HandledToContainerCode; |
|||
jobDetail.TransferLibToExpireDate = transferLibNoteDetail.HandledToExpireDate; |
|||
jobDetail.TransferLibToLocationArea = transferLibNoteDetail.HandledToLocationArea; |
|||
jobDetail.TransferLibToLocationCode = transferLibNoteDetail.HandledToLocationCode; |
|||
jobDetail.TransferLibToLocationErpCode = transferLibNoteDetail.HandledToLocationErpCode; |
|||
jobDetail.TransferLibToLocationGroup = transferLibNoteDetail.HandledToLocationGroup; |
|||
jobDetail.TransferLibToLot = transferLibNoteDetail.HandledToLot; |
|||
jobDetail.TransferLibToPackingCode = transferLibNoteDetail.HandledToPackingCode; |
|||
jobDetail.TransferLibToProduceDate = transferLibNoteDetail.HandledToProduceDate; |
|||
jobDetail.TransferLibToQty = transferLibNoteDetail.HandledToQty; |
|||
jobDetail.TransferLibToSupplierBatch = transferLibNoteDetail.HandledToSupplierBatch; |
|||
jobDetail.TransferLibToWarehouseCode = transferLibNoteDetail.HandledToWarehouseCode; |
|||
|
|||
await _repository.UpdateAsync(job).ConfigureAwait(false); |
|||
|
|||
return; |
|||
} |
|||
|
|||
|
|||
|
|||
[HttpPost("test")] |
|||
public virtual async Task Test() |
|||
{ |
|||
Console.WriteLine("FuAZCZXVZXVXZVZ"); |
|||
await Task.CompletedTask; |
|||
} |
|||
} |
|||
|
@ -1,13 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Chassis; |
|||
public class ChassisDetail: SfsStoreDetailEntityBase |
|||
{ |
|||
|
|||
} |
@ -0,0 +1,49 @@ |
|||
using System; |
|||
using System.ComponentModel; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
/// <summary>
|
|||
/// 底盘信息
|
|||
/// </summary>
|
|||
[Display(Name = "底盘信息")] |
|||
public class ChassisOperationSequence : SfsAggregateRootBase |
|||
{ |
|||
/// <summary>
|
|||
/// Wms编号
|
|||
/// </summary>
|
|||
[Display(Name = "Wms编号")] |
|||
public string Number { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 底盘号
|
|||
/// </summary>
|
|||
[Display(Name = "底盘号")] |
|||
public string ChassisOperationSequenceNumber { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 描述
|
|||
/// </summary>
|
|||
[Display(Name = "描述")] |
|||
public string Description { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 底盘生产时间
|
|||
/// </summary>
|
|||
[Display(Name = "底盘生产时间")] |
|||
public DateTime ProduceDateTime { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 接收接口时间
|
|||
/// </summary>
|
|||
[Display(Name = "接收接口时间")] |
|||
public DateTime ReceiveInterfaceDateTime { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 执行位置排序列
|
|||
/// </summary>
|
|||
[Display(Name = "执行位置排序列")] |
|||
public long SortNumber { get; set; } |
|||
} |
@ -0,0 +1,23 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Domain.Services; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
public class ChassisOperationSequenceManager : DomainService, IChassisOperationSequenceManager |
|||
{ |
|||
private readonly IChassisOperationSequenceRepository _repository; |
|||
|
|||
public ChassisOperationSequenceManager( |
|||
IChassisOperationSequenceRepository repository |
|||
) |
|||
{ |
|||
_repository = repository; |
|||
} |
|||
|
|||
public Task ImportDataAsync(List<ChassisOperationSequence> entities, List<ChassisOperationSequence> deleteEntities = null) |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
@ -0,0 +1,12 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Threading.Tasks; |
|||
using Win_in.Sfs.Basedata.Equipments.DTOs; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using Win_in.Sfs.Wms.Store.Equipments; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
public interface IChassisOperationSequenceManager : IBulkImportService<ChassisOperationSequence> |
|||
{ |
|||
} |
@ -0,0 +1,10 @@ |
|||
using System.Threading.Tasks; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using Win_in.Sfs.Wms.Store.Equipments; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
public interface IChassisOperationSequenceRepository : ISfsStoreRepositoryBase<ChassisOperationSequence>, ISfsBulkRepositoryBase<ChassisOperationSequence> |
|||
{ |
|||
|
|||
} |
@ -1,6 +1,6 @@ |
|||
namespace Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
public interface IInjectionJobRepository : ISfsJobRepositoryBase<InjectionJob> |
|||
public interface IIssueJobRepository : ISfsJobRepositoryBase<IssueJob> |
|||
{ |
|||
|
|||
} |
|||
|
@ -1,6 +1,6 @@ |
|||
namespace Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
public interface IIssueJobRepository : ISfsJobRepositoryBase<IssueJob> |
|||
public interface IInjectionJobRepository : ISfsJobRepositoryBase<InjectionJob> |
|||
{ |
|||
|
|||
} |
|||
|
@ -1,43 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
public class AssembleNoteDetail : SfsStoreRecommendFromDetailWithFromToEntityBase |
|||
public class AssembleNoteDetail : SfsStoreDetailEntityBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 发料时间
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
public DateTime IssueTime { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
public DateTime ExpiredTime { get; set; } |
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
public string WorkStation { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐类型
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -1,44 +1,519 @@ |
|||
using System; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
using Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Notes.IssueNotes; |
|||
namespace Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
public class CoatingIssueNoteDetail : SfsStoreRecommendFromDetailWithFromToEntityBase |
|||
public class CoatingIssueNoteDetail : SfsStoreDetailEntityBase |
|||
{ |
|||
#region 库存基础信息
|
|||
|
|||
/// <summary>
|
|||
/// 发料时间
|
|||
/// 物品代码
|
|||
/// </summary>
|
|||
public DateTime IssueTime { get; set; } |
|||
public string ItemCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 过期时间
|
|||
/// 物品名称
|
|||
/// </summary>
|
|||
public DateTime ExpiredTime { get; set; } |
|||
public string ItemName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 生产线
|
|||
/// 物品描述1
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
public string ItemDesc1 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 物品描述2
|
|||
/// </summary>
|
|||
public string ItemDesc2 { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 标包数量
|
|||
/// </summary>
|
|||
[Display(Name = "标包数量")] |
|||
[Column(TypeName = "decimal(18,6)")] |
|||
public decimal StdPackQty { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库存状态
|
|||
/// </summary>
|
|||
public EnumInventoryStatus Status { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 计量单位
|
|||
/// </summary>
|
|||
public string Uom { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 请求信息
|
|||
|
|||
/// <summary>
|
|||
/// 请求库位
|
|||
/// </summary>
|
|||
public string RequestLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 工作中心
|
|||
/// 到库区
|
|||
/// </summary>
|
|||
public string WorkStation { get; set; } |
|||
public string RequestLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// 到库位组
|
|||
/// </summary>
|
|||
public string RequestLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到ERP库位
|
|||
/// </summary>
|
|||
public string RequestLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 到仓库
|
|||
/// </summary>
|
|||
public string RequestWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 在途库库位
|
|||
/// </summary>
|
|||
public string OnTheWayLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// 生产线
|
|||
/// </summary>
|
|||
public string ProdLine { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 位置码
|
|||
/// </summary>
|
|||
public string PositionCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐类型
|
|||
/// 推荐的类型
|
|||
/// </summary>
|
|||
public EnumRecommendType RecommendType { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 需求数量
|
|||
/// </summary>
|
|||
public decimal RequestQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐来源
|
|||
|
|||
/// <summary>
|
|||
/// 推荐来源托标签
|
|||
/// </summary>
|
|||
public string RecommendFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源箱标签
|
|||
/// </summary>
|
|||
public string RecommendFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源批次排序
|
|||
/// </summary>
|
|||
public string RecommendFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库区
|
|||
/// </summary>
|
|||
public string RecommendFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源库位组
|
|||
/// </summary>
|
|||
public string RecommendFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源ERP库位
|
|||
/// </summary>
|
|||
public string RecommendFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源仓库
|
|||
/// </summary>
|
|||
public string RecommendFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐来源数量
|
|||
/// </summary>
|
|||
public decimal RecommendFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 推荐目标
|
|||
|
|||
/// <summary>
|
|||
/// 推荐目标托标签
|
|||
/// </summary>
|
|||
public string RecommendToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标箱标签
|
|||
/// </summary>
|
|||
public string RecommendToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次供应商批次
|
|||
/// </summary>
|
|||
public string RecommendToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime RecommendToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标批次排序
|
|||
/// </summary>
|
|||
public string RecommendToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库区
|
|||
/// </summary>
|
|||
public string RecommendToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标库位组
|
|||
/// </summary>
|
|||
public string RecommendToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标ERP库位
|
|||
/// </summary>
|
|||
public string RecommendToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标仓库
|
|||
/// </summary>
|
|||
public string RecommendToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 推荐目标数量
|
|||
/// </summary>
|
|||
public decimal RecommendToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移来源
|
|||
|
|||
/// <summary>
|
|||
/// 库移来源托标签
|
|||
/// </summary>
|
|||
public string TransferLibFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源箱标签
|
|||
/// </summary>
|
|||
public string TransferLibFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源批次排序
|
|||
/// </summary>
|
|||
public string TransferLibFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库区
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源库位组
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源仓库
|
|||
/// </summary>
|
|||
public string TransferLibFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移来源数量
|
|||
/// </summary>
|
|||
public decimal TransferLibFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 库移目标
|
|||
|
|||
/// <summary>
|
|||
/// 库移目标托标签
|
|||
/// </summary>
|
|||
public string TransferLibToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标箱标签
|
|||
/// </summary>
|
|||
public string TransferLibToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次供应商批次
|
|||
/// </summary>
|
|||
public string TransferLibToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次到货时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次生产时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次过期时间
|
|||
/// </summary>
|
|||
public DateTime TransferLibToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标批次排序
|
|||
/// </summary>
|
|||
public string TransferLibToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库区
|
|||
/// </summary>
|
|||
public string TransferLibToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标库位组
|
|||
/// </summary>
|
|||
public string TransferLibToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标ERP库位
|
|||
/// </summary>
|
|||
public string TransferLibToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标仓库
|
|||
/// </summary>
|
|||
public string TransferLibToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 库移目标数量
|
|||
/// </summary>
|
|||
public decimal TransferLibToQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际来源
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledFromContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledFromPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledFromSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledFromExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledFromLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledFromLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledFromLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledFromLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledFromWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledFromQty { get; set; } |
|||
|
|||
#endregion
|
|||
|
|||
#region 实际目标
|
|||
|
|||
/// <summary>
|
|||
/// 实际目标托标签
|
|||
/// </summary>
|
|||
public string HandledToContainerCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际箱标签
|
|||
/// </summary>
|
|||
public string HandledToPackingCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次供应商批次
|
|||
/// </summary>
|
|||
public string HandledToSupplierBatch { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次到货时间
|
|||
/// </summary>
|
|||
public DateTime HandledToArriveDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次生产时间
|
|||
/// </summary>
|
|||
public DateTime HandledToProduceDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次过期时间
|
|||
/// </summary>
|
|||
public DateTime HandledToExpireDate { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际批次排序
|
|||
/// </summary>
|
|||
public string HandledToLot { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位
|
|||
/// </summary>
|
|||
public string HandledToLocationCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库区
|
|||
/// </summary>
|
|||
public string HandledToLocationArea { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际库位组
|
|||
/// </summary>
|
|||
public string HandledToLocationGroup { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际ERP库位
|
|||
/// </summary>
|
|||
public string HandledToLocationErpCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际仓库
|
|||
/// </summary>
|
|||
public string HandledToWarehouseCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 实际数量
|
|||
/// </summary>
|
|||
public decimal HandledToQty { get; set; } |
|||
|
|||
#endregion
|
|||
} |
|||
|
@ -0,0 +1,14 @@ |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
using Win_in.Sfs.Shared.Domain; |
|||
|
|||
public interface IAssembleIssueRequestsManager : ISfsStoreRequestManager<AssembleIssueRequests, AssembleIssueRequestsDetail>, |
|||
IBulkImportService<AssembleIssueRequests> |
|||
{ |
|||
Task CompleteAsync(string number); |
|||
|
|||
Task<AssembleIssueRequests> CreateByNumberAsync(AssembleIssueRequests entity); |
|||
|
|||
} |
@ -1,13 +0,0 @@ |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.Domain; |
|||
|
|||
using Win_in.Sfs.Shared.Domain; |
|||
|
|||
public interface IAssembleRequestManager : ISfsStoreRequestManager<AssembleRequest, AssembleRequestDetail>, |
|||
IBulkImportService<AssembleRequest> |
|||
{ |
|||
Task CompleteAsync(string number); |
|||
|
|||
Task<AssembleRequest> CreateBynNumberAsync(AssembleRequest entity); |
|||
} |
@ -0,0 +1,31 @@ |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Volo.Abp.EntityFrameworkCore.Modeling; |
|||
using Win_in.Sfs.Shared.Domain.Shared; |
|||
using Win_in.Sfs.Wms.Store.Domain; |
|||
using Win_in.Sfs.Wms.Store.Equipments; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.EntityFrameworkCore; |
|||
|
|||
public static class ChassisOperationSequenceDbContextModelCreatingExtensions |
|||
{ |
|||
public static void ConfigureChassisOperationSequence(this ModelBuilder builder, StoreModelBuilderConfigurationOptions options) |
|||
{ |
|||
builder.Entity<Domain.ChassisOperationSequence>(b => |
|||
{ |
|||
//Configure table & schema name
|
|||
b.ToTable(options.TablePrefix + nameof(ChassisOperationSequence), options.Schema); |
|||
//Configure ABP properties
|
|||
b.ConfigureByConvention(); |
|||
//Configure Sfs base properties
|
|||
b.ConfigureSfsStoreBase(); |
|||
|
|||
b.Property(q => q.SortNumber).IsRequired(); |
|||
b.Property(q => q.ChassisOperationSequenceNumber).IsRequired().HasMaxLength(SfsPropertyConst.CodeLength).IsRequired(); |
|||
b.Property(q => q.Number).IsRequired().HasMaxLength(SfsPropertyConst.CodeLength).IsRequired(); |
|||
|
|||
b.HasIndex(q => q.ChassisOperationSequenceNumber).IsUnique(); |
|||
b.HasIndex(q => q.SortNumber).IsUnique(); |
|||
b.HasIndex(q => q.Number).IsUnique(); |
|||
}); |
|||
} |
|||
} |
@ -0,0 +1,18 @@ |
|||
using System.Linq; |
|||
using System.Threading.Tasks; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Volo.Abp.EntityFrameworkCore; |
|||
using Win_in.Sfs.Shared.Domain; |
|||
using Win_in.Sfs.Wms.Store.Domain; |
|||
using Win_in.Sfs.Wms.Store.Equipments; |
|||
|
|||
namespace Win_in.Sfs.Wms.Store.EntityFrameworkCore; |
|||
|
|||
public class ChassisOperationSequenceEfCoreRepository : SfsStoreEfCoreRepositoryBase<StoreDbContext, Domain.ChassisOperationSequence>, IChassisOperationSequenceRepository, ISfsBulkRepositoryBase<Domain.ChassisOperationSequence> |
|||
{ |
|||
public ChassisOperationSequenceEfCoreRepository(IDbContextProvider<StoreDbContext> dbContextProvider) : base(dbContextProvider) |
|||
{ |
|||
} |
|||
|
|||
|
|||
} |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue