diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/TransferLibRequests/DTOs/TransferLibRequestDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/TransferLibRequests/DTOs/TransferLibRequestDetailDTO.cs
index 16aac93aa..18fc0fea2 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/TransferLibRequests/DTOs/TransferLibRequestDetailDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/TransferLibRequests/DTOs/TransferLibRequestDetailDTO.cs
@@ -1,4 +1,7 @@
+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;
@@ -7,7 +10,7 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
///
/// 库存转移记录-明细表
///
-public class TransferLibRequestDetailDTO : NewRecommendFromTo
+public class TransferLibRequestDetailDTO : SfsDetailDTOBase
{
///
@@ -47,46 +50,423 @@ public class TransferLibRequestDetailDTO : NewRecommendFromTo
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.Contracts/Requests/TransferLibRequests/Inputs/TransferLibRequestDetailInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/TransferLibRequests/Inputs/TransferLibRequestDetailInput.cs
index 4c02b71d9..ddbf2cc21 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/TransferLibRequests/Inputs/TransferLibRequestDetailInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/TransferLibRequests/Inputs/TransferLibRequestDetailInput.cs
@@ -1,4 +1,7 @@
+using System;
using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Domain;
@@ -8,7 +11,7 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
///
/// 库存转移记录-明细表
///
-public class TransferLibRequestDetailInput : NewRecommendFromTo
+public class TransferLibRequestDetailInput : SfsDetailInputBase
{
///
/// 原因
@@ -48,47 +51,285 @@ public class TransferLibRequestDetailInput : NewRecommendFromTo
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 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/Jobs/IssueJobs/InjectionJobs/InjectionJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionJobs/InjectionJobAppService.cs
index 0b407c39c..677d30d58 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionJobs/InjectionJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionJobs/InjectionJobAppService.cs
@@ -41,12 +41,7 @@ public class InjectionJobAppService
_transferLibJobAppService = transferLibJobAppService;
}
- ///
- /// 批量创建
- ///
- ///
- ///
- [HttpPost("create-many")]
+ [HttpPost("add-many")]
public override async Task> CreateManyAsync(List inputs)
{
foreach (var input in inputs)
@@ -57,11 +52,6 @@ public class InjectionJobAppService
return await base.CreateManyAsync(inputs).ConfigureAwait(false);
}
- ///
- /// 创建
- ///
- ///
- ///
[HttpPost("")]
public override async Task CreateAsync(InjectionJobEditInput input)
{
@@ -82,8 +72,10 @@ public class InjectionJobAppService
var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode)
.ConfigureAwait(false);
- if (loctionDto.RowCode == 1)
+ if (loctionDto.RowCode != 1)
{
+ input.JobStatus = EnumJobStatus.Wait;
+
jobDetailInputdetail.TransferLibFromArriveDate = jobDetailInputdetail.RecommendFromArriveDate;
jobDetailInputdetail.TransferLibFromContainerCode = jobDetailInputdetail.RecommendFromContainerCode;
jobDetailInputdetail.TransferLibFromExpireDate = jobDetailInputdetail.RecommendFromExpireDate;
@@ -112,10 +104,6 @@ public class InjectionJobAppService
jobDetailInputdetail.TransferLibToSupplierBatch = jobDetailInputdetail.RecommendToSupplierBatch;
jobDetailInputdetail.TransferLibToWarehouseCode = jobDetailInputdetail.RecommendToWarehouseCode;
}
- else
- {
- input.JobStatus = EnumJobStatus.Wait;
- }
}
[HttpPost("cancel-by-request/{injectionNumber}")]
@@ -149,8 +137,8 @@ public class InjectionJobAppService
return ObjectMapper.Map, List>(entitys);
}
- [HttpPost("do-call-back")]
- public async Task> DoTransferLibCallbackAsync(string businessType, string requestNum, string jobNum)
+ [HttpPost("Do-Call-Back")]
+ public async Task DoTransferLibCallbackAsync(string businessType, string requestNum, string jobNum)
{
var job = await _repository.FindAsync(p => p.Number == jobNum).ConfigureAwait(false);
@@ -193,7 +181,8 @@ public class InjectionJobAppService
await _repository.UpdateAsync(job).ConfigureAwait(false);
- return new Tuple(true,"s");
+ //return new Tuple(true,"s");
+ return new TransferLibJobDTO();
}
[HttpPost("test")]
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs
index f967ab3f7..788e3b817 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs
@@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
+using Volo.Abp.Uow;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
using Win_in.Sfs.Wms.Store.Domain.Shared;
@@ -33,6 +34,8 @@ public class TransferLibJobAppService
///
///
///
+ [HttpPost("handle/{id}")]
+ [UnitOfWork]
public override async Task CompleteAsync(Guid id, TransferLibJobDTO dto)
{
//var str = "Win_in.Sfs.Wms.Store.Application.InjectionJobAppService";
@@ -72,10 +75,10 @@ public class TransferLibJobAppService
{
throw new UserFriendlyException($"{methodPrefix}类型为{dto.CallServerName}的对象没有实现ITransferLibCallback接口");
}
- Tuple callbackRet = await transferLibCallback.DoTransferLibCallbackAsync(dto.CallServerName, dto.CallRequestNumber, dto.CallJobNumber);
- if (callbackRet != null && callbackRet.Item1 == false)
+ TransferLibJobDTO callbackRet = await transferLibCallback.DoTransferLibCallbackAsync(dto.CallServerName, dto.CallRequestNumber, dto.CallJobNumber).ConfigureAwait(false);
+ if (callbackRet == null || callbackRet.Number == null)
{
- throw new UserFriendlyException($"{methodPrefix}执行回调服务{dto.CallServerName}出错,返回错误信息:{callbackRet.Item2}");
+ throw new UserFriendlyException($"{methodPrefix}执行回调服务{dto.CallServerName}出错,返回实体为空!");
}
//var assembly = Assembly.GetExecutingAssembly();
//var ty = assembly.GetType(dto.CallServerName);
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferLibNotes/ITransferLibCallback.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferLibNotes/ITransferLibCallback.cs
index b079a9ad9..b0da0ac6d 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferLibNotes/ITransferLibCallback.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferLibNotes/ITransferLibCallback.cs
@@ -4,11 +4,12 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Win_in.Sfs.Wms.Inventory.Application.Contracts;
+using Win_in.Sfs.Wms.Store.Application.Contracts;
namespace Win_in.Sfs.Wms.Store.Notes;
public interface ITransferLibCallback
{
- Task> DoTransferLibCallbackAsync(string businessType, string requestNum, string jobNum);
+ Task DoTransferLibCallbackAsync(string businessType, string requestNum, string jobNum);
}
public class TestTransferLibCallback : ITransferLibCallback
@@ -17,10 +18,9 @@ public class TestTransferLibCallback : ITransferLibCallback
{
}
- public async Task> DoTransferLibCallbackAsync(string businessType, string requestNum,
+ public async Task DoTransferLibCallbackAsync(string businessType, string requestNum,
string jobNum)
{
- return Tuple.Create(true, "调用新移库回调方法成功!");
-
+ return new TransferLibJobDTO();
}
}
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 5ba4ea5cd..4ca739917 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
@@ -319,14 +319,14 @@ public class TransferLibRequestAppService : SfsStoreRequestAppServiceBase
var entity = ObjectMapper.Map(input);
var subType = Enum.Parse(input.Type);
- //var tranType = await TransactionTypeAclService.GetByTransTypeAsync(EnumTransType.TransferLib, subType)
- // .ConfigureAwait(false);
- //entity.Type = ((int)subType).ToString();
- //entity.AutoCompleteJob = tranType.AutoCompleteJob;
- //entity.AutoSubmit = tranType.AutoSubmitRequest;
- //entity.AutoAgree = tranType.AutoAgreeRequest;
- //entity.AutoHandle = tranType.AutoHandleRequest;
- //entity.DirectCreateNote = tranType.DirectCreateNote;
+ var tranType = await TransactionTypeAclService.GetByTransTypeAsync(EnumTransType.TransferLib, subType)
+ .ConfigureAwait(false);
+ entity.Type = ((int)subType).ToString();
+ entity.AutoCompleteJob = tranType.AutoCompleteJob;
+ entity.AutoSubmit = tranType.AutoSubmitRequest;
+ entity.AutoAgree = tranType.AutoAgreeRequest;
+ entity.AutoHandle = tranType.AutoHandleRequest;
+ entity.DirectCreateNote = tranType.DirectCreateNote;
await _transferLibRequestManager.CreateAsync(entity).ConfigureAwait(false);
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Bases/NewRecommendHandled/NewRecommendFromTo.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Bases/NewRecommendHandled/NewRecommendFromTo.cs
deleted file mode 100644
index 62a8849ea..000000000
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Bases/NewRecommendHandled/NewRecommendFromTo.cs
+++ /dev/null
@@ -1,197 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Win_in.Sfs.Shared.Domain;
-using Win_in.Sfs.Shared.Domain.Shared;
-
-namespace Win_in.Sfs.Wms.Store.Domain;
-public class NewRecommendFromTo : SfsStoreDetailEntityBase//SfsDetailEntityBase
-{
- #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 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
-
- public void SetId(Guid id)
- {
- this.Id = id;
- }
-}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Bases/NewRecommendHandled/NewRecommendHandledFromTo.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Bases/NewRecommendHandled/NewRecommendHandledFromTo.cs
deleted file mode 100644
index 8bf765d58..000000000
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Bases/NewRecommendHandled/NewRecommendHandledFromTo.cs
+++ /dev/null
@@ -1,148 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Win_in.Sfs.Wms.Store.Domain;
-public class NewRecommendHandledFromTo : NewRecommendFromTo
-{
- #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
-
-}
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 dc9e6a252..8c2ade890 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,6 +1,7 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
+using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Domain;
@@ -8,7 +9,7 @@ namespace Win_in.Sfs.Wms.Store.Domain;
///
/// //??TransferLib实体
///
-public class TransferLibJobDetail : SfsStoreDetailEntityBase
+public class TransferLibJobDetail : SfsDetailEntityBase
{
///
/// 原因
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 ac3e17ee0..06ac4c797 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
@@ -10,7 +10,7 @@ namespace Win_in.Sfs.Wms.Store.Domain;
///
/// 库存转移记录-明细表 //??TransferLib实体
///
-public class TransferLibNoteDetail : SfsStoreDetailEntityBase
+public class TransferLibNoteDetail : SfsDetailEntityBase//SfsStoreDetailEntityBase
{
///
/// 原因
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/TransferLibRequests/TransferLibRequestDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/TransferLibRequests/TransferLibRequestDetail.cs
index 2f43a52b6..d413e6f47 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/TransferLibRequests/TransferLibRequestDetail.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/TransferLibRequests/TransferLibRequestDetail.cs
@@ -1,4 +1,8 @@
+using System;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json;
+using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Domain;
@@ -6,7 +10,7 @@ namespace Win_in.Sfs.Wms.Store.Domain;
///
/// //??TransferLib实体
///
-public class TransferLibRequestDetail : NewRecommendFromTo
+public class TransferLibRequestDetail : SfsDetailEntityBase //SfsStoreDetailEntityBase
{
///
/// 原因代码
@@ -44,46 +48,285 @@ public class TransferLibRequestDetail : NewRecommendFromTo
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 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.EntityFrameworkCore/Jobs/TransferLibJobs/TransferLibJobDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/TransferLibJobs/TransferLibJobDbContextModelCreatingExtensions.cs
index 2597e8524..623e8f2ca 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/TransferLibJobs/TransferLibJobDbContextModelCreatingExtensions.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/TransferLibJobs/TransferLibJobDbContextModelCreatingExtensions.cs
@@ -41,6 +41,68 @@ public static class TransferLibJobDbContextModelCreatingExtensions
//Configure Job base properties
//b.ConfigureJobRecommendFromDetail();
//Properties
+ b.Property(q => q.Reason).HasMaxLength(SfsPropertyConst.CodeLength);
+ //b.Property(q => q.Status).HasMaxLength(SfsPropertyConst.NameLength).HasConversion();
+
+ b.Property(q => q.ItemCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.ItemName).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.ItemDesc1).HasMaxLength(SfsPropertyConst.DescLength);
+ b.Property(q => q.ItemDesc2).HasMaxLength(SfsPropertyConst.DescLength);
+
+ b.Property(q => q.CallServerName).HasMaxLength(SfsPropertyConst.TitleLength);
+ b.Property(q => q.CallBusinessType).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.CallRequestNumber).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.CallJobNumber).HasMaxLength(SfsPropertyConst.NameLength);
+
+ b.Property(q => q.Uom).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RequestLocationCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RequestLocationArea).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RequestLocationGroup).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RequestLocationErpCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RequestWarehouseCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.OnTheWayLocationCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.ProdLine).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.PositionCode).HasMaxLength(SfsPropertyConst.NameLength);
+
+ b.Property(q => q.HandledFromContainerCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledFromLocationArea).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledFromLocationCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledFromLocationErpCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledFromLocationGroup).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledFromLot).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledFromPackingCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledFromSupplierBatch).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledFromWarehouseCode).HasMaxLength(SfsPropertyConst.NameLength);
+
+ b.Property(q => q.HandledToContainerCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledToLocationArea).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledToLocationCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledToLocationErpCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledToLocationGroup).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledToLot).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledToPackingCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledToSupplierBatch).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.HandledToWarehouseCode).HasMaxLength(SfsPropertyConst.NameLength);
+
+ b.Property(q => q.RecommendFromContainerCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendFromLocationArea).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendFromLocationCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendFromLocationErpCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendFromLocationGroup).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendFromLot).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendFromPackingCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendFromSupplierBatch).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendFromWarehouseCode).HasMaxLength(SfsPropertyConst.NameLength);
+
+ b.Property(q => q.RecommendToContainerCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendToLocationArea).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendToLocationCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendToLocationErpCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendToLocationGroup).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendToLot).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendToPackingCode).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendToSupplierBatch).HasMaxLength(SfsPropertyConst.NameLength);
+ b.Property(q => q.RecommendToWarehouseCode).HasMaxLength(SfsPropertyConst.NameLength);
//Relations
//None
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Migrations/20240415054835_transferLibV222.Designer.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Migrations/20240415054835_transferLibV222.Designer.cs
new file mode 100644
index 000000000..455d930ad
--- /dev/null
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Migrations/20240415054835_transferLibV222.Designer.cs
@@ -0,0 +1,30134 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Volo.Abp.EntityFrameworkCore;
+using Win_in.Sfs.Wms.Store.EntityFrameworkCore;
+
+#nullable disable
+
+namespace Win_in.Sfs.Wms.Store.Migrations
+{
+ [DbContext(typeof(StoreDbContext))]
+ [Migration("20240415054835_transferLibV222")]
+ partial class transferLibV222
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
+ .HasAnnotation("ProductVersion", "6.0.13")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.AssembleJob", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("AcceptTime")
+ .HasColumnType("datetime2");
+
+ b.Property("AcceptUserId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("AcceptUserName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("AssembleRequestNumber")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("CompleteTime")
+ .HasColumnType("datetime2");
+
+ b.Property("CompleteUserId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CompleteUserName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("nvarchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsAutoComplete")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bit")
+ .HasDefaultValue(false);
+
+ b.Property("JobDescription")
+ .HasMaxLength(1024)
+ .HasColumnType("nvarchar(1024)");
+
+ b.Property("JobStatus")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("JobType")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Priority")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int")
+ .HasDefaultValue(0);
+
+ b.Property("PriorityIncrement")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int")
+ .HasDefaultValue(0);
+
+ b.Property("ProdLine")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("RequestType")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("UpStreamJobNumber")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("UseOnTheWayLocation")
+ .HasColumnType("bit");
+
+ b.Property("WarehouseCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("WorkGroupCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Worker")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Workshop")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Number")
+ .IsUnique();
+
+ b.ToTable("Job_AssembleJob", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.AssembleJobDetail", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeliveryQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("DistributionType")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ExpiredTime")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledContainerCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledContainerCode");
+
+ b.Property("HandledExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledFromLocationArea")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledFromLocationArea");
+
+ b.Property("HandledFromLocationCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledFromLocationCode");
+
+ b.Property("HandledFromLocationErpCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledFromLocationErpCode");
+
+ b.Property("HandledFromLocationGroup")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledFromLocationGroup");
+
+ b.Property("HandledFromWarehouseCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledFromWarehouseCode");
+
+ b.Property("HandledLot")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledLot");
+
+ b.Property("HandledPackingCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledPackingCode");
+
+ b.Property("HandledProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("HandledSupplierBatch")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledSupplierBatch");
+
+ b.Property("ItemCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemCode");
+
+ b.Property("ItemDesc1")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemDesc1");
+
+ b.Property("ItemDesc2")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemDesc2");
+
+ b.Property("ItemName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemName");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("MasterID")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("OnTheWayLocationCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Operation")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("PlanBeginTime")
+ .HasColumnType("datetime2");
+
+ b.Property("PlannedSplitRule")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("PositionCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ProdLine")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("RecommendArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("RecommendContainerCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendContainerCode");
+
+ b.Property("RecommendExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("RecommendFromLocationArea")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendFromLocationArea");
+
+ b.Property("RecommendFromLocationCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendFromLocationCode");
+
+ b.Property("RecommendFromLocationErpCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendFromLocationErpCode");
+
+ b.Property("RecommendFromLocationGroup")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendFromLocationGroup");
+
+ b.Property("RecommendFromWarehouseCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendFromWarehouseCode");
+
+ b.Property("RecommendLot")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendLot");
+
+ b.Property("RecommendPackingCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendPackingCode");
+
+ b.Property("RecommendProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("RecommendQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("RecommendSupplierBatch")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendSupplierBatch");
+
+ b.Property("RecommendType")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("RequestLocationCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("RoundedQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("Status")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("StdPackQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("ToLocationArea")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ToLocationCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ToLocationErpCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ToLocationGroup")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ToWarehouseCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("TruncType")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Uom")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("WorkStation")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("MasterID");
+
+ b.ToTable("Job_AssembleJobDetail", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.AssembleNote", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ActiveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("nvarchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("ConfirmTime")
+ .HasColumnType("datetime2");
+
+ b.Property("Confirmed")
+ .HasColumnType("bit");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("JobNumber")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("JobNumber");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Number");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("RequestNumber")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("RequestType")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("UseOnTheWayLocation")
+ .HasColumnType("bit");
+
+ b.Property("Worker")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Workshop")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Number")
+ .IsUnique();
+
+ b.ToTable("Store_AssembleNote", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.AssembleNoteDetail", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ExpiredTime")
+ .HasColumnType("datetime2");
+
+ b.Property("FromContainerCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("FromLocationArea")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("FromLocationArea");
+
+ b.Property("FromLocationCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("FromLocationCode");
+
+ b.Property("FromLocationErpCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("FromLocationErpCode");
+
+ b.Property("FromLocationGroup")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("FromLocationGroup");
+
+ b.Property("FromLot")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("FromPackingCode")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("FromStatus")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("FromWarehouseCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("FromWarehouseCode");
+
+ b.Property("HandledArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledContainerCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledContainerCode");
+
+ b.Property("HandledExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledFromLocationArea")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledFromLocationArea");
+
+ b.Property("HandledFromLocationCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledFromLocationCode");
+
+ b.Property("HandledFromLocationErpCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledFromLocationErpCode");
+
+ b.Property("HandledFromLocationGroup")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledFromLocationGroup");
+
+ b.Property("HandledFromWarehouseCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledFromWarehouseCode");
+
+ b.Property("HandledLot")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledLot");
+
+ b.Property("HandledPackingCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledPackingCode");
+
+ b.Property("HandledProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("HandledSupplierBatch")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("HandledSupplierBatch");
+
+ b.Property("IssueTime")
+ .HasColumnType("datetime2");
+
+ b.Property("ItemCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemCode");
+
+ b.Property("ItemDesc1")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemDesc1");
+
+ b.Property("ItemDesc2")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemDesc2");
+
+ b.Property("ItemName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemName");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("MasterID")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Number");
+
+ b.Property("OnTheWayLocationCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("PositionCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ProdLine")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Qty")
+ .HasPrecision(18, 6)
+ .HasColumnType("decimal(18,6)")
+ .HasColumnName("Qty");
+
+ b.Property("RecommendArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("RecommendContainerCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendContainerCode");
+
+ b.Property("RecommendExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("RecommendFromLocationArea")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendFromLocationArea");
+
+ b.Property("RecommendFromLocationCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendFromLocationCode");
+
+ b.Property("RecommendFromLocationErpCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendFromLocationErpCode");
+
+ b.Property("RecommendFromLocationGroup")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendFromLocationGroup");
+
+ b.Property("RecommendFromWarehouseCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendFromWarehouseCode");
+
+ b.Property("RecommendLot")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendLot");
+
+ b.Property("RecommendPackingCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendPackingCode");
+
+ b.Property("RecommendProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("RecommendQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("RecommendSupplierBatch")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("RecommendSupplierBatch");
+
+ b.Property("RecommendType")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("StdPackQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("SupplierBatch")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("SupplierBatch");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("ToContainerCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ToLocationArea")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ToLocationArea");
+
+ b.Property("ToLocationCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ToLocationCode");
+
+ b.Property("ToLocationErpCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ToLocationErpCode");
+
+ b.Property("ToLocationGroup")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ToLocationGroup");
+
+ b.Property("ToLot")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ToPackingCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ToStatus")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ToWarehouseCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ToWarehouseCode");
+
+ b.Property("Uom")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Uom");
+
+ b.Property("WorkStation")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("FromPackingCode");
+
+ b.HasIndex("MasterID");
+
+ b.HasIndex("Number", "FromPackingCode", "FromLocationCode", "ToLocationCode")
+ .IsUnique()
+ .HasFilter("[FromPackingCode] IS NOT NULL");
+
+ b.ToTable("Store_AssembleNoteDetail", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.AssembleRequest", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ActiveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("AutoAgree")
+ .HasColumnType("bit");
+
+ b.Property("AutoCompleteJob")
+ .HasColumnType("bit");
+
+ b.Property("AutoHandle")
+ .HasColumnType("bit");
+
+ b.Property("AutoSubmit")
+ .HasColumnType("bit");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("nvarchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("DirectCreateNote")
+ .HasColumnType("bit");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Number");
+
+ b.Property("ProdLine")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("RequestStatus")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("Type")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("UseOnTheWayLocation")
+ .HasColumnType("bit");
+
+ b.Property("Worker")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Number")
+ .IsUnique();
+
+ b.ToTable("Store_AssembleRequest", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.AssembleRequestDetail", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExpiredTime")
+ .HasColumnType("datetime2");
+
+ b.Property("FromLocationArea")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("IssuedQty")
+ .HasPrecision(18, 6)
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("ItemCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemCode");
+
+ b.Property("ItemDesc1")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemDesc1");
+
+ b.Property("ItemDesc2")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemDesc2");
+
+ b.Property("ItemName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemName");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("MasterID")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Number");
+
+ b.Property("PositionCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ProdLine")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Qty")
+ .HasPrecision(18, 6)
+ .HasColumnType("decimal(18,6)")
+ .HasColumnName("Qty");
+
+ b.Property("ReceivedQty")
+ .HasPrecision(18, 6)
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("RecommendType")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("Status")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("StdPackQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("ToLocationArea")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ToLocationCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ToLocationErpCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ToLocationGroup")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property