From 33c75f1b7dbc5ed934a91bea8eacd83dbb94b9a6 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周一, 09 12月 2024 10:41:24 +0800 Subject: [PATCH] 2 --- LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs | 295 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 265 insertions(+), 30 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 a1bc049..e698432 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs @@ -24,16 +24,22 @@ private readonly SqlSugarRepository<Mes_Order_Gather> _mesOrderGatherRep; private readonly SqlSugarRepository<WmsRecordUpiProcess> _wmsRecordUpiProcessRep; private readonly SqlSugarRepository<WmsRecordPackageProcess> _wmsRecordPackageProcessRep; + private readonly SqlSugarRepository<Mes_Upi_LineQueue> _mes_Upi_LineQueueRep; + private readonly SqlSugarRepository<WmsRecordUpiNg> _wmsRecordUpiNgRep; - public WmsOperationTaskService(SqlSugarRepository<WmsRbLineTask> rep, SqlSugarRepository<WmsStockQuan> wmsStockQuanRep + public WmsOperationTaskService( + SqlSugarRepository<Mes_Upi_LineQueue> mes_Upi_LineQueueRep, + SqlSugarRepository<WmsRbLineTask> rep, SqlSugarRepository<WmsStockQuan> wmsStockQuanRep , SqlSugarRepository<Mes_Package_Gather> mesPackageGatherRep , SqlSugarRepository<SysConfig> sysConfigRep , SqlSugarRepository<Mes_BatchOrderUPI_New> mesBatchOrderUpiRep , SqlSugarRepository<Mes_Order_Gather> mesOrderGatherRep , SqlSugarRepository<WmsRecordUpiProcess> wmsRecordUpiProcessRep , SqlSugarRepository<WmsRecordPackageProcess> wmsRecordPackageProcessRep + , SqlSugarRepository<WmsRecordUpiNg> wmsRecordUpiNgRep ) { + _wmsRecordUpiNgRep = wmsRecordUpiNgRep; _sysConfigRep = sysConfigRep; _mesPackageGatherRep = mesPackageGatherRep; _rep = rep; @@ -42,6 +48,7 @@ _mesOrderGatherRep = mesOrderGatherRep; _wmsRecordUpiProcessRep = wmsRecordUpiProcessRep; _wmsRecordPackageProcessRep = wmsRecordPackageProcessRep; + _mes_Upi_LineQueueRep = mes_Upi_LineQueueRep; } @@ -54,6 +61,7 @@ [HttpPost] [ApiDescriptionSettings(Name = "ForceOutbound")] [Description("WmsOperationTask/ForceOutbound")] + [UnitOfWork] public async Task ForceOutbound(ForceOutboundInput input) { if (input == null || input.PackageCodeList?.Count == 0) @@ -74,6 +82,7 @@ foreach (var quan in quanList) { quan.StockStatus = StockStatusEnum.浜哄伐寮哄埗寰呭嚭搴�; + quan.StockStatusName = StockStatusEnum.浜哄伐寮哄埗寰呭嚭搴�.ToString(); quan.UpdateTime = DateTime.Now; quan.OperReason = "浜哄伐寮哄埗寰呭嚭搴�"; } @@ -138,8 +147,7 @@ _QiTaoReuslt = "榻愬"; } - //涓存椂灞忚斀 - /* + sysConfig.Value = setValue; await _sysConfigRep.UpdateAsync(sysConfig); //*/ @@ -179,6 +187,7 @@ [HttpPost] [ApiDescriptionSettings(Name = "ValdateLabel")] [Description("WmsOperationTask/ValdateLabel")] + [UnitOfWork] public async Task<Mes_Package_Gather> ValdateLabel(ValidateLabelInput input) { if (input == null || input.PackageCode == null || input.Upi == null) @@ -202,16 +211,22 @@ throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{input.PackageCode}鐨勬眹鎬绘暟鎹�"); } + var _cretaorName = App.User.FindFirst(ClaimConst.RealName)?.Value; + WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess(); wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>(); + wmsRecordPackage.Id = Yitter.IdGenerator.YitIdHelper.NextId(); wmsRecordPackage.CreateTime = DateTime.Now; + wmsRecordPackage.CreateUserName = _cretaorName; wmsRecordPackage.Location = "BZ29"; wmsRecordPackage.OperRemark = "鏍稿鏍囩"; await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage); WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess(); wmsRecordUpi = singleUpi.Adapt<WmsRecordUpiProcess>(); + wmsRecordUpi.Id = Yitter.IdGenerator.YitIdHelper.NextId(); wmsRecordUpi.CreateTime = DateTime.Now; + wmsRecordUpi.CreateUserName = _cretaorName; wmsRecordUpi.Location = "BZ29"; wmsRecordUpi.OperRemark = "鏍稿鏍囩"; await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi); @@ -221,48 +236,268 @@ /// <summary> - /// NG鍖呬笅绾� + /// NG鍖呬笅绾�-鎵弿鍖呭彿 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] [ApiDescriptionSettings(Name = "UnlineForNGPackage")] [Description("WmsOperationTask/UnlineForNGPackage")] + [UnitOfWork] public async Task UnlineForNGPackage(UnlineForNGPackageInput input) { - //if (input == null) - //{ - // throw Oops.Oh("鍙傛暟涓嶈兘涓虹┖"); - //} - //if (string.IsNullOrEmpty(input.PackageCode)) - //{ - // throw Oops.Oh("鍖呭彿涓嶈兘涓虹┖"); - //} + if (input == null) + { + throw Oops.Oh("鍙傛暟涓嶈兘涓虹┖"); + } + if (string.IsNullOrEmpty(input.PackageCode)) + { + throw Oops.Oh("鍖呭彿涓嶈兘涓虹┖"); + } //if (string.IsNullOrEmpty(input.Reason)) //{ // throw Oops.Oh("鍘熷洜涓嶈兘涓虹┖"); //} - //List<WmsStockQuan> updateQuanList = new List<WmsStockQuan>(); - //foreach (var item in input.PackageCodeList) - //{ - // var quanList = await _wmsStockQuanRep.AsQueryable().Where(x => x.PackageCode == item).ToListAsync(); - // var isExist = quanList.Where(x => x.StockStatus == StockStatusEnum.榻愬寘寰呭嚭搴�).Count(); - // if (isExist > 0) - // { - // throw Oops.Oh($"鍖厈item}涓叾涓湁鏉跨姸鎬佹槸'{StockStatusEnum.榻愬寘寰呭嚭搴�.ToString()}'锛屼笉鍏佽寮哄埗鍑哄簱"); - // } - // 鏇存柊鐘舵�� - // foreach (var quan in quanList) - // { - // quan.StockStatus = StockStatusEnum.浜哄伐寮哄埗寰呭嚭搴�; - // quan.UpdateTime = DateTime.Now; - // quan.OperReason = "浜哄伐寮哄埗寰呭嚭搴�"; - // } - // updateQuanList.AddRange(quanList); + var singlePackage = await _mesPackageGatherRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).FirstAsync(); + if (singlePackage == null) + { + throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{input.PackageCode}鐨勬眹鎬绘暟鎹�"); + } + + singlePackage.UpiFlag = UpiFlagEnum.NG; + singlePackage.UpdateTime = DateTime.Now; + singlePackage.UpiStatus = UpiStatusEnum.宸蹭笅绾�; + singlePackage.AreaCode = AreaCodeEnum.涓嬬嚎鍖哄煙; + + var upiLineQueueList = await _mes_Upi_LineQueueRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).ToListAsync(); + if (upiLineQueueList?.Count > 0) + { + await _mes_Upi_LineQueueRep.DeleteAsync(upiLineQueueList); + } + + var upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).ToListAsync(); + if (upiList == null) + { + throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{input.PackageCode}鐨勬澘浠舵暟鎹�"); + } + var _cretaorName = App.User.FindFirst(ClaimConst.RealName)?.Value; + + foreach (var item in upiList) + { + item.UpiFlag = UpiFlagEnum.NG; + item.UpdateTime = DateTime.Now; + item.UpiStatus = UpiStatusEnum.宸蹭笅绾�; + item.AreaCode = AreaCodeEnum.涓嬬嚎鍖哄煙; + + WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess(); + wmsRecordUpi = item.Adapt<WmsRecordUpiProcess>(); + wmsRecordUpi.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wmsRecordUpi.CreateTime = DateTime.Now; + wmsRecordUpi.CreateUserName = _cretaorName; + wmsRecordUpi.Location = ""; + wmsRecordUpi.OperRemark = "NG涓嬬嚎"; + await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi); + + WmsRecordUpiNg wmsRecordUpiNg = new WmsRecordUpiNg(); + wmsRecordUpiNg = item.Adapt<WmsRecordUpiNg>(); + wmsRecordUpiNg.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wmsRecordUpiNg.CreateTime = DateTime.Now; + wmsRecordUpiNg.CreateUserName = _cretaorName; + wmsRecordUpiNg.OperRemark = "NG涓嬬嚎"; + await _wmsRecordUpiNgRep.InsertAsync(wmsRecordUpiNg); + + + } + + + WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess(); + wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>(); + wmsRecordPackage.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wmsRecordPackage.Location = ""; + wmsRecordPackage.OperRemark = "NG涓嬬嚎"; + wmsRecordPackage.CreateTime = DateTime.Now; + wmsRecordPackage.CreateUserName = _cretaorName; + await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage); + + + await _mesPackageGatherRep.UpdateAsync(singlePackage); + await _mesBatchOrderUpiRep.UpdateRangeAsync(upiList); + + } + + /// <summary> + /// 鏍囪NG-鎵弿浠跺彿 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [ApiDescriptionSettings(Name = "SetNG")] + [Description("WmsOperationTask/SetNG")] + [UnitOfWork] + public async Task SetNG(SetNGInput input) + { + if (input == null) + { + throw Oops.Oh("鍙傛暟涓嶈兘涓虹┖"); + } + if (string.IsNullOrEmpty(input.Upi)) + { + throw Oops.Oh("閮ㄤ欢鏉$爜涓嶈兘涓虹┖"); + } + //if (string.IsNullOrEmpty(input.Reason)) + //{ + // throw Oops.Oh("鍘熷洜涓嶈兘涓虹┖"); //} - //await _wmsStockQuanRep.UpdateRangeAsync(updateQuanList); + var singleUpi = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.UPI == input.Upi).FirstAsync(); + if (singleUpi == null) + { + throw Oops.Oh($"娌℃湁鎵惧埌閮ㄤ欢鏉$爜{input.Upi}鐨勬暟鎹�"); + } + var packageCode = singleUpi.PackageCode; + var singlePackage = await _mesPackageGatherRep.AsQueryable().Where(x => x.PackageCode == packageCode).FirstAsync(); + if (singlePackage == null) + { + throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{packageCode}鐨勬眹鎬绘暟鎹�"); + } + + var _cretaorName = App.User.FindFirst(ClaimConst.RealName)?.Value; + + singlePackage.UpiFlag = UpiFlagEnum.NG; + singlePackage.UpdateTime = DateTime.Now; + singlePackage.UpdateUserName = _cretaorName; + + var upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.PackageCode == packageCode).ToListAsync(); + if (upiList == null) + { + throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{packageCode}鐨勬澘浠舵暟鎹�"); + } + foreach (var item in upiList) + { + item.UpiFlag = UpiFlagEnum.NG; + item.UpdateTime = DateTime.Now; + item.UpdateUserName = _cretaorName; + + WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess(); + wmsRecordUpi = item.Adapt<WmsRecordUpiProcess>(); + wmsRecordUpi.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wmsRecordUpi.CreateTime = DateTime.Now; + wmsRecordUpi.CreateUserName = _cretaorName; + wmsRecordUpi.Location = ""; + wmsRecordUpi.OperRemark = "鏍囪NG"; + await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi); + + WmsRecordUpiNg wmsRecordUpiNg = new WmsRecordUpiNg(); + wmsRecordUpiNg = item.Adapt<WmsRecordUpiNg>(); + wmsRecordUpiNg.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wmsRecordUpiNg.CreateTime = DateTime.Now; + wmsRecordUpiNg.CreateUserName = _cretaorName; + wmsRecordUpiNg.OperRemark = "鏍囪NG"; + await _wmsRecordUpiNgRep.InsertAsync(wmsRecordUpiNg); + } + + + WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess(); + wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>(); + wmsRecordPackage.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wmsRecordPackage.Location = ""; + wmsRecordPackage.OperRemark = "鏍囪NG"; + wmsRecordPackage.CreateTime = DateTime.Now; + wmsRecordPackage.CreateUserName = _cretaorName; + await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage); + + + await _mesPackageGatherRep.UpdateAsync(singlePackage); + await _mesBatchOrderUpiRep.UpdateRangeAsync(upiList); + + } + + + /// <summary> + /// 鍙栨秷NG-鎵弿浠跺彿 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [ApiDescriptionSettings(Name = "CancelNG")] + [Description("WmsOperationTask/CancelNG")] + [UnitOfWork] + public async Task CancelNG(CancelNGInput input) + { + if (input == null) + { + throw Oops.Oh("鍙傛暟涓嶈兘涓虹┖"); + } + if (string.IsNullOrEmpty(input.Upi)) + { + throw Oops.Oh("閮ㄤ欢鏉$爜涓嶈兘涓虹┖"); + } + //if (string.IsNullOrEmpty(input.Reason)) + //{ + // throw Oops.Oh("鍘熷洜涓嶈兘涓虹┖"); + //} + + var singleUpi = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.UPI == input.Upi).FirstAsync(); + if (singleUpi == null) + { + throw Oops.Oh($"娌℃湁鎵惧埌閮ㄤ欢鏉$爜{input.Upi}鐨勬暟鎹�"); + } + var packageCode = singleUpi.PackageCode; + var singlePackage = await _mesPackageGatherRep.AsQueryable().Where(x => x.PackageCode == packageCode).FirstAsync(); + if (singlePackage == null) + { + throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{packageCode}鐨勬眹鎬绘暟鎹�"); + } + + var _cretaorName = App.User.FindFirst(ClaimConst.RealName)?.Value; + + singlePackage.UpiFlag = UpiFlagEnum.姝e父; + singlePackage.UpdateTime = DateTime.Now; + singlePackage.UpdateUserName = _cretaorName; + + var upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.PackageCode == packageCode).ToListAsync(); + if (upiList == null) + { + throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{packageCode}鐨勬澘浠舵暟鎹�"); + } + foreach (var item in upiList) + { + item.UpiFlag = UpiFlagEnum.姝e父; + item.UpdateTime = DateTime.Now; + item.UpdateUserName = _cretaorName; + + WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess(); + wmsRecordUpi = item.Adapt<WmsRecordUpiProcess>(); + wmsRecordUpi.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wmsRecordUpi.CreateTime = DateTime.Now; + wmsRecordUpi.CreateUserName = _cretaorName; + wmsRecordUpi.Location = ""; + wmsRecordUpi.OperRemark = "鍙栨秷NG"; + await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi); + + WmsRecordUpiNg wmsRecordUpiNg = new WmsRecordUpiNg(); + wmsRecordUpiNg = item.Adapt<WmsRecordUpiNg>(); + wmsRecordUpiNg.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wmsRecordUpiNg.CreateTime = DateTime.Now; + wmsRecordUpiNg.CreateUserName = _cretaorName; + wmsRecordUpiNg.OperRemark = "鍙栨秷NG"; + await _wmsRecordUpiNgRep.InsertAsync(wmsRecordUpiNg); + } + + + WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess(); + wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>(); + wmsRecordPackage.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wmsRecordPackage.Location = ""; + wmsRecordPackage.OperRemark = "鍙栨秷NG"; + wmsRecordPackage.CreateTime = DateTime.Now; + wmsRecordPackage.CreateUserName = _cretaorName; + await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage); + + + await _mesPackageGatherRep.UpdateAsync(singlePackage); + await _mesBatchOrderUpiRep.UpdateRangeAsync(upiList); } -- Gitblit v1.9.3