diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferLibNoteController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferLibNoteController.cs
index 1dc534f75..706befedc 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferLibNoteController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferLibNoteController.cs
@@ -120,68 +120,4 @@ public class TransferLibNoteController : AbpController
var result = await _transferLibNoteAppService.GetByNumberAsync(number).ConfigureAwait(false);
return Ok(result);
}
-
- ///
- /// 完成对应的请求
- ///
- ///
- ///
- [HttpPost("complete/{id}")]
-
- public virtual async Task CompleteAsync(Guid id)
- {
- var entity = await _transferLibNoteAppService.ConfirmAsync(id).ConfigureAwait(false);
- return entity;
- }
-
- ///
- /// 库存转移
- ///
- ///
- ///
- [HttpPost("")]
- public virtual async Task Create(TransferLibNoteEditInput input)
- {
- return await _transferLibNoteAppService.CreateAsync(input).ConfigureAwait(false);
- }
-
- ///
- /// 拆箱
- ///
- ///
- ///
- [HttpPost("split-packing")]
- public async Task SplitPackingAsync(TransferLibNoteEditInput transferLibNoteEditInput)
- {
- return await _transferLibNoteAppService.SplitPackingAsync(transferLibNoteEditInput).ConfigureAwait(false);
- }
-
- ///
- /// 采购收货拆箱,同时更新、插入PurchaseReceipt任务表、申请表
- ///
- ///
- ///
- ///
- [HttpPost("split-packing-purchase-receipt")]
- public async Task SplitPacking_PurchaseReceiptAsync(TransferLibNoteEditInput transferLibNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
- {
- var ret = await _transferLibNoteAppService.SplitPacking_PurchaseReceiptAsync(transferLibNoteEditInput, updateJobDetailInput).ConfigureAwait(false);
- return ret;
- }
-
- ///
- /// 发料拆箱,同时更新、插入Inspect任务表(没有找到申请表//??)
- ///
- ///
- ///
- ///
- [HttpPost("split-packing-issue")]
- public async Task SplitPacking_IssueAsync(TransferLibNoteEditInput transferLibNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
- {
- var ret = await _transferLibNoteAppService.SplitPacking_IssueAsync(transferLibNoteEditInput, updateJobDetailInput).ConfigureAwait(false);
- return ret;
- }
-
-
-
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/TransferLibJobs/DTOs/TransferLibJobDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/TransferLibJobs/DTOs/TransferLibJobDetailDTO.cs
index 902a24d9e..b33f1be91 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/TransferLibJobs/DTOs/TransferLibJobDetailDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/TransferLibJobs/DTOs/TransferLibJobDetailDTO.cs
@@ -1,97 +1,467 @@
+using System;
using System.ComponentModel.DataAnnotations;
+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.Enums.Store;
-using Win_in.Sfs.Wms.Store.Domain;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
+
///
-/// //??TransferLib实体
+/// //??TransferLib实体
///
-public class TransferLibJobDetailDTO : NewRecommendHandledFromTo
+public class TransferLibJobDetailDTO : SfsDetailDTOBase
{
///
- /// 在途库地址
- ///
- [Display(Name = "在途库地址")]
- public string OnTheWayLocationCode { get; set; }
- ///
- /// 原因
+ /// 原因
///
- [Display(Name = "原因")]
public string Reason { get; set; }
///
- /// 执行任务状态
+ /// 执行任务状态
///
public EnumJobStatus JobStatus { get; set; }
#region 回调服务相关
+
///
- /// 回调服务名称
+ /// 回调服务名称
///
- [Display(Name = "回调服务名称")]
public string CallServerName { get; set; }
///
- /// 回调业务类型
+ /// 回调业务类型
///
- [Display(Name = "回调业务类型")]
public string CallBusinessType { get; set; }
///
- /// 调用者传入申请单号
+ /// 调用者传入申请单号
///
- [Display(Name = "传入申请单号")]
public string CallRequestNumber { get; set; }
///
- /// 调用者传入任务单号
+ /// 调用者传入任务单号
///
- [Display(Name = "传入任务单号")]
public string CallJobNumber { get; set; }
+
+ #endregion
+
+ #region 库存基础信息
+
+ ///
+ /// 物品代码
+ ///
+ public string ItemCode { get; set; }
+
+ ///
+ /// 物品名称
+ ///
+ public string ItemName { get; set; }
+
+ ///
+ /// 物品描述1
+ ///
+ public string ItemDesc1 { get; set; }
+
+ ///
+ /// 物品描述2
+ ///
+ public string ItemDesc2 { get; set; }
+
+ ///
+ /// 标包数量
+ ///
+ [Display(Name = "标包数量")]
+ [Column(TypeName = "decimal(18,6)")]
+ public decimal StdPackQty { get; set; }
+
+ ///
+ /// 库存状态
+ ///
+ public EnumInventoryStatus Status { get; set; }
+
+ ///
+ /// 计量单位
+ ///
+ public string Uom { get; set; }
+
+ #endregion
+
+ #region 请求信息
+
+ ///
+ /// 请求库位
+ ///
+ public string RequestLocationCode { get; set; }
+
+ ///
+ /// 到库区
+ ///
+ public string RequestLocationArea { get; set; }
+
+ ///
+ /// 到库位组
+ ///
+ public string RequestLocationGroup { get; set; }
+
+ ///
+ /// 到ERP库位
+ ///
+ public string RequestLocationErpCode { get; set; }
+
+ ///
+ /// 到仓库
+ ///
+ public string RequestWarehouseCode { get; set; }
+
+ ///
+ /// 在途库库位
+ ///
+ public string OnTheWayLocationCode { get; set; }
+
+ ///
+ /// 生产线
+ ///
+ public string ProdLine { get; set; }
+
+ ///
+ /// 位置码
+ ///
+ public string PositionCode { get; set; }
+
+ ///
+ /// 推荐的类型
+ ///
+ public EnumRecommendType RecommendType { get; set; }
+
+ ///
+ /// 需求数量
+ ///
+ public decimal RequestQty { get; set; }
+
+ #endregion
+
+ #region 推荐来源
+
+ ///
+ /// 推荐来源托标签
+ ///
+ public string RecommendFromContainerCode { get; set; }
+
+ ///
+ /// 推荐来源箱标签
+ ///
+ public string RecommendFromPackingCode { get; set; }
+
+ ///
+ /// 推荐来源批次供应商批次
+ ///
+ public string RecommendFromSupplierBatch { get; set; }
+
+ ///
+ /// 推荐来源批次到货时间
+ ///
+ public DateTime RecommendFromArriveDate { get; set; }
+
+ ///
+ /// 推荐来源批次生产时间
+ ///
+ public DateTime RecommendFromProduceDate { get; set; }
+
+ ///
+ /// 推荐来源批次过期时间
+ ///
+ public DateTime RecommendFromExpireDate { get; set; }
+
+ ///
+ /// 推荐来源批次排序
+ ///
+ public string RecommendFromLot { get; set; }
+
+ ///
+ /// 推荐来源库位
+ ///
+ public string RecommendFromLocationCode { get; set; }
+
+ ///
+ /// 推荐来源库区
+ ///
+ public string RecommendFromLocationArea { get; set; }
+
+ ///
+ /// 推荐来源库位组
+ ///
+ public string RecommendFromLocationGroup { get; set; }
+
+ ///
+ /// 推荐来源ERP库位
+ ///
+ public string RecommendFromLocationErpCode { get; set; }
+
+ ///
+ /// 推荐来源仓库
+ ///
+ public string RecommendFromWarehouseCode { get; set; }
+
+ ///
+ /// 推荐来源数量
+ ///
+ public decimal RecommendFromQty { get; set; }
+
#endregion
- #region 校验
+ #region 推荐目标
+
+ ///
+ /// 推荐目标托标签
+ ///
+ public string RecommendToContainerCode { get; set; }
+
+ ///
+ /// 推荐目标箱标签
+ ///
+ public string RecommendToPackingCode { get; set; }
+
+ ///
+ /// 推荐目标批次供应商批次
+ ///
+ public string RecommendToSupplierBatch { get; set; }
+
+ ///
+ /// 推荐目标批次到货时间
+ ///
+ public DateTime RecommendToArriveDate { get; set; }
+
+ ///
+ /// 推荐目标批次生产时间
+ ///
+ public DateTime RecommendToProduceDate { get; set; }
+
+ ///
+ /// 推荐目标批次过期时间
+ ///
+ public DateTime RecommendToExpireDate { get; set; }
+
+ ///
+ /// 推荐目标批次排序
+ ///
+ public string RecommendToLot { get; set; }
+
+ ///
+ /// 推荐目标库位
+ ///
+ public string RecommendToLocationCode { get; set; }
+
+ ///
+ /// 推荐目标库区
+ ///
+ public string RecommendToLocationArea { get; set; }
+
+ ///
+ /// 推荐目标库位组
+ ///
+ public string RecommendToLocationGroup { get; set; }
+
+ ///
+ /// 推荐目标ERP库位
+ ///
+ public string RecommendToLocationErpCode { get; set; }
+
+ ///
+ /// 推荐目标仓库
+ ///
+ public string RecommendToWarehouseCode { get; set; }
+
+ ///
+ /// 推荐目标数量
+ ///
+ public decimal RecommendToQty { get; set; }
+
+ #endregion
+
+ #region 实际来源
+
+ ///
+ /// 实际目标托标签
+ ///
+ public string HandledFromContainerCode { get; set; }
+
+ ///
+ /// 实际箱标签
+ ///
+ public string HandledFromPackingCode { get; set; }
+
+ ///
+ /// 实际批次供应商批次
+ ///
+ public string HandledFromSupplierBatch { get; set; }
+
+ ///
+ /// 实际批次到货时间
+ ///
+ public DateTime HandledFromArriveDate { get; set; }
+
+ ///
+ /// 实际批次生产时间
+ ///
+ public DateTime HandledFromProduceDate { get; set; }
+
+ ///
+ /// 实际批次过期时间
+ ///
+ public DateTime HandledFromExpireDate { get; set; }
+
+ ///
+ /// 实际批次排序
+ ///
+ public string HandledFromLot { get; set; }
+
+ ///
+ /// 实际库位
+ ///
+ public string HandledFromLocationCode { get; set; }
+
+ ///
+ /// 实际库区
+ ///
+ public string HandledFromLocationArea { get; set; }
+
+ ///
+ /// 实际库位组
+ ///
+ public string HandledFromLocationGroup { get; set; }
+
+ ///
+ /// 实际ERP库位
+ ///
+ public string HandledFromLocationErpCode { get; set; }
+
+ ///
+ /// 实际仓库
+ ///
+ public string HandledFromWarehouseCode { get; set; }
+
+ ///
+ /// 实际数量
+ ///
+ public decimal HandledFromQty { get; set; }
+
+ #endregion
+
+ #region 实际目标
+
+ ///
+ /// 实际目标托标签
+ ///
+ public string HandledToContainerCode { get; set; }
+
+ ///
+ /// 实际箱标签
+ ///
+ public string HandledToPackingCode { get; set; }
+
+ ///
+ /// 实际批次供应商批次
+ ///
+ public string HandledToSupplierBatch { get; set; }
+
+ ///
+ /// 实际批次到货时间
+ ///
+ public DateTime HandledToArriveDate { get; set; }
+
+ ///
+ /// 实际批次生产时间
+ ///
+ public DateTime HandledToProduceDate { get; set; }
+
+ ///
+ /// 实际批次过期时间
+ ///
+ public DateTime HandledToExpireDate { get; set; }
+
+ ///
+ /// 实际批次排序
+ ///
+ public string HandledToLot { get; set; }
+
+ ///
+ /// 实际库位
+ ///
+ public string HandledToLocationCode { get; set; }
+
+ ///
+ /// 实际库区
+ ///
+ public string HandledToLocationArea { get; set; }
+
+ ///
+ /// 实际库位组
+ ///
+ public string HandledToLocationGroup { get; set; }
+
+ ///
+ /// 实际ERP库位
+ ///
+ public string HandledToLocationErpCode { get; set; }
+
+ ///
+ /// 实际仓库
+ ///
+ public string HandledToWarehouseCode { get; set; }
+
+ ///
+ /// 实际数量
+ ///
+ public decimal HandledToQty { get; set; }
+
+ #endregion
+
+ #region 开关
+
//箱码
- public bool CheckPackingCodeFrom { get; set; }
+ public bool IsPackingCodeFrom { get; set; }
+
+ public bool IsPackingCodeTo { get; set; }
- public bool CheckPackingCodeTo { get; set; }
//批次
- public bool CheckLotFrom { get; set; }
+ public bool IsLotFrom { get; set; }
+
+ public bool IsLotTo { get; set; }
- public bool CheckLotTo { get; set; }
//零件号
- public bool CheckItemCodeFrom { get; set; }
+ public bool IsItemCodeFrom { get; set; }
+
+ public bool IsItemCodeTo { get; set; }
- public bool CheckItemCodeTo { get; set; }
//状态
- public bool CheckStatusFrom { get; set; }
+ public bool IsStatusFrom { get; set; }
+
+ public bool IsStatusTo { get; set; }
- public bool CheckStatusTo { get; set; }
//库位
- public bool CheckLocationCodeFrom { get; set; }
+ public bool IsLocationCodeFrom { get; set; }
- public bool CheckLocationCodeTo { get; set; }
+ public bool IsLocationCodeTo { get; set; }
//库位组
- public bool CheckLocationGroupFrom { get; set; }
+ public bool IsLocationGroupFrom { get; set; }
- public bool CheckLocationGroupTo { get; set; }
+ public bool IsLocationGroupTo { get; set; }
//区域
- public bool CheckLocationAreaFrom { get; set; }
+ public bool IsLocationAreaFrom { get; set; }
- public bool CheckLocationAreaTo { get; set; }
+ public bool IsLocationAreaTo { get; set; }
//储位
- public bool CheckLocationErpCodeFrom { get; set; }
+ public bool IsLocationErpCodeFrom { get; set; }
+
+ public bool IsLocationErpCodeTo { get; set; }
- public bool CheckLocationErpCodeTo { get; set; }
//数量
- public bool CheckQtyFrom { get; set; }
+ public bool IsQtyFrom { get; set; }
- public bool CheckQtyTo { get; set; }
+ public bool IsQtyTo { get; set; }
#endregion
-
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/TransferLibJobs/Inputs/TransferLibJobDetailInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/TransferLibJobs/Inputs/TransferLibJobDetailInput.cs
index b54887c2a..fe8dc93f4 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/TransferLibJobs/Inputs/TransferLibJobDetailInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/TransferLibJobs/Inputs/TransferLibJobDetailInput.cs
@@ -1,101 +1,467 @@
+using System;
using System.ComponentModel.DataAnnotations;
-using Volo.Abp.Data;
-using Win_in.Sfs.Shared.Domain;
+using System.ComponentModel.DataAnnotations.Schema;
using Win_in.Sfs.Shared.Domain.Shared;
-using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
using Win_in.Sfs.Wms.Store.Domain;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
+
///
-/// //??TransferLib实体
+/// //??TransferLib实体
///
-public class TransferLibJobDetailInput : NewRecommendHandledFromTo
+public class TransferLibJobDetailInput : SfsStoreCreateOrUpdateInputBase
{
///
- /// 在途库地址
- ///
- [Display(Name = "在途库地址")]
- public string OnTheWayLocationCode { get; set; }
-
- ///
- /// 原因
+ /// 原因
///
- [Display(Name = "原因")]
- [StringLength(SfsEfCorePropertyConst.RemarkLength, ErrorMessage = "{0}最多输入{1}个字符")]
public string Reason { get; set; }
///
- /// 执行任务状态
+ /// 执行任务状态
///
public EnumJobStatus JobStatus { get; set; }
#region 回调服务相关
+
///
- /// 回调服务名称
+ /// 回调服务名称
///
- [Display(Name = "回调服务名称")]
public string CallServerName { get; set; }
///
- /// 回调业务类型
+ /// 回调业务类型
///
- [Display(Name = "回调业务类型")]
public string CallBusinessType { get; set; }
///
- /// 调用者传入申请单号
+ /// 调用者传入申请单号
///
- [Display(Name = "传入申请单号")]
public string CallRequestNumber { get; set; }
///
- /// 调用者传入任务单号
+ /// 调用者传入任务单号
///
- [Display(Name = "传入任务单号")]
public string CallJobNumber { get; set; }
+
+ #endregion
+
+ #region 库存基础信息
+
+ ///
+ /// 物品代码
+ ///
+ public string ItemCode { get; set; }
+
+ ///
+ /// 物品名称
+ ///
+ public string ItemName { get; set; }
+
+ ///
+ /// 物品描述1
+ ///
+ public string ItemDesc1 { get; set; }
+
+ ///
+ /// 物品描述2
+ ///
+ public string ItemDesc2 { get; set; }
+
+ ///
+ /// 标包数量
+ ///
+ [Display(Name = "标包数量")]
+ [Column(TypeName = "decimal(18,6)")]
+ public decimal StdPackQty { get; set; }
+
+ ///
+ /// 库存状态
+ ///
+ public EnumInventoryStatus Status { get; set; }
+
+ ///
+ /// 计量单位
+ ///
+ public string Uom { get; set; }
+
+ #endregion
+
+ #region 请求信息
+
+ ///
+ /// 请求库位
+ ///
+ public string RequestLocationCode { get; set; }
+
+ ///
+ /// 到库区
+ ///
+ public string RequestLocationArea { get; set; }
+
+ ///
+ /// 到库位组
+ ///
+ public string RequestLocationGroup { get; set; }
+
+ ///
+ /// 到ERP库位
+ ///
+ public string RequestLocationErpCode { get; set; }
+
+ ///
+ /// 到仓库
+ ///
+ public string RequestWarehouseCode { get; set; }
+
+ ///
+ /// 在途库库位
+ ///
+ public string OnTheWayLocationCode { get; set; }
+
+ ///
+ /// 生产线
+ ///
+ public string ProdLine { get; set; }
+
+ ///
+ /// 位置码
+ ///
+ public string PositionCode { get; set; }
+
+ ///
+ /// 推荐的类型
+ ///
+ public EnumRecommendType RecommendType { get; set; }
+
+ ///
+ /// 需求数量
+ ///
+ public decimal RequestQty { get; set; }
+
+ #endregion
+
+ #region 推荐来源
+
+ ///
+ /// 推荐来源托标签
+ ///
+ public string RecommendFromContainerCode { get; set; }
+
+ ///
+ /// 推荐来源箱标签
+ ///
+ public string RecommendFromPackingCode { get; set; }
+
+ ///
+ /// 推荐来源批次供应商批次
+ ///
+ public string RecommendFromSupplierBatch { get; set; }
+
+ ///
+ /// 推荐来源批次到货时间
+ ///
+ public DateTime RecommendFromArriveDate { get; set; }
+
+ ///
+ /// 推荐来源批次生产时间
+ ///
+ public DateTime RecommendFromProduceDate { get; set; }
+
+ ///
+ /// 推荐来源批次过期时间
+ ///
+ public DateTime RecommendFromExpireDate { get; set; }
+
+ ///
+ /// 推荐来源批次排序
+ ///
+ public string RecommendFromLot { get; set; }
+
+ ///
+ /// 推荐来源库位
+ ///
+ public string RecommendFromLocationCode { get; set; }
+
+ ///
+ /// 推荐来源库区
+ ///
+ public string RecommendFromLocationArea { get; set; }
+
+ ///
+ /// 推荐来源库位组
+ ///
+ public string RecommendFromLocationGroup { get; set; }
+
+ ///
+ /// 推荐来源ERP库位
+ ///
+ public string RecommendFromLocationErpCode { get; set; }
+
+ ///
+ /// 推荐来源仓库
+ ///
+ public string RecommendFromWarehouseCode { get; set; }
+
+ ///
+ /// 推荐来源数量
+ ///
+ public decimal RecommendFromQty { get; set; }
+
+ #endregion
+
+ #region 推荐目标
+
+ ///
+ /// 推荐目标托标签
+ ///
+ public string RecommendToContainerCode { get; set; }
+
+ ///
+ /// 推荐目标箱标签
+ ///
+ public string RecommendToPackingCode { get; set; }
+
+ ///
+ /// 推荐目标批次供应商批次
+ ///
+ public string RecommendToSupplierBatch { get; set; }
+
+ ///
+ /// 推荐目标批次到货时间
+ ///
+ public DateTime RecommendToArriveDate { get; set; }
+
+ ///
+ /// 推荐目标批次生产时间
+ ///
+ public DateTime RecommendToProduceDate { get; set; }
+
+ ///
+ /// 推荐目标批次过期时间
+ ///
+ public DateTime RecommendToExpireDate { get; set; }
+
+ ///
+ /// 推荐目标批次排序
+ ///
+ public string RecommendToLot { get; set; }
+
+ ///
+ /// 推荐目标库位
+ ///
+ public string RecommendToLocationCode { get; set; }
+
+ ///
+ /// 推荐目标库区
+ ///
+ public string RecommendToLocationArea { get; set; }
+
+ ///
+ /// 推荐目标库位组
+ ///
+ public string RecommendToLocationGroup { get; set; }
+
+ ///
+ /// 推荐目标ERP库位
+ ///
+ public string RecommendToLocationErpCode { get; set; }
+
+ ///
+ /// 推荐目标仓库
+ ///
+ public string RecommendToWarehouseCode { get; set; }
+
+ ///
+ /// 推荐目标数量
+ ///
+ public decimal RecommendToQty { get; set; }
+
+ #endregion
+
+ #region 实际来源
+
+ ///
+ /// 实际目标托标签
+ ///
+ public string HandledFromContainerCode { get; set; }
+
+ ///
+ /// 实际箱标签
+ ///
+ public string HandledFromPackingCode { get; set; }
+
+ ///
+ /// 实际批次供应商批次
+ ///
+ public string HandledFromSupplierBatch { get; set; }
+
+ ///
+ /// 实际批次到货时间
+ ///
+ public DateTime HandledFromArriveDate { get; set; }
+
+ ///
+ /// 实际批次生产时间
+ ///
+ public DateTime HandledFromProduceDate { get; set; }
+
+ ///
+ /// 实际批次过期时间
+ ///
+ public DateTime HandledFromExpireDate { get; set; }
+
+ ///
+ /// 实际批次排序
+ ///
+ public string HandledFromLot { get; set; }
+
+ ///
+ /// 实际库位
+ ///
+ public string HandledFromLocationCode { get; set; }
+
+ ///
+ /// 实际库区
+ ///
+ public string HandledFromLocationArea { get; set; }
+
+ ///
+ /// 实际库位组
+ ///
+ public string HandledFromLocationGroup { get; set; }
+
+ ///
+ /// 实际ERP库位
+ ///
+ public string HandledFromLocationErpCode { get; set; }
+
+ ///
+ /// 实际仓库
+ ///
+ public string HandledFromWarehouseCode { get; set; }
+
+ ///
+ /// 实际数量
+ ///
+ public decimal HandledFromQty { get; set; }
+
+ #endregion
+
+ #region 实际目标
+
+ ///
+ /// 实际目标托标签
+ ///
+ public string HandledToContainerCode { get; set; }
+
+ ///
+ /// 实际箱标签
+ ///
+ public string HandledToPackingCode { get; set; }
+
+ ///
+ /// 实际批次供应商批次
+ ///
+ public string HandledToSupplierBatch { get; set; }
+
+ ///
+ /// 实际批次到货时间
+ ///
+ public DateTime HandledToArriveDate { get; set; }
+
+ ///
+ /// 实际批次生产时间
+ ///
+ public DateTime HandledToProduceDate { get; set; }
+
+ ///
+ /// 实际批次过期时间
+ ///
+ public DateTime HandledToExpireDate { get; set; }
+
+ ///
+ /// 实际批次排序
+ ///
+ public string HandledToLot { get; set; }
+
+ ///
+ /// 实际库位
+ ///
+ public string HandledToLocationCode { get; set; }
+
+ ///
+ /// 实际库区
+ ///
+ public string HandledToLocationArea { get; set; }
+
+ ///
+ /// 实际库位组
+ ///
+ public string HandledToLocationGroup { get; set; }
+
+ ///
+ /// 实际ERP库位
+ ///
+ public string HandledToLocationErpCode { get; set; }
+
+ ///
+ /// 实际仓库
+ ///
+ public string HandledToWarehouseCode { get; set; }
+
+ ///
+ /// 实际数量
+ ///
+ public decimal HandledToQty { get; set; }
+
#endregion
- #region 校验
+ #region 开关
+
//箱码
- public bool CheckPackingCodeFrom { get; set; }
+ public bool IsPackingCodeFrom { get; set; }
+
+ public bool IsPackingCodeTo { get; set; }
- public bool CheckPackingCodeTo { get; set; }
//批次
- public bool CheckLotFrom { get; set; }
+ public bool IsLotFrom { get; set; }
+
+ public bool IsLotTo { get; set; }
- public bool CheckLotTo { get; set; }
//零件号
- public bool CheckItemCodeFrom { get; set; }
+ public bool IsItemCodeFrom { get; set; }
+
+ public bool IsItemCodeTo { get; set; }
- public bool CheckItemCodeTo { get; set; }
//状态
- public bool CheckStatusFrom { get; set; }
+ public bool IsStatusFrom { get; set; }
+
+ public bool IsStatusTo { get; set; }
- public bool CheckStatusTo { get; set; }
//库位
- public bool CheckLocationCodeFrom { get; set; }
+ public bool IsLocationCodeFrom { get; set; }
- public bool CheckLocationCodeTo { get; set; }
+ public bool IsLocationCodeTo { get; set; }
//库位组
- public bool CheckLocationGroupFrom { get; set; }
+ public bool IsLocationGroupFrom { get; set; }
- public bool CheckLocationGroupTo { get; set; }
+ public bool IsLocationGroupTo { get; set; }
//区域
- public bool CheckLocationAreaFrom { get; set; }
+ public bool IsLocationAreaFrom { get; set; }
- public bool CheckLocationAreaTo { get; set; }
+ public bool IsLocationAreaTo { get; set; }
//储位
- public bool CheckLocationErpCodeFrom { get; set; }
+ public bool IsLocationErpCodeFrom { get; set; }
+
+ public bool IsLocationErpCodeTo { get; set; }
- public bool CheckLocationErpCodeTo { get; set; }
//数量
- public bool CheckQtyFrom { get; set; }
+ public bool IsQtyFrom { get; set; }
- public bool CheckQtyTo { get; set; }
+ public bool IsQtyTo { get; set; }
#endregion
-
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferLibNotes/DTOs/TransferLibNoteDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferLibNotes/DTOs/TransferLibNoteDetailDTO.cs
index a848a260d..3296b5995 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferLibNotes/DTOs/TransferLibNoteDetailDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferLibNotes/DTOs/TransferLibNoteDetailDTO.cs
@@ -1,97 +1,467 @@
+using System;
using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
-using Win_in.Sfs.Wms.Store.Domain;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
///
-/// 库存转移记录-明细表 //??TransferLib实体
+/// 库存转移记录-明细表 //??TransferLib实体
///
-public class TransferLibNoteDetailDTO : NewRecommendHandledFromTo
+public class TransferLibNoteDetailDTO : SfsDetailDTOBase
{
-
- ///
- /// 在途库地址
- ///
- [Display(Name = "在途库地址")]
- public string OnTheWayLocationCode { get; set; }
///
- /// 原因
+ /// 原因
///
- [Display(Name = "原因")]
public string Reason { get; set; }
///
- /// 执行任务状态
+ /// 执行任务状态
///
public EnumJobStatus JobStatus { get; set; }
+
#region 回调服务相关
+
///
- /// 回调服务名称
+ /// 回调服务名称
///
- [Display(Name = "回调服务名称")]
public string CallServerName { get; set; }
///
- /// 回调业务类型
+ /// 回调业务类型
///
- [Display(Name = "回调业务类型")]
public string CallBusinessType { get; set; }
///
- /// 调用者传入申请单号
+ /// 调用者传入申请单号
///
- [Display(Name = "传入申请单号")]
public string CallRequestNumber { get; set; }
///
- /// 调用者传入任务单号
+ /// 调用者传入任务单号
///
- [Display(Name = "传入任务单号")]
public string CallJobNumber { get; set; }
+
+ #endregion
+
+ #region 库存基础信息
+
+ ///
+ /// 物品代码
+ ///
+ public string ItemCode { get; set; }
+
+ ///
+ /// 物品名称
+ ///
+ public string ItemName { get; set; }
+
+ ///
+ /// 物品描述1
+ ///
+ public string ItemDesc1 { get; set; }
+
+ ///
+ /// 物品描述2
+ ///
+ public string ItemDesc2 { get; set; }
+
+ ///
+ /// 标包数量
+ ///
+ [Display(Name = "标包数量")]
+ [Column(TypeName = "decimal(18,6)")]
+ public decimal StdPackQty { get; set; }
+
+ ///
+ /// 库存状态
+ ///
+ public EnumInventoryStatus Status { get; set; }
+
+ ///
+ /// 计量单位
+ ///
+ public string Uom { get; set; }
+
+ #endregion
+
+ #region 请求信息
+
+ ///
+ /// 请求库位
+ ///
+ public string RequestLocationCode { get; set; }
+
+ ///
+ /// 到库区
+ ///
+ public string RequestLocationArea { get; set; }
+
+ ///
+ /// 到库位组
+ ///
+ public string RequestLocationGroup { get; set; }
+
+ ///
+ /// 到ERP库位
+ ///
+ public string RequestLocationErpCode { get; set; }
+
+ ///
+ /// 到仓库
+ ///
+ public string RequestWarehouseCode { get; set; }
+
+ ///
+ /// 在途库库位
+ ///
+ public string OnTheWayLocationCode { get; set; }
+
+ ///
+ /// 生产线
+ ///
+ public string ProdLine { get; set; }
+
+ ///
+ /// 位置码
+ ///
+ public string PositionCode { get; set; }
+
+ ///
+ /// 推荐的类型
+ ///
+ public EnumRecommendType RecommendType { get; set; }
+
+ ///
+ /// 需求数量
+ ///
+ public decimal RequestQty { get; set; }
+
+ #endregion
+
+ #region 推荐来源
+
+ ///
+ /// 推荐来源托标签
+ ///
+ public string RecommendFromContainerCode { get; set; }
+
+ ///
+ /// 推荐来源箱标签
+ ///
+ public string RecommendFromPackingCode { get; set; }
+
+ ///
+ /// 推荐来源批次供应商批次
+ ///
+ public string RecommendFromSupplierBatch { get; set; }
+
+ ///
+ /// 推荐来源批次到货时间
+ ///
+ public DateTime RecommendFromArriveDate { get; set; }
+
+ ///
+ /// 推荐来源批次生产时间
+ ///
+ public DateTime RecommendFromProduceDate { get; set; }
+
+ ///
+ /// 推荐来源批次过期时间
+ ///
+ public DateTime RecommendFromExpireDate { get; set; }
+
+ ///
+ /// 推荐来源批次排序
+ ///
+ public string RecommendFromLot { get; set; }
+
+ ///
+ /// 推荐来源库位
+ ///
+ public string RecommendFromLocationCode { get; set; }
+
+ ///
+ /// 推荐来源库区
+ ///
+ public string RecommendFromLocationArea { get; set; }
+
+ ///
+ /// 推荐来源库位组
+ ///
+ public string RecommendFromLocationGroup { get; set; }
+
+ ///
+ /// 推荐来源ERP库位
+ ///
+ public string RecommendFromLocationErpCode { get; set; }
+
+ ///
+ /// 推荐来源仓库
+ ///
+ public string RecommendFromWarehouseCode { get; set; }
+
+ ///
+ /// 推荐来源数量
+ ///
+ public decimal RecommendFromQty { get; set; }
+
+ #endregion
+
+ #region 推荐目标
+
+ ///
+ /// 推荐目标托标签
+ ///
+ public string RecommendToContainerCode { get; set; }
+
+ ///
+ /// 推荐目标箱标签
+ ///
+ public string RecommendToPackingCode { get; set; }
+
+ ///
+ /// 推荐目标批次供应商批次
+ ///
+ public string RecommendToSupplierBatch { get; set; }
+
+ ///
+ /// 推荐目标批次到货时间
+ ///
+ public DateTime RecommendToArriveDate { get; set; }
+
+ ///
+ /// 推荐目标批次生产时间
+ ///
+ public DateTime RecommendToProduceDate { get; set; }
+
+ ///
+ /// 推荐目标批次过期时间
+ ///
+ public DateTime RecommendToExpireDate { get; set; }
+
+ ///
+ /// 推荐目标批次排序
+ ///
+ public string RecommendToLot { get; set; }
+
+ ///
+ /// 推荐目标库位
+ ///
+ public string RecommendToLocationCode { get; set; }
+
+ ///
+ /// 推荐目标库区
+ ///
+ public string RecommendToLocationArea { get; set; }
+
+ ///
+ /// 推荐目标库位组
+ ///
+ public string RecommendToLocationGroup { get; set; }
+
+ ///
+ /// 推荐目标ERP库位
+ ///
+ public string RecommendToLocationErpCode { get; set; }
+
+ ///
+ /// 推荐目标仓库
+ ///
+ public string RecommendToWarehouseCode { get; set; }
+
+ ///
+ /// 推荐目标数量
+ ///
+ public decimal RecommendToQty { get; set; }
+
+ #endregion
+
+ #region 实际来源
+
+ ///
+ /// 实际目标托标签
+ ///
+ public string HandledFromContainerCode { get; set; }
+
+ ///
+ /// 实际箱标签
+ ///
+ public string HandledFromPackingCode { get; set; }
+
+ ///
+ /// 实际批次供应商批次
+ ///
+ public string HandledFromSupplierBatch { get; set; }
+
+ ///
+ /// 实际批次到货时间
+ ///
+ public DateTime HandledFromArriveDate { get; set; }
+
+ ///
+ /// 实际批次生产时间
+ ///
+ public DateTime HandledFromProduceDate { get; set; }
+
+ ///
+ /// 实际批次过期时间
+ ///
+ public DateTime HandledFromExpireDate { get; set; }
+
+ ///
+ /// 实际批次排序
+ ///
+ public string HandledFromLot { get; set; }
+
+ ///
+ /// 实际库位
+ ///
+ public string HandledFromLocationCode { get; set; }
+
+ ///
+ /// 实际库区
+ ///
+ public string HandledFromLocationArea { get; set; }
+
+ ///
+ /// 实际库位组
+ ///
+ public string HandledFromLocationGroup { get; set; }
+
+ ///
+ /// 实际ERP库位
+ ///
+ public string HandledFromLocationErpCode { get; set; }
+
+ ///
+ /// 实际仓库
+ ///
+ public string HandledFromWarehouseCode { get; set; }
+
+ ///
+ /// 实际数量
+ ///
+ public decimal HandledFromQty { get; set; }
+
+ #endregion
+
+ #region 实际目标
+
+ ///
+ /// 实际目标托标签
+ ///
+ public string HandledToContainerCode { get; set; }
+
+ ///
+ /// 实际箱标签
+ ///
+ public string HandledToPackingCode { get; set; }
+
+ ///
+ /// 实际批次供应商批次
+ ///
+ public string HandledToSupplierBatch { get; set; }
+
+ ///
+ /// 实际批次到货时间
+ ///
+ public DateTime HandledToArriveDate { get; set; }
+
+ ///
+ /// 实际批次生产时间
+ ///
+ public DateTime HandledToProduceDate { get; set; }
+
+ ///
+ /// 实际批次过期时间
+ ///
+ public DateTime HandledToExpireDate { get; set; }
+
+ ///
+ /// 实际批次排序
+ ///
+ public string HandledToLot { get; set; }
+
+ ///
+ /// 实际库位
+ ///
+ public string HandledToLocationCode { get; set; }
+
+ ///
+ /// 实际库区
+ ///
+ public string HandledToLocationArea { get; set; }
+
+ ///
+ /// 实际库位组
+ ///
+ public string HandledToLocationGroup { get; set; }
+
+ ///
+ /// 实际ERP库位
+ ///
+ public string HandledToLocationErpCode { get; set; }
+
+ ///
+ /// 实际仓库
+ ///
+ public string HandledToWarehouseCode { get; set; }
+
+ ///
+ /// 实际数量
+ ///
+ public decimal HandledToQty { get; set; }
+
#endregion
- #region 校验
+ #region 开关
+
//箱码
- public bool CheckPackingCodeFrom { get; set; }
+ public bool IsPackingCodeFrom { get; set; }
+
+ public bool IsPackingCodeTo { get; set; }
- public bool CheckPackingCodeTo { get; set; }
//批次
- public bool CheckLotFrom { get; set; }
+ public bool IsLotFrom { get; set; }
+
+ public bool IsLotTo { get; set; }
- public bool CheckLotTo { get; set; }
//零件号
- public bool CheckItemCodeFrom { get; set; }
+ public bool IsItemCodeFrom { get; set; }
+
+ public bool IsItemCodeTo { get; set; }
- public bool CheckItemCodeTo { get; set; }
//状态
- public bool CheckStatusFrom { get; set; }
+ public bool IsStatusFrom { get; set; }
+
+ public bool IsStatusTo { get; set; }
- public bool CheckStatusTo { get; set; }
//库位
- public bool CheckLocationCodeFrom { get; set; }
+ public bool IsLocationCodeFrom { get; set; }
- public bool CheckLocationCodeTo { get; set; }
+ public bool IsLocationCodeTo { get; set; }
//库位组
- public bool CheckLocationGroupFrom { get; set; }
+ public bool IsLocationGroupFrom { get; set; }
- public bool CheckLocationGroupTo { get; set; }
+ public bool IsLocationGroupTo { get; set; }
//区域
- public bool CheckLocationAreaFrom { get; set; }
+ public bool IsLocationAreaFrom { get; set; }
- public bool CheckLocationAreaTo { get; set; }
+ public bool IsLocationAreaTo { get; set; }
//储位
- public bool CheckLocationErpCodeFrom { get; set; }
+ public bool IsLocationErpCodeFrom { get; set; }
+
+ public bool IsLocationErpCodeTo { get; set; }
- public bool CheckLocationErpCodeTo { get; set; }
//数量
- public bool CheckQtyFrom { get; set; }
+ public bool IsQtyFrom { get; set; }
- public bool CheckQtyTo { get; set; }
+ public bool IsQtyTo { get; set; }
#endregion
-
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferLibNotes/ITransferLibNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferLibNotes/ITransferLibNoteAppService.cs
index 548a8cb10..00ee3ae41 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferLibNotes/ITransferLibNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferLibNotes/ITransferLibNoteAppService.cs
@@ -9,82 +9,10 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public interface ITransferLibNoteAppService :
ISfsStoreMasterReadOnlyAppServiceBase
{
- Task CreateAsync(TransferLibNoteEditInput input);
-
- Task> GetWipTransferListAsync(SfsStoreRequestInputBase sfsRequestDTO, bool includeDetails = false,
- CancellationToken cancellationToken = default);
-
- Task> GetAreaTransferListAsync(SfsStoreRequestInputBase sfsRequestDTO, bool includeDetails = false,
- CancellationToken cancellationToken = default);
-
- Task> GetCustomerTransferListAsync(SfsStoreRequestInputBase sfsRequestDTO, bool includeDetails = false,
- CancellationToken cancellationToken = default);
-
- Task> GetListForDiffERPLocAsync(
- SfsStoreRequestInputBase sfsRequestDTO,
- bool includeDetails = false,
- CancellationToken cancellationToken = default);
-
- Task> GetInsideTransferListAsync(
- SfsStoreRequestInputBase sfsRequestDTO,
- bool includeDetails = false,
- CancellationToken cancellationToken = default);
-
- Task ConfirmAsync(Guid id);
-
///
- /// 库存转移
+ /// ת
///
///
///
- Task> CreateManyAsync(List input);
-
- ///
- /// 拆箱
- ///
- ///
- ///
- Task SplitPackingAsync(TransferLibNoteEditInput transferLibNoteEditInput);
-
- ///
- /// 按条件获取拆箱的分页列表
- /// request sample
- /// {
- /// "maxResultCount": 1000,
- /// "skipCount": 0,
- /// "sorting": "",
- /// "condition": { "filters": []}
- /// }
- ///
- ///
- ///
- ///
- ///
- Task> GetSplitPackingTransferListAsync(
- SfsStoreRequestInputBase sfsRequestDTO, bool includeDetails = false,
- CancellationToken cancellationToken = default);
-
- ///
- /// 采购收货拆箱,同时更新、插入PurchaseReceipt任务表、申请表
- ///
- ///
- ///
- ///
- Task SplitPacking_PurchaseReceiptAsync(TransferLibNoteEditInput transferLibNoteEditInput, SplitPacking_UpdateJobDetailInput updateJobDetailInput);
-
- ///
- /// 质检拆箱,同时更新、插入Inspect任务表(不更新申请表)
- ///
- ///
- ///
- ///
- Task SplitPacking_InspectAsync(TransferLibNoteEditInput transferLibNoteEditInput, SplitPacking_UpdateJobDetailInput updateJobDetailInput);
-
- ///
- /// 发料拆箱,同时更新、插入Inspect任务表(没有找到申请表//??)
- ///
- ///
- ///
- ///
- Task SplitPacking_IssueAsync(TransferLibNoteEditInput transferLibNoteEditInput, SplitPacking_UpdateJobDetailInput updateJobDetailInput);
+ Task CreateAsync(TransferLibNoteEditInput input);
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferLibNotes/Inputs/TransferLibNoteDetailInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferLibNotes/Inputs/TransferLibNoteDetailInput.cs
index e2a18a4db..4b16c3ae9 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferLibNotes/Inputs/TransferLibNoteDetailInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/TransferLibNotes/Inputs/TransferLibNoteDetailInput.cs
@@ -1,100 +1,467 @@
+using System;
using System.ComponentModel.DataAnnotations;
-using Win_in.Sfs.Shared.Domain;
+using System.ComponentModel.DataAnnotations.Schema;
+using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
-using Win_in.Sfs.Wms.Store.Domain;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
///
-/// 库存转移记录-明细表 //??TransferLib实体
+/// 库存转移记录-明细表 //??TransferLib实体
///
-public class TransferLibNoteDetailInput : NewRecommendHandledFromTo
+public class TransferLibNoteDetailInput : SfsDetailInputBase
{
-
- ///
- /// 在途库地址
- ///
- [Display(Name = "在途库地址")]
- public string OnTheWayLocationCode { get; set; }
-
///
- /// 原因
+ /// 原因
///
- [Display(Name = "原因")]
- [StringLength(SfsEfCorePropertyConst.RemarkLength, ErrorMessage = "{0}最多输入{1}个字符")]
public string Reason { get; set; }
+
///
- /// 执行任务状态
+ /// 执行任务状态
///
public EnumJobStatus JobStatus { get; set; }
#region 回调服务相关
+
///
- /// 回调服务名称
+ /// 回调服务名称
///
- [Display(Name = "回调服务名称")]
public string CallServerName { get; set; }
///
- /// 回调业务类型
+ /// 回调业务类型
///
- [Display(Name = "回调业务类型")]
public string CallBusinessType { get; set; }
///
- /// 调用者传入申请单号
+ /// 调用者传入申请单号
///
- [Display(Name = "传入申请单号")]
public string CallRequestNumber { get; set; }
///
- /// 调用者传入任务单号
+ /// 调用者传入任务单号
///
- [Display(Name = "传入任务单号")]
public string CallJobNumber { get; set; }
+
#endregion
- #region 校验
+ #region 库存基础信息
+
+ ///
+ /// 物品代码
+ ///
+ public string ItemCode { get; set; }
+
+ ///
+ /// 物品名称
+ ///
+ public string ItemName { get; set; }
+
+ ///
+ /// 物品描述1
+ ///
+ public string ItemDesc1 { get; set; }
+
+ ///
+ /// 物品描述2
+ ///
+ public string ItemDesc2 { get; set; }
+
+ ///
+ /// 标包数量
+ ///
+ [Display(Name = "标包数量")]
+ [Column(TypeName = "decimal(18,6)")]
+ public decimal StdPackQty { get; set; }
+
+ ///
+ /// 库存状态
+ ///
+ public EnumInventoryStatus Status { get; set; }
+
+ ///
+ /// 计量单位
+ ///
+ public string Uom { get; set; }
+
+ #endregion
+
+ #region 请求信息
+
+ ///
+ /// 请求库位
+ ///
+ public string RequestLocationCode { get; set; }
+
+ ///
+ /// 到库区
+ ///
+ public string RequestLocationArea { get; set; }
+
+ ///
+ /// 到库位组
+ ///
+ public string RequestLocationGroup { get; set; }
+
+ ///
+ /// 到ERP库位
+ ///
+ public string RequestLocationErpCode { get; set; }
+
+ ///
+ /// 到仓库
+ ///
+ public string RequestWarehouseCode { get; set; }
+
+ ///
+ /// 在途库库位
+ ///
+ public string OnTheWayLocationCode { get; set; }
+
+ ///
+ /// 生产线
+ ///
+ public string ProdLine { get; set; }
+
+ ///
+ /// 位置码
+ ///
+ public string PositionCode { get; set; }
+
+ ///
+ /// 推荐的类型
+ ///
+ public EnumRecommendType RecommendType { get; set; }
+
+ ///
+ /// 需求数量
+ ///
+ public decimal RequestQty { get; set; }
+
+ #endregion
+
+ #region 推荐来源
+
+ ///
+ /// 推荐来源托标签
+ ///
+ public string RecommendFromContainerCode { get; set; }
+
+ ///
+ /// 推荐来源箱标签
+ ///
+ public string RecommendFromPackingCode { get; set; }
+
+ ///
+ /// 推荐来源批次供应商批次
+ ///
+ public string RecommendFromSupplierBatch { get; set; }
+
+ ///
+ /// 推荐来源批次到货时间
+ ///
+ public DateTime RecommendFromArriveDate { get; set; }
+
+ ///
+ /// 推荐来源批次生产时间
+ ///
+ public DateTime RecommendFromProduceDate { get; set; }
+
+ ///
+ /// 推荐来源批次过期时间
+ ///
+ public DateTime RecommendFromExpireDate { get; set; }
+
+ ///
+ /// 推荐来源批次排序
+ ///
+ public string RecommendFromLot { get; set; }
+
+ ///
+ /// 推荐来源库位
+ ///
+ public string RecommendFromLocationCode { get; set; }
+
+ ///
+ /// 推荐来源库区
+ ///
+ public string RecommendFromLocationArea { get; set; }
+
+ ///
+ /// 推荐来源库位组
+ ///
+ public string RecommendFromLocationGroup { get; set; }
+
+ ///
+ /// 推荐来源ERP库位
+ ///
+ public string RecommendFromLocationErpCode { get; set; }
+
+ ///
+ /// 推荐来源仓库
+ ///
+ public string RecommendFromWarehouseCode { get; set; }
+
+ ///
+ /// 推荐来源数量
+ ///
+ public decimal RecommendFromQty { get; set; }
+
+ #endregion
+
+ #region 推荐目标
+
+ ///
+ /// 推荐目标托标签
+ ///
+ public string RecommendToContainerCode { get; set; }
+
+ ///
+ /// 推荐目标箱标签
+ ///
+ public string RecommendToPackingCode { get; set; }
+
+ ///
+ /// 推荐目标批次供应商批次
+ ///
+ public string RecommendToSupplierBatch { get; set; }
+
+ ///
+ /// 推荐目标批次到货时间
+ ///
+ public DateTime RecommendToArriveDate { get; set; }
+
+ ///
+ /// 推荐目标批次生产时间
+ ///
+ public DateTime RecommendToProduceDate { get; set; }
+
+ ///
+ /// 推荐目标批次过期时间
+ ///
+ public DateTime RecommendToExpireDate { get; set; }
+
+ ///
+ /// 推荐目标批次排序
+ ///
+ public string RecommendToLot { get; set; }
+
+ ///
+ /// 推荐目标库位
+ ///
+ public string RecommendToLocationCode { get; set; }
+
+ ///
+ /// 推荐目标库区
+ ///
+ public string RecommendToLocationArea { get; set; }
+
+ ///
+ /// 推荐目标库位组
+ ///
+ public string RecommendToLocationGroup { get; set; }
+
+ ///
+ /// 推荐目标ERP库位
+ ///
+ public string RecommendToLocationErpCode { get; set; }
+
+ ///
+ /// 推荐目标仓库
+ ///
+ public string RecommendToWarehouseCode { get; set; }
+
+ ///
+ /// 推荐目标数量
+ ///
+ public decimal RecommendToQty { get; set; }
+
+ #endregion
+
+ #region 实际来源
+
+ ///
+ /// 实际目标托标签
+ ///
+ public string HandledFromContainerCode { get; set; }
+
+ ///
+ /// 实际箱标签
+ ///
+ public string HandledFromPackingCode { get; set; }
+
+ ///
+ /// 实际批次供应商批次
+ ///
+ public string HandledFromSupplierBatch { get; set; }
+
+ ///
+ /// 实际批次到货时间
+ ///
+ public DateTime HandledFromArriveDate { get; set; }
+
+ ///
+ /// 实际批次生产时间
+ ///
+ public DateTime HandledFromProduceDate { get; set; }
+
+ ///
+ /// 实际批次过期时间
+ ///
+ public DateTime HandledFromExpireDate { get; set; }
+
+ ///
+ /// 实际批次排序
+ ///
+ public string HandledFromLot { get; set; }
+
+ ///
+ /// 实际库位
+ ///
+ public string HandledFromLocationCode { get; set; }
+
+ ///
+ /// 实际库区
+ ///
+ public string HandledFromLocationArea { get; set; }
+
+ ///
+ /// 实际库位组
+ ///
+ public string HandledFromLocationGroup { get; set; }
+
+ ///
+ /// 实际ERP库位
+ ///
+ public string HandledFromLocationErpCode { get; set; }
+
+ ///
+ /// 实际仓库
+ ///
+ public string HandledFromWarehouseCode { get; set; }
+
+ ///
+ /// 实际数量
+ ///
+ public decimal HandledFromQty { get; set; }
+
+ #endregion
+
+ #region 实际目标
+
+ ///
+ /// 实际目标托标签
+ ///
+ public string HandledToContainerCode { get; set; }
+
+ ///
+ /// 实际箱标签
+ ///
+ public string HandledToPackingCode { get; set; }
+
+ ///
+ /// 实际批次供应商批次
+ ///
+ public string HandledToSupplierBatch { get; set; }
+
+ ///
+ /// 实际批次到货时间
+ ///
+ public DateTime HandledToArriveDate { get; set; }
+
+ ///
+ /// 实际批次生产时间
+ ///
+ public DateTime HandledToProduceDate { get; set; }
+
+ ///
+ /// 实际批次过期时间
+ ///
+ public DateTime HandledToExpireDate { get; set; }
+
+ ///
+ /// 实际批次排序
+ ///
+ public string HandledToLot { get; set; }
+
+ ///
+ /// 实际库位
+ ///
+ public string HandledToLocationCode { get; set; }
+
+ ///
+ /// 实际库区
+ ///
+ public string HandledToLocationArea { get; set; }
+
+ ///
+ /// 实际库位组
+ ///
+ public string HandledToLocationGroup { get; set; }
+
+ ///
+ /// 实际ERP库位
+ ///
+ public string HandledToLocationErpCode { get; set; }
+
+ ///
+ /// 实际仓库
+ ///
+ public string HandledToWarehouseCode { get; set; }
+
+ ///
+ /// 实际数量
+ ///
+ public decimal HandledToQty { get; set; }
+
+ #endregion
+
+ #region 开关
+
//箱码
- public bool CheckPackingCodeFrom { get; set; }
+ public bool IsPackingCodeFrom { get; set; }
+
+ public bool IsPackingCodeTo { get; set; }
- public bool CheckPackingCodeTo { get; set; }
//批次
- public bool CheckLotFrom { get; set; }
+ public bool IsLotFrom { get; set; }
+
+ public bool IsLotTo { get; set; }
- public bool CheckLotTo { get; set; }
//零件号
- public bool CheckItemCodeFrom { get; set; }
+ public bool IsItemCodeFrom { get; set; }
+
+ public bool IsItemCodeTo { get; set; }
- public bool CheckItemCodeTo { get; set; }
//状态
- public bool CheckStatusFrom { get; set; }
+ public bool IsStatusFrom { get; set; }
+
+ public bool IsStatusTo { get; set; }
- public bool CheckStatusTo { get; set; }
//库位
- public bool CheckLocationCodeFrom { get; set; }
+ public bool IsLocationCodeFrom { get; set; }
- public bool CheckLocationCodeTo { get; set; }
+ public bool IsLocationCodeTo { get; set; }
//库位组
- public bool CheckLocationGroupFrom { get; set; }
+ public bool IsLocationGroupFrom { get; set; }
- public bool CheckLocationGroupTo { get; set; }
+ public bool IsLocationGroupTo { get; set; }
//区域
- public bool CheckLocationAreaFrom { get; set; }
+ public bool IsLocationAreaFrom { get; set; }
- public bool CheckLocationAreaTo { get; set; }
+ public bool IsLocationAreaTo { get; set; }
//储位
- public bool CheckLocationErpCodeFrom { get; set; }
+ public bool IsLocationErpCodeFrom { get; set; }
+
+ public bool IsLocationErpCodeTo { get; set; }
- public bool CheckLocationErpCodeTo { get; set; }
//数量
- public bool CheckQtyFrom { get; set; }
+ public bool IsQtyFrom { get; set; }
- public bool CheckQtyTo { get; set; }
+ public bool IsQtyTo { get; set; }
#endregion
-
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferLibNotes/TransferLibNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferLibNotes/TransferLibNoteAppService.cs
index 2467421e4..f8dc9620d 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferLibNotes/TransferLibNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferLibNotes/TransferLibNoteAppService.cs
@@ -67,269 +67,7 @@ public class TransferLibNoteAppService : SfsStoreWithDetailsAppServiceBase
_issueJobAppService = issueJobAppService;
_expectOutAppService = expectOutAppService;
}
-
- #region 东阳使用
-
- ///
- /// 用来重写 导入数据时可以加工数据
- ///
- ///
- ///
- protected override async Task> ImportProcessingEntityAsync(
- Dictionary dictionary)
- {
- var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key);
-
- foreach (var transferLibNote in addList)
- {
- if (transferLibNote.Type == EnumTransSubType.Transfer_Inside.GetDisplayName()) //储位内调拨
- {
- transferLibNote.Type = EnumTransSubType.Transfer_Inside.ToString();//重点 需要转换
- foreach (var detail in transferLibNote.Details)
- {
- var balanceDto = await _balanceAppService.GetByItemLocationAndPackingAsync(detail.FromPackingCode,
- detail.ItemCode, detail.FromLocationCode).ConfigureAwait(false);
- var toLocationDto = await _locationAppService.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false);
- var fromLocationDto = await _locationAppService.GetByCodeAsync(detail.FromLocationCode).ConfigureAwait(false);
-
- CheckLocation(toLocationDto, detail);
- CheckFromLocation(fromLocationDto, detail);
- if (toLocationDto.Type != fromLocationDto.Type)
- {
- throw new UserFriendlyException($"来源库位与目标库位类型不一致");
- }
-
- detail.OnTheWayLocationCode = bool.FalseString;
- detail.ItemCode=balanceDto.ItemCode;
- detail.ArriveDate=balanceDto.ArriveDate;
- detail.ItemDesc1=balanceDto.ItemDesc1;
- detail.ItemDesc2=balanceDto.ItemDesc2;
- detail.ItemName=balanceDto.ItemName;
- detail.ProduceDate=balanceDto.ProduceDate;
- detail.Qty=balanceDto.Qty;
- detail.Uom=balanceDto.Uom;
- detail.ExpireDate=balanceDto.ExpireDate;
- detail.StdPackQty=balanceDto.StdPackQty;
- detail.SupplierBatch=balanceDto.SupplierBatch;
-
- detail.FromLocationArea = balanceDto.LocationArea;
- detail.FromContainerCode = balanceDto.ContainerCode;
- detail.FromLocationErpCode = balanceDto.LocationErpCode;
- detail.FromLocationGroup = balanceDto.LocationGroup;
- detail.FromPackingCode = balanceDto.PackingCode;
- detail.FromLocationArea = balanceDto.LocationArea;
- detail.FromStatus = balanceDto.Status;
- detail.FromWarehouseCode = balanceDto.WarehouseCode;
- detail.FromLot = balanceDto.Lot;
-
- detail.ToLocationArea = toLocationDto.AreaCode;
- detail.ToLocationErpCode = toLocationDto.ErpLocationCode;
- detail.ToLocationGroup = toLocationDto.LocationGroupCode;
- detail.ToWarehouseCode = toLocationDto.WarehouseCode;
- detail.ToContainerCode = balanceDto.ContainerCode;
- detail.ToPackingCode = balanceDto.PackingCode;
- detail.ToLocationArea = balanceDto.LocationArea;
- detail.ToStatus = balanceDto.Status;
- detail.ToLot = balanceDto.Lot;
- }
- }
- }
-
- return dictionary;
- }
-
- ///
- /// 拆箱
- ///
- ///
- ///
- [HttpPost("split-packing")]
- public async Task SplitPackingAsync(TransferLibNoteEditInput transferLibNoteEditInput)
- {
- //插入拆箱记录表
- await WriteSplitPackingRec(transferLibNoteEditInput).ConfigureAwait(false);
- //更新库存
- transferLibNoteEditInput.Type = EnumTransSubType.Transfer_SplitPacking.ToString();
- return await CreateAsync(transferLibNoteEditInput).ConfigureAwait(false);
- }
-
- #region 校验
- private void CheckLocation(LocationDTO locationDto, TransferLibNoteDetail detail)
- {
- if (locationDto == null)
- {
- throw new UserFriendlyException($"库位代码为【{detail.ToLocationCode}】不存在");
- }
- }
- private void CheckFromLocation(LocationDTO locationDto, TransferLibNoteDetail detail)
- {
- if (locationDto == null)
- {
- throw new UserFriendlyException($"库位代码为【{detail.FromLocationCode}】不存在");
- }
- }
- #endregion
-
- ///
- /// 按条件获取拆箱的分页列表
- /// request sample
- /// {
- /// "maxResultCount": 1000,
- /// "skipCount": 0,
- /// "sorting": "",
- /// "condition": { "filters": []}
- /// }
- ///
- ///
- ///
- ///
- ///
- [HttpPost("get-split-packing-list")]
- public virtual async Task> GetSplitPackingTransferListAsync(
- SfsStoreRequestInputBase sfsRequestDTO, bool includeDetails = false,
- CancellationToken cancellationToken = default)
- {
- return await GetSubTypeListAsync(sfsRequestDTO, EnumTransSubType.Transfer_SplitPacking, includeDetails,
- cancellationToken).ConfigureAwait(false);
- }
-
- ///
- /// 按条件获取线边调拨的分页列表
- /// request sample
- /// {
- /// "maxResultCount": 1000,
- /// "skipCount": 0,
- /// "sorting": "",
- /// "condition": { "filters": []}
- /// }
- ///
- ///
- ///
- ///
- ///
- [HttpPost("get-wip-list")]
- public virtual async Task> GetWipTransferListAsync(
- SfsStoreRequestInputBase sfsRequestDTO, bool includeDetails = false,
- CancellationToken cancellationToken = default)
- {
- return await GetSubTypeListAsync(sfsRequestDTO, EnumTransSubType.Transfer_WIP, includeDetails,
- cancellationToken).ConfigureAwait(false);
- }
-
- ///
- /// 按条件获取储位间调拨的分页列表
- /// request sample
- /// {
- /// "maxResultCount": 1000,
- /// "skipCount": 0,
- /// "sorting": "",
- /// "condition": { "filters": []}
- /// }
- ///
- ///
- ///
- ///
- ///
- [HttpPost("get-erp-loc-list")]
- public virtual async Task> GetAreaTransferListAsync(
- SfsStoreRequestInputBase sfsRequestDTO, bool includeDetails = false,
- CancellationToken cancellationToken = default)
- {
- return await GetSubTypeListAsync(sfsRequestDTO, EnumTransSubType.Transfer_Area, includeDetails,
- cancellationToken).ConfigureAwait(false);
- }
-
- ///
- /// 按条件获取储位内移库的分页列表
- /// request sample
- /// {
- /// "maxResultCount": 1000,
- /// "skipCount": 0,
- /// "sorting": "",
- /// "condition": { "filters": []}
- /// }
- ///
- ///
- ///
- ///
- ///
- [HttpPost("get-inside-list")]
- public virtual async Task> GetInsideTransferListAsync(
- SfsStoreRequestInputBase sfsRequestDTO, bool includeDetails = false,
- CancellationToken cancellationToken = default)
- {
- return await GetSubTypeListAsync(sfsRequestDTO, EnumTransSubType.Transfer_Inside, includeDetails,
- cancellationToken).ConfigureAwait(false);
- }
-
- ///
- /// 按条件获取客户储位间调拨的分页列表
- /// request sample
- /// {
- /// "maxResultCount": 1000,
- /// "skipCount": 0,
- /// "sorting": "",
- /// "condition": { "filters": []}
- /// }
- ///
- ///
- ///
- ///
- ///
- [HttpPost("get-custom-loc-list")]
- public virtual async Task> GetCustomerTransferListAsync(
- SfsStoreRequestInputBase sfsRequestDTO, bool includeDetails = false,
- CancellationToken cancellationToken = default)
- {
- return await GetSubTypeListAsync(sfsRequestDTO, EnumTransSubType.Transfer_Customer, includeDetails,
- cancellationToken).ConfigureAwait(false);
- }
-
- ///
- /// 按条件获取储位间调拨的分页列表
- /// request sample
- /// {
- /// "maxResultCount": 1000,
- /// "skipCount": 0,
- /// "sorting": "",
- /// "condition": { "filters": []}
- /// }
- ///
- ///
- ///
- ///
- ///
- [HttpPost("get-diff-erp-loc-list")]
- public virtual async Task> GetListForDiffERPLocAsync(
- SfsStoreRequestInputBase sfsRequestDTO, bool includeDetails = false,
- CancellationToken cancellationToken = default)
- {
- return await GetSubTypeListAsync(sfsRequestDTO, EnumTransSubType.Transfer_Warehouse, includeDetails,
- cancellationToken).ConfigureAwait(false);
- }
-
- private async Task> GetSubTypeListAsync(SfsStoreRequestInputBase sfsRequestDTO,
- EnumTransSubType type, bool includeDetails = false,
- CancellationToken cancellationToken = default)
- {
- sfsRequestDTO.Condition.Filters.Add(new Filter
- {
- Action = "==",
- Column = "Type",
- Logic = EnumFilterLogic.And.ToString(),
- Value = type.ToString()
- });
-
- var expression = sfsRequestDTO.Condition.Filters?.Count > 0
- ? sfsRequestDTO.Condition.Filters.ToLambda()
- : p => true;
-
- return await GetPagedListAsync(expression, sfsRequestDTO.SkipCount, sfsRequestDTO.MaxResultCount,
- sfsRequestDTO.Sorting, includeDetails, cancellationToken).ConfigureAwait(false);
- }
-
- #endregion
-
+
///
/// 库存转移
///
@@ -380,133 +118,4 @@ public class TransferLibNoteAppService : SfsStoreWithDetailsAppServiceBase
var dto = ObjectMapper.Map(entity);
return dto;
}
-
- ///
- /// 插入拆箱记录表
- ///
- ///
- ///
- private async Task WriteSplitPackingRec(TransferLibNoteEditInput transferLibNoteEditInput)
- {
- List recLst = new List();
- foreach (var inputDetail in transferLibNoteEditInput.Details)
- {
- SplitPackingRecEditInput packRec = new SplitPackingRecEditInput();
- packRec.OprType = OprTypeEnum.SplitBox;
- packRec.FromPackingCode = inputDetail.FromPackingCode;
- //packRec.FromTopPackingCode = inputDetail.;
- packRec.FromStdPackQty = inputDetail.StdPackQty;
- packRec.FromUom = inputDetail.Uom;
- packRec.FromQty = inputDetail.Qty;
- packRec.ToPackingCode = inputDetail.ToPackingCode;
- //packRec.ToTopPackingCode = inputDetail.;
- packRec.ToStdPackQty = inputDetail.StdPackQty;
- packRec.ToUom = inputDetail.Uom;
- packRec.ToQty = inputDetail.Qty;
- packRec.ItemCode = inputDetail.ItemCode;
- packRec.ItemName = inputDetail.ItemName;
- packRec.ItemDesc1 = inputDetail.ItemDesc1;
- packRec.ItemDesc2 = inputDetail.ItemDesc2;
- packRec.FromLot = inputDetail.FromLot;
- packRec.ToLot = inputDetail.ToLot;
- //packRec.PurchaseInfo_PoNumber = inputDetail.; // 采购订单
- //packRec.PurchaseInfo_AsnNumber = inputDetail.; //供应商发货单
- //packRec.ArrivalNoticNumber = inputDetail.; //到货通知
- //packRec.TaskOrderNumber = inputDetail.; //任务单
- //packRec.ReceiptRecNumber = inputDetail.; //收货记录单
- //packRec.PutOnShelfNumber = inputDetail.; //上架单
- recLst.Add(packRec);
- }
- var ret = await _splitPackingRecAppService.BatchInsertAsync(recLst).ConfigureAwait(false);
- return ret;
- }
-
- ///
- /// 采购收货拆箱,同时更新、插入PurchaseReceipt任务表、申请表
- ///
- ///
- ///
- ///
- [HttpPost("split-packing-purchase-receipt")]
- public async Task SplitPacking_PurchaseReceiptAsync(TransferLibNoteEditInput transferLibNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
- {
- var jobRet = await _purchaseReceiptJobAppService.SaveDetail_SplitPackingAsync(updateJobDetailInput).ConfigureAwait(false);
- var requestRet = await _purchaseReceiptRequestAppService.SaveDetail_SplitPackingAsync(updateJobDetailInput, jobRet.PurchaseReceiptRequestNumber).ConfigureAwait(false);
- bool ret = await WriteSplitPackingRec(transferLibNoteEditInput).ConfigureAwait(false); //采购收货-目检-拆箱时,还没有入库,不涉及库存操作
- return ret;
- }
-
- ///
- /// 质检拆箱,同时更新、插入Inspect任务表(不更新申请表)
- ///
- ///
- ///
- ///
- [HttpPost("split-packing-inspect")]
- public async Task SplitPacking_InspectAsync(TransferLibNoteEditInput transferLibNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
- {
- //SplitPacking_UpdateDetailInput newInput = new SplitPacking_UpdateDetailInput();
- //newInput.Number = updateJobDetailInput.Number;
- //newInput.FromPackingCode = updateJobDetailInput.FromPackingCode;
- //newInput.FromQty = updateJobDetailInput.FromQty;
- //newInput.ToPackingCode = updateJobDetailInput.ToPackingCode;
- //newInput.ToQty = updateJobDetailInput.ToQty;
- //newInput.FromLocationCode = transferLibNoteEditInput.Details[0].FromLocationCode;
- //newInput.ToLocationCode = transferLibNoteEditInput.Details[0].ToLocationCode;
- //var expectOutRet = await _expectOutAppService.SaveDetail_SplitPackingAsync(newInput).ConfigureAwait(false);
- var jobRet = await _inspectJobAppService.SaveDetail_SplitPackingAsync(updateJobDetailInput).ConfigureAwait(false);
- var ret = await SplitPackingAsync(transferLibNoteEditInput).ConfigureAwait(false); //库存操作
- return ret;
- }
-
- ///
- /// 发料拆箱,同时更新、插入Inspect任务表(没有找到申请表//??)
- ///
- ///
- ///
- ///
- [HttpPost("split-packing-issue")]
- public async Task SplitPacking_IssueAsync(TransferLibNoteEditInput transferLibNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
- {
- SplitPacking_UpdateDetailInput newInput = new SplitPacking_UpdateDetailInput();
- newInput.Number = updateJobDetailInput.Number;
- newInput.FromPackingCode = updateJobDetailInput.FromPackingCode;
- newInput.FromQty = updateJobDetailInput.FromQty;
- newInput.ToPackingCode = updateJobDetailInput.ToPackingCode;
- newInput.ToQty = updateJobDetailInput.ToQty;
- newInput.FromLocationCode = transferLibNoteEditInput.Details[0].FromLocationCode;
- newInput.ToLocationCode = transferLibNoteEditInput.Details[0].ToLocationCode;
- var expectOutRet = await _expectOutAppService.SaveDetail_SplitPackingAsync(newInput).ConfigureAwait(false);
- var jobRet = await _issueJobAppService.SaveDetail_SplitPackingAsync(updateJobDetailInput).ConfigureAwait(false);
- var ret = await SplitPackingAsync(transferLibNoteEditInput).ConfigureAwait(false); //库存操作
- return ret;
- }
-
- ///
- /// 拆箱,预计出表存在数据时不允许办理
- ///
- ///
- ///
- ///
- [HttpPost("split-packing-check-expect-out")]
- public async Task SplitPackingCheckExpectOutAsync(TransferLibNoteEditInput transferLibNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInputBase updateJobDetailInputBase)
- {
- var detailObj = transferLibNoteEditInput.Details[0];
- SplitPacking_UpdateDetailInput newInput = new SplitPacking_UpdateDetailInput();
- newInput.Number = updateJobDetailInputBase.Number;
- newInput.FromPackingCode = detailObj.FromPackingCode;
- newInput.FromQty = detailObj.Qty;
- newInput.ToPackingCode = detailObj.ToPackingCode;
- newInput.ToQty = detailObj.Qty;
- newInput.FromLocationCode = detailObj.FromLocationCode;
- newInput.ToLocationCode = detailObj.ToLocationCode;
- var expectOutLst = await _expectOutAppService.GetListByJobNumberAsync(newInput).ConfigureAwait(false);
- if (expectOutLst.Count > 0)
- {
- throw new UserFriendlyException($"预计出表存在数据,不允许办理拆箱:JobNumber={newInput.Number}|PackingCode={newInput.FromPackingCode}|Qty={newInput.FromQty}|LocationCode={newInput.FromLocationCode}");
- }
- var ret = await SplitPackingAsync(transferLibNoteEditInput).ConfigureAwait(false);
- return ret;
-
- }
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferLibNotes/TransferLibNoteMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferLibNotes/TransferLibNoteMapperProfile.cs
index 2a7587d42..85f7c41e2 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferLibNotes/TransferLibNoteMapperProfile.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferLibNotes/TransferLibNoteMapperProfile.cs
@@ -38,34 +38,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.Ignore(x => x.Id);
CreateMap()
- .IgnoreAuditedObjectProperties()
- .ForMember(x => x.ToPackingCode, y => y.MapFrom(d => d.PackingCode))
- .ForMember(x => x.FromPackingCode, y => y.MapFrom(d => d.PackingCode))
- .ForMember(x => x.FromStatus, y => y.MapFrom(d => d.Status))
- .ForMember(x => x.ToStatus, y => y.MapFrom(d => d.Status))
- .Ignore(x => x.FromLocationGroup)
- .Ignore(x => x.FromLocationArea)
- .Ignore(x => x.FromLocationErpCode)
- .Ignore(x => x.FromWarehouseCode)
- .Ignore(x => x.ToLocationArea)
- .Ignore(x => x.ToLocationGroup)
- .Ignore(x => x.ToLocationErpCode)
- .Ignore(x => x.ToWarehouseCode)
- .Ignore(x => x.Reason)
- .Ignore(x => x.SupplierBatch).Ignore(x => x.ArriveDate).Ignore(x => x.ProduceDate).Ignore(x => x.ExpireDate)
- .Ignore(x => x.Remark)
- .Ignore(x => x.ItemName)
- .Ignore(x => x.ItemDesc1)
- .Ignore(x => x.ItemDesc2)
- .Ignore(x => x.FromContainerCode)
- .Ignore(x => x.ToContainerCode)
- .Ignore(x => x.FromLot)
- .Ignore(x => x.ToLot)
- .Ignore(x => x.StdPackQty)
- .Ignore(x => x.Uom)
- .Ignore(x => x.MasterID)
- .Ignore(x => x.TenantId)
- .Ignore(x => x.Number)
- .Ignore(x => x.Id);
+ .IgnoreAuditedObjectProperties();
}
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferLibRequests/TransferLibRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferLibRequests/TransferLibRequestAppService.cs
index fb9339404..5ba4ea5cd 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferLibRequests/TransferLibRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferLibRequests/TransferLibRequestAppService.cs
@@ -120,37 +120,37 @@ public class TransferLibRequestAppService : SfsStoreRequestAppServiceBase
throw new UserFriendlyException($"来源库位与目标库位类型不一致");
}
- detail.ItemCode = balanceDto.ItemCode;
- detail.ArriveDate = balanceDto.ArriveDate;
- detail.ItemDesc1 = balanceDto.ItemDesc1;
- detail.ItemDesc2 = balanceDto.ItemDesc2;
- detail.ItemName = balanceDto.ItemName;
- detail.ProduceDate = balanceDto.ProduceDate;
- detail.Qty = detail.Qty;
- detail.Uom = balanceDto.Uom;
- detail.ExpireDate = balanceDto.ExpireDate;
- detail.StdPackQty = balanceDto.StdPackQty;
- detail.SupplierBatch = balanceDto.SupplierBatch;
-
- detail.FromLocationArea = balanceDto.LocationArea;
- detail.FromContainerCode = balanceDto.ContainerCode;
- detail.FromLocationErpCode = balanceDto.LocationErpCode;
- detail.FromLocationGroup = balanceDto.LocationGroup;
- detail.FromPackingCode = balanceDto.PackingCode;
- detail.FromLocationArea = balanceDto.LocationArea;
- detail.FromStatus = balanceDto.Status;
- detail.FromWarehouseCode = balanceDto.WarehouseCode;
- detail.FromLot = balanceDto.Lot;
-
- detail.ToLocationArea = toLocationDto.AreaCode;
- detail.ToLocationErpCode = toLocationDto.ErpLocationCode;
- detail.ToLocationGroup = toLocationDto.LocationGroupCode;
- detail.ToWarehouseCode = toLocationDto.WarehouseCode;
- detail.ToContainerCode = balanceDto.ContainerCode;
- detail.ToPackingCode = balanceDto.PackingCode;
- detail.ToLocationArea = balanceDto.LocationArea;
- detail.ToStatus = balanceDto.Status;
- detail.ToLot = balanceDto.Lot;
+ //detail.ItemCode = balanceDto.ItemCode;
+ //detail.ArriveDate = balanceDto.ArriveDate;
+ //detail.ItemDesc1 = balanceDto.ItemDesc1;
+ //detail.ItemDesc2 = balanceDto.ItemDesc2;
+ //detail.ItemName = balanceDto.ItemName;
+ //detail.ProduceDate = balanceDto.ProduceDate;
+ //detail.Qty = detail.Qty;
+ //detail.Uom = balanceDto.Uom;
+ //detail.ExpireDate = balanceDto.ExpireDate;
+ //detail.StdPackQty = balanceDto.StdPackQty;
+ //detail.SupplierBatch = balanceDto.SupplierBatch;
+
+ //detail.FromLocationArea = balanceDto.LocationArea;
+ //detail.FromContainerCode = balanceDto.ContainerCode;
+ //detail.FromLocationErpCode = balanceDto.LocationErpCode;
+ //detail.FromLocationGroup = balanceDto.LocationGroup;
+ //detail.FromPackingCode = balanceDto.PackingCode;
+ //detail.FromLocationArea = balanceDto.LocationArea;
+ //detail.FromStatus = balanceDto.Status;
+ //detail.FromWarehouseCode = balanceDto.WarehouseCode;
+ //detail.FromLot = balanceDto.Lot;
+
+ //detail.ToLocationArea = toLocationDto.AreaCode;
+ //detail.ToLocationErpCode = toLocationDto.ErpLocationCode;
+ //detail.ToLocationGroup = toLocationDto.LocationGroupCode;
+ //detail.ToWarehouseCode = toLocationDto.WarehouseCode;
+ //detail.ToContainerCode = balanceDto.ContainerCode;
+ //detail.ToPackingCode = balanceDto.PackingCode;
+ //detail.ToLocationArea = balanceDto.LocationArea;
+ //detail.ToStatus = balanceDto.Status;
+ //detail.ToLot = balanceDto.Lot;
}
await SetEntityPropertiesAsync(transferLibRequest, enumTransSubType)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/TransferLibJobs/TransferLibJob.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/TransferLibJobs/TransferLibJob.cs
index 18f2fa10a..6d6900138 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/TransferLibJobs/TransferLibJob.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/TransferLibJobs/TransferLibJob.cs
@@ -1,86 +1,85 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
-using System.Threading.Tasks;
-using Volo.Abp.Data;
using Win_in.Sfs.Shared.Domain.Entities;
-using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Domain;
///
-/// 计划外出库任务 //??TransferLib实体
+/// 计划外出库任务 //??TransferLib实体
///
[Display(Name = "计划外出库任务")]
public class TransferLibJob : SfsJobAggregateRootBase
{
///
- /// 申请单号
+ /// 申请单号
///
[IgnoreUpdate]
public string RequestNumber { get; set; }
///
- /// 任务单号
+ /// 任务单号
///
[IgnoreUpdate]
public string JobNumber { get; set; }
///
- /// 调拨类型
+ /// 调拨类型
///
[Display(Name = "调拨类型")]
[Required(ErrorMessage = "调拨类型不能为空")]
public string Type { get; set; }
///
- /// 使用中间库
+ /// 使用中间库
///
[Display(Name = "使用中间库")]
public bool UseOnTheWayLocation { get; set; }
///
- /// 确认时间
+ /// 确认时间
///
[Display(Name = "确认时间")]
[IgnoreUpdate]
public DateTime? ConfirmTime { get; set; }
///
- /// 已确认
+ /// 已确认
///
[Display(Name = "已确认")]
public bool Confirmed { get; set; }
///
- /// 任务明细
+ /// 任务明细
///
[IgnoreUpdate]
- public override List Details { get; set; } = new List();
+ public override List Details { get; set; } = new();
+
#region 回调服务相关
+
///
- /// 回调服务名称
+ /// 回调服务名称
///
[Display(Name = "回调服务名称")]
public string CallServerName { get; set; }
///
- /// 回调业务类型
+ /// 回调业务类型
///
[Display(Name = "回调业务类型")]
public string CallBusinessType { get; set; }
///
- /// 调用者传入申请单号
+ /// 调用者传入申请单号
///
[Display(Name = "传入申请单号")]
public string CallRequestNumber { get; set; }
///
- /// 调用者传入任务单号
+ /// 调用者传入任务单号
///
[Display(Name = "传入任务单号")]
public string CallJobNumber { get; set; }
- #endregion
+ #endregion
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/TransferLibJobs/TransferLibJobDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/TransferLibJobs/TransferLibJobDetail.cs
index 146281bc0..dc9e6a252 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/TransferLibJobs/TransferLibJobDetail.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/TransferLibJobs/TransferLibJobDetail.cs
@@ -1,92 +1,466 @@
+using System;
using System.ComponentModel.DataAnnotations;
-using Volo.Abp.Data;
+using System.ComponentModel.DataAnnotations.Schema;
using Win_in.Sfs.Shared.Domain.Shared;
-using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Domain;
+
///
-/// //??TransferLib实体
+/// //??TransferLib实体
///
-public class TransferLibJobDetail : NewRecommendHandledFromTo
+public class TransferLibJobDetail : SfsStoreDetailEntityBase
{
///
- /// 中间库地址
- ///
- public string OnTheWayLocationCode { get; set; }
-
- ///
- /// 原因
+ /// 原因
///
public string Reason { get; set; }
///
- /// 执行任务状态
+ /// 执行任务状态
///
public EnumJobStatus JobStatus { get; set; }
#region 回调服务相关
+
///
- /// 回调服务名称
+ /// 回调服务名称
///
public string CallServerName { get; set; }
///
- /// 回调业务类型
+ /// 回调业务类型
///
public string CallBusinessType { get; set; }
///
- /// 调用者传入申请单号
+ /// 调用者传入申请单号
///
public string CallRequestNumber { get; set; }
///
- /// 调用者传入任务单号
+ /// 调用者传入任务单号
///
public string CallJobNumber { get; set; }
+
+ #endregion
+
+ #region 库存基础信息
+
+ ///
+ /// 物品代码
+ ///
+ public string ItemCode { get; set; }
+
+ ///
+ /// 物品名称
+ ///
+ public string ItemName { get; set; }
+
+ ///
+ /// 物品描述1
+ ///
+ public string ItemDesc1 { get; set; }
+
+ ///
+ /// 物品描述2
+ ///
+ public string ItemDesc2 { get; set; }
+
+ ///
+ /// 标包数量
+ ///
+ [Display(Name = "标包数量")]
+ [Column(TypeName = "decimal(18,6)")]
+ public decimal StdPackQty { get; set; }
+
+ ///
+ /// 库存状态
+ ///
+ public EnumInventoryStatus Status { get; set; }
+
+ ///
+ /// 计量单位
+ ///
+ public string Uom { get; set; }
+
+ #endregion
+
+ #region 请求信息
+
+ ///
+ /// 请求库位
+ ///
+ public string RequestLocationCode { get; set; }
+
+ ///
+ /// 到库区
+ ///
+ public string RequestLocationArea { get; set; }
+
+ ///
+ /// 到库位组
+ ///
+ public string RequestLocationGroup { get; set; }
+
+ ///
+ /// 到ERP库位
+ ///
+ public string RequestLocationErpCode { get; set; }
+
+ ///
+ /// 到仓库
+ ///
+ public string RequestWarehouseCode { get; set; }
+
+ ///
+ /// 在途库库位
+ ///
+ public string OnTheWayLocationCode { get; set; }
+
+ ///
+ /// 生产线
+ ///
+ public string ProdLine { get; set; }
+
+ ///
+ /// 位置码
+ ///
+ public string PositionCode { get; set; }
+
+ ///
+ /// 推荐的类型
+ ///
+ public EnumRecommendType RecommendType { get; set; }
+
+ ///
+ /// 需求数量
+ ///
+ public decimal RequestQty { get; set; }
+
+ #endregion
+
+ #region 推荐来源
+
+ ///
+ /// 推荐来源托标签
+ ///
+ public string RecommendFromContainerCode { get; set; }
+
+ ///
+ /// 推荐来源箱标签
+ ///
+ public string RecommendFromPackingCode { get; set; }
+
+ ///
+ /// 推荐来源批次供应商批次
+ ///
+ public string RecommendFromSupplierBatch { get; set; }
+
+ ///
+ /// 推荐来源批次到货时间
+ ///
+ public DateTime RecommendFromArriveDate { get; set; }
+
+ ///
+ /// 推荐来源批次生产时间
+ ///
+ public DateTime RecommendFromProduceDate { get; set; }
+
+ ///
+ /// 推荐来源批次过期时间
+ ///
+ public DateTime RecommendFromExpireDate { get; set; }
+
+ ///
+ /// 推荐来源批次排序
+ ///
+ public string RecommendFromLot { get; set; }
+
+ ///
+ /// 推荐来源库位
+ ///
+ public string RecommendFromLocationCode { get; set; }
+
+ ///
+ /// 推荐来源库区
+ ///
+ public string RecommendFromLocationArea { get; set; }
+
+ ///
+ /// 推荐来源库位组
+ ///
+ public string RecommendFromLocationGroup { get; set; }
+
+ ///
+ /// 推荐来源ERP库位
+ ///
+ public string RecommendFromLocationErpCode { get; set; }
+
+ ///
+ /// 推荐来源仓库
+ ///
+ public string RecommendFromWarehouseCode { get; set; }
+
+ ///
+ /// 推荐来源数量
+ ///
+ public decimal RecommendFromQty { get; set; }
+
+ #endregion
+
+ #region 推荐目标
+
+ ///
+ /// 推荐目标托标签
+ ///
+ public string RecommendToContainerCode { get; set; }
+
+ ///
+ /// 推荐目标箱标签
+ ///
+ public string RecommendToPackingCode { get; set; }
+
+ ///
+ /// 推荐目标批次供应商批次
+ ///
+ public string RecommendToSupplierBatch { get; set; }
+
+ ///
+ /// 推荐目标批次到货时间
+ ///
+ public DateTime RecommendToArriveDate { get; set; }
+
+ ///
+ /// 推荐目标批次生产时间
+ ///
+ public DateTime RecommendToProduceDate { get; set; }
+
+ ///
+ /// 推荐目标批次过期时间
+ ///
+ public DateTime RecommendToExpireDate { get; set; }
+
+ ///
+ /// 推荐目标批次排序
+ ///
+ public string RecommendToLot { get; set; }
+
+ ///
+ /// 推荐目标库位
+ ///
+ public string RecommendToLocationCode { get; set; }
+
+ ///
+ /// 推荐目标库区
+ ///
+ public string RecommendToLocationArea { get; set; }
+
+ ///
+ /// 推荐目标库位组
+ ///
+ public string RecommendToLocationGroup { get; set; }
+
+ ///
+ /// 推荐目标ERP库位
+ ///
+ public string RecommendToLocationErpCode { get; set; }
+
+ ///
+ /// 推荐目标仓库
+ ///
+ public string RecommendToWarehouseCode { get; set; }
+
+ ///
+ /// 推荐目标数量
+ ///
+ public decimal RecommendToQty { get; set; }
+
+ #endregion
+
+ #region 实际来源
+
+ ///
+ /// 实际目标托标签
+ ///
+ public string HandledFromContainerCode { get; set; }
+
+ ///
+ /// 实际箱标签
+ ///
+ public string HandledFromPackingCode { get; set; }
+
+ ///
+ /// 实际批次供应商批次
+ ///
+ public string HandledFromSupplierBatch { get; set; }
+
+ ///
+ /// 实际批次到货时间
+ ///
+ public DateTime HandledFromArriveDate { get; set; }
+
+ ///
+ /// 实际批次生产时间
+ ///
+ public DateTime HandledFromProduceDate { get; set; }
+
+ ///
+ /// 实际批次过期时间
+ ///
+ public DateTime HandledFromExpireDate { get; set; }
+
+ ///
+ /// 实际批次排序
+ ///
+ public string HandledFromLot { get; set; }
+
+ ///
+ /// 实际库位
+ ///
+ public string HandledFromLocationCode { get; set; }
+
+ ///
+ /// 实际库区
+ ///
+ public string HandledFromLocationArea { get; set; }
+
+ ///
+ /// 实际库位组
+ ///
+ public string HandledFromLocationGroup { get; set; }
+
+ ///
+ /// 实际ERP库位
+ ///
+ public string HandledFromLocationErpCode { get; set; }
+
+ ///
+ /// 实际仓库
+ ///
+ public string HandledFromWarehouseCode { get; set; }
+
+ ///
+ /// 实际数量
+ ///
+ public decimal HandledFromQty { get; set; }
+
+ #endregion
+
+ #region 实际目标
+
+ ///
+ /// 实际目标托标签
+ ///
+ public string HandledToContainerCode { get; set; }
+
+ ///
+ /// 实际箱标签
+ ///
+ public string HandledToPackingCode { get; set; }
+
+ ///
+ /// 实际批次供应商批次
+ ///
+ public string HandledToSupplierBatch { get; set; }
+
+ ///
+ /// 实际批次到货时间
+ ///
+ public DateTime HandledToArriveDate { get; set; }
+
+ ///
+ /// 实际批次生产时间
+ ///
+ public DateTime HandledToProduceDate { get; set; }
+
+ ///
+ /// 实际批次过期时间
+ ///
+ public DateTime HandledToExpireDate { get; set; }
+
+ ///
+ /// 实际批次排序
+ ///
+ public string HandledToLot { get; set; }
+
+ ///
+ /// 实际库位
+ ///
+ public string HandledToLocationCode { get; set; }
+
+ ///
+ /// 实际库区
+ ///
+ public string HandledToLocationArea { get; set; }
+
+ ///
+ /// 实际库位组
+ ///
+ public string HandledToLocationGroup { get; set; }
+
+ ///
+ /// 实际ERP库位
+ ///
+ public string HandledToLocationErpCode { get; set; }
+
+ ///
+ /// 实际仓库
+ ///
+ public string HandledToWarehouseCode { get; set; }
+
+ ///
+ /// 实际数量
+ ///
+ public decimal HandledToQty { get; set; }
+
#endregion
- #region 校验
+ #region 开关
+
//箱码
- public bool CheckPackingCodeFrom { get; set; }
+ public bool IsPackingCodeFrom { get; set; }
+
+ public bool IsPackingCodeTo { get; set; }
- public bool CheckPackingCodeTo { get; set; }
//批次
- public bool CheckLotFrom { get; set; }
+ public bool IsLotFrom { get; set; }
+
+ public bool IsLotTo { get; set; }
- public bool CheckLotTo { get; set; }
//零件号
- public bool CheckItemCodeFrom { get; set; }
+ public bool IsItemCodeFrom { get; set; }
+
+ public bool IsItemCodeTo { get; set; }
- public bool CheckItemCodeTo { get; set; }
//状态
- public bool CheckStatusFrom { get; set; }
+ public bool IsStatusFrom { get; set; }
+
+ public bool IsStatusTo { get; set; }
- public bool CheckStatusTo { get; set; }
//库位
- public bool CheckLocationCodeFrom { get; set; }
+ public bool IsLocationCodeFrom { get; set; }
- public bool CheckLocationCodeTo { get; set; }
+ public bool IsLocationCodeTo { get; set; }
//库位组
- public bool CheckLocationGroupFrom { get; set; }
+ public bool IsLocationGroupFrom { get; set; }
- public bool CheckLocationGroupTo { get; set; }
+ public bool IsLocationGroupTo { get; set; }
//区域
- public bool CheckLocationAreaFrom { get; set; }
+ public bool IsLocationAreaFrom { get; set; }
- public bool CheckLocationAreaTo { get; set; }
+ public bool IsLocationAreaTo { get; set; }
//储位
- public bool CheckLocationErpCodeFrom { get; set; }
+ public bool IsLocationErpCodeFrom { get; set; }
+
+ public bool IsLocationErpCodeTo { get; set; }
- public bool CheckLocationErpCodeTo { get; set; }
//数量
- public bool CheckQtyFrom { get; set; }
+ public bool IsQtyFrom { get; set; }
- public bool CheckQtyTo { get; set; }
+ public bool IsQtyTo { get; set; }
#endregion
-
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/TransferLibNotes/TransferLibNoteDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/TransferLibNotes/TransferLibNoteDetail.cs
index 9d4fdc86f..ac3e17ee0 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/TransferLibNotes/TransferLibNoteDetail.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/TransferLibNotes/TransferLibNoteDetail.cs
@@ -1,3 +1,8 @@
+using System;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.ComponentModel.DataAnnotations;
+using Volo.Abp.Domain.Entities.Auditing;
+using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Domain;
@@ -5,14 +10,8 @@ namespace Win_in.Sfs.Wms.Store.Domain;
///
/// 库存转移记录-明细表 //??TransferLib实体
///
-public class TransferLibNoteDetail : NewRecommendHandledFromTo
+public class TransferLibNoteDetail : SfsStoreDetailEntityBase
{
-
- ///
- /// 中间库地址
- ///
- public string OnTheWayLocationCode { get; set; }
-
///
/// 原因
///
@@ -22,6 +21,7 @@ public class TransferLibNoteDetail : NewRecommendHandledFromTo
/// 执行任务状态
///
public EnumJobStatus JobStatus { get; set; }
+
#region 回调服务相关
///
/// 回调服务名称
@@ -44,47 +44,423 @@ public class TransferLibNoteDetail : NewRecommendHandledFromTo
public string CallJobNumber { get; set; }
#endregion
- #region 校验
+ #region 库存基础信息
+
+ ///
+ /// 物品代码
+ ///
+ public string ItemCode { get; set; }
+
+ ///
+ /// 物品名称
+ ///
+ public string ItemName { get; set; }
+
+ ///
+ /// 物品描述1
+ ///
+ public string ItemDesc1 { get; set; }
+
+ ///
+ /// 物品描述2
+ ///
+ public string ItemDesc2 { get; set; }
+
+ ///
+ /// 标包数量
+ ///
+ [Display(Name = "标包数量")]
+ [Column(TypeName = "decimal(18,6)")]
+ public decimal StdPackQty { get; set; }
+
+ ///
+ /// 库存状态
+ ///
+ public EnumInventoryStatus Status { get; set; }
+
+ ///
+ /// 计量单位
+ ///
+ public string Uom { get; set; }
+
+ #endregion
+
+ #region 请求信息
+
+ ///
+ /// 请求库位
+ ///
+ public string RequestLocationCode { get; set; }
+
+ ///
+ /// 到库区
+ ///
+ public string RequestLocationArea { get; set; }
+
+ ///
+ /// 到库位组
+ ///
+ public string RequestLocationGroup { get; set; }
+
+ ///
+ /// 到ERP库位
+ ///
+ public string RequestLocationErpCode { get; set; }
+
+ ///
+ /// 到仓库
+ ///
+ public string RequestWarehouseCode { get; set; }
+
+ ///
+ /// 在途库库位
+ ///
+ public string OnTheWayLocationCode { get; set; }
+
+ ///
+ /// 生产线
+ ///
+ public string ProdLine { get; set; }
+
+ ///
+ /// 位置码
+ ///
+ public string PositionCode { get; set; }
+
+ ///
+ /// 推荐的类型
+ ///
+ public EnumRecommendType RecommendType { get; set; }
+
+ ///
+ /// 需求数量
+ ///
+ public decimal RequestQty { get; set; }
+
+ #endregion
+
+ #region 推荐来源
+
+ ///
+ /// 推荐来源托标签
+ ///
+ public string RecommendFromContainerCode { get; set; }
+
+ ///
+ /// 推荐来源箱标签
+ ///
+ public string RecommendFromPackingCode { get; set; }
+
+ ///
+ /// 推荐来源批次供应商批次
+ ///
+ public string RecommendFromSupplierBatch { get; set; }
+
+ ///
+ /// 推荐来源批次到货时间
+ ///
+ public DateTime RecommendFromArriveDate { get; set; }
+
+ ///
+ /// 推荐来源批次生产时间
+ ///
+ public DateTime RecommendFromProduceDate { get; set; }
+
+ ///
+ /// 推荐来源批次过期时间
+ ///
+ public DateTime RecommendFromExpireDate { get; set; }
+
+ ///
+ /// 推荐来源批次排序
+ ///
+ public string RecommendFromLot { get; set; }
+
+ ///
+ /// 推荐来源库位
+ ///
+ public string RecommendFromLocationCode { get; set; }
+
+ ///
+ /// 推荐来源库区
+ ///
+ public string RecommendFromLocationArea { get; set; }
+
+ ///
+ /// 推荐来源库位组
+ ///
+ public string RecommendFromLocationGroup { get; set; }
+
+ ///
+ /// 推荐来源ERP库位
+ ///
+ public string RecommendFromLocationErpCode { get; set; }
+
+ ///
+ /// 推荐来源仓库
+ ///
+ public string RecommendFromWarehouseCode { get; set; }
+
+ ///
+ /// 推荐来源数量
+ ///
+ public decimal RecommendFromQty { get; set; }
+
+ #endregion
+
+ #region 推荐目标
+
+ ///
+ /// 推荐目标托标签
+ ///
+ public string RecommendToContainerCode { get; set; }
+
+ ///
+ /// 推荐目标箱标签
+ ///
+ public string RecommendToPackingCode { get; set; }
+
+ ///
+ /// 推荐目标批次供应商批次
+ ///
+ public string RecommendToSupplierBatch { get; set; }
+
+ ///
+ /// 推荐目标批次到货时间
+ ///
+ public DateTime RecommendToArriveDate { get; set; }
+
+ ///
+ /// 推荐目标批次生产时间
+ ///
+ public DateTime RecommendToProduceDate { get; set; }
+
+ ///
+ /// 推荐目标批次过期时间
+ ///
+ public DateTime RecommendToExpireDate { get; set; }
+
+ ///
+ /// 推荐目标批次排序
+ ///
+ public string RecommendToLot { get; set; }
+
+ ///
+ /// 推荐目标库位
+ ///
+ public string RecommendToLocationCode { get; set; }
+
+ ///
+ /// 推荐目标库区
+ ///
+ public string RecommendToLocationArea { get; set; }
+
+ ///
+ /// 推荐目标库位组
+ ///
+ public string RecommendToLocationGroup { get; set; }
+
+ ///
+ /// 推荐目标ERP库位
+ ///
+ public string RecommendToLocationErpCode { get; set; }
+
+ ///
+ /// 推荐目标仓库
+ ///
+ public string RecommendToWarehouseCode { get; set; }
+
+ ///
+ /// 推荐目标数量
+ ///
+ public decimal RecommendToQty { get; set; }
+
+ #endregion
+
+ #region 实际来源
+
+ ///
+ /// 实际目标托标签
+ ///
+ public string HandledFromContainerCode { get; set; }
+
+ ///
+ /// 实际箱标签
+ ///
+ public string HandledFromPackingCode { get; set; }
+
+ ///
+ /// 实际批次供应商批次
+ ///
+ public string HandledFromSupplierBatch { get; set; }
+
+ ///
+ /// 实际批次到货时间
+ ///
+ public DateTime HandledFromArriveDate { get; set; }
+
+ ///
+ /// 实际批次生产时间
+ ///
+ public DateTime HandledFromProduceDate { get; set; }
+
+ ///
+ /// 实际批次过期时间
+ ///
+ public DateTime HandledFromExpireDate { get; set; }
+
+ ///
+ /// 实际批次排序
+ ///
+ public string HandledFromLot { get; set; }
+
+ ///
+ /// 实际库位
+ ///
+ public string HandledFromLocationCode { get; set; }
+
+ ///
+ /// 实际库区
+ ///
+ public string HandledFromLocationArea { get; set; }
+
+ ///
+ /// 实际库位组
+ ///
+ public string HandledFromLocationGroup { get; set; }
+
+ ///
+ /// 实际ERP库位
+ ///
+ public string HandledFromLocationErpCode { get; set; }
+
+ ///
+ /// 实际仓库
+ ///
+ public string HandledFromWarehouseCode { get; set; }
+
+ ///
+ /// 实际数量
+ ///
+ public decimal HandledFromQty { get; set; }
+
+ #endregion
+
+ #region 实际目标
+
+ ///
+ /// 实际目标托标签
+ ///
+ public string HandledToContainerCode { get; set; }
+
+ ///
+ /// 实际箱标签
+ ///
+ public string HandledToPackingCode { get; set; }
+
+ ///
+ /// 实际批次供应商批次
+ ///
+ public string HandledToSupplierBatch { get; set; }
+
+ ///
+ /// 实际批次到货时间
+ ///
+ public DateTime HandledToArriveDate { get; set; }
+
+ ///
+ /// 实际批次生产时间
+ ///
+ public DateTime HandledToProduceDate { get; set; }
+
+ ///
+ /// 实际批次过期时间
+ ///
+ public DateTime HandledToExpireDate { get; set; }
+
+ ///
+ /// 实际批次排序
+ ///
+ public string HandledToLot { get; set; }
+
+ ///
+ /// 实际库位
+ ///
+ public string HandledToLocationCode { get; set; }
+
+ ///
+ /// 实际库区
+ ///
+ public string HandledToLocationArea { get; set; }
+
+ ///
+ /// 实际库位组
+ ///
+ public string HandledToLocationGroup { get; set; }
+
+ ///
+ /// 实际ERP库位
+ ///
+ public string HandledToLocationErpCode { get; set; }
+
+ ///
+ /// 实际仓库
+ ///
+ public string HandledToWarehouseCode { get; set; }
+
+ ///
+ /// 实际数量
+ ///
+ public decimal HandledToQty { get; set; }
+
+ #endregion
+
+ #region 开关
+
//箱码
- public bool CheckPackingCodeFrom { get; set; }
+ public bool IsPackingCodeFrom { get; set; }
- public bool CheckPackingCodeTo { get; set; }
+ public bool IsPackingCodeTo { get; set; }
//批次
- public bool CheckLotFrom { get; set; }
+ public bool IsLotFrom { get; set; }
- public bool CheckLotTo { get; set; }
+ public bool IsLotTo { get; set; }
//零件号
- public bool CheckItemCodeFrom { get; set; }
+ public bool IsItemCodeFrom { get; set; }
- public bool CheckItemCodeTo { get; set; }
+ public bool IsItemCodeTo { get; set; }
//状态
- public bool CheckStatusFrom { get; set; }
+ public bool IsStatusFrom { get; set; }
- public bool CheckStatusTo { get; set; }
+ public bool IsStatusTo { get; set; }
//库位
- public bool CheckLocationCodeFrom { get; set; }
+ public bool IsLocationCodeFrom { get; set; }
- public bool CheckLocationCodeTo { get; set; }
+ public bool IsLocationCodeTo { get; set; }
//库位组
- public bool CheckLocationGroupFrom { get; set; }
+ public bool IsLocationGroupFrom { get; set; }
- public bool CheckLocationGroupTo { get; set; }
+ public bool IsLocationGroupTo { get; set; }
//区域
- public bool CheckLocationAreaFrom { get; set; }
+ public bool IsLocationAreaFrom { get; set; }
- public bool CheckLocationAreaTo { get; set; }
+ public bool IsLocationAreaTo { get; set; }
//储位
- public bool CheckLocationErpCodeFrom { get; set; }
+ public bool IsLocationErpCodeFrom { get; set; }
- public bool CheckLocationErpCodeTo { get; set; }
+ public bool IsLocationErpCodeTo { get; set; }
//数量
- public bool CheckQtyFrom { get; set; }
+ public bool IsQtyFrom { get; set; }
- public bool CheckQtyTo { get; set; }
+ public bool IsQtyTo { get; set; }
#endregion
+ public void SetId(Guid id)
+ {
+ this.Id = id;
+ }
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/TransferLibNotes/TransferLibNoteDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/TransferLibNotes/TransferLibNoteDbContextModelCreatingExtensions.cs
index a6be433bf..deddbc28c 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/TransferLibNotes/TransferLibNoteDbContextModelCreatingExtensions.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/TransferLibNotes/TransferLibNoteDbContextModelCreatingExtensions.cs
@@ -46,7 +46,7 @@ public static class TransferLibNoteDbContextModelCreatingExtensions
//Relations
//Indexes
- b.HasIndex(q => new { q.Number, q.HandledFromPackingCode, q.HandledFromLocationCode, q.HandledToLocationCode, q.Status, q.Status }).IsUnique();
+ b.HasIndex(q => new { q.Number, q.HandledFromPackingCode, q.HandledFromLocationCode, q.HandledToLocationCode, q.Status }).IsUnique();
});
}
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/TransferLibRequests/TransferLibRequestDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/TransferLibRequests/TransferLibRequestDbContextModelCreatingExtensions.cs
index b5ce52256..20b2a3de3 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/TransferLibRequests/TransferLibRequestDbContextModelCreatingExtensions.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/TransferLibRequests/TransferLibRequestDbContextModelCreatingExtensions.cs
@@ -40,8 +40,8 @@ public static class TransferLibRequestDbContextModelCreatingExtensions
b.ConfigureSfsStoreDetailBase();
//Properties
- b.Property(q => q.FromStatus).HasMaxLength(SfsPropertyConst.NameLength).HasConversion();
- b.Property(q => q.ToStatus).HasMaxLength(SfsPropertyConst.NameLength).HasConversion();
+ //b.Property(q => q.FromStatus).HasMaxLength(SfsPropertyConst.NameLength).HasConversion();
+ //b.Property(q => q.ToStatus).HasMaxLength(SfsPropertyConst.NameLength).HasConversion();
//Relations
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/TransferLibJobEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/TransferLibJobEventHandler.cs
index f2f1248cf..793bffbd6 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/TransferLibJobEventHandler.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/TransferLibJobEventHandler.cs
@@ -17,7 +17,7 @@ public class TransferLibJobEventHandler :
public TransferLibJobEventHandler(
ITransferLibNoteAppService noteApp
- )
+ )
{
_noteApp = noteApp;
}
@@ -42,7 +42,6 @@ public class TransferLibJobEventHandler :
var note = BuildTransferLibNoteCreateInput(entity);
await _noteApp.CreateAsync(note).ConfigureAwait(false);
-
}
[UnitOfWork]
@@ -51,11 +50,10 @@ public class TransferLibJobEventHandler :
var entity = eventData.Entity;
var note = BuildTransferLibNoteCreateInput(entity);
await _noteApp.CreateAsync(note).ConfigureAwait(false);
-
}
///
- /// 创建补料记录实体
+ /// 创建补料记录实体
///
///
///
@@ -63,22 +61,7 @@ public class TransferLibJobEventHandler :
private TransferLibNoteEditInput BuildTransferLibNoteCreateInput(TransferLibJob entity)
{
var createInput = ObjectMapper.Map(entity);
- createInput.Details.RemoveAll(p => p.Qty == 0);
-
- /*
- createInput.Details = new List();
-
- foreach (var inputDetail in entity.Details)
- {
- var detail = ObjectMapper.Map(inputDetail);
-
- detail.ExtraProperties = inputDetail.ExtraProperties;
-
- createInput.Details.Add(detail);
- }
- */
return createInput;
}
-
}