From abf9b6bb33fcfad5b56a17a5d3e99b49782a7316 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周三, 04 12月 2024 15:19:00 +0800 Subject: [PATCH] 22 --- LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs | 128 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 121 insertions(+), 7 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 f4a625a..306a960 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs @@ -7,6 +7,7 @@ using DocumentFormat.OpenXml.Office.CustomUI; using Microsoft.CodeAnalysis.Operations; using Admin.NET.Application.Service.WmsTask.WmsRbLineTask.Dto; +using Furion.DatabaseAccessor; namespace Admin.NET.Application; /// <summary> @@ -21,12 +22,16 @@ private readonly SqlSugarRepository<SysConfig> _sysConfigRep; private readonly SqlSugarRepository<Mes_BatchOrderUPI_New> _mesBatchOrderUpiRep; private readonly SqlSugarRepository<Mes_Order_Gather> _mesOrderGatherRep; + private readonly SqlSugarRepository<WmsRecordUpiProcess> _wmsRecordUpiProcessRep; + private readonly SqlSugarRepository<WmsRecordPackageProcess> _wmsRecordPackageProcessRep; public WmsOperationTaskService(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 ) { _sysConfigRep = sysConfigRep; @@ -35,6 +40,8 @@ _wmsStockQuanRep = wmsStockQuanRep; _mesBatchOrderUpiRep = mesBatchOrderUpiRep; _mesOrderGatherRep = mesOrderGatherRep; + _wmsRecordUpiProcessRep = wmsRecordUpiProcessRep; + _wmsRecordPackageProcessRep = wmsRecordPackageProcessRep; } @@ -47,6 +54,7 @@ [HttpPost] [ApiDescriptionSettings(Name = "ForceOutbound")] [Description("WmsOperationTask/ForceOutbound")] + [UnitOfWork] public async Task ForceOutbound(ForceOutboundInput input) { if (input == null || input.PackageCodeList?.Count == 0) @@ -85,6 +93,7 @@ [HttpPost] [ApiDescriptionSettings(Name = "ValdateQiTao")] [Description("WmsOperationTask/ValdateQiTao")] + [UnitOfWork] public async Task<ValidateQiTaoOutput> ValdateQiTao(ValidateQiTaoInput input) { ValidateQiTaoOutput output = new ValidateQiTaoOutput(); @@ -106,10 +115,13 @@ { throw Oops.Oh($"娌℃湁閰嶇疆 鍒ゆ柇榻愬 鍊�"); } - if (!string.IsNullOrEmpty(sysConfig.Value) && sysConfig.Value != "鏃�") + if (!string.IsNullOrEmpty(sysConfig.Value) && sysConfig.Value.Trim() != "鏃�") { throw Oops.Oh($"鍒ゆ柇榻愬鍊煎凡缁忓瓨鍦ㄥ�納sysConfig.Value},涓嶅厑璁告搷浣�"); } + + //璁板綍宸ヤ綔鏃堕棿鍜屽伐浣滀汉 + var curUserName = App.User.FindFirst(ClaimConst.RealName)?.Value; var setValue = ""; var _QiTaoReuslt = ""; @@ -118,21 +130,40 @@ if (num > 0) { //涓嶉綈濂� - setValue = $"{input.PackageCode}|涓嶉綈濂�"; + setValue = $"{input.PackageCode}|涓嶉綈濂梶" + curUserName; _QiTaoReuslt = "涓嶉綈濂�"; } else { - setValue = $"{input.PackageCode}|榻愬"; + setValue = $"{input.PackageCode}|榻愬|" + curUserName; _QiTaoReuslt = "榻愬"; } - - + //涓存椂灞忚斀 + /* sysConfig.Value = setValue; await _sysConfigRep.UpdateAsync(sysConfig); + //*/ - //璁板綍宸ヤ綔鏃堕棿鍜屽伐浣滀汉 + + var sysConfig_wms_unline_oper = await _sysConfigRep.GetFirstAsync(x => x.Code == CommonConst.wms_unline_oper); + if (sysConfig_wms_unline_oper == null) + { + throw Oops.Oh($"娌℃湁閰嶇疆 鍖呰涓嬬嚎鎿嶄綔浜� 鍊�"); + } + if (sysConfig_wms_unline_oper.Value != curUserName) + { + sysConfig_wms_unline_oper.Value = curUserName; + await _sysConfigRep.UpdateAsync(sysConfig_wms_unline_oper); + + var sysConfig_wms_unline_time = await _sysConfigRep.GetFirstAsync(x => x.Code == CommonConst.wms_unline_time); + if (sysConfig_wms_unline_time == null) + { + throw Oops.Oh($"娌℃湁閰嶇疆 鍖呰涓嬬嚎鐧婚檰鏃堕棿 鍊�"); + } + sysConfig_wms_unline_time.Value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + await _sysConfigRep.UpdateAsync(sysConfig_wms_unline_time); + } output = package.Adapt<ValidateQiTaoOutput>(); @@ -149,6 +180,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) @@ -171,10 +203,92 @@ { throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{input.PackageCode}鐨勬眹鎬绘暟鎹�"); } + + WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess(); + wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>(); + wmsRecordPackage.CreateTime = DateTime.Now; + wmsRecordPackage.Location = "BZ29"; + wmsRecordPackage.OperRemark = "鏍稿鏍囩"; + await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage); + + WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess(); + wmsRecordUpi = singleUpi.Adapt<WmsRecordUpiProcess>(); + wmsRecordUpi.CreateTime = DateTime.Now; + wmsRecordUpi.Location = "BZ29"; + wmsRecordUpi.OperRemark = "鏍稿鏍囩"; + await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi); + return singlePackage; } - + /// <summary> + /// 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 (string.IsNullOrEmpty(input.Reason)) + { + throw Oops.Oh("鍘熷洜涓嶈兘涓虹┖"); + } + + 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 upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).ToListAsync(); + if (upiList == null) + { + throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{input.PackageCode}鐨勬澘浠舵暟鎹�"); + } + 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.CreateTime = DateTime.Now; + wmsRecordUpi.Location = ""; + wmsRecordUpi.OperRemark = "NG涓嬬嚎"; + await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi); + } + + + WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess(); + wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>(); + wmsRecordPackage.Location = ""; + wmsRecordPackage.OperRemark = "NG涓嬬嚎"; + await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage); + + + await _mesPackageGatherRep.UpdateAsync(singlePackage); + await _mesBatchOrderUpiRep.UpdateRangeAsync(upiList); + + } + } -- Gitblit v1.9.3