diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/ThirdLocationRequestController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/ThirdLocationRequestController.cs index 780ae4c79..1860ebb8d 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/ThirdLocationRequestController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/ThirdLocationRequestController.cs @@ -1,7 +1,12 @@ using System; +using System.Collections.Generic; +using System.Text.Json; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; +using Volo.Abp.Application.Dtos; using Volo.Abp.AspNetCore.Mvc; +using Win_in.Sfs.Shared.Domain; +using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Pda.Controllers.Stores; @@ -49,6 +54,38 @@ public class ThirdLocationRequestController : AbpController return Ok(result); } + /// + /// 获取列表 + /// + /// + /// + /// + [HttpGet("list")] + public virtual async Task> GetListAsync(int pageSize, int pageIndex) + { + var status = new List() { (int)EnumRequestStatus.Handling, (int)EnumRequestStatus.Partial }; + var jsonStatus = JsonSerializer.Serialize(status); + + var request = new SfsStoreRequestInputBase + { + MaxResultCount = pageSize, + SkipCount = (pageIndex - 1) * pageSize, + Sorting = $"{nameof(ThirdLocationRequestDTO.CreationTime)} ASC", + Condition = new Condition + { + Filters = new List + { + new(nameof(ThirdLocationRequestDTO.RequestStatus),jsonStatus,"In") + } + } + + }; + + var list = await _thirdLocationRequestAppService.GetPagedListByFilterAsync(request, true).ConfigureAwait(false); + + return list; + } + /// /// 取消三方库请求 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/ThirdLocationJobs/DTOs/ThirdLocationJobDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/ThirdLocationJobs/DTOs/ThirdLocationJobDetailDTO.cs index 809f36e13..a97202981 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/ThirdLocationJobs/DTOs/ThirdLocationJobDetailDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/ThirdLocationJobs/DTOs/ThirdLocationJobDetailDTO.cs @@ -63,10 +63,10 @@ public class ThirdLocationJobDetailDTO : SfsJobRecommendFromDetailDTOBase, IHasT public string SingleCodeJob { get; set; } /// - /// 工作中心 + /// 申请单件码 /// - [Display(Name = "工作中心")] - public string WorkStation { get; set; } + [Display(Name = "申请单件码")] + public string SingleCodeRequest { get; set; } /// /// 过期时间 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/ThirdLocationJobs/Inputs/ThirdLocationJobDetailInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/ThirdLocationJobs/Inputs/ThirdLocationJobDetailInput.cs index 1dccfbc08..b64661f1c 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/ThirdLocationJobs/Inputs/ThirdLocationJobDetailInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/ThirdLocationJobs/Inputs/ThirdLocationJobDetailInput.cs @@ -71,14 +71,14 @@ public class ThirdLocationJobDetailInput : SfsJobRecommendFromDetailInputBase, I /// [Display(Name = "收货单件码")] [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] - public string SingleCodeJob { get; set; } + public string SingleCodeJob { get; set; } /// - /// 工作中心 + /// 申请单件码 /// - [Display(Name = "工作中心")] + [Display(Name = "申请单件码")] [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] - public string WorkStation { get; set; } + public string SingleCodeRequest { get; set; } /// /// 过期时间 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJobDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJobDetail.cs index 6f00ffed2..55e157862 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJobDetail.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/ThirdLocationJobs/ThirdLocationJobDetail.cs @@ -52,9 +52,9 @@ public class ThirdLocationJobDetail : SfsJobRecommendFromDetailEntityBase, IHasT public string SingleCodeJob { get; set; } /// - /// 工作中心 + /// 申请单件码 /// - public string WorkStation { get; set; } + public string SingleCodeRequest { get; set; } /// /// 过期时间 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/ThirdLocationJobs/ThirdLocationJobDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/ThirdLocationJobs/ThirdLocationJobDbContextModelCreatingExtensions.cs index 48bb34baa..cd357a1c9 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/ThirdLocationJobs/ThirdLocationJobDbContextModelCreatingExtensions.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/ThirdLocationJobs/ThirdLocationJobDbContextModelCreatingExtensions.cs @@ -51,7 +51,7 @@ public static class ThirdLocationJobDbContextModelCreatingExtensions b.Property(q => q.FromLocationCode).HasMaxLength(SfsPropertyConst.CodeLength); b.Property(q => q.FromLocationArea).HasMaxLength(SfsPropertyConst.CodeLength); b.Property(q => q.SingleCodeJob).HasMaxLength(SfsPropertyConst.CodeLength); - b.Property(q => q.WorkStation).HasMaxLength(SfsPropertyConst.CodeLength); + b.Property(q => q.SingleCodeRequest).HasMaxLength(SfsPropertyConst.CodeLength); b.Property(q => q.Operation).HasMaxLength(SfsPropertyConst.CodeLength); b.Property(q => q.DistributionType).HasMaxLength(SfsPropertyConst.NameLength).HasConversion(); b.Property(q => q.TruncType).HasMaxLength(SfsPropertyConst.NameLength).HasConversion(); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Jobs/ThirdLocationJobAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Jobs/ThirdLocationJobAutoMapperProfile.cs index 1d8d5fe6e..5d4c55db3 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Jobs/ThirdLocationJobAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Jobs/ThirdLocationJobAutoMapperProfile.cs @@ -89,6 +89,7 @@ public partial class StoreEventAutoMapperProfile : Profile .ForMember(x => x.FromStatus, y => y.MapFrom(d => d.Status)) .ForMember(x => x.ToStatus, y => y.MapFrom(d => d.Status)) .Ignore(x => x.ProdLine) + .Ignore(x => x.WorkStation) ; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/ThirdLocationRequestAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/ThirdLocationRequestAutoMapperProfile.cs index 91b8bbbee..1960a1e7c 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/ThirdLocationRequestAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/ThirdLocationRequestAutoMapperProfile.cs @@ -61,6 +61,7 @@ public partial class StoreEventAutoMapperProfile : Profile CreateMap() .ForMember(x => x.FromLocationCode, y => y.MapFrom(d => d.FromLocationCode)) + .ForMember(x => x.SingleCodeRequest, y => y.MapFrom(d => d.SingleCodeRequest)) .Ignore(x => x.SingleCodeJob) .Ignore(x => x.RecommendFromLocationArea) .Ignore(x => x.RecommendFromLocationGroup) @@ -128,7 +129,7 @@ public partial class StoreEventAutoMapperProfile : Profile .Ignore(x => x.FromLocationCode) .Ignore(x => x.ToLocationCode) .Ignore(x => x.SingleCodeJob) - .Ignore(x => x.WorkStation) + .Ignore(x => x.SingleCodeRequest) .Ignore(x => x.HandledContainerCode) .Ignore(x => x.HandledExpireDate) .Ignore(x => x.HandledFromLocationCode) @@ -152,7 +153,7 @@ public partial class StoreEventAutoMapperProfile : Profile .Ignore(x => x.FromLocationCode) .Ignore(x => x.ToLocationCode) .Ignore(x => x.SingleCodeJob) - .Ignore(x => x.WorkStation) + .Ignore(x => x.SingleCodeRequest) .Ignore(x => x.PositionCode) .Ignore(x => x.RecommendType) .Ignore(x => x.FromLocationArea) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ThirdLocationRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ThirdLocationRequestEventHandler.cs index 1144fe96c..37dd05aac 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ThirdLocationRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ThirdLocationRequestEventHandler.cs @@ -98,16 +98,16 @@ public class ThirdLocationRequestEventHandler if (thirdLocationJobs.Any()) { await _thirdLocationJobAppService.CreateManyAsync(thirdLocationJobs).ConfigureAwait(false); - } - //来源库位更新为在途库位 - var transferLogs = new List(); - var route = entity.UseOnTheWayLocation - ? EnumTransferRoute.SourceToOnTheWay - : EnumTransferRoute.SourceToDestination; - transferLogs.AddRange(await BuildTransferLogsAsync(entity, route).ConfigureAwait(false)); + //来源库位更新为在途库位 + var transferLogs = new List(); + var route = entity.UseOnTheWayLocation + ? EnumTransferRoute.SourceToOnTheWay + : EnumTransferRoute.SourceToDestination; + transferLogs.AddRange(await BuildTransferLogsAsync(entity, route).ConfigureAwait(false)); - await _transferLogAppService.AddManyAsync(transferLogs).ConfigureAwait(false); + await _transferLogAppService.AddManyAsync(transferLogs).ConfigureAwait(false); + } } @@ -292,8 +292,8 @@ public class ThirdLocationRequestEventHandler var toLocationCodes = thirdLocationRequest.Details.Select(p => p.ToLocationCode).Distinct().ToList();//所有发送库位的集合 var toLocations = await _locationAppService.GetByCodesAsync(toLocationCodes).ConfigureAwait(false);//所有库位的集合 - var thirdLocationRequestDetails = thirdLocationRequest.Details.Where(p => p.ToBeIssuedQty > 0);//所有还没发送物品的集合 - foreach (var thirdLocationRequestDetail in thirdLocationRequestDetails)//如果有还有剩余未叫料的数量 则创建新的任务 + var thirdLocationRequestDetails = thirdLocationRequest.Details; + foreach (var thirdLocationRequestDetail in thirdLocationRequestDetails) { var toLocation = toLocations.FirstOrDefault(p => p.Code == thirdLocationRequestDetail.ToLocationCode);//判断目标库位是否存在 Check.NotNull(toLocation, "库位代码", $"库位 {thirdLocationRequestDetail.ToLocationCode} 不存在"); @@ -384,7 +384,7 @@ public class ThirdLocationRequestEventHandler var detail = ObjectMapper.Map(balance); - detail.WorkStation = thirdLocationRequestDetail.WorkStation; + detail.SingleCodeRequest = thirdLocationRequestDetail.SingleCodeRequest; detail.ExpiredTime = thirdLocationRequestDetail.ExpiredTime; detail.PositionCode = thirdLocationRequestDetail.PositionCode; detail.RecommendType = thirdLocationRequestDetail.RecommendType; diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ThirdLocationNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ThirdLocationNoteEventHandler.cs index 5f9a819e3..05a4e35c8 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ThirdLocationNoteEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ThirdLocationNoteEventHandler.cs @@ -82,6 +82,7 @@ public class ThirdLocationNoteEventHandler } else { + requestEntities[0].RequestStatus = EnumRequestStatus.Partial; await _thirdLocationRequestManager.UpdateAsync(requestEntities[0]).ConfigureAwait(false); }