From 4a68e02a9dbffe0b215ceb1d9758ccb17329e523 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周三, 18 12月 2024 10:49:30 +0800 Subject: [PATCH] 222 --- LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs | 169 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 108 insertions(+), 61 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 05fade2..66c1fd6 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs @@ -29,6 +29,7 @@ private readonly SqlSugarRepository<Mes_Upi_LineQueue> _mes_Upi_LineQueueRep; private readonly SqlSugarRepository<Mes_Package_LineQueue> _mes_Package_LineQueueRep; private readonly SqlSugarRepository<WmsRecordUpiNg> _wmsRecordUpiNgRep; + private readonly SqlSugarRepository<Mes_Package_UnLine_Record> _mes_Package_UnLine_RecordRep; private readonly WmsCommonnQueryService _wmsCommonnQueryService; public WmsOperationTaskService( @@ -43,6 +44,7 @@ , SqlSugarRepository<WmsRecordUpiNg> wmsRecordUpiNgRep , WmsCommonnQueryService wmsCommonnQueryService , SqlSugarRepository<Mes_Package_LineQueue> mes_Package_LineQueueRep + , SqlSugarRepository<Mes_Package_UnLine_Record> mes_Package_UnLine_RecordRep ) { _mes_Package_LineQueueRep = mes_Package_LineQueueRep; @@ -57,6 +59,7 @@ _wmsRecordUpiProcessRep = wmsRecordUpiProcessRep; _wmsRecordPackageProcessRep = wmsRecordPackageProcessRep; _mes_Upi_LineQueueRep = mes_Upi_LineQueueRep; + _mes_Package_UnLine_RecordRep = mes_Package_UnLine_RecordRep; } @@ -216,7 +219,7 @@ } /// <summary> - /// 鍒ゆ柇榻愬 + /// 涓嬬嚎鏀捐 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -238,81 +241,55 @@ throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{input.PackageCode}鐨勬眹鎬绘暟鎹�"); } - - - var sysConfig = await _sysConfigRep.GetFirstAsync(x => x.Code == CommonConst.WmsBZ30_QiTao); - if (sysConfig == null) + if (package.UpiStatus == UpiStatusEnum.宸蹭笅绾�) { - throw Oops.Oh($"娌℃湁閰嶇疆 鍒ゆ柇榻愬 鍊�"); - } - if (!string.IsNullOrEmpty(sysConfig.Value) && sysConfig.Value.Trim() != "鏃�") - { - throw Oops.Oh($"鍒ゆ柇榻愬鍊煎凡缁忓瓨鍦ㄥ�納sysConfig.Value},涓嶅厑璁告搷浣�"); + throw Oops.Oh($"鍖厈input.PackageCode}宸蹭笅绾�"); } - //璁板綍宸ヤ綔鏃堕棿鍜屽伐浣滀汉 - var curUserName = App.User.FindFirst(ClaimConst.RealName)?.Value; + var unlineObj = await _mes_Package_UnLine_RecordRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).FirstAsync(); + if (unlineObj != null) + { + throw Oops.Oh($"鍖呭彿{input.PackageCode}宸茬粡涓嬬嚎"); + } - var setValue = ""; + //鍒ゆ柇鏄惁鏄柊鐢熶骇璁㈠崟 var _QiTaoReuslt = ""; - - bool isNeedQueryQiTao = true; - var order = await _mesOrderGatherRep.AsQueryable().Where(x => x.Info5 == package.Info5).FirstAsync(); - if (order == null) - { - + bool isNewOrder = false; + string _location = "BZ-33"; + var lastPackageUnline = await _mes_Package_UnLine_RecordRep.AsQueryable().Where(x => x.UpiFlag == UpiFlagEnum.姝e父).OrderByDescending(x => x.Id).FirstAsync(); + if (lastPackageUnline == null) + {//璁や负鏄柊鐢熶骇璁㈠崟 + isNewOrder = true; } else { - if (order.IsKitting != null) - { - _QiTaoReuslt = (bool)order.IsKitting ? "榻愬" : "涓嶉綈濂�"; - isNeedQueryQiTao = false; - } - } - if (isNeedQueryQiTao) - { - var other_orderList = await _mesPackageGatherRep.AsQueryable().Where(x => x.Info5 == package.Info5 && x.PackageCode != input.PackageCode).ToListAsync(); - var num = other_orderList.Where(x => x.UpiStatus == UpiStatusEnum.鍒濆).Count(); - if (num > 0) - { - //涓嶉綈濂� - _QiTaoReuslt = "涓嶉綈濂�"; + if (lastPackageUnline.Info5 != package.Info5) + {//璁や负鏄柊鐢熶骇璁㈠崟 + isNewOrder = true; + if (lastPackageUnline.Location == "BZ-33") + { + _location = "BZ-32"; + } + else + { + _location = "BZ-33"; + } } else { - _QiTaoReuslt = "榻愬"; + _location = lastPackageUnline.Location; } } - setValue = $"{input.PackageCode}|{_QiTaoReuslt}|" + curUserName; - - if (package.UpiStatus == UpiStatusEnum.宸蹭笅绾�) - { - throw Oops.Oh($"鍖呭凡涓嬬嚎,榻愬缁撴灉[{_QiTaoReuslt}]"); + if (string.IsNullOrEmpty(_location)) + {//榛樿 + _location = "BZ-33"; } - if (order == null) - { - Mes_Order_Gather newOrder = new Mes_Order_Gather() - { - Info5 = package.Info5, - IsKitting = _QiTaoReuslt == "榻愬" ? true : false, - PlanNo = package.PlanNo, - OrderId = package.OrderId - }; - await _mesOrderGatherRep.InsertAsync(newOrder); - } - else - { - order.IsKitting = _QiTaoReuslt == "榻愬" ? true : false; - await _mesOrderGatherRep.UpdateAsync(order); - } + _QiTaoReuslt = (bool)isNewOrder ? "鏂拌鍗�" : "褰撳墠璁㈠崟"; - sysConfig.Value = setValue; - await _sysConfigRep.UpdateAsync(sysConfig); - //*/ - + //璁板綍宸ヤ綔鏃堕棿鍜屽伐浣滀汉 + var curUserName = App.User.FindFirst(ClaimConst.RealName)?.Value; var sysConfig_wms_unline_oper = await _sysConfigRep.GetFirstAsync(x => x.Code == CommonConst.wms_unline_oper); if (sysConfig_wms_unline_oper == null) @@ -334,8 +311,78 @@ } + + //璇锋眰PLC + //鍒ゆ柇鏂瑰悜 + bool myLocation = false; + if (_location == "BZ-33") + { + myLocation = false; + } + else + { + myLocation = true; + } + var client = await WCFServiceHelper.GetWCFService_SAPCC_Client(_sysConfigRep); + var res = await client.WriteQiTaoInfoAsync(myLocation); + if (res.result == false) + { + throw Oops.Oh(res.resMsg); + } + + + //鏇存柊鏁版嵁 + package.UpiStatus = UpiStatusEnum.宸蹭笅绾�; + package.AreaCode = AreaCodeEnum.涓嬬嚎鍖哄煙; + await _mesPackageGatherRep.UpdateAsync(package); + + var upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).ToListAsync(); + foreach (var item in upiList) + { + item.UpiStatus = UpiStatusEnum.宸蹭笅绾�; + item.AreaCode = AreaCodeEnum.涓嬬嚎鍖哄煙; + item.UpdateTime = DateTime.Now; + } + await _mesBatchOrderUpiRep.UpdateRangeAsync(upiList); + //鍒犻櫎闃熷垪淇℃伅 + var lineQueue = await _mes_Package_LineQueueRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).FirstAsync(); + if (lineQueue != null) + { + await _mes_Package_LineQueueRep.DeleteAsync(lineQueue); + } + //澶勭悊琛� mes_order_gather + await UpdateOrderGather(package, false); + + var _cretaorName = App.User.FindFirst(ClaimConst.RealName)?.Value; + + //鏂板涓嬬嚎璁板綍琛� + var all_upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.Info5 == package.Info5).ToListAsync(); + var all_unlineList = await _mes_Package_UnLine_RecordRep.AsQueryable().Where(x => x.Info5 == package.Info5).ToListAsync(); + Mes_Package_UnLine_Record record = new Mes_Package_UnLine_Record(); + record = package.Adapt<Mes_Package_UnLine_Record>(); + record.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + record.Location = _location; + record.AllPackageNum = all_upiList.GroupBy(x => x.PackageCode).Count(); + record.CurUnlineIndexPackageNum = all_unlineList.GroupBy(x => x.PackageCode).Count() + 1; + record.CreateTime = DateTime.Now; + record.CreateUserName = _cretaorName; + await _mes_Package_UnLine_RecordRep.InsertAsync(record); + + //璁板綍鍖呭饱鍘� + WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess(); + wmsRecordPackage = package.Adapt<WmsRecordPackageProcess>(); + wmsRecordPackage.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + wmsRecordPackage.Location = ""; + wmsRecordPackage.OperRemark = "姝e父涓嬬嚎"; + wmsRecordPackage.CreateTime = DateTime.Now; + wmsRecordPackage.CreateUserName = _cretaorName; + await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage); + + output = package.Adapt<ValidateQiTaoOutput>(); - output.QiTaoReuslt = _QiTaoReuslt; + output.QiTaoReuslt = _QiTaoReuslt + $",绗瑊record.CurUnlineIndexPackageNum}鍖呬笅绾�,鍏眥record.AllPackageNum}鍖�"; + output.IsNewOrder = isNewOrder; + //output.IsNewOrder = false; return output; } @@ -518,7 +565,7 @@ } /// <summary> - /// 涓嬬嚎鏇存柊 璁㈠崟琛ㄦ暟鎹� + /// 鍏叡-涓嬬嚎鏇存柊 璁㈠崟琛ㄦ暟鎹� /// </summary> /// <param name="singlePackage"></param> /// <returns></returns> -- Gitblit v1.9.3