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