From 182a035f1864e149b6ad8582b45a0957ab28b6a3 Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@DESKTOP-5BIMHQ3> Date: 星期五, 02 二月 2024 11:29:35 +0800 Subject: [PATCH] PDA组托功能开发 --- Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 141 ++++++++++++++++------------------------------- 1 files changed, 48 insertions(+), 93 deletions(-) diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs index 5d15df5..fc46b71 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs @@ -1490,34 +1490,22 @@ { try { - if (string.IsNullOrEmpty(model.ASNNo)) - { - throw new Exception("璇烽�夋嫨鍏ュ簱鍗曟嵁!"); - } if (string.IsNullOrEmpty(model.BoxNo)) { - throw new Exception("绠辩爜涓嶈兘涓虹┖!"); - } - var order = Db.Queryable<BllArrivalNotice>().First(a => a.IsDel == "0" && a.ASNNo == model.ASNNo); - if (order == null) - { - throw new Exception("鍏ュ簱鍗曟嵁涓嶅瓨鍦�!"); + throw new Exception("璇锋壂鎻忓绠辨潯鐮�!"); } string sqlString = string.Empty; - //鍏ュ簱鍗曠被鍨嬶紝0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 2锛氫腑闂村搧鍏ュ簱 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欓��鍥炲叆搴� 5锛氬叾瀹冨叆搴� 6锛氫唬鍌ㄥ叆搴� - if (order.Type == "0" || order.Type == "3" || order.Type == "5" || order.Type == "6") + sqlString = "select ASNNo,BoxNo, SkuNo,SkuName, LotNo, Qty from BLLLabelBoxNo where IsDel = '0' "; + sqlString += $"and BoxNo = '{model.BoxNo}' "; + var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString); + if (models == null || models.Count <= 0) { sqlString = "select BoxNo, SkuNo,SkuName, LotNo, SUM(Qty) as Qty from BllBoxInfo where IsDel = '0' "; sqlString += $"and BoxNo = '{model.BoxNo}' and Status='0' "; sqlString += $"group by BoxNo,SkuNo,SkuName,LotNo; "; - } - else - { - sqlString = "select BoxNo, SkuNo,SkuName, LotNo, SUM(Qty) as Qty from BLLLabelBoxNo where IsDel = '0' "; - sqlString += $"and BoxNo = '{model.BoxNo}' and IsUse='0' "; - sqlString += $"group by BoxNo,SkuNo,SkuName,LotNo; "; - } - var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString); + + models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString); + } if (models == null) { throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!"); @@ -1529,6 +1517,7 @@ throw ex; } } + public void BindPallet(PdaPalletBindVm model, int userId, string origin) { @@ -1807,43 +1796,6 @@ { try { - #region 鍒ゆ柇 - - if (string.IsNullOrEmpty(model.AsnNo)) - { - throw new Exception("-1:鍗曟嵁鍙蜂笉鍙负绌�!"); - } - if (model.AsnDetailId == null || model.AsnDetailId == 0) - { - throw new Exception("-1:鐗╂枡涓嶅彲涓虹┖!"); - } - if (string.IsNullOrEmpty(model.PalletNo)) - { - throw new Exception("-1:鎵樼洏鍙蜂笉鍙负绌�!"); - } - if (string.IsNullOrEmpty(model.BoxNo)) - { - throw new Exception("-1:绠辩爜淇℃伅涓嶅彲涓虹┖!"); - } - - if (model.IsContinue == "1") - { - if (string.IsNullOrWhiteSpace(model.TailBoxNo)) - { - throw new Exception("-1:寮�鍚繛缁粍鎵樻椂锛屽熬绠辩爜淇℃伅涓嶅彲涓虹┖!"); - } - - } - if (model.IsContinue == "0" && model.IsContinue2 == "1") - { - if (string.IsNullOrWhiteSpace(model.TailBoxNo01)) - { - throw new Exception("-1:寮�鍚繛缁粍鎵樻椂锛屼簩绾х爜灏剧爜淇℃伅涓嶅彲涓虹┖!"); - } - - } - #endregion - Db.BeginTran(); //鎵樼洏鏄惁瀛樺湪 @@ -1953,7 +1905,7 @@ var msgStr = $"绠卞彿涓簕model.BoxNo}"; var boxInfoList = new List<BllLabelBoxNo>(); //棣栫 - var boxInfo = Db.Queryable<BllLabelBoxNo>().Where(m => m.IsDel == "0" && m.BoxNo == model.BoxNo && m.IsUse == "0" && m.Level == "1").ToList(); + var boxInfo = Db.Queryable<BllLabelBoxNo>().Where(m => m.IsDel == "0" && m.BoxNo == model.BoxNo && m.Level == "1").ToList(); if (boxInfo.Count == 0) { throw new Exception("-1:绠辩爜淇℃伅涓嶅瓨鍦�!"); @@ -1963,13 +1915,13 @@ { boxInfoList.AddRange(boxInfo); //灏剧 - var boxInfo2 = Db.Queryable<BllLabelBoxNo>().Where(m => m.IsDel == "0" && m.BoxNo == model.TailBoxNo && m.IsUse == "0" && m.Level == "1").ToList(); + var boxInfo2 = Db.Queryable<BllLabelBoxNo>().Where(m => m.IsDel == "0" && m.BoxNo == model.TailBoxNo && m.Level == "1").ToList(); if (boxInfo2.Count == 0) { throw new Exception("-1:灏剧鐮佷俊鎭笉瀛樺湪!"); } boxInfoList.AddRange(boxInfo2); - var sql = $"select * from BllLabelBoxNo where IsDel = '0' and IsUse = '0' and boxNo>'{model.BoxNo}' and boxNo<'{model.TailBoxNo}' and Level='1'; "; + var sql = $"select * from BllLabelBoxNo where IsDel = '0' and boxNo>'{model.BoxNo}' and boxNo<'{model.TailBoxNo}' and Level='1'; "; var list = Db.Ado.SqlQuery<BllLabelBoxNo>(sql); boxInfoList.AddRange(list); @@ -2006,8 +1958,8 @@ boxInfoList2.AddRange(box01Info2); //涓棿鐮� var sql = $"select * from BllLabelBoxNo where IsDel = '0' and IsUse = '0' and boxNo>'{model.BoxNo}' and boxNo<'{model.TailBoxNo}' and Level='2' and (ParentBoxNo='' || ParentBoxNo='{model.BoxNo}'); "; - var list = Db.Ado.SqlQuery<BllLabelBoxNo>(sql); - boxInfoList2.AddRange(list); + var list = Db.Ado.SqlQuery<BllLabelBoxNo>(sql); + boxInfoList2.AddRange(list); } foreach (var item in boxInfoList2) { @@ -2017,49 +1969,52 @@ boxInfoList.AddRange(boxInfoList2); foreach (var item in boxInfo) { - item.Qty = boxQty; + item.Qty += boxQty; + } + } + else + { + //鎵惧埌鐩稿叧鐨勪簩绾х爜 + foreach (var item in boxInfo) + { + string sql = $"select * from BllLabelBoxNo where IsDel = '0' and IsUse = '0' and ParentBoxNo='{item.BoxNo}' and Level = '2' "; + var list = Db.Ado.SqlQuery<BllLabelBoxNo>(sql); + boxInfoList.AddRange(list); } } boxInfoList.AddRange(boxInfo); } #endregion + #endregion // 鏇存敼绠辨敮鍏崇郴琛� - decimal factQty = 0.00m;//鎵樼洏鎬绘暟閲� - var boxGroup = boxInfoList.GroupBy(m => m.BoxNo).ToList(); - foreach (var g in boxGroup) + decimal factQty = 0.00m;//鎵樼洏鎬绘暟閲� + foreach (var box in boxInfoList) { - decimal boxFullQty = 0.00m;//绠卞唴鎬绘暟閲� - foreach (var box in g) + //绠卞唴鐗╂枡鎵规涓庡崟鎹槑缁嗕笉绗﹀悎 + if (box.SkuNo != detail.SkuNo || box.LotNo != detail.LotNo) { - if (box.IsUse != "0") - { - continue; - } - //绠卞唴鐗╂枡鎵规涓庡崟鎹槑缁嗕笉绗﹀悎 - if (box.SkuNo != detail.SkuNo || box.LotNo != detail.LotNo) - { - throw new Exception($"-1:{box.BoxNo}绠卞唴鐗╂枡鍙婃壒娆′笌鍗曟嵁涓嶄竴鑷达紝璇锋牳瀹�!"); - } - - box.ASNNo = model.AsnNo; - box.ASNDetailNo = model.AsnDetailId; - box.IsUse = "1"; - box.CompleteTime = DateTime.Now; - box.UpdateTime = DateTime.Now; - box.UpdateUser = userId; - - if (box.ParentBoxNo == "" && box.Level == "1") - { - factQty += box.Qty; - boxFullQty += box.Qty; - } + throw new Exception($"-1:{box.BoxNo}绠卞唴鐗╂枡鍙婃壒娆′笌鍗曟嵁涓嶄竴鑷达紝璇锋牳瀹�!"); } - if (boxFullQty > bNum) + if (box.IsUse != "0") { - throw new Exception($"缁戝畾澶辫触锛寋g.Key}绠辩爜缁戝畾鏁伴噺澶т簬璇ョ墿鍝佸寘瑁呮暟閲忥紒"); + continue; } - } + if (box.Level == "1") + { + if (box.Qty > bNum) + { + throw new Exception($"缁戝畾澶辫触锛寋box.BoxNo}绠辩爜缁戝畾鏁伴噺澶т簬璇ョ墿鍝佸寘瑁呮暟閲忥紒"); + } + factQty += box.Qty; + } + //box.ASNNo = model.AsnNo; + //box.ASNDetailNo = model.AsnDetailId; + box.IsUse = "1"; + box.CompleteTime = DateTime.Now; + box.UpdateTime = DateTime.Now; + box.UpdateUser = userId; + } Db.Updateable(boxInfoList).ExecuteCommand(); // 鏇存柊鎵樼洏缁戝畾琛� -- Gitblit v1.8.0