From 0360700a26cd50c539ee7da7a8df1f7f82d984c9 Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Wed, 17 Apr 2024 15:02:58 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KittingIssueRequests/DTOs/KittingIssueRequestDTO.cs | 0 .../KittingIssueRequests/DTOs/KittingIssueRequestDetailDTO.cs | 0 .../KittingIssueRequests/IKittingIssueRequestAppService.cs | 0 .../Inputs/KittingIssueRequestDetailInput.cs | 0 .../KittingIssueRequests/Inputs/KittingIssueRequestEditInput.cs | 0 .../Inputs/KittingIssueRequestImportInput.cs | 0 .../KittingIssueRequests/KittingIssueRequestPermissions.cs | 0 .../Win_in.Sfs.Wms.Store.Application.Contracts.csproj | 1 + .../KittingIssueRequests/IKittingIssueRequestManager.cs | 0 .../KittingIssueRequests/IKittingIssueRequestRepository.cs | 0 .../KittingIssueRequests/KittingIssueRequest.cs | 0 .../KittingIssueRequests/KittingIssueRequestDetail.cs | 0 .../KittingIssueRequests/KittingIssueRequestManager.cs | 0 .../Win_in.Sfs.Wms.Store.Domain.csproj | 1 + .../KittingIssueRequestDbContextModelCreatingExtensions.cs | 0 .../KittingIssueRequests/KittingIssueRequestEfCoreRepository.cs | 0 .../Win_in.Sfs.Wms.Store.EntityFrameworkCore.csproj | 1 + 17 files changed, 3 insertions(+) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/{MaterialRequests => IssueRequest}/KittingIssueRequests/DTOs/KittingIssueRequestDTO.cs (100%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/{MaterialRequests => IssueRequest}/KittingIssueRequests/DTOs/KittingIssueRequestDetailDTO.cs (100%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/{MaterialRequests => IssueRequest}/KittingIssueRequests/IKittingIssueRequestAppService.cs (100%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/{MaterialRequests => IssueRequest}/KittingIssueRequests/Inputs/KittingIssueRequestDetailInput.cs (100%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/{MaterialRequests => IssueRequest}/KittingIssueRequests/Inputs/KittingIssueRequestEditInput.cs (100%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/{MaterialRequests => IssueRequest}/KittingIssueRequests/Inputs/KittingIssueRequestImportInput.cs (100%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/{MaterialRequests => IssueRequest}/KittingIssueRequests/KittingIssueRequestPermissions.cs (100%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/{MaterialRequests => IssueRequests}/KittingIssueRequests/IKittingIssueRequestManager.cs (100%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/{MaterialRequests => IssueRequests}/KittingIssueRequests/IKittingIssueRequestRepository.cs (100%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/{MaterialRequests => IssueRequests}/KittingIssueRequests/KittingIssueRequest.cs (100%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/{MaterialRequests => IssueRequests}/KittingIssueRequests/KittingIssueRequestDetail.cs (100%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/{MaterialRequests => IssueRequests}/KittingIssueRequests/KittingIssueRequestManager.cs (100%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/{MaterialRequests => IssueRequests}/KittingIssueRequests/KittingIssueRequestDbContextModelCreatingExtensions.cs (100%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/{MaterialRequests => IssueRequests}/KittingIssueRequests/KittingIssueRequestEfCoreRepository.cs (100%) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/KittingIssueRequests/DTOs/KittingIssueRequestDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/DTOs/KittingIssueRequestDTO.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/KittingIssueRequests/DTOs/KittingIssueRequestDTO.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/DTOs/KittingIssueRequestDTO.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/KittingIssueRequests/DTOs/KittingIssueRequestDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/DTOs/KittingIssueRequestDetailDTO.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/KittingIssueRequests/DTOs/KittingIssueRequestDetailDTO.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/DTOs/KittingIssueRequestDetailDTO.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/KittingIssueRequests/IKittingIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/IKittingIssueRequestAppService.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/KittingIssueRequests/IKittingIssueRequestAppService.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/IKittingIssueRequestAppService.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/KittingIssueRequests/Inputs/KittingIssueRequestDetailInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestDetailInput.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/KittingIssueRequests/Inputs/KittingIssueRequestDetailInput.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestDetailInput.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/KittingIssueRequests/Inputs/KittingIssueRequestEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestEditInput.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/KittingIssueRequests/Inputs/KittingIssueRequestEditInput.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestEditInput.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/KittingIssueRequests/Inputs/KittingIssueRequestImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestImportInput.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/KittingIssueRequests/Inputs/KittingIssueRequestImportInput.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestImportInput.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/KittingIssueRequests/KittingIssueRequestPermissions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/KittingIssueRequestPermissions.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/KittingIssueRequests/KittingIssueRequestPermissions.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/KittingIssueRequestPermissions.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Win_in.Sfs.Wms.Store.Application.Contracts.csproj b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Win_in.Sfs.Wms.Store.Application.Contracts.csproj index bb287ba75..584720f92 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Win_in.Sfs.Wms.Store.Application.Contracts.csproj +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Win_in.Sfs.Wms.Store.Application.Contracts.csproj @@ -44,6 +44,7 @@ + diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/KittingIssueRequests/IKittingIssueRequestManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/IKittingIssueRequestManager.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/KittingIssueRequests/IKittingIssueRequestManager.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/IKittingIssueRequestManager.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/KittingIssueRequests/IKittingIssueRequestRepository.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/IKittingIssueRequestRepository.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/KittingIssueRequests/IKittingIssueRequestRepository.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/IKittingIssueRequestRepository.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/KittingIssueRequests/KittingIssueRequest.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequest.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/KittingIssueRequests/KittingIssueRequest.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequest.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/KittingIssueRequests/KittingIssueRequestDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequestDetail.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/KittingIssueRequests/KittingIssueRequestDetail.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequestDetail.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/KittingIssueRequests/KittingIssueRequestManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequestManager.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/KittingIssueRequests/KittingIssueRequestManager.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequestManager.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Win_in.Sfs.Wms.Store.Domain.csproj b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Win_in.Sfs.Wms.Store.Domain.csproj index 408c88456..d4079e980 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Win_in.Sfs.Wms.Store.Domain.csproj +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Win_in.Sfs.Wms.Store.Domain.csproj @@ -42,6 +42,7 @@ + diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/MaterialRequests/KittingIssueRequests/KittingIssueRequestDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequestDbContextModelCreatingExtensions.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/MaterialRequests/KittingIssueRequests/KittingIssueRequestDbContextModelCreatingExtensions.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequestDbContextModelCreatingExtensions.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/MaterialRequests/KittingIssueRequests/KittingIssueRequestEfCoreRepository.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequestEfCoreRepository.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/MaterialRequests/KittingIssueRequests/KittingIssueRequestEfCoreRepository.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequestEfCoreRepository.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Win_in.Sfs.Wms.Store.EntityFrameworkCore.csproj b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Win_in.Sfs.Wms.Store.EntityFrameworkCore.csproj index 7b2f8a553..b33a563e2 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Win_in.Sfs.Wms.Store.EntityFrameworkCore.csproj +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Win_in.Sfs.Wms.Store.EntityFrameworkCore.csproj @@ -40,6 +40,7 @@ + From 34f91a609f658ab44d8d8db4843dcf4e947410bf Mon Sep 17 00:00:00 2001 From: liuyunfeng Date: Wed, 17 Apr 2024 16:14:41 +0800 Subject: [PATCH 02/19] =?UTF-8?q?=E7=A7=BB=E5=BA=93=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=8A=A0PDA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Stores/TransferLibJobController.cs | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferLibJobController.cs diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferLibJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferLibJobController.cs new file mode 100644 index 000000000..0fcbb8ffa --- /dev/null +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferLibJobController.cs @@ -0,0 +1,102 @@ +using System; +using System.Collections.Generic; +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; + +/// +/// +/// +[ApiController] +[Route($"{PdaHostConst.ROOT_ROUTE}store/transferlib-job")] + +public class TransferLibJobController : AbpController +{ + private readonly ITransferLibJobAppService _transferLibJobAppService; + + /// + /// + /// + /// + public TransferLibJobController(ITransferLibJobAppService transferLibJobAppService) + { + _transferLibJobAppService = transferLibJobAppService; + } + + /// + /// 获取盘点任务详情 + /// + /// + /// + [HttpGet("{id}")] + public virtual async Task> GetAsync(Guid id) + { + var result = await _transferLibJobAppService.GetAsync(id).ConfigureAwait(false); + return Ok(result); + } + + /// + /// 获取列表 筛选 + /// + /// + /// + [HttpPost("list")] + public virtual async Task> GetListAsync(SfsJobRequestInputBase sfsJobDTO) + { + var list = await _transferLibJobAppService.GetPagedListByFilterAsync(sfsJobDTO, true).ConfigureAwait(false); + return list; + } + + /// + /// 获取任务数量 + /// + /// + [HttpPost("count")] + public virtual async Task> CountAsync(SfsJobRequestInputBase sfsJobDTO) + { + var count = await _transferLibJobAppService.GetCountByFilterAsync(sfsJobDTO).ConfigureAwait(false); + return Ok(count); + } + + /// + /// 完成对应的请求 + /// + /// + /// + /// + [HttpPost("complete/{id}")] + + public virtual async Task CompleteAsync(Guid id, TransferLibJobDTO jobDTO) + { + var entity = await _transferLibJobAppService.CompleteAsync(id, jobDTO).ConfigureAwait(false); + return entity; + } + + /// + /// 承接任务 + /// + /// + /// + [HttpPost("accept/{id}")] + public virtual async Task AcceptAsync(Guid id) + { + await _transferLibJobAppService.AcceptAsync(id).ConfigureAwait(false); + } + + /// + /// 取消承接任务 + /// + /// + /// + [HttpPost("cancel-accept/{id}")] + public virtual async Task CancelAcceptAsync(Guid id) + { + await _transferLibJobAppService.CancelAcceptAsync(id).ConfigureAwait(false); + } +} From 52db6151f7c7d3899f1586bfd3fb21ce42a2c967 Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Thu, 18 Apr 2024 09:11:42 +0800 Subject: [PATCH 03/19] =?UTF-8?q?=E8=A3=85=E9=85=8D=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Inputs/AssembleIssueJobEditInput.cs | 2 +- .../StorePermissionDefinitionProvider.cs | 2 +- .../AssembleIssueRequestPermissions.cs | 24 +++++++++ .../AssembleIssueRequestsPermissions.cs | 27 ---------- ...uestsDTO.cs => AssembleIssueRequestDTO.cs} | 2 +- ...TO.cs => AssembleIssueRequestDetailDTO.cs} | 2 +- .../IAssembleIssueRequestAppService.cs | 13 +++++ .../IAssembleIssueRequestsAppService.cs | 13 ----- ....cs => AssembleIssueRequestDetailInput.cs} | 2 +- ...ut.cs => AssembleIssueRequestEditInput.cs} | 4 +- ....cs => AssembleIssueRequestImportInput.cs} | 2 +- ...Sfs.Wms.Store.Application.Contracts.csproj | 4 +- ...e.cs => AssembleIssueRequestAppService.cs} | 44 ++++++++-------- ... AssembleIssueRequestAutoMapperProfile.cs} | 14 ++--- .../StoreApplicationAutoMapperProfile.cs | 2 +- ...sueRequests.cs => AssembleIssueRequest.cs} | 4 +- ...etail.cs => AssembleIssueRequestDetail.cs} | 2 +- ...ager.cs => AssembleIssueRequestManager.cs} | 20 +++---- .../IAssembleIssueRequestManager.cs | 14 +++++ ....cs => IAssembleIssueRequestRepository.cs} | 4 +- .../IAssembleIssueRequestsManager.cs | 14 ----- .../IStoreDbContext.cs | 2 +- ...equestDbContextModelCreatingExtensions.cs} | 12 ++--- .../AssembleIssueRequestEfCoreRepository.cs | 11 ++++ .../AssembleIssueRequestsEfCoreRepository.cs | 11 ---- .../StoreDbContext.cs | 2 +- .../StoreDbContextModelCreatingExtensions.cs | 2 +- .../StoreEntityFrameworkCoreModule.cs | 4 +- ... AssembleIssueRequestAutoMapperProfile.cs} | 6 +-- ...cs => AssembleIssueRequestEventHandler.cs} | 52 +++++++++---------- .../StoreEventAutoMapperProfile.cs | 2 +- 31 files changed, 159 insertions(+), 160 deletions(-) create mode 100644 be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/AssembleIssueRequestPermissions.cs delete mode 100644 be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/AssembleIssueRequestsPermissions.cs rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/DTOs/{AssembleIssueRequestsDTO.cs => AssembleIssueRequestDTO.cs} (88%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/DTOs/{AssembleIssueRequestsDetailDTO.cs => AssembleIssueRequestDetailDTO.cs} (94%) create mode 100644 be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/IAssembleIssueRequestAppService.cs delete mode 100644 be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/IAssembleIssueRequestsAppService.cs rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/{AssembleIssueRequestsDetailInput.cs => AssembleIssueRequestDetailInput.cs} (96%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/{AssembleIssueRequestsEditInput.cs => AssembleIssueRequestEditInput.cs} (75%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/{AssembleIssueRequestsImportInput.cs => AssembleIssueRequestImportInput.cs} (94%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/{AssembleIssueRequestsAppService.cs => AssembleIssueRequestAppService.cs} (88%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/{AssembleIssueRequestsAutoMapperProfile.cs => AssembleIssueRequestAutoMapperProfile.cs} (79%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/{AssembleIssueRequests.cs => AssembleIssueRequest.cs} (72%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/{AssembleIssueRequestsDetail.cs => AssembleIssueRequestDetail.cs} (96%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/{AssembleIssueRequestsManager.cs => AssembleIssueRequestManager.cs} (72%) create mode 100644 be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/IAssembleIssueRequestManager.cs rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/{IAssembleIssueRequestsRepository.cs => IAssembleIssueRequestRepository.cs} (52%) delete mode 100644 be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/IAssembleIssueRequestsManager.cs rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/{AssembleIssueRequestsDbContextModelCreatingExtensions.cs => AssembleIssueRequestDbContextModelCreatingExtensions.cs} (87%) create mode 100644 be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestEfCoreRepository.cs delete mode 100644 be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestsEfCoreRepository.cs rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/{AssembleIssueRequestsAutoMapperProfile.cs => AssembleIssueRequestAutoMapperProfile.cs} (83%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/{AssembleIssueRequestsEventHandler.cs => AssembleIssueRequestEventHandler.cs} (93%) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs index 0c6b3af6c..595f64609 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs @@ -22,7 +22,7 @@ public class AssembleIssueJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCre [Display(Name = "要货单号")] [Required(ErrorMessage = "{0}是必填项")] [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] - public string AssembleIssueRequestsNumber { get; set; } + public string AssembleIssueRequestNumber { get; set; } /// /// 叫料请求类型 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Permissions/StorePermissionDefinitionProvider.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Permissions/StorePermissionDefinitionProvider.cs index cbdab4a45..83d5fd280 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Permissions/StorePermissionDefinitionProvider.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Permissions/StorePermissionDefinitionProvider.cs @@ -28,7 +28,7 @@ public class StorePermissionDefinitionProvider : PermissionDefinitionProvider storeGroup.AddMaterialRequestPermission(); storeGroup.AddInjectionIssueRequestPermission(); storeGroup.AddKittingIssueRequestPermission(); - storeGroup.AddAssembleIssueRequestsPermission(); + storeGroup.AddAssembleIssueRequestPermission(); storeGroup.AddThirdLocationRequestPermission(); storeGroup.AddContainerRequestPermission(); storeGroup.AddIssueNotePermission(); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/AssembleIssueRequestPermissions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/AssembleIssueRequestPermissions.cs new file mode 100644 index 000000000..582e47097 --- /dev/null +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/AssembleIssueRequestPermissions.cs @@ -0,0 +1,24 @@ +using Volo.Abp.Authorization.Permissions; +using Win_in.Sfs.Wms.Store.Domain; + +namespace Win_in.Sfs.Wms.Store.Application.Contracts; + +public static class AssembleIssueRequestPermissions +{ + + public const string Default = StorePermissions.GroupName + "." + nameof(AssembleIssueRequest); + public const string Create = Default + "." + StorePermissions.CreateStr; + public const string Update = Default + "." + StorePermissions.UpdateStr; + public const string Delete = Default + "." + StorePermissions.DeleteStr; + + + public static void AddAssembleIssueRequestPermission(this PermissionGroupDefinition permissionGroup) + { + var AssembleIssueRequestPermission = permissionGroup.AddPermission(Default, StorePermissionDefinitionProvider.L(nameof(AssembleIssueRequest))); + AssembleIssueRequestPermission.AddChild(Create, StorePermissionDefinitionProvider.L(StorePermissions.CreateStr)); + AssembleIssueRequestPermission.AddChild(Update, StorePermissionDefinitionProvider.L(StorePermissions.UpdateStr)); + AssembleIssueRequestPermission.AddChild(Delete, StorePermissionDefinitionProvider.L(StorePermissions.DeleteStr)); + + + } +} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/AssembleIssueRequestsPermissions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/AssembleIssueRequestsPermissions.cs deleted file mode 100644 index 7f54997fa..000000000 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/AssembleIssueRequestsPermissions.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Volo.Abp.Authorization.Permissions; -using Win_in.Sfs.Wms.Store.Domain; - -namespace Win_in.Sfs.Wms.Store.Application.Contracts; - -public static class AssembleIssueRequestsPermissions -{ - - public const string Default = StorePermissions.GroupName + "." + nameof(AssembleIssueRequests); - public const string Create = Default + "." + StorePermissions.CreateStr; - public const string Update = Default + "." + StorePermissions.UpdateStr; - public const string Delete = Default + "." + StorePermissions.DeleteStr; - - //自动叫料申请 - public const string AutoAssembleIssueRequests = StorePermissions.GroupName + "." + nameof(AutoAssembleIssueRequests); - - public static void AddAssembleIssueRequestsPermission(this PermissionGroupDefinition permissionGroup) - { - var AssembleIssueRequestsPermission = permissionGroup.AddPermission(Default, StorePermissionDefinitionProvider.L(nameof(AssembleIssueRequests))); - AssembleIssueRequestsPermission.AddChild(Create, StorePermissionDefinitionProvider.L(StorePermissions.CreateStr)); - AssembleIssueRequestsPermission.AddChild(Update, StorePermissionDefinitionProvider.L(StorePermissions.UpdateStr)); - AssembleIssueRequestsPermission.AddChild(Delete, StorePermissionDefinitionProvider.L(StorePermissions.DeleteStr)); - - permissionGroup.AddPermission(AutoAssembleIssueRequests, StorePermissionDefinitionProvider.L(nameof(AutoAssembleIssueRequests))); - - } -} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/DTOs/AssembleIssueRequestsDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/DTOs/AssembleIssueRequestDTO.cs similarity index 88% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/DTOs/AssembleIssueRequestsDTO.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/DTOs/AssembleIssueRequestDTO.cs index 93b8b9821..de36cc057 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/DTOs/AssembleIssueRequestsDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/DTOs/AssembleIssueRequestDTO.cs @@ -2,7 +2,7 @@ using System.ComponentModel.DataAnnotations; namespace Win_in.Sfs.Wms.Store.Application.Contracts; -public class AssembleIssueRequestsDTO : SfsStoreRequestDTOBase, IHasNumber +public class AssembleIssueRequestDTO : SfsStoreRequestDTOBase, IHasNumber { /// /// 叫料类型 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/DTOs/AssembleIssueRequestsDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/DTOs/AssembleIssueRequestDetailDTO.cs similarity index 94% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/DTOs/AssembleIssueRequestsDetailDTO.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/DTOs/AssembleIssueRequestDetailDTO.cs index 0b807b179..b83de6cb9 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/DTOs/AssembleIssueRequestsDetailDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/DTOs/AssembleIssueRequestDetailDTO.cs @@ -6,7 +6,7 @@ using Win_in.Sfs.Shared.Domain.Shared; namespace Win_in.Sfs.Wms.Store.Application.Contracts; -public class AssembleIssueRequestsDetailDTO : SfsStoreDetailWithQtyDTOBase +public class AssembleIssueRequestDetailDTO : SfsStoreDetailWithQtyDTOBase { /// /// 已发数量 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/IAssembleIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/IAssembleIssueRequestAppService.cs new file mode 100644 index 000000000..1a4a83ad6 --- /dev/null +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/IAssembleIssueRequestAppService.cs @@ -0,0 +1,13 @@ +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using Volo.Abp.Application.Dtos; + +namespace Win_in.Sfs.Wms.Store.Application.Contracts; + +public interface IAssembleIssueRequestAppService + : ISfsStoreRequestMasterAppServiceBase + +{ + Task CreateAndHandleAsync(AssembleIssueRequestEditInput input); +} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/IAssembleIssueRequestsAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/IAssembleIssueRequestsAppService.cs deleted file mode 100644 index cdbf62d72..000000000 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/IAssembleIssueRequestsAppService.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; - -namespace Win_in.Sfs.Wms.Store.Application.Contracts; - -public interface IAssembleIssueRequestsAppService - : ISfsStoreRequestMasterAppServiceBase - -{ - Task CreateAndHandleAsync(AssembleIssueRequestsEditInput input); -} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestsDetailInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestDetailInput.cs similarity index 96% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestsDetailInput.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestDetailInput.cs index 4b0c679e4..11a5d2964 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestsDetailInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestDetailInput.cs @@ -5,7 +5,7 @@ using Win_in.Sfs.Shared.Domain.Shared; namespace Win_in.Sfs.Wms.Store.Application.Contracts; -public class AssembleIssueRequestsDetailInput : SfsStoreDetailWithQtyInputBase +public class AssembleIssueRequestDetailInput : SfsStoreDetailWithQtyInputBase { #region 目标库位信息 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestsEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestEditInput.cs similarity index 75% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestsEditInput.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestEditInput.cs index 1f091f3dc..3de838e38 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestsEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestEditInput.cs @@ -4,7 +4,7 @@ using Win_in.Sfs.Shared.Domain; namespace Win_in.Sfs.Wms.Store.Application.Contracts; -public class AssembleIssueRequestsEditInput : SfsStoreRequestCreateOrUpdateInputBase +public class AssembleIssueRequestEditInput : SfsStoreRequestCreateOrUpdateInputBase { #region Base @@ -24,7 +24,7 @@ public class AssembleIssueRequestsEditInput : SfsStoreRequestCreateOrUpdateInput /// 明细列表 /// [Display(Name = "明细列表")] - public List Details { get; set; } = new List(); + public List Details { get; set; } = new List(); #endregion #region Create diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestsImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestImportInput.cs similarity index 94% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestsImportInput.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestImportInput.cs index b51832e9a..6f6470dc3 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestsImportInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/AssembleIssueRequests/Inputs/AssembleIssueRequestImportInput.cs @@ -5,7 +5,7 @@ using Win_in.Sfs.Shared.Domain.Shared; namespace Win_in.Sfs.Wms.Store.Application.Contracts; [Display(Name = "叫料申请")] -public class AssembleIssueRequestsImportInput : SfsStoreImportInputBase +public class AssembleIssueRequestImportInput : SfsStoreImportInputBase { /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Win_in.Sfs.Wms.Store.Application.Contracts.csproj b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Win_in.Sfs.Wms.Store.Application.Contracts.csproj index 584720f92..4cfe35956 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Win_in.Sfs.Wms.Store.Application.Contracts.csproj +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Win_in.Sfs.Wms.Store.Application.Contracts.csproj @@ -11,10 +11,13 @@ + + + @@ -43,7 +46,6 @@ - diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestsAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAppService.cs similarity index 88% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestsAppService.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAppService.cs index 6e3f346ac..a1a23d5a5 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestsAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAppService.cs @@ -31,12 +31,12 @@ namespace Win_in.Sfs.Wms.Store.Application; /// [Authorize] [Route($"{StoreConsts.RootPath}assemble-request")] -public class AssembleIssueRequestsAppService : SfsStoreRequestAppServiceBase, - IAssembleIssueRequestsAppService +public class AssembleIssueRequestAppService : SfsStoreRequestAppServiceBase, + IAssembleIssueRequestAppService { - private readonly IAssembleIssueRequestsManager _assembleRequestManager; + private readonly IAssembleIssueRequestManager _assembleRequestManager; private readonly IItemStoreRelationAppService _itemStoreRelationApp; private readonly IAreaAppService _areaApp; private readonly ILocationAppService _locationAppService; @@ -44,9 +44,9 @@ public class AssembleIssueRequestsAppService : SfsStoreRequestAppServiceBase HandleAsync(Guid id) + public override async Task HandleAsync(Guid id) { await Task.CompletedTask.ConfigureAwait(false); return null; } [HttpPost("")] - public override async Task CreateAsync(AssembleIssueRequestsEditInput input) + public override async Task CreateAsync(AssembleIssueRequestEditInput input) { foreach (var item in input.Details) { @@ -113,11 +113,11 @@ public class AssembleIssueRequestsAppService : SfsStoreRequestAppServiceBase(input); + var entity = ObjectMapper.Map(input); var result = await _assembleRequestManager.CreateByNumberAsync(entity).ConfigureAwait(false); - var dto = ObjectMapper.Map(result); + var dto = ObjectMapper.Map(result); return dto; } @@ -127,7 +127,7 @@ public class AssembleIssueRequestsAppService : SfsStoreRequestAppServiceBase /// /// - private async Task SetRequestAutoPropertiesAsync(AssembleIssueRequestsEditInput entity) + private async Task SetRequestAutoPropertiesAsync(AssembleIssueRequestEditInput entity) { var tranType = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.Issue, EnumTransSubType.None).ConfigureAwait(false); Check.NotNull(tranType, "事务类型", "事务类型不存在"); @@ -139,7 +139,7 @@ public class AssembleIssueRequestsAppService : SfsStoreRequestAppServiceBase CreateAndHandleAsync(AssembleIssueRequestsEditInput input) + public async Task CreateAndHandleAsync(AssembleIssueRequestEditInput input) { var assembleRequestDto = await CreateAsync(input).ConfigureAwait(false); @@ -157,8 +157,8 @@ public class AssembleIssueRequestsAppService : SfsStoreRequestAppServiceBase /// /// - protected override async Task> ImportProcessingEntityAsync( - Dictionary dictionary) + protected override async Task> ImportProcessingEntityAsync( + Dictionary dictionary) { var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key); @@ -200,7 +200,7 @@ public class AssembleIssueRequestsAppService : SfsStoreRequestAppServiceBase /// /// - protected override async Task ValidateImportModelAsync(AssembleIssueRequestsImportInput model, + protected override async Task ValidateImportModelAsync(AssembleIssueRequestImportInput model, List validationRresult) { _ = new Dictionary(); @@ -214,7 +214,7 @@ public class AssembleIssueRequestsAppService : SfsStoreRequestAppServiceBase ValidateImportEntities(Dictionary dict) + protected override async Task ValidateImportEntities(Dictionary dict) { foreach (var entity in dict.Keys) { @@ -233,7 +233,7 @@ public class AssembleIssueRequestsAppService : SfsStoreRequestAppServiceBase validationRresult) { var area = await _areaApp.GetByCodeAsync(importInput.FromLocationArea).ConfigureAwait(false); @@ -243,7 +243,7 @@ public class AssembleIssueRequestsAppService : SfsStoreRequestAppServiceBase validationRresult) { var itemStoreRelation = await _itemStoreRelationApp @@ -276,7 +276,7 @@ public class AssembleIssueRequestsAppService : SfsStoreRequestAppServiceBase CheckItemBasicAsync(AssembleIssueRequestsImportInput importInput, + protected async Task CheckItemBasicAsync(AssembleIssueRequestImportInput importInput, List validationRresult) { var item = await _itemBasicAppService.GetByCodeAsync(importInput.ItemCode).ConfigureAwait(false); @@ -293,7 +293,7 @@ public class AssembleIssueRequestsAppService : SfsStoreRequestAppServiceBase CheckLocationAsync(AssembleIssueRequestsImportInput importInput, + protected async Task CheckLocationAsync(AssembleIssueRequestImportInput importInput, List validationRresult) { var location = await _locationAppService.GetByCodeAsync(importInput.ToLocationCode).ConfigureAwait(false); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestsAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAutoMapperProfile.cs similarity index 79% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestsAutoMapperProfile.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAutoMapperProfile.cs index a53b2f166..5393620f0 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestsAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAutoMapperProfile.cs @@ -8,22 +8,22 @@ namespace Win_in.Sfs.Wms.Store.Application; public partial class StoreApplicationAutoMapperProfile : Profile { - private void AssembleIssueRequestsAutoMapperProfile() + private void AssembleIssueRequestAutoMapperProfile() { - CreateMap() + CreateMap() .ReverseMap(); - CreateMap() + CreateMap() .ReverseMap(); - CreateMap() + CreateMap() .IgnoreAuditedObjectProperties() .Ignore(x => x.MasterID) .Ignore(x => x.TenantId) .Ignore(x => x.Number) .Ignore(x => x.Id); - CreateMap() + CreateMap() .IgnoreAuditedObjectProperties() .ForMember(x => x.Type, y => y.MapFrom(t => t.Type.ToString())) .Ignore(x => x.UseOnTheWayLocation) @@ -37,7 +37,7 @@ public partial class StoreApplicationAutoMapperProfile : Profile .Ignore(x => x.ActiveDate) .Ignore(x => x.Remark); - CreateMap() + CreateMap() .IgnoreAuditedObjectProperties() .ForMember(x => x.Status, y => y.MapFrom(t => EnumStatus.Open)) .Ignore(x => x.ToLocationErpCode) @@ -58,7 +58,7 @@ public partial class StoreApplicationAutoMapperProfile : Profile .Ignore(x => x.Number) .Ignore(x => x.Id) .Ignore(x => x.Remark); - CreateMap() + CreateMap() .IgnoreAuditedObjectProperties() .Ignore(x => x.RequestStatus) .Ignore(x => x.ConcurrencyStamp).Ignore(x => x.Id); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/StoreApplicationAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/StoreApplicationAutoMapperProfile.cs index 93e16ddc1..5e2ebfd9b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/StoreApplicationAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/StoreApplicationAutoMapperProfile.cs @@ -16,7 +16,7 @@ public partial class StoreApplicationAutoMapperProfile : Profile MaterialRequestAutoMapperProfile(); InjectionIssueRequestAutoMapperProfile(); KittingIssueRequestAutoMapperProfile(); - AssembleIssueRequestsAutoMapperProfile(); + AssembleIssueRequestAutoMapperProfile(); ThirdLocationRequestAutoMapperProfile(); ProductionReturnRequestAutoMapperProfile(); ProductReceiptRequestAutoMapperProfile(); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequests.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequest.cs similarity index 72% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequests.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequest.cs index fc73fe2a1..261db709a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequests.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequest.cs @@ -7,7 +7,7 @@ namespace Win_in.Sfs.Wms.Store.Domain; /// /// 装配叫料申请 /// -public class AssembleIssueRequests : SfsStoreRequestAggregateRootBase +public class AssembleIssueRequest : SfsStoreRequestAggregateRootBase { /// /// 叫料类型 @@ -25,5 +25,5 @@ public class AssembleIssueRequests : SfsStoreRequestAggregateRootBase [IgnoreUpdate] - public override List Details { get; set; } = new List(); + public override List Details { get; set; } = new List(); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestsDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestDetail.cs similarity index 96% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestsDetail.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestDetail.cs index 6322c1180..eef610f9d 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestsDetail.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestDetail.cs @@ -9,7 +9,7 @@ namespace Win_in.Sfs.Wms.Store.Domain; /// /// 装配叫料申请明细 /// -public class AssembleIssueRequestsDetail : SfsStoreDetailWithQtyEntityBase, IHasToLocation +public class AssembleIssueRequestDetail : SfsStoreDetailWithQtyEntityBase, IHasToLocation { #region 目标库位信息 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestsManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestManager.cs similarity index 72% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestsManager.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestManager.cs index 978ab2d1e..c1e38f15f 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestsManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestManager.cs @@ -9,15 +9,15 @@ using static Win_in.Sfs.Wms.Store.Domain.Shared.StoreSettings; namespace Win_in.Sfs.Wms.Store.Domain; -public class AssembleIssueRequestsManager - : SfsStoreRequestManagerBase - , IAssembleIssueRequestsManager +public class AssembleIssueRequestManager + : SfsStoreRequestManagerBase + , IAssembleIssueRequestManager { - private readonly IAssembleIssueRequestsRepository _repository; + private readonly IAssembleIssueRequestRepository _repository; - public AssembleIssueRequestsManager( - IAssembleIssueRequestsRepository repository + public AssembleIssueRequestManager( + IAssembleIssueRequestRepository repository ) : base(repository) { @@ -34,14 +34,14 @@ public class AssembleIssueRequestsManager /// /// /// - public virtual async Task CreateByNumberAsync(AssembleIssueRequests entity) + public virtual async Task CreateByNumberAsync(AssembleIssueRequest entity) { - var number = string.IsNullOrEmpty(entity.Number) ? await GenerateNumberAsync(nameof(AssembleIssueRequests), entity.ActiveDate).ConfigureAwait(false) : entity.Number; + var number = string.IsNullOrEmpty(entity.Number) ? await GenerateNumberAsync(nameof(AssembleIssueRequest), entity.ActiveDate).ConfigureAwait(false) : entity.Number; entity.SetIdAndNumberWithDetails(GuidGenerator, number); entity.Submit(); entity.Agree(); entity.RequestStatus = EnumRequestStatus.Partial; - await LocalEventBus.PublishAsync(new SfsHandledEntityEventData(entity), false) + await LocalEventBus.PublishAsync(new SfsHandledEntityEventData(entity), false) .ConfigureAwait(false); await _repository.InsertAsync(entity).ConfigureAwait(false); return entity; @@ -63,7 +63,7 @@ public class AssembleIssueRequestsManager /// /// 执行导入 /// - public virtual async Task ImportDataAsync(List mergeEntities, List deleteEntities = null) + public virtual async Task ImportDataAsync(List mergeEntities, List deleteEntities = null) { if (deleteEntities != null && deleteEntities.Count > 0) { diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/IAssembleIssueRequestManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/IAssembleIssueRequestManager.cs new file mode 100644 index 000000000..60460c17e --- /dev/null +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/IAssembleIssueRequestManager.cs @@ -0,0 +1,14 @@ +using System.Threading.Tasks; + +namespace Win_in.Sfs.Wms.Store.Domain; + +using Win_in.Sfs.Shared.Domain; + +public interface IAssembleIssueRequestManager : ISfsStoreRequestManager, + IBulkImportService +{ + Task CompleteAsync(string number); + + Task CreateByNumberAsync(AssembleIssueRequest entity); + +} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/IAssembleIssueRequestsRepository.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/IAssembleIssueRequestRepository.cs similarity index 52% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/IAssembleIssueRequestsRepository.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/IAssembleIssueRequestRepository.cs index 0c423ee56..16e83df77 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/IAssembleIssueRequestsRepository.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/IAssembleIssueRequestRepository.cs @@ -2,8 +2,8 @@ using Win_in.Sfs.Shared.Domain; namespace Win_in.Sfs.Wms.Store.Domain; -public interface IAssembleIssueRequestsRepository : ISfsStoreRepositoryBase, - ISfsBulkRepositoryBase +public interface IAssembleIssueRequestRepository : ISfsStoreRepositoryBase, + ISfsBulkRepositoryBase { } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/IAssembleIssueRequestsManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/IAssembleIssueRequestsManager.cs deleted file mode 100644 index c834d5dab..000000000 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/AssembleIssueRequests/IAssembleIssueRequestsManager.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.Threading.Tasks; - -namespace Win_in.Sfs.Wms.Store.Domain; - -using Win_in.Sfs.Shared.Domain; - -public interface IAssembleIssueRequestsManager : ISfsStoreRequestManager, - IBulkImportService -{ - Task CompleteAsync(string number); - - Task CreateByNumberAsync(AssembleIssueRequests entity); - -} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/IStoreDbContext.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/IStoreDbContext.cs index 75be7af00..87cc083da 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/IStoreDbContext.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/IStoreDbContext.cs @@ -23,7 +23,7 @@ public interface IStoreDbContext : IEfCoreDbContext public DbSet MaterialRequests { get; } public DbSet InjectionIssueRequests { get; } public DbSet KittingIssueRequests { get; } - public DbSet AssembleIssueRequests { get; } + public DbSet AssembleIssueRequest { get; } public DbSet ThirdLocationRequests { get; } public DbSet ContainerRequests { get; } public DbSet DeliverRequests { get; } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestsDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestDbContextModelCreatingExtensions.cs similarity index 87% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestsDbContextModelCreatingExtensions.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestDbContextModelCreatingExtensions.cs index 580ea86ba..2c65665ff 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestsDbContextModelCreatingExtensions.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestDbContextModelCreatingExtensions.cs @@ -5,14 +5,14 @@ using Win_in.Sfs.Wms.Store.Domain; namespace Win_in.Sfs.Wms.Store.EntityFrameworkCore; -public static class AssembleIssueRequestsDbContextModelCreatingExtensions +public static class AssembleIssueRequestDbContextModelCreatingExtensions { - public static void ConfigureAssembleIssueRequests(this ModelBuilder builder, StoreModelBuilderConfigurationOptions options) + public static void ConfigureAssembleIssueRequest(this ModelBuilder builder, StoreModelBuilderConfigurationOptions options) { - builder.Entity(b => + builder.Entity(b => { //Configure table & schema name - b.ToTable(options.TablePrefix + nameof(AssembleIssueRequests), options.Schema); + b.ToTable(options.TablePrefix + nameof(AssembleIssueRequest), options.Schema); //Configure ABP properties b.ConfigureByConvention(); //Configure Sfs base properties @@ -29,10 +29,10 @@ public static class AssembleIssueRequestsDbContextModelCreatingExtensions b.HasIndex(q => new { q.Number }).IsUnique(); }); - builder.Entity(b => + builder.Entity(b => { //Configure table & schema name - b.ToTable(options.TablePrefix + nameof(AssembleIssueRequestsDetail), options.Schema); + b.ToTable(options.TablePrefix + nameof(AssembleIssueRequestDetail), options.Schema); //Configure ABP properties b.ConfigureByConvention(); //Configure Sfs base properties diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestEfCoreRepository.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestEfCoreRepository.cs new file mode 100644 index 000000000..419138495 --- /dev/null +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestEfCoreRepository.cs @@ -0,0 +1,11 @@ +using Volo.Abp.EntityFrameworkCore; +using Win_in.Sfs.Wms.Store.Domain; + +namespace Win_in.Sfs.Wms.Store.EntityFrameworkCore; + +public class AssembleIssueRequestEfCoreRepository : SfsStoreEfCoreRepositoryBase, IAssembleIssueRequestRepository +{ + public AssembleIssueRequestEfCoreRepository(IDbContextProvider dbContextProvider) : base(dbContextProvider) + { + } +} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestsEfCoreRepository.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestsEfCoreRepository.cs deleted file mode 100644 index e810335db..000000000 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/AssembleIssueRequests/AssembleIssueRequestsEfCoreRepository.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Volo.Abp.EntityFrameworkCore; -using Win_in.Sfs.Wms.Store.Domain; - -namespace Win_in.Sfs.Wms.Store.EntityFrameworkCore; - -public class AssembleIssueRequestsEfCoreRepository : SfsStoreEfCoreRepositoryBase, IAssembleIssueRequestsRepository -{ - public AssembleIssueRequestsEfCoreRepository(IDbContextProvider dbContextProvider) : base(dbContextProvider) - { - } -} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContext.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContext.cs index 344742391..5dc49b81f 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContext.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContext.cs @@ -23,7 +23,7 @@ public class StoreDbContext : AbpDbContext, IStoreDbContext public DbSet MaterialRequests { get; set; } public DbSet InjectionIssueRequests { get; set; } public DbSet KittingIssueRequests { get; set; } - public DbSet AssembleIssueRequests { get; set; } + public DbSet AssembleIssueRequest { get; set; } public DbSet ThirdLocationRequests { get; set; } public DbSet ContainerRequests { get; set; } public DbSet DeliverRequests { get; set; } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContextModelCreatingExtensions.cs index 9b2ae9ab7..c722a0720 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContextModelCreatingExtensions.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContextModelCreatingExtensions.cs @@ -49,7 +49,7 @@ public static class StoreDbContextModelCreatingExtensions builder.ConfigureMaterialRequest(options); builder.ConfigureInjectionIssueRequest(options); builder.ConfigureKittingIssueRequest(options); - builder.ConfigureAssembleIssueRequests(options); + builder.ConfigureAssembleIssueRequest(options); builder.ConfigureThirdLocationRequest(options); builder.ConfigureDeliverRequest(options); builder.ConfigureContainerRequest(options); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs index ddaafd96c..7c52760a3 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs @@ -62,7 +62,7 @@ public class StoreEntityFrameworkCoreModule : AbpModule context.Services.AddTransient(); context.Services.AddTransient(); context.Services.AddTransient(); - context.Services.AddTransient(); + context.Services.AddTransient(); context.Services.AddTransient(); context.Services.AddTransient(); context.Services.AddTransient(); @@ -215,7 +215,7 @@ public class StoreEntityFrameworkCoreModule : AbpModule orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Details)); options.Entity(orderOptions => orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Details)); - options.Entity(orderOptions => + options.Entity(orderOptions => orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Details)); options.Entity(orderOptions => orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Details)); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/AssembleIssueRequestsAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/AssembleIssueRequestAutoMapperProfile.cs similarity index 83% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/AssembleIssueRequestsAutoMapperProfile.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/AssembleIssueRequestAutoMapperProfile.cs index 19bb2108f..11ae4c359 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/AssembleIssueRequestsAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/AssembleIssueRequestAutoMapperProfile.cs @@ -9,10 +9,10 @@ namespace Win_in.Sfs.Wms.Store.Event; public partial class StoreEventAutoMapperProfile : Profile { - private void AssembleIssueRequestsAutoMapperProfile() + private void AssembleIssueRequestAutoMapperProfile() { - CreateMap() - .ForMember(x => x.AssembleIssueRequestsNumber, y => y.MapFrom(d => d.Number)) + CreateMap() + .ForMember(x => x.AssembleIssueRequestNumber, y => y.MapFrom(d => d.Number)) .ForMember(x => x.RequestType, y => y.MapFrom(d => d.Type)) .Ignore(x => x.WarehouseCode) .Ignore(x => x.UpStreamJobNumber) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/AssembleIssueRequestsEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/AssembleIssueRequestEventHandler.cs similarity index 93% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/AssembleIssueRequestsEventHandler.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/AssembleIssueRequestEventHandler.cs index 97e9134d3..db69bb4ca 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/AssembleIssueRequestsEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/AssembleIssueRequestEventHandler.cs @@ -17,13 +17,13 @@ using Win_in.Sfs.Wms.Store.Domain.Shared; namespace Win_in.Sfs.Wms.Store.Event.BusinessRequest; -public class AssembleIssueRequestsEventHandler +public class AssembleIssueRequestEventHandler : StoreEventHandlerBase - , ILocalEventHandler> - , ILocalEventHandler> - , ILocalEventHandler> - , ILocalEventHandler> - , ILocalEventHandler>> + , ILocalEventHandler> + , ILocalEventHandler> + , ILocalEventHandler> + , ILocalEventHandler> + , ILocalEventHandler>> { private readonly IAssembleIssueJobAppService _assembleJobAppService; private readonly IProductionLineAppService _productionLineAppService; @@ -31,7 +31,7 @@ public class AssembleIssueRequestsEventHandler private readonly ILocationAppService _locationAppService; private readonly IBalanceAppService _balanceAppService; - public AssembleIssueRequestsEventHandler( + public AssembleIssueRequestEventHandler( IAssembleIssueJobAppService assembleJobAppService, IProductionLineAppService productionLineAppService, ILocationAppService locationAppService, IBalanceAppService balanceAppService, IProductionLineItemAppService productionLineItemAppService) @@ -47,7 +47,7 @@ public class AssembleIssueRequestsEventHandler /// 创建后 /// /// Event data - public virtual async Task HandleEventAsync(SfsCreatedEntityEventData eventData) + public virtual async Task HandleEventAsync(SfsCreatedEntityEventData eventData) { await Task.CompletedTask.ConfigureAwait(false); } @@ -56,7 +56,7 @@ public class AssembleIssueRequestsEventHandler /// 批量创建后 /// /// Event data - public virtual async Task HandleEventAsync(SfsCreatedEntityEventData> eventData) + public virtual async Task HandleEventAsync(SfsCreatedEntityEventData> eventData) { await Task.CompletedTask.ConfigureAwait(false); } @@ -66,7 +66,7 @@ public class AssembleIssueRequestsEventHandler /// /// /// - public virtual async Task HandleEventAsync(SfsHandledEntityEventData eventData) + public virtual async Task HandleEventAsync(SfsHandledEntityEventData eventData) { var entity = eventData.Entity; @@ -93,7 +93,7 @@ public class AssembleIssueRequestsEventHandler /// /// /// - public virtual async Task HandleEventAsync(SfsAbortedEntityEventData eventData) + public virtual async Task HandleEventAsync(SfsAbortedEntityEventData eventData) { await Task.CompletedTask.ConfigureAwait(false); } @@ -103,10 +103,10 @@ public class AssembleIssueRequestsEventHandler /// /// /// - public virtual async Task HandleEventAsync(SfsCompletedEntityEventData eventData) + public virtual async Task HandleEventAsync(SfsCompletedEntityEventData eventData) { _ = eventData.Entity; - // await _assembleJobAppService.CompleteByAssembleIssueRequestsAsync(entity.Number); + // await _assembleJobAppService.CompleteByAssembleIssueRequestAsync(entity.Number); await Task.CompletedTask.ConfigureAwait(false); } @@ -122,7 +122,7 @@ public class AssembleIssueRequestsEventHandler /// /// private async Task> CreateAssembleIssueJobWithQtyTypeAsync - (AssembleIssueRequests assembleRequest) + (AssembleIssueRequest assembleRequest) { var jobs = new List(); @@ -201,11 +201,11 @@ public class AssembleIssueRequestsEventHandler /// /// private async Task BuildAssembleIssueJobCreateInputWithQtyTypeAsync( - AssembleIssueRequests assembleRequest, + AssembleIssueRequest assembleRequest, LocationDTO fromLocation) { AssembleIssueJobEditInput job; - job = ObjectMapper.Map(assembleRequest); + job = ObjectMapper.Map(assembleRequest); job.JobType = EnumJobType.IssueJob; job.JobStatus = EnumJobStatus.Open; job.WorkGroupCode = fromLocation.WorkGroupCode; @@ -216,7 +216,7 @@ public class AssembleIssueRequestsEventHandler job.Worker = "admin"; } - job.AssembleIssueRequestsNumber = assembleRequest.Number; + job.AssembleIssueRequestNumber = assembleRequest.Number; await Task.CompletedTask.ConfigureAwait(false); @@ -232,8 +232,8 @@ public class AssembleIssueRequestsEventHandler /// /// private async Task> CreateAssembleIssueJobDetailInputsWithQtyTypeAsync( - AssembleIssueRequests assembleRequest, - AssembleIssueRequestsDetail assembleRequestDetail, string toLocationGroupCode) + AssembleIssueRequest assembleRequest, + AssembleIssueRequestDetail assembleRequestDetail, string toLocationGroupCode) { var jobDetails = new List(); @@ -296,7 +296,7 @@ public class AssembleIssueRequestsEventHandler /// /// private async Task BuildAssembleIssueJobDetailWithQtyTypeAsync( - AssembleIssueRequestsDetail assembleRequestDetail, BalanceDTO balance, string toLocationGroupCode) + AssembleIssueRequestDetail assembleRequestDetail, BalanceDTO balance, string toLocationGroupCode) { //ProductionLineDTO prodLine = await _productionLineAppService.GetByLocationGroupCodeAsync(toLocationGroupCode).ConfigureAwait(false); @@ -343,7 +343,7 @@ public class AssembleIssueRequestsEventHandler /// /// private async Task> CreateAssembleIssueJobWithBoxQtyTypeAsync - (AssembleIssueRequests assembleRequest) + (AssembleIssueRequest assembleRequest) { var inputJobs = new List(); var inputExpectOutEditInput = new ExpectOutEditInput(); @@ -418,16 +418,16 @@ public class AssembleIssueRequestsEventHandler /// /// private async Task BuildAssembleIssueJobCreateInputWithBoxQtyTypeAsync( - AssembleIssueRequests assembleRequest, - AssembleIssueRequestsDetail assembleRequestDetail, BalanceDTO balanceDtos) + AssembleIssueRequest assembleRequest, + AssembleIssueRequestDetail assembleRequestDetail, BalanceDTO balanceDtos) { - var job = ObjectMapper.Map(assembleRequest); + var job = ObjectMapper.Map(assembleRequest); job.JobType = EnumJobType.IssueJob; job.JobStatus = EnumJobStatus.Open; job.WorkGroupCode = assembleRequestDetail.ToLocationGroup; job.WarehouseCode = assembleRequestDetail.ToWarehouseCode; job.Worker = assembleRequest.Worker; - job.AssembleIssueRequestsNumber = assembleRequest.Number; + job.AssembleIssueRequestNumber = assembleRequest.Number; job.Details.Add(await BuildAssembleIssueJobDetailWithBoxQtyTypeAsync(assembleRequestDetail, balanceDtos) .ConfigureAwait(false)); @@ -445,7 +445,7 @@ public class AssembleIssueRequestsEventHandler /// /// private async Task BuildAssembleIssueJobDetailWithBoxQtyTypeAsync( - AssembleIssueRequestsDetail assembleRequestDetail, BalanceDTO balance) + AssembleIssueRequestDetail assembleRequestDetail, BalanceDTO balance) { var detail = new AssembleIssueJobDetailInput(); detail.RequestLocationCode = assembleRequestDetail.ToLocationCode; diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/StoreEventAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/StoreEventAutoMapperProfile.cs index bd62ca1cb..81c59c7e2 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/StoreEventAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/StoreEventAutoMapperProfile.cs @@ -80,7 +80,7 @@ public partial class StoreEventAutoMapperProfile : Profile MaterialRequestAutoMapperProfile(); InjectionIssueRequestAutoMapperProfile(); KittingIssueRequestAutoMapperProfile(); - AssembleIssueRequestsAutoMapperProfile(); + AssembleIssueRequestAutoMapperProfile(); ThirdLocationRequestAutoMapperProfile(); ProductionReturnRequestAutoMapperProfile(); ProductionReturnNoteAutoMapperProfile(); From 9cc823a2e9044c6e6d5acd4bec3bdd656aaef1fe Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Thu, 18 Apr 2024 09:38:20 +0800 Subject: [PATCH 04/19] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=96=B7=E6=B6=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IStoreDbContext.cs | 6 ++++++ ...sueRequestDbContextModelCreatingExtensions.cs | 0 .../CoatingIssueRequestEfCoreRepository.cs | 0 .../StoreDbContext.cs | 12 +++++++++--- .../StoreDbContextModelCreatingExtensions.cs | 16 ++++++++++------ .../StoreEntityFrameworkCoreModule.cs | 2 ++ 6 files changed, 27 insertions(+), 9 deletions(-) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/{CoatingIssueRequest => CoatingIssueRequests}/CoatingIssueRequestDbContextModelCreatingExtensions.cs (100%) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/{CoatingIssueRequest => CoatingIssueRequests}/CoatingIssueRequestEfCoreRepository.cs (100%) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/IStoreDbContext.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/IStoreDbContext.cs index 87cc083da..ab86c5fa3 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/IStoreDbContext.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/IStoreDbContext.cs @@ -2,6 +2,9 @@ using Microsoft.EntityFrameworkCore; using Volo.Abp.Data; using Volo.Abp.EntityFrameworkCore; using Win_in.Sfs.Wms.Store.Domain; +using Win_in.Sfs.Wms.Store.Jobs.IssueJobs; +using Win_in.Sfs.Wms.Store.Notes.IssueNotes; +using Win_in.Sfs.Wms.Store.Requests.MaterialRequests; namespace Win_in.Sfs.Wms.Store.EntityFrameworkCore; @@ -23,6 +26,7 @@ public interface IStoreDbContext : IEfCoreDbContext public DbSet MaterialRequests { get; } public DbSet InjectionIssueRequests { get; } public DbSet KittingIssueRequests { get; } + public DbSet CoatingIssueRequests { get; } public DbSet AssembleIssueRequest { get; } public DbSet ThirdLocationRequests { get; } public DbSet ContainerRequests { get; } @@ -82,6 +86,7 @@ public interface IStoreDbContext : IEfCoreDbContext public DbSet InjectionIssueNotes { get; } public DbSet AssembleIssueNotes { get; } public DbSet KittingIssueNotes { get; } + public DbSet CoatingIssueNotes { get; } public DbSet ThirdLocationNotes { get; } public DbSet ContainerNotes { get; } public DbSet UnplannedReceiptNotes { get; } @@ -111,6 +116,7 @@ public interface IStoreDbContext : IEfCoreDbContext public DbSet InjectionIssueJobs { get; } public DbSet AssembleIssueJobs { get; } public DbSet KittingIssueJobs { get; } + public DbSet CoatingIssueJobs { get; } public DbSet ThirdLocationJobs { get; } public DbSet ContainerJobs { get; } public DbSet DeliverJobs { get; } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/CoatingIssueRequest/CoatingIssueRequestDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/CoatingIssueRequests/CoatingIssueRequestDbContextModelCreatingExtensions.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/CoatingIssueRequest/CoatingIssueRequestDbContextModelCreatingExtensions.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/CoatingIssueRequests/CoatingIssueRequestDbContextModelCreatingExtensions.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/CoatingIssueRequest/CoatingIssueRequestEfCoreRepository.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/CoatingIssueRequests/CoatingIssueRequestEfCoreRepository.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/CoatingIssueRequest/CoatingIssueRequestEfCoreRepository.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Requests/IssueRequests/CoatingIssueRequests/CoatingIssueRequestEfCoreRepository.cs diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContext.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContext.cs index 5dc49b81f..8a7c13953 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContext.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContext.cs @@ -3,6 +3,9 @@ using Volo.Abp.Data; using Volo.Abp.EntityFrameworkCore; using Win_in.Sfs.Wms.Store.Domain; using Win_in.Sfs.Wms.Store.Equipments; +using Win_in.Sfs.Wms.Store.Jobs.IssueJobs; +using Win_in.Sfs.Wms.Store.Notes.IssueNotes; +using Win_in.Sfs.Wms.Store.Requests.MaterialRequests; namespace Win_in.Sfs.Wms.Store.EntityFrameworkCore; @@ -23,6 +26,7 @@ public class StoreDbContext : AbpDbContext, IStoreDbContext public DbSet MaterialRequests { get; set; } public DbSet InjectionIssueRequests { get; set; } public DbSet KittingIssueRequests { get; set; } + public DbSet CoatingIssueRequests { get; set; } public DbSet AssembleIssueRequest { get; set; } public DbSet ThirdLocationRequests { get; set; } public DbSet ContainerRequests { get; set; } @@ -82,6 +86,7 @@ public class StoreDbContext : AbpDbContext, IStoreDbContext public DbSet InjectionIssueNotes { get; set; } public DbSet AssembleIssueNotes { get; set; } public DbSet KittingIssueNotes { get; set; } + public DbSet CoatingIssueNotes { get; set; } public DbSet ThirdLocationNotes { get; set; } public DbSet ContainerNotes { get; set; } public DbSet UnplannedReceiptNotes { get; set; } @@ -109,9 +114,10 @@ public class StoreDbContext : AbpDbContext, IStoreDbContext public DbSet PutawayJobs { get; set; } public DbSet IssueJobs { get; set; } public DbSet InjectionIssueJobs { get; set; } - public DbSet AssembleIssueJobs { get; set; } - - public DbSet KittingIssueJobs { get; set; } public DbSet ThirdLocationJobs { get; set; } + public DbSet AssembleIssueJobs { get; set; } + public DbSet KittingIssueJobs { get; set; } + public DbSet CoatingIssueJobs { get; set; } + public DbSet ThirdLocationJobs { get; set; } public DbSet ContainerJobs { get; set; } public DbSet DeliverJobs { get; set; } public DbSet JisDeliverJobs { get; set; } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContextModelCreatingExtensions.cs index c722a0720..964924518 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContextModelCreatingExtensions.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreDbContextModelCreatingExtensions.cs @@ -49,6 +49,7 @@ public static class StoreDbContextModelCreatingExtensions builder.ConfigureMaterialRequest(options); builder.ConfigureInjectionIssueRequest(options); builder.ConfigureKittingIssueRequest(options); + builder.ConfigureCoatingIssueRequest(options); builder.ConfigureAssembleIssueRequest(options); builder.ConfigureThirdLocationRequest(options); builder.ConfigureDeliverRequest(options); @@ -62,10 +63,9 @@ public static class StoreDbContextModelCreatingExtensions builder.ConfigurePutawayRequest(options); builder.ConfigureScrapRequest(options); builder.ConfigureCountAdjustRequest(options); - builder.ConfigureWipWarehouseAdjustRequest(options); - builder.ConfigureCoatingIssueNote(options); - builder.ConfigureCoatingIssueRequest(options); - builder.ConfigureCoatingIssueJob(options); + builder.ConfigureWipWarehouseAdjustRequest(options); + + #endregion #region Notes @@ -88,7 +88,9 @@ public static class StoreDbContextModelCreatingExtensions builder.ConfigureIssueNote(options); builder.ConfigureInjectionIssueNote(options); builder.ConfigureAssembleIssueNote(options); - builder.ConfigureKittingIssueNote(options); builder.ConfigureThirdLocationNote(options); + builder.ConfigureKittingIssueNote(options); + builder.ConfigureCoatingIssueNote(options); + builder.ConfigureThirdLocationNote(options); builder.ConfigureContainerNote(options); builder.ConfigureUnplannedReceiptNote(options); builder.ConfigureUnplannedIssueNote(options); @@ -120,7 +122,9 @@ public static class StoreDbContextModelCreatingExtensions builder.ConfigureIssueJob(options); builder.ConfigureInjectionIssueJob(options); builder.ConfigureAssembleIssueJob(options); - builder.ConfigureKittingIssueJob(options); builder.ConfigureThirdLocationJob(options); + builder.ConfigureKittingIssueJob(options); + builder.ConfigureCoatingIssueJob(options); + builder.ConfigureThirdLocationJob(options); builder.ConfigureContainerJob(options); builder.ConfigureDeliverJob(options); builder.ConfigureJisDeliverJob(options); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs index 7c52760a3..04a55f18b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs @@ -215,6 +215,8 @@ public class StoreEntityFrameworkCoreModule : AbpModule orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Details)); options.Entity(orderOptions => orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Details)); + options.Entity(orderOptions => + orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Details)); options.Entity(orderOptions => orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Details)); options.Entity(orderOptions => From c7d0d2c6d799090135ccaa59ab53f44d7ff23207 Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Thu, 18 Apr 2024 09:55:14 +0800 Subject: [PATCH 05/19] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...lRequestEventHandler.cs => CoatingIssueRequestEventHandler.cs} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/{CoatingMaterialRequestEventHandler.cs => CoatingIssueRequestEventHandler.cs} (100%) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/CoatingMaterialRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/CoatingIssueRequestEventHandler.cs similarity index 100% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/CoatingMaterialRequestEventHandler.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/CoatingIssueRequestEventHandler.cs From ca2894fefd8610bf562d925ad2a7307204c04ec4 Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Thu, 18 Apr 2024 10:09:41 +0800 Subject: [PATCH 06/19] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs | 2 +- .../Requests/AssembleIssueRequestAutoMapperProfile.cs | 2 +- .../Requests/AssembleIssueRequestEventHandler.cs | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs index 595f64609..0130ce68d 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs @@ -22,7 +22,7 @@ public class AssembleIssueJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCre [Display(Name = "要货单号")] [Required(ErrorMessage = "{0}是必填项")] [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] - public string AssembleIssueRequestNumber { get; set; } + public string AssembleRequestNumber { get; set; } /// /// 叫料请求类型 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/AssembleIssueRequestAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/AssembleIssueRequestAutoMapperProfile.cs index 11ae4c359..02237495c 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/AssembleIssueRequestAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Requests/AssembleIssueRequestAutoMapperProfile.cs @@ -12,7 +12,7 @@ public partial class StoreEventAutoMapperProfile : Profile private void AssembleIssueRequestAutoMapperProfile() { CreateMap() - .ForMember(x => x.AssembleIssueRequestNumber, y => y.MapFrom(d => d.Number)) + .ForMember(x => x.AssembleRequestNumber, y => y.MapFrom(d => d.Number)) .ForMember(x => x.RequestType, y => y.MapFrom(d => d.Type)) .Ignore(x => x.WarehouseCode) .Ignore(x => x.UpStreamJobNumber) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/AssembleIssueRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/AssembleIssueRequestEventHandler.cs index db69bb4ca..01990dc2b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/AssembleIssueRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/AssembleIssueRequestEventHandler.cs @@ -216,7 +216,7 @@ public class AssembleIssueRequestEventHandler job.Worker = "admin"; } - job.AssembleIssueRequestNumber = assembleRequest.Number; + job.AssembleRequestNumber = assembleRequest.Number; await Task.CompletedTask.ConfigureAwait(false); @@ -427,7 +427,7 @@ public class AssembleIssueRequestEventHandler job.WorkGroupCode = assembleRequestDetail.ToLocationGroup; job.WarehouseCode = assembleRequestDetail.ToWarehouseCode; job.Worker = assembleRequest.Worker; - job.AssembleIssueRequestNumber = assembleRequest.Number; + job.AssembleRequestNumber = assembleRequest.Number; job.Details.Add(await BuildAssembleIssueJobDetailWithBoxQtyTypeAsync(assembleRequestDetail, balanceDtos) .ConfigureAwait(false)); From f7a34eda6b5472684552d17d355845b54a723440 Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Thu, 18 Apr 2024 13:38:14 +0800 Subject: [PATCH 07/19] =?UTF-8?q?=E4=B8=89=E6=96=B9=E5=BA=93=E5=BA=93?= =?UTF-8?q?=E7=A7=BB=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ThirdLocationRequests/ThirdLocationRequestAppService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ThirdLocationRequests/ThirdLocationRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ThirdLocationRequests/ThirdLocationRequestAppService.cs index 1fd3e5d30..a634810d0 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ThirdLocationRequests/ThirdLocationRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ThirdLocationRequests/ThirdLocationRequestAppService.cs @@ -104,7 +104,7 @@ public class ThirdLocationRequestAppService : SfsStoreRequestAppServiceBase Date: Thu, 18 Apr 2024 15:11:16 +0800 Subject: [PATCH 08/19] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Properties/launchSettings.json | 8 +++ .../Enums/Store/EnumInventoryMode.cs | 28 +++++++++ .../Jobs/CountJobs/DTOs/CountJobDTO.cs | 6 ++ .../Jobs/CountJobs/ICountJobAppService.cs | 3 + .../CountJobs/Inputs/CountJobEditInput.cs | 6 ++ .../Notes/CountNotes/DTOs/CountNoteDTO.cs | 5 +- .../Plans/CountPlans/DTOs/CountPlanDTO.cs | 6 ++ .../Plans/CountPlans/ICountPlanAppService.cs | 1 + .../CountPlans/Inputs/CountPlanEditInput.cs | 6 ++ .../CountPlans/Inputs/CountPlanImportInput.cs | 6 ++ .../Jobs/CountJobs/CountJobAppService.cs | 26 ++++++++ .../CountJobs/CountJobAutoMapperProfile.cs | 3 +- .../CountNotes/CountNoteAutoMapperProfile.cs | 14 +---- .../Plans/CountPlans/CountPlanAppService.cs | 10 +++ .../Jobs/CountJobs/CountJob.cs | 14 ++++- .../Jobs/CountJobs/CountJobDependentDetail.cs | 4 ++ .../Jobs/CountJobs/CountJobDetail.cs | 11 +++- .../Jobs/CountJobs/CountJobManager.cs | 60 ++++++++++++++++-- .../Jobs/CountJobs/ICountJobManager.cs | 2 +- .../Notes/CountNotes/CountNote.cs | 9 +++ .../CountNotes/CountNoteDependentDetail.cs | 58 ++++++++++++++++++ .../Notes/CountNotes/CountNoteDetail.cs | 61 ------------------- .../Notes/CountNotes/CountNoteManager.cs | 49 +++++++++++++-- .../Plans/CountPlans/CountPlan.cs | 9 +++ .../Plans/CountPlans/CountPlanManager.cs | 18 +++++- .../Plans/CountPlans/ICountPlanManager.cs | 2 +- ...ountJobDbContextModelCreatingExtensions.cs | 1 + ...untNoteDbContextModelCreatingExtensions.cs | 34 ++++++++--- .../StoreEntityFrameworkCoreModule.cs | 2 +- .../Jobs/CountJobAutoMapperProfile.cs | 16 +++++ .../Plans/CountPlanAutoMapperProfile.cs | 3 + .../Jobs/CountJobEventHandler.cs | 11 ++++ .../Requests/CountPlanEventHandler.cs | 19 ++++-- 33 files changed, 402 insertions(+), 109 deletions(-) create mode 100644 be/DataExchange/Iac/Win_in.Sfs.Wms.DataExchange.Iac.QadAgent/Properties/launchSettings.json create mode 100644 be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumInventoryMode.cs create mode 100644 be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNoteDependentDetail.cs diff --git a/be/DataExchange/Iac/Win_in.Sfs.Wms.DataExchange.Iac.QadAgent/Properties/launchSettings.json b/be/DataExchange/Iac/Win_in.Sfs.Wms.DataExchange.Iac.QadAgent/Properties/launchSettings.json new file mode 100644 index 000000000..33504c948 --- /dev/null +++ b/be/DataExchange/Iac/Win_in.Sfs.Wms.DataExchange.Iac.QadAgent/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "WSL": { + "commandName": "WSL2", + "distributionName": "" + } + } +} \ No newline at end of file diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumInventoryMode.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumInventoryMode.cs new file mode 100644 index 000000000..0f331efe8 --- /dev/null +++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumInventoryMode.cs @@ -0,0 +1,28 @@ + +using System.ComponentModel.DataAnnotations; +namespace Win_in.Sfs.Shared.Domain.Shared; + +/// +/// 盘点模式 +/// +public enum EnumInventoryMode +{ + /// + /// 未定义 + /// + [Display(Name = "未定义")] + None = 0, + + /// + /// 箱码 + /// + [Display(Name = "箱码")] + ByPackingCode = 1, + + /// + /// 无箱码 + /// + [Display(Name = "无箱码")] + ByErpItemCode = 2, + +} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDTO.cs index 5f10bc2ce..8be6d99fb 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDTO.cs @@ -30,6 +30,12 @@ public class CountJobDTO : SfsJobDTOBase [Display(Name = "盘点方式")] public EnumCountMethod CountMethod { get; set; } + /// + /// 盘点模式 + /// + [Display(Name = "盘点模式")] + public EnumInventoryMode InventoryMode { get; set; } + /// /// 类型 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/ICountJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/ICountJobAppService.cs index 4a3fde10b..38a914daa 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/ICountJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/ICountJobAppService.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Threading.Tasks; +using Win_in.Sfs.Wms.Store.Domain; namespace Win_in.Sfs.Wms.Store.Application.Contracts; @@ -12,4 +13,6 @@ public interface ICountJobAppService Task CancelByCountPlanAsync(string countPlanNumber); Task CloseByCountPlanAsync(string countPlanNumber); + Task> GetCountJobDependentDetailByPlanNumber(string countPlanNumber,int inventoryStage); + Task> ResetStatusByNumberAsync(List numbers); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/Inputs/CountJobEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/Inputs/CountJobEditInput.cs index 5181ee4da..2b35969a4 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/Inputs/CountJobEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/Inputs/CountJobEditInput.cs @@ -8,6 +8,12 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts; public class CountJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCreateInput { #region Base + /// + /// 盘点模式 + /// + [Display(Name = "盘点模式")] + public EnumInventoryMode InventoryMode { get; set; } + /// /// 盘点方式 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/CountNotes/DTOs/CountNoteDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/CountNotes/DTOs/CountNoteDTO.cs index b116aabf2..932c3e3fb 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/CountNotes/DTOs/CountNoteDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/CountNotes/DTOs/CountNoteDTO.cs @@ -16,7 +16,10 @@ public class CountNoteDTO : SfsStoreDTOBase, IHasNumber /// [Display(Name = "盘点计划单号")] public string CountPlanNumber { get; set; } - + /// + /// 盘点任务单号 + /// + public string CountJobNumber { get; set; } /// /// 类型 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/DTOs/CountPlanDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/DTOs/CountPlanDTO.cs index 3b1534210..0e26ee1eb 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/DTOs/CountPlanDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/DTOs/CountPlanDTO.cs @@ -58,6 +58,12 @@ public class CountPlanDTO : SfsStoreRequestDTOBase [Display(Name = "盘点方式")] public EnumCountMethod CountMethod { get; set; } + /// + /// 盘点模式 + /// + [Display(Name = "盘点模式")] + public EnumInventoryMode InventoryMode { get; set; } + /// /// 盘点的零件集合 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/ICountPlanAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/ICountPlanAppService.cs index c9a84848d..0d397e79f 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/ICountPlanAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/ICountPlanAppService.cs @@ -32,4 +32,5 @@ public interface ICountPlanAppService Task ChangeStageAsync(Guid id, EnumCountStage stage); Task ChangeStageAsync(Guid id, List detailIdList, EnumCountStage stage); + Task ResetStatusByNumberAsync(string number); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanEditInput.cs index a54e9efe3..3de261d6d 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanEditInput.cs @@ -58,6 +58,12 @@ public class CountPlanEditInput : SfsStoreRequestCreateOrUpdateInputBase, IHasNu [Display(Name = "盘点方式")] public EnumCountMethod CountMethod { get; set; } + + /// + /// 盘点模式 + /// + [Display(Name = "盘点模式")] + public EnumInventoryMode InventoryMode { get; set; } /// /// 类型 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanImportInput.cs index 3802dce2d..aee4debde 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanImportInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanImportInput.cs @@ -51,4 +51,10 @@ public class CountPlanImportInput : SfsStoreImportInputBase [Required(ErrorMessage = "{0}是必填项")] public EnumCountMethod CountMethod { get; set; } + + /// + /// 盘点模式 + /// + [Display(Name = "盘点模式")] + public EnumInventoryMode InventoryMode { get; set; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAppService.cs index f2b69f2c0..22d302bc3 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAppService.cs @@ -52,6 +52,20 @@ public class CountJobAppService return dtoList; } + /// + /// 根据选择的任务号码重置盘点任务 + /// + /// + /// + [HttpPost("reset-status-by-number")] + + public virtual async Task> ResetStatusByNumberAsync(List numbers) + { + var entityList= await _countJobManager.ResetStatusByNumberAsync(numbers).ConfigureAwait(false); + var dtoList = ObjectMapper.Map, List>(entityList); + return dtoList; + } + public override async Task CompleteAsync(Guid id, CountJobDTO dto) { var input = new CountJobCheckInput @@ -98,7 +112,19 @@ public class CountJobAppService } } } + [HttpPost("get-countjob-dependent-detail-by-plannumber")] + public virtual async Task> GetCountJobDependentDetailByPlanNumber(string countPlanNumber, int inventoryStage) + { + var entities = await _repository.GetListAsync(p => p.JobStatus == EnumJobStatus.Done && p.CountPlanNumber == countPlanNumber && p.InventoryStage == inventoryStage, true).ConfigureAwait(false); + for (int i = entities.Count - 1; i >= 0; i--) + { + var entitie = entities[i]; + entitie.DepDetails.RemoveAll(r => r.InventoryStage != inventoryStage); + entitie.Details.RemoveAll(r => r.InventoryStage != inventoryStage); + } + return entities; + } //[HttpPost("handle-count-job-async")] //public virtual async Task HandleCountJobAsync(Guid guid, CountJobDTO dto) //{ diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAutoMapperProfile.cs index df81e992b..20da66f9f 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAutoMapperProfile.cs @@ -77,7 +77,8 @@ public partial class StoreApplicationAutoMapperProfile : Profile CreateMap() ; - + CreateMap() + .ReverseMap(); CreateMap() .IgnoreAuditedObjectProperties() .Ignore(x => x.MasterID) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/CountNotes/CountNoteAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/CountNotes/CountNoteAutoMapperProfile.cs index fb83ae1ac..b5e81aef6 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/CountNotes/CountNoteAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/CountNotes/CountNoteAutoMapperProfile.cs @@ -45,26 +45,16 @@ public partial class StoreApplicationAutoMapperProfile : Profile .Ignore(x => x.Number); CreateMap() - .ForMember(x => x.FirstCountQty, y => y.MapFrom(t => t.FirstCountQty)) - .ForMember(x => x.FirstCountTime, y => y.MapFrom(t => DateTime.Now)) + .ForMember(x => x.DetailStatus, y => y.MapFrom(t => EnumCountStatus.New)) .ForMember(x => x.FinalCountQty, y => y.MapFrom(t => t.FirstCountQty)) - .Ignore(x => x.FirstCountOperator) - .Ignore(x => x.FirstCountDescription) + .Ignore(x => x.LocationArea) .Ignore(x => x.LocationGroup) .Ignore(x => x.LocationErpCode) .Ignore(x => x.WarehouseCode) .Ignore(x => x.Uom) .Ignore(x => x.CountLabel) - .Ignore(x => x.RepeatCountQty) - .Ignore(x => x.RepeatCountTime) - .Ignore(x => x.RepeatCountOperator) - .Ignore(x => x.RepeatCountDescription) - .Ignore(x => x.AuditCountQty) - .Ignore(x => x.AuditCountTime) - .Ignore(x => x.AuditCountOperator) - .Ignore(x => x.AuditCountDescription) .Ignore(x => x.Stage) .Ignore(x => x.Adjusted) .Ignore(X => X.StdPackQty) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs index bba258161..2f2f67939 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs @@ -131,6 +131,16 @@ public class CountPlanAppService : await _countPlanManager.CompleteAsync(id, type).ConfigureAwait(false); } + // + // 更新计划状态 + // + // + // + [HttpPost("reset-by-number")] + public virtual async Task ResetStatusByNumberAsync(string number) + { + await _countPlanManager.ResetStatusByNumberAsync(number).ConfigureAwait(false); + } [HttpPost("check-status")] public virtual async Task CheckStatusAsync(string number) { diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJob.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJob.cs index a008e92f2..dd89bb9a8 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJob.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJob.cs @@ -26,11 +26,22 @@ public class CountJob : SfsJobAggregateRootBase [IgnoreUpdate] public EnumCountStage CountStage { get; set; } + /// + /// 盘点次数 + /// + public int InventoryStage { get; set; } + + /// /// 盘点方式 /// public EnumCountMethod CountMethod { get; set; } + /// + /// 盘点模式 + /// + public EnumInventoryMode InventoryMode { get; set; } + /// /// 类型 /// @@ -65,7 +76,6 @@ public class CountJob : SfsJobAggregateRootBase /// /// 任务从表明细(记录每次扫得明细) /// - [IgnoreUpdate] public List DepDetails { get; set; } = new List(); /// @@ -86,7 +96,7 @@ public class CountJob : SfsJobAggregateRootBase detail.ExpireDate = expireDate; detail.LocationCode = locationCode; - detail.CountQty = qty; + detail.CountQty = detail.CountQty+qty; detail.CountTime = time; detail.CountOperator = oper; detail.CountDescription = desc; diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobDependentDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobDependentDetail.cs index 1d79ddb41..2e83fcba1 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobDependentDetail.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobDependentDetail.cs @@ -7,6 +7,10 @@ namespace Win_in.Sfs.Wms.Store.Domain; public class CountJobDependentDetail : SfsJobDetailEntityBase, IHasCountResult, IHasInventoryQty { + /// + /// 盘点次数 + /// + public int InventoryStage { get; set; } /// /// 盘点标签 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobDetail.cs index ea2bfdc3c..9ed5558e1 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobDetail.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobDetail.cs @@ -6,7 +6,10 @@ namespace Win_in.Sfs.Wms.Store.Domain; public class CountJobDetail : SfsJobDetailEntityBase, IHasCountResult, IHasInventoryQty { - + /// + /// 盘点计划单号 + /// + public string CountPlanNumber { get; set; } /// /// 盘点标签 /// @@ -17,6 +20,12 @@ public class CountJobDetail : SfsJobDetailEntityBase, IHasCountResult, IHasInven /// public decimal InventoryQty { get; set; } + /// + /// 盘点次数 + /// + public int InventoryStage { get; set; } + + /// /// 计量单位 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs index af22b75b6..3bebda3a9 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs @@ -9,6 +9,7 @@ using Volo.Abp.Users; using Volo.Abp.Validation; using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Shared.Domain.Shared; +using Win_in.Sfs.Shared.Event; using Win_in.Sfs.Wms.Inventory.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Domain; @@ -16,17 +17,48 @@ namespace Win_in.Sfs.Wms.Store.Domain; public class CountJobManager : SfsJobManagerBase, ICountJobManager { private readonly IBalanceAppService _balanceAppService; - + private readonly ICountJobRepository _repository; + private readonly ICountNoteRepository _noteRepository; public CountJobManager( - ICountJobRepository repository, - IBalanceAppService balanceAppService + ICountJobRepository repository, + IBalanceAppService balanceAppService, + ICountNoteRepository noteRepository ) : base(repository) { + _noteRepository = noteRepository; _balanceAppService = balanceAppService; - + _repository = repository; + } + /// + /// 根据选择的任务号码重置盘点任务 + /// + /// + /// + /// + public virtual async Task> ResetStatusByNumberAsync(List numbers) + { + var joblist = await _repository.GetListAsync(r => numbers.Contains(r.Number)).ConfigureAwait(false); + var planNumbers = joblist.Select(r => r.CountPlanNumber).Distinct(); + if (planNumbers.Count() > 1) + { + throw new UserFriendlyException($"所选任务属于多个盘点计划,无法重盘!"); + } + foreach (var job in joblist) + { + var note = await _noteRepository.FindAsync(r => r.CountJobNumber == job.Number).ConfigureAwait(false); + if (note != null && note.Adjusted == true) + { + throw new UserFriendlyException($"任务号 【{job.Number}】生成的记录【{note.Number}】已经进行了调整,无法重盘"); + } + job.JobStatus = EnumJobStatus.Open; + } + await _repository.UpdateManyAsync(joblist).ConfigureAwait(false); + await LocalEventBus.PublishAsync(new SfsSubmittedEntityEventData>(joblist), false).ConfigureAwait(false); + return joblist; } + /// /// 执行任务 /// @@ -41,7 +73,15 @@ public class CountJobManager : SfsJobManagerBase, ICou //entity.ConcurrencyStamp = input.ConcurrencyStamp; await SetDetailsAsync(input, entity).ConfigureAwait(false); - return await base.CompleteAsync(entity, user).ConfigureAwait(false); + // return await base.CompleteAsync(entity, user).ConfigureAwait(false); + + + entity.CompleteUserId = user.Id; + entity.CompleteUserName = user.Name; + entity.CompleteTime = Clock.Now; + await PublishCompletedAsync(entity).ConfigureAwait(false); + + return await _repository.UpdateAsync(entity).ConfigureAwait(false); } /// @@ -96,11 +136,19 @@ public class CountJobManager : SfsJobManagerBase, ICou } else { - await entity.SetDetail(detail.Id, detail.SupplierBatch, detail.ArriveDate, detail.ProduceDate, detail.ExpireDate, detail.LocationCode, detail.CountQty, detail.CountTime, detail.CountOperator, detail.CountDescription) .ConfigureAwait(false); } } + + foreach (var depDetail in input.DepDetails) + { + var jobDepDetail = ObjectMapper.Map(depDetail); + var number = entity.Number; + jobDepDetail.SetIdAndNumber(GuidGenerator, entity.Id, number); + jobDepDetail.CountLabel = GuidGenerator.Create().ToString(); + entity.DepDetails.Add(jobDepDetail); + } } public override void CheckDetails(CountJob entity, AbpValidationResult result) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/ICountJobManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/ICountJobManager.cs index ce077b05b..19b46538a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/ICountJobManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/ICountJobManager.cs @@ -12,5 +12,5 @@ public interface ICountJobManager : IJobManager Task UpdateManyAsync(IList countJobs); Task> CreateWithConditionAsync(CountPlan entity, List partCondition, List locCondition, List statusList); - + Task> ResetStatusByNumberAsync(List numbers); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNote.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNote.cs index 78d106363..3b311f1c5 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNote.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNote.cs @@ -17,6 +17,11 @@ public class CountNote : SfsStoreAggregateRootBase /// public string CountPlanNumber { get; set; } + /// + /// 盘点任务单号 + /// + public string CountJobNumber { get; set; } + /// /// 类型 /// @@ -56,6 +61,10 @@ public class CountNote : SfsStoreAggregateRootBase /// 明细列表 /// public override List Details { get; set; } = new List(); + /// + /// 记录从表明细(记录每次扫得明细) + /// + public List DepDetails { get; set; } = new List(); public virtual async Task GenerateAdjustRequestAsync() { diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNoteDependentDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNoteDependentDetail.cs new file mode 100644 index 000000000..49086859e --- /dev/null +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNoteDependentDetail.cs @@ -0,0 +1,58 @@ +using System; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using Win_in.Sfs.Shared.Domain; + +namespace Win_in.Sfs.Wms.Store.Domain; + +public class CountNoteDependentDetail : SfsStoreDetailWithLotPackingLocationStatusEntityBase, IHasCountResult, IHasInventoryQty +{ + + /// + /// 盘点标签 + /// + public string CountLabel { get; set; } + + /// + /// 库存数量 + /// + public decimal InventoryQty { get; set; } + + /// + /// 计量单位 + /// + [Display(Name = "计量单位")] + public string Uom { get; set; } + + /// + /// 库存库位 + /// + public string InventoryLocationCode { get; set; } + + /// + /// 盘点数量(每次扫得数量) + /// + public decimal CountQty { get; set; } + + /// + /// 盘点时间 + /// + public DateTime? CountTime { get; set; } + + /// + /// 盘点操作员 + /// + public string CountOperator { get; set; } + + /// + /// 盘点描述 + /// + public string CountDescription { get; set; } + /// + /// 标包数量 + /// + [Display(Name = "标包数量")] + [Column(TypeName = "decimal(18,6)")] + public decimal StdPackQty { get; set; } + +} diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNoteDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNoteDetail.cs index 18f1bf30a..5341f29c4 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNoteDetail.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNoteDetail.cs @@ -10,7 +10,6 @@ namespace Win_in.Sfs.Wms.Store.Domain; /// 盘点计划明细 /// public class CountNoteDetail : SfsStoreDetailWithLotPackingLocationStatusEntityBase -, IHasCountDetail , IHasStdPack { /// @@ -34,66 +33,6 @@ public class CountNoteDetail : SfsStoreDetailWithLotPackingLocationStatusEntityB /// public decimal InventoryQty { get; set; } - /// - /// 初盘数量 - /// - public decimal FirstCountQty { get; set; } - - /// - /// 初盘时间 - /// - public DateTime? FirstCountTime { get; set; } - - /// - /// 初盘操作员 - /// - public string FirstCountOperator { get; set; } - - /// - /// 初盘描述 - /// - public string FirstCountDescription { get; set; } - - /// - /// 重盘数量 - /// - public decimal RepeatCountQty { get; set; } - - /// - /// 重盘时间 - /// - public DateTime? RepeatCountTime { get; set; } - - /// - /// 重盘操作员 - /// - public string RepeatCountOperator { get; set; } - - /// - /// 重盘描述 - /// - public string RepeatCountDescription { get; set; } - - /// - /// 监盘数量 - /// - public decimal AuditCountQty { get; set; } - - /// - /// 监盘时间 - /// - public DateTime? AuditCountTime { get; set; } - - /// - /// 监盘操作员 - /// - public string AuditCountOperator { get; set; } - - /// - /// 监盘描述 - /// - public string AuditCountDescription { get; set; } - /// /// 最终盘点数量 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNoteManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNoteManager.cs index 630fbefd9..67fbd3e37 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNoteManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/CountNotes/CountNoteManager.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Volo.Abp; +using Volo.Abp.Uow; using Win_in.Sfs.Shared.Domain.Shared; namespace Win_in.Sfs.Wms.Store.Domain; @@ -26,6 +27,48 @@ public class CountNoteManager : SfsStoreManagerBase, _repository = repository; _countPlanRepository = countPlanRepository; } + /// + /// 创建 + /// + /// + /// + [UnitOfWork] + public override async Task CreateAsync(CountNote entity) + { + + entity.SetIdAndNumberWithDetails(GuidGenerator, await GenerateNumberAsync(typeof(CountNote).Name, entity.ActiveDate).ConfigureAwait(false)); + + foreach (var item in entity.DepDetails) + { + item.SetIdAndNumber(GuidGenerator,entity.Id,entity.Number); + } + + await PublishCreatedAsync(entity).ConfigureAwait(false); + await Repository.InsertAsync(entity).ConfigureAwait(false); + return entity; + } + /// + /// 批量创建 + /// + /// + /// + [UnitOfWork] + public override async Task> CreateManyAsync(List entities) + { + List deleteItems = new List(); + foreach (var entity in entities) + { + var deleteentity=await Repository.GetAsync(r=>r.CountJobNumber== entity.CountJobNumber).ConfigureAwait(false); + deleteItems.Add(deleteentity); + entity.SetIdAndNumberWithDetails(GuidGenerator, await GenerateNumberAsync(typeof(CountNote).Name, entity.ActiveDate).ConfigureAwait(false)); + + } + //先删除之前得记录 + await Repository.DeleteManyAsync(deleteItems).ConfigureAwait(false); + await Repository.InsertManyAsync(entities).ConfigureAwait(false); + await PublishCreatedAsync(entities).ConfigureAwait(false); + return entities; + } /// /// 开始调整库存 @@ -157,11 +200,7 @@ public class CountNoteManager : SfsStoreManagerBase, detail.ExpireDate = detail.ProduceDate.AddDays(validateDays); detail.CountLabel = Guid.NewGuid().ToString(); - detail.FirstCountQty = detail.FirstCountQty; - detail.FirstCountTime = DateTime.Now; - detail.FirstCountOperator = note.Worker; - - detail.FinalCountQty = detail.FirstCountQty; + detail.FinalCountQty = detail.FinalCountQty; detail.DetailStatus = EnumCountStatus.New; detail.Stage = EnumCountStage.First; detail.Adjusted = false; diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlan.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlan.cs index 64c844162..186624026 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlan.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlan.cs @@ -24,6 +24,11 @@ public class CountPlan : SfsStoreRequestAggregateRootBase /// public EnumCountStage Stage { get; set; } + /// + /// 盘点次数 + /// + public int InventoryStage { get; set; } + /// /// 盘点执行形式 /// @@ -33,6 +38,10 @@ public class CountPlan : SfsStoreRequestAggregateRootBase /// 盘点方式 /// public EnumCountMethod CountMethod { get; set; } + /// + /// 盘点模式 + /// + public EnumInventoryMode InventoryMode { get; set; } /// /// 描述 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs index 846c509cc..3306c2ad6 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs @@ -284,7 +284,21 @@ public class CountPlanManager : SfsStoreRequestManagerBase + /// 根据plannumber更新主表状态和子表状态 + /// + /// + /// + public virtual async Task ResetStatusByNumberAsync(string number) + { + var entity = await Repository.GetAsync(r=>r.Number==number).ConfigureAwait(false); + entity.RequestStatus = EnumRequestStatus.Handling; + entity.Details.ForEach(p=> + { + p.DetailStatus = EnumCountStatus.New; + + }); + } /// /// job执行后更新计划 /// @@ -334,7 +348,7 @@ public class CountPlanManager : SfsStoreRequestManagerBase /// Task CompleteByJobAsync(CountPlan entity); - + Task ResetStatusByNumberAsync(string number); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/CountJobs/CountJobDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/CountJobs/CountJobDbContextModelCreatingExtensions.cs index 1a6333d90..3b6215a2e 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/CountJobs/CountJobDbContextModelCreatingExtensions.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/CountJobs/CountJobDbContextModelCreatingExtensions.cs @@ -42,6 +42,7 @@ public static class CountJobDbContextModelCreatingExtensions b.ConfigureByConvention(); //Configure Sfs base properties b.ConfigureSfsBase(); + //Configure Job base properties b.ConfigureJobDetail(); //Properties diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/CountNotes/CountNoteDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/CountNotes/CountNoteDbContextModelCreatingExtensions.cs index cec442d3d..815422f44 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/CountNotes/CountNoteDbContextModelCreatingExtensions.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Notes/CountNotes/CountNoteDbContextModelCreatingExtensions.cs @@ -27,6 +27,7 @@ public static class CountNoteDbContextModelCreatingExtensions //Relations b.HasMany(q => q.Details).WithOne().HasForeignKey(d => d.MasterID).IsRequired(); + b.HasMany(q => q.DepDetails).WithOne().HasForeignKey(d => d.MasterID).IsRequired(); //Indexes b.HasIndex(q => new { q.Number }).IsUnique(); @@ -47,15 +48,6 @@ public static class CountNoteDbContextModelCreatingExtensions //Properties b.Property(q => q.CountPlanNumber).HasMaxLength(SfsPropertyConst.CodeLength); b.Property(q => q.CountLabel).IsRequired().HasMaxLength(SfsPropertyConst.CodeLength); - b.Property(q => q.FirstCountQty).HasPrecision(18, 6); - b.Property(q => q.FirstCountOperator).HasMaxLength(SfsPropertyConst.CodeLength); - b.Property(q => q.FirstCountDescription).HasMaxLength(SfsPropertyConst.CodeLength); - b.Property(q => q.RepeatCountQty).HasPrecision(18, 6); - b.Property(q => q.RepeatCountOperator).HasMaxLength(SfsPropertyConst.CodeLength); - b.Property(q => q.RepeatCountDescription).HasMaxLength(SfsPropertyConst.CodeLength); - b.Property(q => q.AuditCountQty).HasPrecision(18, 6); - b.Property(q => q.AuditCountOperator).HasMaxLength(SfsPropertyConst.CodeLength); - b.Property(q => q.AuditCountDescription).HasMaxLength(SfsPropertyConst.CodeLength); b.Property(q => q.FinalCountQty).HasPrecision(18, 6); b.Property(q => q.DetailStatus).HasMaxLength(SfsPropertyConst.NameLength).HasConversion(); b.Property(q => q.Stage).HasMaxLength(SfsPropertyConst.NameLength).HasConversion(); @@ -65,5 +57,29 @@ public static class CountNoteDbContextModelCreatingExtensions //Indexes b.HasIndex(q => new { q.Number, q.CountLabel }).IsUnique(); }); + + builder.Entity(b => + { + //Configure table & schema name + b.ToTable(options.TablePrefix + nameof(CountNoteDependentDetail), options.Schema); + //Configure ABP properties + b.ConfigureByConvention(); + //Configure Sfs base properties + b.ConfigureSfsStoreBase(); + //Configure Sfs store detail properties + b.ConfigureSfsStoreDetailBase(); + b.ConfigureStoreDetailWithLotPackingLocationStatus(); + //Properties + b.Property(q => q.CountLabel).IsRequired().HasMaxLength(SfsPropertyConst.CodeLength); + b.Property(q => q.InventoryLocationCode).HasMaxLength(SfsPropertyConst.CodeLength); + b.Property(q => q.CountOperator).HasMaxLength(SfsPropertyConst.CodeLength); + b.Property(q => q.CountDescription).HasMaxLength(SfsPropertyConst.CodeLength); + + //Relations + //None + + //Indexes + //b.HasIndex(q => new { q.PackingCode }).IsUnique(); + }); } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs index 3a820eef5..4c2612673 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/StoreEntityFrameworkCoreModule.cs @@ -296,7 +296,7 @@ public class StoreEntityFrameworkCoreModule : AbpModule options.Entity(orderOptions => orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Details)); options.Entity(orderOptions => - orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Details)); + orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Details).Include(o => o.DepDetails)); options.Entity(orderOptions => orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Details) .Include(o => o.SummaryDetails)); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Jobs/CountJobAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Jobs/CountJobAutoMapperProfile.cs index 7ee5dda80..85a6bb112 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Jobs/CountJobAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Jobs/CountJobAutoMapperProfile.cs @@ -1,5 +1,6 @@ using AutoMapper; using Volo.Abp.AutoMapper; +using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Domain; @@ -106,6 +107,8 @@ public partial class StoreEventAutoMapperProfile : Profile // .ForMember(x => x.Item, y => y.MapFrom(d => new Item(d.ItemName, d.ItemDesc1, d.ItemDesc2))) // .ForMember(x => x.Batch, y => y.MapFrom(d => new Batch(d.SupplierBatch, d.ArriveDate, d.ProduceDate, d.ExpireDate))) .ForMember(x => x.InventoryLocationCode, y => y.MapFrom(d => d.LocationCode)) + .ForMember(x => x.CountPlanNumber, y => y.MapFrom(d => d.Number)) + .Ignore(x=>x.InventoryStage) .Ignore(x => x.MasterID) .Ignore(x => x.Number) .Ignore(x => x.Id) @@ -116,5 +119,18 @@ public partial class StoreEventAutoMapperProfile : Profile .Ignore(x => x.CountDescription) ; + CreateMap() + .ForMember(x => x.Stage, y => y.MapFrom(d => d.CountStage)) + .ForMember(x => x.BeginTime, y => y.MapFrom(d => d.CreationTime)) + .ForMember(x => x.EndTime, y => y.MapFrom(d => d.CompleteTime)) + .ForMember(x => x.CountJobNumber, y => y.MapFrom(d => d.Number)) + .Ignore(x => x.Adjusted) + .Ignore(x => x.ActiveDate); + CreateMap() + .ForMember(x => x.FinalCountQty, y => y.MapFrom(d => d.CountQty)) + .ForMember(x => x.DetailStatus, y => y.MapFrom(d => EnumCountStatus.New)) + .Ignore(x => x.Stage) + .Ignore(x => x.Adjusted); + CreateMap(); } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Plans/CountPlanAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Plans/CountPlanAutoMapperProfile.cs index bfd07f21d..cf0e69b5c 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Plans/CountPlanAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Plans/CountPlanAutoMapperProfile.cs @@ -53,12 +53,15 @@ public partial class StoreEventAutoMapperProfile : Profile CreateMap() .ForMember(x => x.CountPlanNumber, y => y.MapFrom(d => d.Number)) .Ignore(x => x.Adjusted) + .Ignore(x=>x.DepDetails) + .Ignore(x=>x.CountJobNumber) ; CreateMap() .ForMember(x => x.CountPlanNumber, y => y.MapFrom(d => d.Number)) .Ignore(x => x.Adjusted) ; + CreateMap(); } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/CountJobEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/CountJobEventHandler.cs index 4d426ce79..6560175aa 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/CountJobEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/CountJobEventHandler.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using Volo.Abp; using Volo.Abp.EventBus; @@ -13,6 +14,7 @@ namespace Win_in.Sfs.Wms.Store.Event.BusinessJob; public class CountJobEventHandler : StoreEventHandlerBase , ILocalEventHandler> + ,ILocalEventHandler>> { private readonly ICountPlanAppService _countPlanAppService; private readonly ICountNoteAppService _countNoteAppService; @@ -42,6 +44,15 @@ public class CountJobEventHandler : } } + [UnitOfWork] + public virtual async Task HandleEventAsync(SfsSubmittedEntityEventData> eventData) + { + var entity = eventData.Entity.First(); + if (!string.IsNullOrEmpty(entity.CountPlanNumber)) + { + await _countPlanAppService.ResetStatusByNumberAsync(entity.CountPlanNumber).ConfigureAwait(false); + } + } private async Task BuildCountPlanJobUpdateDTO(CountJob entity) { var countPlanUpdateInput = ObjectMapper.Map(entity); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/CountPlanEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/CountPlanEventHandler.cs index 53547826f..cba7ab568 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/CountPlanEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/CountPlanEventHandler.cs @@ -106,13 +106,18 @@ public class CountPlanEventHandler var entity = eventData.Entity; await ThawEqualBalancesAsync(entity).ConfigureAwait(false); + var jobs= await _countJobAppService.GetCountJobDependentDetailByPlanNumber(entity.Number,entity.InventoryStage).ConfigureAwait(false); //创建盘点记录 - var countNote = BuildCountNote(entity); - - if (countNote.Details.Count > 0) + List notes = new List(); + foreach (var job in jobs) + { + var countNote = ObjectMapper.Map(job); + notes.Add(countNote); + } + if (notes.Count > 0) { - await _countNoteManager.CreateAsync(countNote).ConfigureAwait(false); + await _countNoteManager.CreateManyAsync(notes).ConfigureAwait(false); } await _countJobAppService.CloseByCountPlanAsync(entity.Number).ConfigureAwait(false); @@ -126,16 +131,18 @@ public class CountPlanEventHandler /// /// /// - private CountNote BuildCountNote(CountPlan countPlan) + private CountNote BuildCountNote(CountPlan countPlan,List depDetail) { var countNote = ObjectMapper.Map(countPlan); countNote.Details = new List(); + foreach (var countPlanDetail in countPlan.Details.Where(p => p.DetailStatus == EnumCountStatus.Completed)) { var countNoteDetail = ObjectMapper.Map(countPlanDetail); countNote.Details.Add(countNoteDetail); } - + var depDetails = ObjectMapper.Map, List>(depDetail); + countNote.DepDetails.AddRange(depDetails); return countNote; } From 38bc1755a0d04343e2afa0f7411ea8730a070b49 Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Thu, 18 Apr 2024 15:30:53 +0800 Subject: [PATCH 09/19] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Jobs/CountJobs/CountJobDbContextModelCreatingExtensions.cs | 1 + .../CountPlans/CountPlanDbContextModelCreatingExtensions.cs | 1 + 2 files changed, 2 insertions(+) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/CountJobs/CountJobDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/CountJobs/CountJobDbContextModelCreatingExtensions.cs index 3b6215a2e..fd236cb76 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/CountJobs/CountJobDbContextModelCreatingExtensions.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/CountJobs/CountJobDbContextModelCreatingExtensions.cs @@ -24,6 +24,7 @@ public static class CountJobDbContextModelCreatingExtensions b.Property(q => q.CountPlanNumber).HasMaxLength(SfsPropertyConst.CodeLength); b.Property(q => q.CountStage).HasMaxLength(SfsPropertyConst.NameLength).HasConversion(); b.Property(q => q.CountMethod).HasMaxLength(SfsPropertyConst.NameLength).HasConversion(); + b.Property(q => q.InventoryMode).HasMaxLength(SfsPropertyConst.NameLength).HasConversion(); b.Property(q => q.Type).HasMaxLength(SfsPropertyConst.NameLength).HasConversion(); b.Property(q => q.ItemCode).HasMaxLength(SfsPropertyConst.CodeLength); b.Property(q => q.LocationCode).HasMaxLength(SfsPropertyConst.CodeLength); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Plans/CountPlans/CountPlanDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Plans/CountPlans/CountPlanDbContextModelCreatingExtensions.cs index 7899796ab..6df93d090 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Plans/CountPlans/CountPlanDbContextModelCreatingExtensions.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Plans/CountPlans/CountPlanDbContextModelCreatingExtensions.cs @@ -23,6 +23,7 @@ public static class CountPlanDbContextModelCreatingExtensions b.Property(q => q.Stage).HasMaxLength(SfsPropertyConst.NameLength).HasConversion(); b.Property(q => q.RequestType).HasMaxLength(SfsPropertyConst.NameLength).HasConversion(); b.Property(q => q.CountMethod).HasMaxLength(SfsPropertyConst.NameLength).HasConversion(); + b.Property(q => q.InventoryMode).HasMaxLength(SfsPropertyConst.NameLength).HasConversion(); b.Property(q => q.RequestStatus).IsRequired().HasMaxLength(SfsPropertyConst.NameLength).HasConversion(); b.Property(q => q.Description).HasMaxLength(SfsPropertyConst.CodeLength); From cef151886a077305a95172e1611ad4c2fc66d74f Mon Sep 17 00:00:00 2001 From: zhaoxinyu <89237069@qq.com> Date: Thu, 18 Apr 2024 15:48:16 +0800 Subject: [PATCH 10/19] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Incoming/InjectionMoldingRequestReader.cs | 59 +++++----- .../BasedataHttpApiHostModule.cs | 25 +++-- .../BasedataApplicationModule.cs | 7 ++ .../Boms/BomAppService.cs | 7 +- .../Caches/CacheAppService.cs | 106 ++++++++++++++++++ .../Boms/BomManager.cs | 11 +- .../Caches/Cache.cs | 47 ++------ 7 files changed, 182 insertions(+), 80 deletions(-) create mode 100644 be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Caches/CacheAppService.cs diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Incoming/InjectionMoldingRequestReader.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Incoming/InjectionMoldingRequestReader.cs index bc27da7ad..537f6ec81 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Incoming/InjectionMoldingRequestReader.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Incoming/InjectionMoldingRequestReader.cs @@ -19,16 +19,13 @@ using Win_in.Sfs.Wms.Store.Application.Contracts; using System.Text.Json.Serialization; using System.IdentityModel.Tokens.Jwt; using Volo.Abp; - namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent.Incoming; - public class InjectionMoldingRequestReader : IReader { private readonly IInjectionIssueRequestAppService _injectionRequest; private readonly IItemBasicAppService _itemService; private readonly ILocationAppService _locService; - private readonly ILogger _logger; private readonly IOptions _options; private readonly IHttpClientFactory _httpClientFactory; @@ -53,15 +50,6 @@ public class InjectionMoldingRequestReader : IReader _locService = locService; } - - - - - - - - - /// /// 读取注塑叫料任务 /// @@ -127,7 +115,6 @@ public class InjectionMoldingRequestReader : IReader _logger.LogInformation(error); } return new List(); - } // 创建新的注塑请求并将数据写入数据库 await _injectionRequest.CreateAsync(input).ConfigureAwait(false); @@ -194,27 +181,37 @@ public class InjectionMoldingRequestReader : IReader /// public async Task ReaderCameraApi() { - // 从配置中获取远程摄像头的地址、用户名、密码和令牌 - var address = _options.Value.AutoRemote.IpAddress; - var username = _options.Value.AutoRemote.UserName; - var password = _options.Value.AutoRemote.Password; - var token = _options.Value.AutoRemote.Token; - - // 创建一个HttpClient实例 - var client = _httpClientFactory.CreateClient(); - - // 将用户名和密码转换为Base64编码的凭据,并设置请求的身份验证信息 - var credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")); - client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials); - - // 发送GET请求到远程摄像头地址并等待响应 - var response = await client.GetAsync(address).ConfigureAwait(false); + try + { + + // 从配置中获取远程摄像头的地址、用户名、密码和令牌 + var address = _options.Value.AutoRemote.IpAddress; + var username = _options.Value.AutoRemote.UserName; + var password = _options.Value.AutoRemote.Password; + var token = _options.Value.AutoRemote.Token; + + // 创建一个HttpClient实例 + var client = _httpClientFactory.CreateClient(); + + // 将用户名和密码转换为Base64编码的凭据,并设置请求的身份验证信息 + var credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")); + client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials); - // 如果请求成功,则返回响应内容,否则返回错误信息 - if (response.IsSuccessStatusCode) + + // 发送GET请求到远程摄像头地址并等待响应 + var response = await client.GetAsync(address).ConfigureAwait(false); + + // 如果请求成功,则返回响应内容,否则返回错误信息 + if (response.IsSuccessStatusCode) + { + return await response.Content.ReadAsStringAsync().ConfigureAwait(false); + } + } + catch (HttpRequestException ex) { - return await response.Content.ReadAsStringAsync().ConfigureAwait(false); + _logger.LogInformation("远程摄像头连接失败:" + ex.Message); + } return "Error occurred"; diff --git a/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/BasedataHttpApiHostModule.cs b/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/BasedataHttpApiHostModule.cs index 3f5af902b..5b973deba 100644 --- a/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/BasedataHttpApiHostModule.cs +++ b/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/BasedataHttpApiHostModule.cs @@ -20,6 +20,7 @@ using Volo.Abp.Modularity; using Volo.Abp.PermissionManagement.EntityFrameworkCore; using Volo.Abp.SettingManagement.EntityFrameworkCore; using Volo.Abp.Swashbuckle; +using Volo.Abp.Threading; using Volo.Abp.Timing; using Volo.Abp.Users; using Win_in.Sfs.Basedata.Application; @@ -67,19 +68,14 @@ public class BasedataHttpApiHostModule : ModuleBase { public override void ConfigureServices(ServiceConfigurationContext context) { - //base.ConfigureServices(context); - //ConfigureAuditing(); - //// - //ConfigureBlobStoring(); - //Configure(options => - //{ - // options.Kind = DateTimeKind.Local; - //}); + base.ConfigureServices(context); ConfigureAuditing(); // ConfigureBlobStoring(); + + } public override void PostConfigureServices(ServiceConfigurationContext context) @@ -120,7 +116,20 @@ public class BasedataHttpApiHostModule : ModuleBase public override void OnApplicationInitialization(ApplicationInitializationContext context) { + + CreateDatabase(context); base.OnApplicationInitialization(context); + + AsyncHelper.RunSync(async () => + { + using (var scope = context.ServiceProvider.CreateScope()) + { + await scope.ServiceProvider + .GetRequiredService().StartAsync().ConfigureAwait(false); + + } + }); + } } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/BasedataApplicationModule.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/BasedataApplicationModule.cs index f41b7119e..769302ef0 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/BasedataApplicationModule.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/BasedataApplicationModule.cs @@ -3,6 +3,7 @@ using Volo.Abp.Application; using Volo.Abp.AutoMapper; using Volo.Abp.Modularity; using Win_in.Sfs.Basedata.Application.Contracts; + using Win_in.Sfs.Basedata.Domain; using Win_in.Sfs.Shared.Application; @@ -19,10 +20,16 @@ public class BasedataApplicationModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { + context.Services.AddAutoMapperObjectMapper(); Configure(options => { options.AddMaps(validate: true); }); + + + + + } } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Boms/BomAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Boms/BomAppService.cs index 41e51c39a..cf42f2408 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Boms/BomAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Boms/BomAppService.cs @@ -22,21 +22,26 @@ public class BomAppService : SfsBaseDataAppServiceBase, IBomAppService { + //private readonly CacheService _cacheService; + private new readonly IBomRepository _repository; private readonly IBomManager _bomManager; - List _bomList=new List(); + public BomAppService(IBomRepository repository , IBomManager bomManager , IDistributedCache cache + //, CacheService cacheService ) : base(repository, cache) { _repository = repository; _bomManager = bomManager; + //_cacheService = cacheService; base.CreatePolicyName = BomPermissions.Create; base.UpdatePolicyName = BomPermissions.Update; base.DeletePolicyName = BomPermissions.Delete; + //_cacheService.StartAsync().ConfigureAwait(false); } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Caches/CacheAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Caches/CacheAppService.cs new file mode 100644 index 000000000..c93b41744 --- /dev/null +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Caches/CacheAppService.cs @@ -0,0 +1,106 @@ +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; +using Volo.Abp.Application.Services; +using Volo.Abp.Caching; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Domain.Repositories; +using Win_in.Sfs.Basedata.Application.Contracts; +using Win_in.Sfs.Basedata.Domain; +using Win_in.Sfs.Basedata.Domain.Caches; +using Win_in.Sfs.Basedata.Domain.Shared; + +namespace Win_in.Sfs.Basedata.Application; + +public class CycleOptions +{ + /// + /// Boms缓存生命周期(秒) + /// + public int BomsCycle { get; set; } + +} +/// +/// 提供缓存服务的类 +/// +public class CacheService:ISingletonDependency +{ + private readonly IServiceProvider _serviceProvider; + private readonly IOptions _options; + public CacheService(IServiceProvider serviceProvider, IOptions options) + { + _serviceProvider = serviceProvider; + _options = options; + } + + /// + /// 生命周期操作 + /// + private async Task BomsCycle() + { + using var serviceScope = _serviceProvider.CreateScope(); + var repository = serviceScope.ServiceProvider.GetRequiredService(); + var reassigner = new Reassigner(DateTime.Now, new TimeSpan(0, 0, _options.Value.BomsCycle==0?600: _options.Value.BomsCycle)); + await reassigner.RunAsync(async () => + { + Cache.Boms.Clear(); + Cache.Boms = await repository.GetListAsync().ConfigureAwait(false); + + }).ConfigureAwait(false); + } + + /// + /// 异步开始生命周期操作 + /// + public async Task StartAsync() + { + await BomsCycle().ConfigureAwait(false); + } + + /// + /// 异步重置BOM(Bill of Materials)生命周期操作 + /// + public async Task ResetAsync() + { + await BomsCycle().ConfigureAwait(false); + } +} + + +public class Reassigner +{ + private readonly TimeSpan _interval; + private DateTime _lasttime; + public Reassigner(DateTime lasttime, TimeSpan interval) + { + _lasttime = lasttime; + _interval = interval; + } + + public async Task RunAsync(Action p_action) + { + while (true) + { + // 获取当前时间 + var currentTime = DateTime.Now; + // 计算上次重新赋值到现在的时间间隔 + var elapsed = currentTime - _lasttime; + // 检查时间间隔是否满足条件 + if (elapsed >= _interval) + { + p_action(); + // 重新赋值 + //_value = await GetValueAsync(); + // 更新最后更新时间 + _lasttime = currentTime; + } + + // 等待下一刻钟 + await Task.Delay(_interval).ConfigureAwait(false); + } + } + +} diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Boms/BomManager.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Boms/BomManager.cs index 692ce3ef0..bd83d5143 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Boms/BomManager.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Boms/BomManager.cs @@ -10,7 +10,8 @@ using Volo.Abp; using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Services; using Win_in.Sfs.Basedata.Boms; -using Win_in.Sfs.Basedata.Caches; + +using Win_in.Sfs.Basedata.Domain.Caches; using Win_in.Sfs.Basedata.Domain.Shared; using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Shared.Domain.Shared; @@ -22,6 +23,7 @@ public class BomManager : DomainService, IBomManager private readonly IBomRepository _repository; private readonly IItemBasicRepository _itemBasicRepository; + public BomManager(IBomRepository repository, IItemBasicRepository itemBasicRepository) { _repository = repository; @@ -143,6 +145,13 @@ public class BomManager : DomainService, IBomManager return await _repository.GetListAsync(p => p.Product == product).ConfigureAwait(false); } + public virtual async Task> GetListAsync() + { + return await _repository.GetListAsync().ConfigureAwait(false); + } + + + public virtual async Task> GetListWithPhantomItemAsync(string productItemCode, string mfgOp, DateTime validTime, bool onlyFromProductionPlan) { var where = BuildExpression(productItemCode, mfgOp, validTime, onlyFromProductionPlan); diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Caches/Cache.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Caches/Cache.cs index 4beb6e0d7..9a44f6986 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Caches/Cache.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Caches/Cache.cs @@ -1,59 +1,28 @@ using System; using System.Collections.Generic; +using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Domain.Repositories; using Win_in.Sfs.Basedata.Domain; -namespace Win_in.Sfs.Basedata.Caches; +namespace Win_in.Sfs.Basedata.Domain.Caches; public static class Cache { + public static List Boms = new List(); - public static async void BomsLifeCycle(int lifetime) + public static void Clear() { - var reassigner = new Reassigner(DateTime.Now,new TimeSpan(0,5,0)); - await reassigner.RunAsync(() => { - Boms.Clear(); - }).ConfigureAwait(false); + Boms.Clear(); } } -public class Reassigner -{ - private readonly TimeSpan _interval; - private DateTime _lasttime; - public Reassigner(DateTime lasttime, TimeSpan interval) - { - _lasttime = lasttime; - _interval = interval; - } - public async Task RunAsync(Action p_action) - { - while (true) - { - // 获取当前时间 - var currentTime = DateTime.Now; - // 计算上次重新赋值到现在的时间间隔 - var elapsed = currentTime - _lasttime; - // 检查时间间隔是否满足条件 - if (elapsed >= _interval) - { - p_action(); - // 重新赋值 - //_value = await GetValueAsync(); - // 更新最后更新时间 - _lasttime = currentTime; - } - - // 等待下一刻钟 - await Task.Delay(_interval); - } - } - -} From f2507da243c7be6f9fc983a22d61c217cbc1ead0 Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Thu, 18 Apr 2024 15:48:16 +0800 Subject: [PATCH 11/19] =?UTF-8?q?=E7=9B=98=E7=82=B9=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Enums/Store/EnumInventoryMode.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumInventoryMode.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumInventoryMode.cs index 0f331efe8..095b3ac84 100644 --- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumInventoryMode.cs +++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumInventoryMode.cs @@ -14,9 +14,9 @@ public enum EnumInventoryMode None = 0, /// - /// 箱码 + /// 有箱码 /// - [Display(Name = "箱码")] + [Display(Name = "有箱码")] ByPackingCode = 1, /// From f26bb4930e869db344159af894e2485ea3f9408d Mon Sep 17 00:00:00 2001 From: zhaoxinyu <89237069@qq.com> Date: Thu, 18 Apr 2024 15:57:33 +0800 Subject: [PATCH 12/19] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BasedataHttpApiHostModule.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/BasedataHttpApiHostModule.cs b/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/BasedataHttpApiHostModule.cs index 5b973deba..95407fc63 100644 --- a/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/BasedataHttpApiHostModule.cs +++ b/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/BasedataHttpApiHostModule.cs @@ -121,15 +121,15 @@ public class BasedataHttpApiHostModule : ModuleBase CreateDatabase(context); base.OnApplicationInitialization(context); - AsyncHelper.RunSync(async () => - { - using (var scope = context.ServiceProvider.CreateScope()) - { - await scope.ServiceProvider - .GetRequiredService().StartAsync().ConfigureAwait(false); + //AsyncHelper.RunSync(async () => + //{ + // using (var scope = context.ServiceProvider.CreateScope()) + // { + // await scope.ServiceProvider + // .GetRequiredService().StartAsync().ConfigureAwait(false); - } - }); + // } + //}); } } From b7731a61715793329d4cb35d6a960ffc1e2a0c89 Mon Sep 17 00:00:00 2001 From: liuyunfeng Date: Thu, 18 Apr 2024 16:05:03 +0800 Subject: [PATCH 13/19] =?UTF-8?q?=E5=8A=A0PDA=20list?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- .../Stores/TransferLibJobController.cs | 35 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f83526d13..934d3d589 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -**/node_modules/ \ No newline at end of file +**/node_modules/ +/be/Hosts/Wms.Host/Win_in.Sfs.Wms.Store.HttpApi.Host/Properties/PublishProfiles/FolderProfile3.pubxml diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferLibJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferLibJobController.cs index 0fcbb8ffa..c8084e7d7 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferLibJobController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/TransferLibJobController.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Text.Json; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Volo.Abp.Application.Dtos; @@ -99,4 +100,38 @@ public class TransferLibJobController : AbpController { await _transferLibJobAppService.CancelAcceptAsync(id).ConfigureAwait(false); } + + /// + /// 获取列表 + /// + /// + /// + /// + [HttpGet("list")] + public virtual async Task> GetListAsync(int pageSize, int pageIndex) + { + //var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); + //var jsonCodes = JsonSerializer.Serialize(wlgCodes); + + var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing }; + var jsonStatus = JsonSerializer.Serialize(status); + + var request = new SfsJobRequestInputBase + { + MaxResultCount = pageSize, + SkipCount = (pageIndex - 1) * pageSize, + Sorting = $"{nameof(TransferLibJobDTO.Priority)} ASC", + Condition = new Condition + { + Filters = new List + { + //new(nameof(TransferLibJobDTO.WorkGroupCode),jsonCodes,"In"), + new(nameof(TransferLibJobDTO.JobStatus),jsonStatus,"In") + } + } + }; + + var list = await _transferLibJobAppService.GetPagedListByFilterAsync(request, true).ConfigureAwait(false); + return list; + } } From d02f2aa8dd9f172d2575b701efbe952f86f695b6 Mon Sep 17 00:00:00 2001 From: zhaoxinyu <89237069@qq.com> Date: Thu, 18 Apr 2024 17:17:50 +0800 Subject: [PATCH 14/19] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BasedataHttpApiHostModule.cs | 2 +- .../Boms/BomAppService.cs | 18 +---- .../Caches/CacheAppService.cs | 71 ++++++++++++++----- 3 files changed, 57 insertions(+), 34 deletions(-) diff --git a/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/BasedataHttpApiHostModule.cs b/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/BasedataHttpApiHostModule.cs index 95407fc63..adb390a0c 100644 --- a/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/BasedataHttpApiHostModule.cs +++ b/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/BasedataHttpApiHostModule.cs @@ -127,7 +127,7 @@ public class BasedataHttpApiHostModule : ModuleBase // { // await scope.ServiceProvider // .GetRequiredService().StartAsync().ConfigureAwait(false); - + // } //}); diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Boms/BomAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Boms/BomAppService.cs index cf42f2408..175c29344 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Boms/BomAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Boms/BomAppService.cs @@ -22,7 +22,7 @@ public class BomAppService : SfsBaseDataAppServiceBase, IBomAppService { - //private readonly CacheService _cacheService; + private new readonly IBomRepository _repository; private readonly IBomManager _bomManager; @@ -32,29 +32,17 @@ public class BomAppService : public BomAppService(IBomRepository repository , IBomManager bomManager , IDistributedCache cache - //, CacheService cacheService + ) : base(repository, cache) { _repository = repository; _bomManager = bomManager; - //_cacheService = cacheService; base.CreatePolicyName = BomPermissions.Create; base.UpdatePolicyName = BomPermissions.Update; - base.DeletePolicyName = BomPermissions.Delete; - //_cacheService.StartAsync().ConfigureAwait(false); - + base.DeletePolicyName = BomPermissions.Delete; } - - - - - - - - - #region Get [HttpGet("get-by-productitemcode")] diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Caches/CacheAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Caches/CacheAppService.cs index c93b41744..0ea409cf5 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Caches/CacheAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Caches/CacheAppService.cs @@ -1,5 +1,7 @@ using System; +using System.Collections.Generic; using System.Threading.Tasks; +using DocumentFormat.OpenXml.Office2010.Drawing; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; @@ -15,6 +17,39 @@ using Win_in.Sfs.Basedata.Domain.Shared; namespace Win_in.Sfs.Basedata.Application; + +public class TaskQueue +{ + private readonly List _tasks = new List(); + + public void Enqueue(string name, Action action) + { + _tasks.Add(new TaskItem { Name = name, Action = action }); + } + + public async Task StartAsync() + { + foreach (var task in _tasks) + { + await Task.Run(task.Action).ConfigureAwait(false); + } + } +} +public class TaskItem +{ + public string Name { get; set; } + public Action Action { get; set; } +} + + + + + + + + + + public class CycleOptions { /// @@ -24,7 +59,7 @@ public class CycleOptions } /// -/// 提供缓存服务的类 +/// 提供缓存服务的类(堵塞以后修改再用) /// public class CacheService:ISingletonDependency { @@ -41,32 +76,32 @@ public class CacheService:ISingletonDependency /// private async Task BomsCycle() { - using var serviceScope = _serviceProvider.CreateScope(); - var repository = serviceScope.ServiceProvider.GetRequiredService(); - var reassigner = new Reassigner(DateTime.Now, new TimeSpan(0, 0, _options.Value.BomsCycle==0?600: _options.Value.BomsCycle)); - await reassigner.RunAsync(async () => - { - Cache.Boms.Clear(); - Cache.Boms = await repository.GetListAsync().ConfigureAwait(false); + + //Task.Run(async () => + //{ + var reassigner = new Reassigner(DateTime.Now, new TimeSpan(0, 0, _options.Value.BomsCycle == 0 ? 60 : _options.Value.BomsCycle)); + await reassigner.RunAsync(async () => + { + using var serviceScope = _serviceProvider.CreateScope(); + var repository = serviceScope.ServiceProvider.GetRequiredService(); + Cache.Boms.Clear(); + Cache.Boms = await repository.GetListAsync().ConfigureAwait(false); - }).ConfigureAwait(false); + }).ConfigureAwait(false); + //}); + ; } /// - /// 异步开始生命周期操作 + /// 异步开始生命周期操作不能堵塞 /// public async Task StartAsync() { - await BomsCycle().ConfigureAwait(false); - } + BomsCycle();//异步处理不能堵塞主任务 - /// - /// 异步重置BOM(Bill of Materials)生命周期操作 - /// - public async Task ResetAsync() - { - await BomsCycle().ConfigureAwait(false); } + + } From 8882688e3635705c53cd91cdc7adabd5619aee39 Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Fri, 19 Apr 2024 09:22:24 +0800 Subject: [PATCH 15/19] =?UTF-8?q?=E6=B3=A8=E5=A1=91=E5=8F=91=E6=96=99?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Stores/InjectionRequestController.cs | 15 +++++++++++++++ .../ItemBasics/IItemBasicAppService.cs | 1 + .../Items/ItemBasicAppService.cs | 8 ++++++++ .../IInjectionIssueRequestAppService.cs | 7 +++++++ .../InjectionIssueJobAppService.cs | 5 ++++- .../InjectionIssueNoteAppService.cs | 5 ++++- .../InjectionIssueRequestAppService.cs | 17 +++++++++++++++-- .../InjectionIssueRequestEventHandler.cs | 3 ++- 8 files changed, 56 insertions(+), 5 deletions(-) diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/InjectionRequestController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/InjectionRequestController.cs index bdcb4dd23..4a67b9616 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/InjectionRequestController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/InjectionRequestController.cs @@ -1,6 +1,8 @@ +using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc; +using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Pda.Controllers.Stores; @@ -48,4 +50,17 @@ public class InjectionIssueRequestController : AbpController return Ok(result); } + /// + /// 获取物品类别列表 + /// + /// + /// + [HttpGet("list/item-category")] + public virtual async Task> GetItemCategoryListAsync() + { + var entities = await _injectionRequestAppService.GetItemCategoryListAsync().ConfigureAwait(false); + + return entities; + } + } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemBasics/IItemBasicAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemBasics/IItemBasicAppService.cs index e44da0e5f..da616e239 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemBasics/IItemBasicAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemBasics/IItemBasicAppService.cs @@ -17,6 +17,7 @@ public interface IItemBasicAppService void CheckItemIsAvailable(ItemBasicDTO itemBasicDTO); Task> GetListByNameAsync(string name); + Task> GetCategoryListAsync(); Task GetOrAddAsync(ItemBasicEditInput input); diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Items/ItemBasicAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Items/ItemBasicAppService.cs index 710271fd8..fc7d9b96d 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Items/ItemBasicAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Items/ItemBasicAppService.cs @@ -122,6 +122,14 @@ public class ItemBasicAppService return dtos; } + [HttpGet("list-item-category")] + public virtual async Task> GetCategoryListAsync() + { + var entities = await _repository.GetListAsync(c => !string.IsNullOrEmpty(c.Category)).ConfigureAwait(false); + var dtos = ObjectMapper.Map, List>(entities); + return dtos; + } + [HttpGet("get-manage-type")] public virtual async Task GetManageTypeAsync(string itemCode) { diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/IInjectionIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/IInjectionIssueRequestAppService.cs index 09159fa09..8eb902d1d 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/IInjectionIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/IInjectionIssueRequestAppService.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Volo.Abp.Application.Dtos; +using Win_in.Sfs.Basedata.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Application.Contracts; @@ -16,4 +17,10 @@ public interface IInjectionIssueRequestAppService /// /// Task GetCountAsync(); + + /// + /// 获取物品类别列表 + /// + /// + Task> GetItemCategoryListAsync(); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs index 7a599cb67..416005a4a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs @@ -21,8 +21,11 @@ using Win_in.Sfs.Wms.Store.Notes; namespace Win_in.Sfs.Wms.Store.Application; +/// +/// 注塑发料任务 +/// [Authorize] -[Route($"{StoreConsts.RootPath}injection-job")] +[Route($"{StoreConsts.RootPath}injection-issue-job")] public class InjectionIssueJobAppService : SfsJobAppServiceBase, diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNoteAppService.cs index e172732a7..5bddd6b32 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNoteAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNoteAppService.cs @@ -17,8 +17,11 @@ using Win_in.Sfs.Wms.Store.Domain.Shared; namespace Win_in.Sfs.Wms.Store.Application; +/// +/// 注塑发料记录 +/// [Authorize] -[Route($"{StoreConsts.RootPath}injection-note")] +[Route($"{StoreConsts.RootPath}injection-issue-note")] public class InjectionIssueNoteAppService : SfsStoreWithDetailsAppServiceBase, diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs index 88a708606..8a87550c5 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs @@ -28,10 +28,10 @@ using Win_in.Sfs.Wms.Store.Domain.Shared; namespace Win_in.Sfs.Wms.Store.Application; /// -/// 注塑叫料 +/// 注塑发料申请 /// [Authorize] -[Route($"{StoreConsts.RootPath}injection-request")] +[Route($"{StoreConsts.RootPath}injection-issue-request")] public class InjectionIssueRequestAppService : SfsStoreRequestAppServiceBase, @@ -150,6 +150,19 @@ public class InjectionIssueRequestAppService : SfsStoreRequestAppServiceBase + /// 获取物品类别列表 + /// + /// + /// + [HttpGet("list/item-category")] + public virtual async Task> GetItemCategoryListAsync() + { + var entities = await _itemBasicAppService.GetCategoryListAsync().ConfigureAwait(false); + + return entities; + } + #endregion #region 导入 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/InjectionIssueRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/InjectionIssueRequestEventHandler.cs index faf8ef288..deb859cb5 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/InjectionIssueRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/InjectionIssueRequestEventHandler.cs @@ -388,7 +388,7 @@ public class InjectionIssueRequestEventHandler .RawLocationCodeListJson) }; var usableList = await _balanceAppService.GetUsableListAsync(input).ConfigureAwait(false); - usableList = usableList.Where(p => !useBalanceList.Contains(p.PackingCode)).ToList(); + usableList = usableList.Where(p => !useBalanceList.Contains(p.PackingCode) && p.Qty!=0).ToList(); if (usableList.Any()) { for (var i = 0; i < sumBoxQty; i++) @@ -462,6 +462,7 @@ public class InjectionIssueRequestEventHandler detail.ItemName=injectionRequestDetail.ItemName; detail.ItemDesc1=injectionRequestDetail.ItemDesc1; detail.ItemDesc2 = injectionRequestDetail.ItemDesc2; + detail.StdPackQty = injectionRequestDetail.StdPackQty; detail.Status = EnumInventoryStatus.OK; detail.Uom = balance.Uom; From 62910df6303bfd4836d51c260f47a716db0ce5a7 Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Fri, 19 Apr 2024 09:23:55 +0800 Subject: [PATCH 16/19] =?UTF-8?q?=E7=9B=98=E7=82=B9=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Jobs/CountJobs/DTOs/CountJobDTO.cs | 6 ++++++ .../Jobs/CountJobs/DTOs/CountJobDependentDetailDTO.cs | 6 +++++- .../Jobs/CountJobs/DTOs/CountJobDetailDTO.cs | 6 +++++- .../Jobs/CountJobs/Inputs/CountJobDetailInput.cs | 6 +++++- .../Jobs/CountJobs/Inputs/CountJobEditInput.cs | 6 ++++++ .../Plans/CountPlans/DTOs/CountPlanDTO.cs | 6 ++++++ .../Plans/CountPlans/Inputs/CountPlanEditInput.cs | 6 ++++++ .../Plans/CountPlans/Inputs/CountPlanImportInput.cs | 6 ++++++ 8 files changed, 45 insertions(+), 3 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDTO.cs index 8be6d99fb..35aa9a5bb 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDTO.cs @@ -24,6 +24,12 @@ public class CountJobDTO : SfsJobDTOBase [Display(Name = "盘点阶段")] public EnumCountStage CountStage { get; set; } + /// + /// 盘点次数 + /// + [Display(Name = "盘点次数")] + public int InventoryStage { get; set; } + /// /// 盘点方式 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDependentDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDependentDetailDTO.cs index e98bf2708..5b4288f53 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDependentDetailDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDependentDetailDTO.cs @@ -6,7 +6,11 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts; public class CountJobDependentDetailDTO : SfsJobDetailDTOBase, IHasCountResult { - + /// + /// 盘点次数 + /// + [Display(Name = "盘点次数")] + public int InventoryStage { get; set; } /// /// 盘点标签 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDetailDTO.cs index 76a95666c..6af1900f5 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDetailDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/DTOs/CountJobDetailDTO.cs @@ -6,7 +6,11 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts; public class CountJobDetailDTO : SfsJobDetailDTOBase, IHasCountResult { - + /// + /// 盘点次数 + /// + [Display(Name = "盘点次数")] + public int InventoryStage { get; set; } /// /// 盘点标签 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/Inputs/CountJobDetailInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/Inputs/CountJobDetailInput.cs index 0d870ccac..ecb2add71 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/Inputs/CountJobDetailInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/Inputs/CountJobDetailInput.cs @@ -6,7 +6,11 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts; public class CountJobDetailInput : SfsJobDetailInputBase, IHasCountResult { - + /// + /// 盘点次数 + /// + [Display(Name = "盘点次数")] + public int InventoryStage { get; set; } /// /// 盘点标签 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/Inputs/CountJobEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/Inputs/CountJobEditInput.cs index 2b35969a4..2b0adf9d2 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/Inputs/CountJobEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/CountJobs/Inputs/CountJobEditInput.cs @@ -8,6 +8,12 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts; public class CountJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCreateInput { #region Base + + /// + /// 盘点次数 + /// + [Display(Name = "盘点次数")] + public int InventoryStage { get; set; } /// /// 盘点模式 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/DTOs/CountPlanDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/DTOs/CountPlanDTO.cs index 0e26ee1eb..94786e527 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/DTOs/CountPlanDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/DTOs/CountPlanDTO.cs @@ -24,6 +24,12 @@ public class CountPlanDTO : SfsStoreRequestDTOBase [Display(Name = "盘点阶段")] public EnumCountStage Stage { get; set; } + /// + /// 盘点次数 + /// + [Display(Name = "盘点次数")] + public int InventoryStage { get; set; } + /// /// 描述 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanEditInput.cs index 3de261d6d..8a09a9185 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanEditInput.cs @@ -64,6 +64,12 @@ public class CountPlanEditInput : SfsStoreRequestCreateOrUpdateInputBase, IHasNu /// [Display(Name = "盘点模式")] public EnumInventoryMode InventoryMode { get; set; } + + /// + /// 盘点次数 + /// + [Display(Name = "盘点次数")] + public int InventoryStage { get; set; } /// /// 类型 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanImportInput.cs index aee4debde..22469a934 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanImportInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanImportInput.cs @@ -57,4 +57,10 @@ public class CountPlanImportInput : SfsStoreImportInputBase /// [Display(Name = "盘点模式")] public EnumInventoryMode InventoryMode { get; set; } + + /// + /// 盘点次数 + /// + [Display(Name = "盘点次数")] + public int InventoryStage { get; set; } } From 10951e110cf662e15b4ac1f7a95f820c6150dfc8 Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Fri, 19 Apr 2024 09:32:21 +0800 Subject: [PATCH 17/19] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AutoMapperProfiles/Plans/CountPlanAutoMapperProfile.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Plans/CountPlanAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Plans/CountPlanAutoMapperProfile.cs index cf0e69b5c..d219dd28e 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Plans/CountPlanAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Plans/CountPlanAutoMapperProfile.cs @@ -47,6 +47,7 @@ public partial class StoreEventAutoMapperProfile : Profile .Ignore(x => x.ArriveDate) .Ignore(x => x.ProduceDate) .Ignore(x => x.ExpireDate) + .Ignore(x=>x.InventoryStage) ; //盘点计划映射到盘点记录 From e8e1b5a8a7978f7b9b73f324a57f7486ad0dce6a Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Fri, 19 Apr 2024 14:00:48 +0800 Subject: [PATCH 18/19] =?UTF-8?q?=E7=9B=98=E7=82=B9=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Inputs/CountPlanCreateRequestInput.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanCreateRequestInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanCreateRequestInput.cs index a9edbd60d..7e9cab750 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanCreateRequestInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Plans/CountPlans/Inputs/CountPlanCreateRequestInput.cs @@ -54,6 +54,19 @@ public class CountPlanCreateRequestInput : SfsStoreRequestCreateOrUpdateInputBas [Display(Name = "盘点方式")] public CountPlanRequestType RequestType { get; set; } + + /// + /// 盘点次数 + /// + [Display(Name = "盘点次数")] + public int InventoryStage { get; set; } + + /// + /// 盘点模式 + /// + [Display(Name = "盘点模式")] + public EnumInventoryMode InventoryMode { get; set; } + /// /// 零件条件集合 /// From af08db0b1fb86034f0ce8007b58a18acdadd6096 Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Fri, 19 Apr 2024 16:16:50 +0800 Subject: [PATCH 19/19] =?UTF-8?q?=E6=B3=A8=E5=A1=91=E5=8F=91=E6=96=99?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Stores/InjectionRequestController.cs | 5 +- .../ProductionLineAppService.cs | 3 +- .../InjectionIssueRequestAppService.cs | 23 +++++-- .../InjectionIssueRequestEventHandler.cs | 62 +++++++++++++------ 4 files changed, 66 insertions(+), 27 deletions(-) diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/InjectionRequestController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/InjectionRequestController.cs index 4a67b9616..9c2c3045b 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/InjectionRequestController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/InjectionRequestController.cs @@ -32,9 +32,10 @@ public class InjectionIssueRequestController : AbpController /// /// [HttpPost("")] - public virtual async Task CreateAsync(InjectionIssueRequestEditInput input) + public virtual async Task> CreateAsync(InjectionIssueRequestEditInput input) { - _ = await _injectionRequestAppService.CreateAsync(input).ConfigureAwait(false); + var result = await _injectionRequestAppService.CreateAsync(input).ConfigureAwait(false); + return Ok(result); } /// diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ProductionLines/ProductionLineAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ProductionLines/ProductionLineAppService.cs index 188bfb5f4..3bb63cb76 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ProductionLines/ProductionLineAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ProductionLines/ProductionLineAppService.cs @@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Volo.Abp; using Volo.Abp.Caching; +using Volo.Abp.Domain.Repositories; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Domain; using Win_in.Sfs.Basedata.Domain.Shared; @@ -48,7 +49,7 @@ public class ProductionLineAppService [HttpPost("get-by-location")] public virtual async Task GetByLocationCodeAsync(string locationCode) { - var entity = await _repository.FindAsync(p => p.LocationCode == locationCode).ConfigureAwait(false); + var entity = await _repository.FirstOrDefaultAsync(p => p.LocationCode == locationCode).ConfigureAwait(false); if (entity == null) { throw new UserFriendlyException($"【{locationCode}】库位不存在"); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs index 8a87550c5..b998f6bbc 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs @@ -42,6 +42,7 @@ public class InjectionIssueRequestAppService : SfsStoreRequestAppServiceBase0) + { + detailInput.Uom = itemContainerDto[0].BasicUom; + detailInput.Qty = itemContainerDto[0].Qty; + detailInput.StdPackQty = itemBasicDto.StdPackQty; + } + else + { + detailInput.Uom = itemBasicDto.BasicUom; + detailInput.StdPackQty = itemBasicDto.StdPackQty; + detailInput.Qty = itemBasicDto.StdPackQty; + } + detailInput.Status = EnumStatus.Open; //因为是刚创建的 所以发料数一定是0 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/InjectionIssueRequestEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/InjectionIssueRequestEventHandler.cs index deb859cb5..29927219a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/InjectionIssueRequestEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/InjectionIssueRequestEventHandler.cs @@ -249,6 +249,11 @@ public class InjectionIssueRequestEventHandler var productionLineItemDto = productionLineItemDtos.FirstOrDefault(p => p.ItemCode == injectionRequestDetail.ItemCode); + if (productionLineItemDto == null) + { + throw new UserFriendlyException( + $"物品代码【{injectionRequestDetail.ItemCode}】在生产线【{productionLineDto.Code}】中没有对应的【生产线物品关系】"); + } var input = new RecommendBalanceRequestInput { ItemCode = injectionRequestDetail.ItemCode, @@ -268,20 +273,10 @@ public class InjectionIssueRequestEventHandler var detail = await BuildInjectionIssueJobDetailWithQtyTypeAsync(injectionRequestDetail, recommend, toLocationGroupCode) - .ConfigureAwait(false); - if (injectionRequest.UseOnTheWayLocation) - { - //获取在途库 - var locationDto = await _locationAppService.GetFirstByTypeAsync(EnumLocationType.TRANSPORT) - .ConfigureAwait(false); - - detail.OnTheWayLocationCode = locationDto.Code; - } + .ConfigureAwait(false); jobDetails.Add(detail); - injectionRequestDetail.IssuedQty += recommend.Qty; - - //await _injectionRequestManager.UpdateDetailsAsync(injectionRequest).ConfigureAwait(false); + } } @@ -298,36 +293,63 @@ public class InjectionIssueRequestEventHandler private async Task BuildInjectionIssueJobDetailWithQtyTypeAsync( InjectionIssueRequestDetail injectionRequestDetail, BalanceDTO balance, string toLocationGroupCode) { - //ProductionLineDTO prodLine = await _productionLineAppService.GetByLocationGroupCodeAsync(toLocationGroupCode).ConfigureAwait(false); - - var detail = ObjectMapper.Map(balance); + var detail = new InjectionIssueJobDetailInput(); detail.RequestLocationCode = injectionRequestDetail.ToLocationCode; + detail.RequestLocationGroup=injectionRequestDetail.ToLocationGroup; + detail.RequestLocationArea = injectionRequestDetail.ToLocationArea; + detail.RequestLocationErpCode = injectionRequestDetail.ToLocationErpCode; + detail.RequestWarehouseCode=injectionRequestDetail.ToWarehouseCode; + detail.PositionCode = injectionRequestDetail.PositionCode; detail.RecommendType = injectionRequestDetail.RecommendType; + detail.ProdLine = injectionRequestDetail.ToLocationCode; + + detail.ItemCode = injectionRequestDetail.ItemCode; + detail.ItemName=injectionRequestDetail.ItemName; + detail.ItemDesc1=injectionRequestDetail.ItemDesc1; + detail.ItemDesc2 = injectionRequestDetail.ItemDesc2; + detail.StdPackQty = injectionRequestDetail.StdPackQty; + detail.RequestQty= injectionRequestDetail.Qty; + + detail.Status = EnumInventoryStatus.OK; + detail.Uom = balance.Uom; detail.RecommendFromPackingCode = balance.PackingCode; detail.RecommendFromContainerCode = balance.ContainerCode; + detail.RecommendFromLot = balance.Lot; + + detail.RecommendFromQty = balance.Qty; + detail.RecommendFromSupplierBatch = balance.SupplierBatch; detail.RecommendFromProduceDate = balance.ProduceDate; detail.RecommendFromExpireDate = balance.ExpireDate; - detail.RecommendFromLot = balance.Lot; detail.RecommendFromProduceDate = balance.ProduceDate; detail.RecommendFromArriveDate = balance.ArriveDate; + detail.RecommendFromLocationArea = balance.LocationArea; detail.RecommendFromLocationCode = balance.LocationCode; detail.RecommendFromLocationErpCode = balance.LocationErpCode; detail.RecommendFromLocationGroup = balance.LocationGroup; detail.RecommendFromWarehouseCode = balance.WarehouseCode; - detail.RecommendFromQty = balance.Qty; - detail.Uom = balance.Uom; + + detail.RecommendToPackingCode = balance.PackingCode; + detail.RecommendToContainerCode = balance.ContainerCode; + detail.RecommendToLot = balance.Lot; + + detail.RecommendToQty = balance.Qty; + + detail.RecommendToSupplierBatch = balance.SupplierBatch; + detail.RecommendToProduceDate = balance.ProduceDate; + detail.RecommendToExpireDate = balance.ExpireDate; + detail.RecommendToProduceDate = balance.ProduceDate; + detail.RecommendToArriveDate = balance.ArriveDate; detail.RecommendToLocationCode = injectionRequestDetail.ToLocationCode; detail.RecommendToLocationErpCode = injectionRequestDetail.ToLocationErpCode; detail.RecommendToLocationArea = injectionRequestDetail.ToLocationArea; detail.RecommendToWarehouseCode = injectionRequestDetail.ToWarehouseCode; + detail.RecommendToLocationGroup = injectionRequestDetail.ToLocationGroup; - //detail.ProdLine = prodLine == null ? toLocationGroupCode : prodLine.Code; - detail.ProdLine = toLocationGroupCode; await Task.CompletedTask.ConfigureAwait(false); return detail; }