From de11618a6c41d627acd733a6b5d818d87d291c1e Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周六, 14 12月 2024 13:34:13 +0800 Subject: [PATCH] 222 --- LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs | 67 ++++++++++++++++++++++++++++++++- 1 files changed, 65 insertions(+), 2 deletions(-) diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs index e698432..d61602b 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs @@ -8,6 +8,7 @@ using Microsoft.CodeAnalysis.Operations; using Admin.NET.Application.Service.WmsTask.WmsRbLineTask.Dto; using Furion.DatabaseAccessor; +using Admin.NET.Application.Service.WmsCommonnQuery.Dto; namespace Admin.NET.Application; /// <summary> @@ -26,6 +27,7 @@ private readonly SqlSugarRepository<WmsRecordPackageProcess> _wmsRecordPackageProcessRep; private readonly SqlSugarRepository<Mes_Upi_LineQueue> _mes_Upi_LineQueueRep; private readonly SqlSugarRepository<WmsRecordUpiNg> _wmsRecordUpiNgRep; + private readonly WmsCommonnQueryService _wmsCommonnQueryService; public WmsOperationTaskService( SqlSugarRepository<Mes_Upi_LineQueue> mes_Upi_LineQueueRep, @@ -37,8 +39,10 @@ , SqlSugarRepository<WmsRecordUpiProcess> wmsRecordUpiProcessRep , SqlSugarRepository<WmsRecordPackageProcess> wmsRecordPackageProcessRep , SqlSugarRepository<WmsRecordUpiNg> wmsRecordUpiNgRep + , WmsCommonnQueryService wmsCommonnQueryService ) { + _wmsCommonnQueryService = wmsCommonnQueryService; _wmsRecordUpiNgRep = wmsRecordUpiNgRep; _sysConfigRep = sysConfigRep; _mesPackageGatherRep = mesPackageGatherRep; @@ -68,14 +72,23 @@ { throw Oops.Oh("鍙傛暟涓嶈兘涓虹┖"); } + //楠岃瘉浼犻�掔殑鍖呮槸鍚﹂兘鍦ㄩ綈鍖呬箣鍐呫�� + List<WmsPackListOutput> packList = await _wmsCommonnQueryService.PackList(new Service.WmsCommonnQuery.Dto.PackListInput() { IsPack = false }); + List<WmsStockQuan> updateQuanList = new List<WmsStockQuan>(); foreach (var item in input.PackageCodeList) { + var isExistCount = packList.Where(x => x.PackageCode == item).Count(); + if (isExistCount == 0) + { + throw Oops.Oh($"鍖厈item}涓嶆槸缂哄寘鐘舵�侊紝璇锋鏌ワ紒"); + } + var quanList = await _wmsStockQuanRep.AsQueryable().Where(x => x.PackageCode == item).ToListAsync(); - var isExist = quanList.Where(x => x.StockStatus == StockStatusEnum.榻愬寘寰呭嚭搴�).Count(); + var isExist = quanList.Where(x => x.StockStatus == StockStatusEnum.榻愬寘寰呭嚭搴� || x.StockStatus == StockStatusEnum.浜哄伐榻愬寘鍑哄簱浠诲姟宸插垱寤�).Count(); if (isExist > 0) { - throw Oops.Oh($"鍖厈item}涓叾涓湁鏉跨姸鎬佹槸'{StockStatusEnum.榻愬寘寰呭嚭搴�.ToString()}'锛屼笉鍏佽寮哄埗鍑哄簱"); + throw Oops.Oh($"鍖厈item}涓叾涓湁鏉跨姸鎬佹槸'{StockStatusEnum.榻愬寘寰呭嚭搴�.ToString()}' 鎴�'{StockStatusEnum.浜哄伐榻愬寘鍑哄簱浠诲姟宸插垱寤�.ToString()}'锛屼笉鍏佽寮哄埗鍑哄簱"); } //鏇存柊鐘舵�� @@ -93,6 +106,56 @@ } + + /// <summary> + /// 浜哄伐榻愬寘鍑哄簱 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [ApiDescriptionSettings(Name = "PersonOutbound")] + [Description("WmsOperationTask/PersonOutbound")] + [UnitOfWork] + public async Task PersonOutbound(PersonOutboundInput input) + { + if (input == null || input.PackageCodeList?.Count == 0) + { + throw Oops.Oh("鍙傛暟涓嶈兘涓虹┖"); + } + //楠岃瘉浼犻�掔殑鍖呮槸鍚﹂兘鍦ㄩ綈鍖呬箣鍐呫�� + List<WmsPackListOutput> packList = await _wmsCommonnQueryService.PackList(new Service.WmsCommonnQuery.Dto.PackListInput() { IsPack = true }); + + List<WmsStockQuan> updateQuanList = new List<WmsStockQuan>(); + foreach (var item in input.PackageCodeList) + { + var isExistCount = packList.Where(x => x.PackageCode == item).Count(); + if (isExistCount == 0) + { + throw Oops.Oh($"鍖厈item}涓嶆槸榻愬寘鐘舵�侊紝璇锋鏌ワ紒"); + } + + var quanList = await _wmsStockQuanRep.AsQueryable().Where(x => x.PackageCode == item).ToListAsync(); + var isExist = quanList.Where(x => x.StockStatus == StockStatusEnum.浜哄伐寮哄埗寰呭嚭搴� || x.StockStatus == StockStatusEnum.浜哄伐寮哄埗浠诲姟宸插垱寤�).Count(); + if (isExist > 0) + { + throw Oops.Oh($"鍖厈item}涓叾涓湁鏉跨姸鎬佹槸'{StockStatusEnum.浜哄伐寮哄埗寰呭嚭搴�.ToString()}'鎴�'{StockStatusEnum.浜哄伐寮哄埗浠诲姟宸插垱寤�.ToString()}'锛屼笉鍏佽浜哄伐榻愬寘鍑哄簱"); + } + + //鏇存柊鐘舵�� + foreach (var quan in quanList) + { + quan.StockStatus = StockStatusEnum.榻愬寘寰呭嚭搴�; + quan.StockStatusName = StockStatusEnum.榻愬寘寰呭嚭搴�.ToString(); + quan.UpdateTime = DateTime.Now; + quan.OperReason = "浜哄伐榻愬寘鍑哄簱"; + } + updateQuanList.AddRange(quanList); + } + + await _wmsStockQuanRep.UpdateRangeAsync(updateQuanList); + + } + /// <summary> /// 鍒ゆ柇榻愬 /// </summary> -- Gitblit v1.9.3