From b144e3444b5f6916a8a291abf03ff396e4f3c6fa Mon Sep 17 00:00:00 2001 From: "boxu.zheng" Date: Fri, 12 Apr 2024 16:29:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E6=B3=A8=E5=A1=91?= =?UTF-8?q?=E5=8F=91=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Inputs/InjectionJobEditInput.cs | 7 - .../DTOs/InjectionRequestDTO.cs | 6 - .../Inputs/InjectionRequestEditInput.cs | 7 - .../InjectionJobs/InjectionJobAppService.cs | 84 ++- .../TransferLibNotes/ITransferLibCallback.cs | 4 +- .../InjectionRequestAppService.cs | 1 + .../InjectionRequestAutoMapperProfile.cs | 1 - .../TransferLibNotes/TransferLibNoteDetail.cs | 509 ++++++++++++++++++ .../InjectionRequests/InjectionRequest.cs | 6 - ...RequestDbContextModelCreatingExtensions.cs | 1 - .../TransferLibRequestAutoMapperProfile.cs | 3 - .../Jobs/InjectionJobEventHandler.cs | 40 +- .../Requests/InjectionRequestEventHandler.cs | 4 +- .../TransferLibRequestEventHandler.cs | 4 +- 14 files changed, 609 insertions(+), 68 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionJobEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionJobEditInput.cs index b1bf544e8..3afaf2500 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionJobEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionJobEditInput.cs @@ -60,13 +60,6 @@ public class InjectionJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCreateI [Required(ErrorMessage = "{0}是必填项")] public List Details { get; set; } = new(); - /// - /// 生产线 - /// - [Display(Name = "生产线")] - [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] - public string ProdLine { get; set; } - /// /// 使用在途库 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/InjectionRequests/DTOs/InjectionRequestDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/InjectionRequests/DTOs/InjectionRequestDTO.cs index 654107abe..eec1cf4c4 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/InjectionRequests/DTOs/InjectionRequestDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/InjectionRequests/DTOs/InjectionRequestDTO.cs @@ -10,12 +10,6 @@ public class InjectionRequestDTO : SfsStoreRequestDTOBase - /// 生产线 - /// - [Display(Name = "生产线")] - public string ProdLine { get; set; } - /// /// 是否使用在途库 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/InjectionRequests/Inputs/InjectionRequestEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/InjectionRequests/Inputs/InjectionRequestEditInput.cs index 7277bf50c..a95c5a489 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/InjectionRequests/Inputs/InjectionRequestEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/InjectionRequests/Inputs/InjectionRequestEditInput.cs @@ -14,13 +14,6 @@ public class InjectionRequestEditInput : SfsStoreRequestCreateOrUpdateInputBase [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] public string Workshop { get; set; } - /// - /// 生产线 - /// - [Display(Name = "生产线")] - [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] - public string ProdLine { get; set; } - /// /// 使用在途库 /// 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 38a055ce1..f723dc24a 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 @@ -30,13 +30,15 @@ public class InjectionJobAppService { private readonly IInjectionJobManager _injectionJobManager; private readonly ILocationAppService _locationAppService; + private readonly ITransferLibJobAppService _transferLibJobAppService; public InjectionJobAppService( IInjectionJobRepository repository, IInjectionJobManager injectionJobManager, - ILocationAppService locationAppService) : base(repository, injectionJobManager) + ILocationAppService locationAppService, ITransferLibJobAppService transferLibJobAppService) : base(repository, injectionJobManager) { _injectionJobManager = injectionJobManager; _locationAppService = locationAppService; + _transferLibJobAppService = transferLibJobAppService; } public override async Task> CreateManyAsync(List inputs) @@ -57,24 +59,48 @@ public class InjectionJobAppService } /// - /// 判断是不是在最底层 如果不是则把状态变更为等待 + /// 判断是不是在最底层 如果不是则把状态变更为等待 并把库移推荐的From和To赋值 /// /// /// - private async Task CheckMinRowAndSetStatusAsync (InjectionJobEditInput input) + private async Task CheckMinRowAndSetStatusAsync(InjectionJobEditInput input) { - var detail = input.Details.FirstOrDefault(); + var jobDetailInputdetail = input.Details.FirstOrDefault(); - var loctionDto = await _locationAppService.GetByCodeAsync(detail.RecommendFromLocationCode) + var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode) .ConfigureAwait(false); if (loctionDto.RowCode != 1) { input.JobStatus = EnumJobStatus.Wait; - var locationDtos = await _locationAppService.GetListByGroupsAsync(new List() { loctionDto.LocationGroupCode }).ConfigureAwait(false); - var minLocation = locationDtos.First(p => p.ColumnCode == 1); - detail.OnTheWayLocationCode = minLocation.Code; + jobDetailInputdetail.TransferLibFromArriveDate = jobDetailInputdetail.RecommendFromArriveDate; + jobDetailInputdetail.TransferLibFromContainerCode = jobDetailInputdetail.RecommendFromContainerCode; + jobDetailInputdetail.TransferLibFromExpireDate = jobDetailInputdetail.RecommendFromExpireDate; + jobDetailInputdetail.TransferLibFromLocationArea = jobDetailInputdetail.RecommendFromLocationArea; + jobDetailInputdetail.TransferLibFromLocationCode = jobDetailInputdetail.RecommendFromLocationCode; + jobDetailInputdetail.TransferLibFromLocationErpCode = jobDetailInputdetail.RecommendFromLocationErpCode; + jobDetailInputdetail.TransferLibFromLocationGroup = jobDetailInputdetail.RecommendFromLocationGroup; + jobDetailInputdetail.TransferLibFromLot = jobDetailInputdetail.RecommendFromLot; + jobDetailInputdetail.TransferLibFromPackingCode = jobDetailInputdetail.RecommendFromPackingCode; + jobDetailInputdetail.TransferLibFromProduceDate = jobDetailInputdetail.RecommendFromProduceDate; + jobDetailInputdetail.TransferLibFromQty = jobDetailInputdetail.RecommendFromQty; + jobDetailInputdetail.TransferLibFromSupplierBatch = jobDetailInputdetail.RecommendFromSupplierBatch; + jobDetailInputdetail.TransferLibFromWarehouseCode = jobDetailInputdetail.RecommendFromWarehouseCode; + + jobDetailInputdetail.TransferLibToArriveDate = jobDetailInputdetail.RecommendToArriveDate; + jobDetailInputdetail.TransferLibToContainerCode = jobDetailInputdetail.RecommendToContainerCode; + jobDetailInputdetail.TransferLibToExpireDate = jobDetailInputdetail.RecommendToExpireDate; + jobDetailInputdetail.TransferLibToLocationArea = jobDetailInputdetail.RecommendToLocationArea; + jobDetailInputdetail.TransferLibToLocationCode = jobDetailInputdetail.RecommendToLocationCode; + jobDetailInputdetail.TransferLibToLocationErpCode = jobDetailInputdetail.RecommendToLocationErpCode; + jobDetailInputdetail.TransferLibToLocationGroup = jobDetailInputdetail.RecommendToLocationGroup; + jobDetailInputdetail.TransferLibToLot = jobDetailInputdetail.RecommendToLot; + jobDetailInputdetail.TransferLibToPackingCode = jobDetailInputdetail.RecommendToPackingCode; + jobDetailInputdetail.TransferLibToProduceDate = jobDetailInputdetail.RecommendToProduceDate; + jobDetailInputdetail.TransferLibToQty = jobDetailInputdetail.RecommendToQty; + jobDetailInputdetail.TransferLibToSupplierBatch = jobDetailInputdetail.RecommendToSupplierBatch; + jobDetailInputdetail.TransferLibToWarehouseCode = jobDetailInputdetail.RecommendToWarehouseCode; } } @@ -112,10 +138,48 @@ public class InjectionJobAppService [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); + var job = await _repository.FindAsync(p => p.Number == jobNum).ConfigureAwait(false); + + //todo 等云峰写好换成真实的 + var transferLibJobDto= await _transferLibJobAppService.GetByNumberAsync("AAA").ConfigureAwait(false); + var transferLibNote = new TransferLibNote(); + + var transferLibNoteDetail=transferLibNote.Details.First(); + + var jobDetail = job.Details.First(); job.JobStatus = EnumJobStatus.Open; + + jobDetail.TransferLibFromArriveDate = transferLibNoteDetail.HandledFromArriveDate; + jobDetail.TransferLibFromContainerCode=transferLibNoteDetail.HandledFromContainerCode; + jobDetail.TransferLibFromExpireDate=transferLibNoteDetail.HandledFromExpireDate; + jobDetail.TransferLibFromLocationArea=transferLibNoteDetail.HandledFromLocationArea; + jobDetail.TransferLibFromLocationCode=transferLibNoteDetail.HandledFromLocationCode; + jobDetail.TransferLibFromLocationErpCode = transferLibNoteDetail.HandledFromLocationErpCode; + jobDetail.TransferLibFromLocationGroup=transferLibNoteDetail.HandledFromLocationGroup; + jobDetail.TransferLibFromLot=transferLibNoteDetail.HandledFromLot; + jobDetail.TransferLibFromPackingCode = transferLibNoteDetail.HandledFromPackingCode; + jobDetail.TransferLibFromProduceDate = transferLibNoteDetail.HandledFromProduceDate; + jobDetail.TransferLibFromQty=transferLibNoteDetail.HandledFromQty; + jobDetail.TransferLibFromSupplierBatch=transferLibNoteDetail.HandledFromSupplierBatch; + jobDetail.TransferLibFromWarehouseCode = transferLibNoteDetail.HandledFromWarehouseCode; + + jobDetail.TransferLibToArriveDate = transferLibNoteDetail.HandledToArriveDate; + jobDetail.TransferLibToContainerCode = transferLibNoteDetail.HandledToContainerCode; + jobDetail.TransferLibToExpireDate = transferLibNoteDetail.HandledToExpireDate; + jobDetail.TransferLibToLocationArea = transferLibNoteDetail.HandledToLocationArea; + jobDetail.TransferLibToLocationCode = transferLibNoteDetail.HandledToLocationCode; + jobDetail.TransferLibToLocationErpCode = transferLibNoteDetail.HandledToLocationErpCode; + jobDetail.TransferLibToLocationGroup = transferLibNoteDetail.HandledToLocationGroup; + jobDetail.TransferLibToLot = transferLibNoteDetail.HandledToLot; + jobDetail.TransferLibToPackingCode = transferLibNoteDetail.HandledToPackingCode; + jobDetail.TransferLibToProduceDate = transferLibNoteDetail.HandledToProduceDate; + jobDetail.TransferLibToQty = transferLibNoteDetail.HandledToQty; + jobDetail.TransferLibToSupplierBatch = transferLibNoteDetail.HandledToSupplierBatch; + jobDetail.TransferLibToWarehouseCode = transferLibNoteDetail.HandledToWarehouseCode; + await _repository.UpdateAsync(job).ConfigureAwait(false); - return Tuple.Create(true,string.Empty); + + return new Tuple(true,"s"); } [HttpPost("test")] 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 8afd7aefe..b079a9ad9 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 @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Win_in.Sfs.Wms.Inventory.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Notes; public interface ITransferLibCallback @@ -16,7 +17,8 @@ public class TestTransferLibCallback : ITransferLibCallback { } - public async Task> DoTransferLibCallbackAsync(string businessType, string requestNum, string jobNum) + public async Task> DoTransferLibCallbackAsync(string businessType, string requestNum, + string jobNum) { return Tuple.Create(true, "调用新移库回调方法成功!"); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/MaterialRequests/InjectionRequests/InjectionRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/MaterialRequests/InjectionRequests/InjectionRequestAppService.cs index b73fa36d9..b65620308 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/MaterialRequests/InjectionRequests/InjectionRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/MaterialRequests/InjectionRequests/InjectionRequestAppService.cs @@ -95,6 +95,7 @@ public class InjectionRequestAppService : SfsStoreRequestAppServiceBase() .IgnoreAuditedObjectProperties() .ForMember(x => x.Type, y => y.MapFrom(t => t.Type.ToString())) - .Ignore(x => x.ProdLine) .Ignore(x => x.UseOnTheWayLocation) .Ignore(x => x.Details) .Ignore(x => x.Remark) 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 bdd64ec93..a026debc3 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,6 @@ +using System; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; using Win_in.Sfs.Shared.Domain.Shared; namespace Win_in.Sfs.Wms.Store.Domain; @@ -44,4 +47,510 @@ public class TransferLibNoteDetail : SfsStoreDetailWithFromToEntityBase 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 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 TransferLibFromContainerCode { get; set; } + + /// + /// 库移来源箱标签 + /// + public string TransferLibFromPackingCode { get; set; } + + /// + /// 库移来源批次供应商批次 + /// + public string TransferLibFromSupplierBatch { get; set; } + + /// + /// 库移来源批次到货时间 + /// + public DateTime TransferLibFromArriveDate { get; set; } + + /// + /// 库移来源批次生产时间 + /// + public DateTime TransferLibFromProduceDate { get; set; } + + /// + /// 库移来源批次过期时间 + /// + public DateTime TransferLibFromExpireDate { get; set; } + + /// + /// 库移来源批次排序 + /// + public string TransferLibFromLot { get; set; } + + /// + /// 库移来源库位 + /// + public string TransferLibFromLocationCode { get; set; } + + /// + /// 库移来源库区 + /// + public string TransferLibFromLocationArea { get; set; } + + /// + /// 库移来源库位组 + /// + public string TransferLibFromLocationGroup { get; set; } + + /// + /// 库移来源ERP库位 + /// + public string TransferLibFromLocationErpCode { get; set; } + + /// + /// 库移来源仓库 + /// + public string TransferLibFromWarehouseCode { get; set; } + + /// + /// 库移来源数量 + /// + public decimal TransferLibFromQty { get; set; } + + #endregion + + #region 库移目标 + + /// + /// 库移目标托标签 + /// + public string TransferLibToContainerCode { get; set; } + + /// + /// 库移目标箱标签 + /// + public string TransferLibToPackingCode { get; set; } + + /// + /// 库移目标批次供应商批次 + /// + public string TransferLibToSupplierBatch { get; set; } + + /// + /// 库移目标批次到货时间 + /// + public DateTime TransferLibToArriveDate { get; set; } + + /// + /// 库移目标批次生产时间 + /// + public DateTime TransferLibToProduceDate { get; set; } + + /// + /// 库移目标批次过期时间 + /// + public DateTime TransferLibToExpireDate { get; set; } + + /// + /// 库移目标批次排序 + /// + public string TransferLibToLot { get; set; } + + /// + /// 库移目标库位 + /// + public string TransferLibToLocationCode { get; set; } + + /// + /// 库移目标库区 + /// + public string TransferLibToLocationArea { get; set; } + + /// + /// 库移目标库位组 + /// + public string TransferLibToLocationGroup { get; set; } + + /// + /// 库移目标ERP库位 + /// + public string TransferLibToLocationErpCode { get; set; } + + /// + /// 库移目标仓库 + /// + public string TransferLibToWarehouseCode { get; set; } + + /// + /// 库移目标数量 + /// + public decimal TransferLibToQty { 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 } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/InjectionRequests/InjectionRequest.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/InjectionRequests/InjectionRequest.cs index cbd538565..f8a899725 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/InjectionRequests/InjectionRequest.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/InjectionRequests/InjectionRequest.cs @@ -16,12 +16,6 @@ public class InjectionRequest : SfsStoreRequestAggregateRootBase - /// 生产线 - /// - [IgnoreUpdate] - public string ProdLine { get; set; } - /// /// 使用在途库 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/MaterialRequests/InjectionRequests/InjectionRequestDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/MaterialRequests/InjectionRequests/InjectionRequestDbContextModelCreatingExtensions.cs index f5b83dd87..a5b17edeb 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/MaterialRequests/InjectionRequests/InjectionRequestDbContextModelCreatingExtensions.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/MaterialRequests/InjectionRequests/InjectionRequestDbContextModelCreatingExtensions.cs @@ -20,7 +20,6 @@ public static class InjectionRequestDbContextModelCreatingExtensions //Properties b.Property(q => q.Type).HasMaxLength(SfsPropertyConst.CodeLength); - b.Property(q => q.ProdLine).HasMaxLength(SfsPropertyConst.CodeLength); b.Property(q => q.RequestStatus).HasMaxLength(SfsPropertyConst.NameLength).HasConversion(); //Relations diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/TransferLibRequestAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/TransferLibRequestAutoMapperProfile.cs index 318c20d4f..b7d013f8b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/TransferLibRequestAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/TransferLibRequestAutoMapperProfile.cs @@ -18,9 +18,6 @@ public partial class StoreEventAutoMapperProfile : Profile .Ignore(x => x.Number) .Ignore(x => x.Id); - CreateMap() - .Ignore(x => x.OnTheWayLocationCode); - CreateMap() .IgnoreAuditedObjectProperties() .ForMember(x => x.RequestNumber, y => y.MapFrom(d => d.Number)) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/InjectionJobEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/InjectionJobEventHandler.cs index e85495627..eddb13dfc 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/InjectionJobEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/InjectionJobEventHandler.cs @@ -94,31 +94,27 @@ public class InjectionJobEventHandler : var expectOutEditInputs = new List(); foreach (var detail in entity.Details) { - var balanceDto = await _balanceAppService - .GetRealQtyByPackingCodeAndItemCodeAndLocationCodeAndStatusAsync(detail.RecommendFromPackingCode, - detail.ItemCode, detail.RecommendFromLocationCode, EnumInventoryStatus.OK).ConfigureAwait(false); - var inputoExpectOutEditInput = new ExpectOutEditInput(); inputoExpectOutEditInput.JobNumber = entity.Number; inputoExpectOutEditInput.ItemCode = detail.ItemCode; - inputoExpectOutEditInput.Qty = balanceDto.Qty; - inputoExpectOutEditInput.LocationCode = balanceDto.LocationCode; - inputoExpectOutEditInput.ArriveDate = balanceDto.ArriveDate; - inputoExpectOutEditInput.ContainerCode = balanceDto.ContainerCode; - inputoExpectOutEditInput.ExpireDate = balanceDto.ExpireDate; - inputoExpectOutEditInput.ItemDesc1 = balanceDto.ItemDesc1; - inputoExpectOutEditInput.ItemDesc2 = balanceDto.ItemDesc2; - inputoExpectOutEditInput.ItemName = balanceDto.ItemName; - inputoExpectOutEditInput.LocationArea = balanceDto.LocationArea; - inputoExpectOutEditInput.LocationGroup = balanceDto.LocationGroup; - inputoExpectOutEditInput.LocationErpCode = balanceDto.LocationErpCode; - inputoExpectOutEditInput.PackingCode = balanceDto.PackingCode; - inputoExpectOutEditInput.Lot = balanceDto.Lot; - inputoExpectOutEditInput.ProduceDate = balanceDto.ProduceDate; - inputoExpectOutEditInput.Status = balanceDto.Status; - inputoExpectOutEditInput.Uom = balanceDto.Uom; - inputoExpectOutEditInput.SupplierBatch = balanceDto.SupplierBatch; - inputoExpectOutEditInput.WarehouseCode = balanceDto.WarehouseCode; + inputoExpectOutEditInput.Qty = detail.RecommendFromQty; + inputoExpectOutEditInput.LocationCode = detail.RecommendFromLocationCode; + inputoExpectOutEditInput.ArriveDate =detail.RecommendFromArriveDate; + inputoExpectOutEditInput.ContainerCode = detail.RecommendFromContainerCode; + inputoExpectOutEditInput.ExpireDate = detail.RecommendFromExpireDate; + inputoExpectOutEditInput.ItemDesc1 = detail.ItemDesc1; + inputoExpectOutEditInput.ItemDesc2 = detail.ItemDesc2; + inputoExpectOutEditInput.ItemName = detail.ItemName; + inputoExpectOutEditInput.LocationArea = detail.RecommendFromLocationArea; + inputoExpectOutEditInput.LocationGroup = detail.RecommendFromLocationGroup; + inputoExpectOutEditInput.LocationErpCode = detail.RecommendFromLocationErpCode; + inputoExpectOutEditInput.PackingCode = detail.RecommendFromPackingCode; + inputoExpectOutEditInput.Lot = detail.RecommendFromLot; + inputoExpectOutEditInput.ProduceDate = detail.RecommendFromProduceDate; + inputoExpectOutEditInput.Status = detail.Status; + inputoExpectOutEditInput.Uom = detail.Uom; + inputoExpectOutEditInput.SupplierBatch = detail.RecommendFromSupplierBatch; + inputoExpectOutEditInput.WarehouseCode = detail.RecommendFromWarehouseCode; expectOutEditInputs.Add(inputoExpectOutEditInput); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/InjectionRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/InjectionRequestEventHandler.cs index ad348a14d..d81eb0170 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/InjectionRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/InjectionRequestEventHandler.cs @@ -210,7 +210,6 @@ public class InjectionRequestEventHandler job.JobStatus = EnumJobStatus.Open; job.WorkGroupCode = fromLocation.WorkGroupCode; job.WarehouseCode = fromLocation.WarehouseCode; - job.ProdLine = fromLocation.LocationGroupCode; job.Worker = injectionRequest.Worker; if (string.IsNullOrEmpty(job.Worker)) { @@ -422,12 +421,11 @@ public class InjectionRequestEventHandler InjectionRequest injectionRequest, InjectionRequestDetail injectionRequestDetail, BalanceDTO balanceDtos) { - InjectionJobEditInput job = ObjectMapper.Map(injectionRequest); + var job = ObjectMapper.Map(injectionRequest); job.JobType = EnumJobType.IssueJob; job.JobStatus = EnumJobStatus.Open; job.WorkGroupCode = injectionRequestDetail.ToLocationGroup; job.WarehouseCode = injectionRequestDetail.ToWarehouseCode; - job.ProdLine = injectionRequestDetail.ProdLine; job.Worker = injectionRequest.Worker; job.InjectionRequestNumber = injectionRequest.Number; diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/TransferLibRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/TransferLibRequestEventHandler.cs index 2e2df301b..ca3e87d4b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/TransferLibRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/TransferLibRequestEventHandler.cs @@ -54,7 +54,9 @@ public class TransferLibRequestEventHandler if (entity.DirectCreateNote) { - var input = ObjectMapper.Map(entity); + //todo 等云峰做完处理 + var input = new TransferLibNote() + { }; //获取在途库 var locationDto = await _locationAppService.GetFirstByTypeAsync(EnumLocationType.TRANSPORT)