From 182a035f1864e149b6ad8582b45a0957ab28b6a3 Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@DESKTOP-5BIMHQ3> Date: 星期五, 02 二月 2024 11:29:35 +0800 Subject: [PATCH] PDA组托功能开发 --- Pda/View/AsnSetting/productEnter.html | 76 ++++++++++---- Wms/Wms/Controllers/PdaAsnController.cs | 65 ++++++------ Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 141 +++++++++------------------ 3 files changed, 134 insertions(+), 148 deletions(-) diff --git a/Pda/View/AsnSetting/productEnter.html b/Pda/View/AsnSetting/productEnter.html index f4c2b73..65c4bb9 100644 --- a/Pda/View/AsnSetting/productEnter.html +++ b/Pda/View/AsnSetting/productEnter.html @@ -241,12 +241,15 @@ //鏄惁杩炵画浜岀骇鐮佺粍鎵� isContinue2 = "0"; //娓呮鏂囨湰妗嗕腑鏁版嵁 - function clear() { + function clear() { + $("#BOXCODE").val(""); + $("#BOXCODE2").val(""); + $("#BOXCODE01").val(""); + $("#BOXCODE02").val(""); + $("#ImportQuantity").val(""); - $("#GoodsCode").val(""); $("#Standard").val(""); $("#ImportFactQuantity").val(""); - $("#ImportQty").val(""); $("#BoxQty").val(""); } @@ -269,15 +272,15 @@ return } - if ($("#STOCKCODE").val() == "") { - layer.msg('璇峰厛鎵弿鎵樼洏鐮�', { - icon: 2, - time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }); - $("#BOXCODE").val(""); - $("#STOCKCODE").focus(); - return; - } + // if ($("#STOCKCODE").val() == "") { + // layer.msg('璇峰厛鎵弿鎵樼洏鐮�', { + // icon: 2, + // time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + // }); + // $("#BOXCODE").val(""); + // $("#STOCKCODE").focus(); + // return; + // } checkBoxInfo() } }); @@ -305,12 +308,14 @@ //閫変腑鍏ュ簱鍗曚簨浠� form.on('select(getbar)', function (data) { + clear(); updateGoodList() setOrderGoods(); }); //閫変腑鐗╂枡浜嬩欢 form.on('select(goodSelect)', function (data) { + clear(); setOrderGoods(); }); @@ -353,6 +358,9 @@ BoxNo: $("#BOXCODE").val(), IsContinue: isContinue, TailBoxNo: $("#BOXCODE2").val(), + BoxNo01:$("#BOXCODE01").val(), + IsContinue2:isContinue2, + TailBoxNo01:$("#BOXCODE02").val(), Origin:"PDA" } //缁勭洏 @@ -410,7 +418,7 @@ form.render('select'); var param = { - Type: "0,1" + Type: "0,1,2,3,4,5,6" }; sendData(IP + "/PdaAsn/GetArrivalNotices", param, 'post', function (res) { if (res.code == 0) { //鎴愬姛 @@ -441,7 +449,7 @@ var asnDetails = ""; // 缁戝畾鍏ュ簱鍗曠墿鏂欏強鎵规 - function updateGoodList() { + function updateGoodList(skuNo) { console.log("aaaa"); var input = $('select[id="goodSelect"]').next().find('.layui-select-title input') var val = input.val() @@ -457,16 +465,21 @@ if (res.code == 0) { //鎴愬姛 asnDetails = res.data; for (var i = 0; i < res.data.length; i++) { - if (i == 0) { + if(skuNo!='' && skuNo==res.data[i].SkuNo){ $("#goodSelect").append('<option value =' + res.data[i].Id + ' selected>' + res.data[i] .SkuName + "-" + res.data[i].LotNo + '</option>'); - } else { - $("#goodSelect").append('<option value =' + res.data[i].Id + '>' + res.data[i] - .SkuName + "-" + res.data[i].LotNo + - '</option>'); - } - + }else{ + if (i == 0) { + $("#goodSelect").append('<option value =' + res.data[i].Id + ' selected>' + res.data[i] + .SkuName + "-" + res.data[i].LotNo + + '</option>'); + } else { + $("#goodSelect").append('<option value =' + res.data[i].Id + '>' + res.data[i] + .SkuName + "-" + res.data[i].LotNo + + '</option>'); + } + } } form.render('select'); @@ -586,12 +599,11 @@ function checkBoxInfo() { var param = { - "ASNNo":$("#bar").val(), "BoxNo": $("#BOXCODE").val(), } sendData(IP + "/PdaAsn/GetBindBoxInfos", param, 'post', function (res) { if (res.code == 0) { //鎴愬姛 - var bl = false; console.log(res.data); + var bl = false; if (res.data.length == 0) { layer.msg("鏈煡璇㈠埌姝ょ鐗╂枡淇℃伅锛岃鏍稿疄!", { icon: 2, @@ -599,6 +611,24 @@ }); return; } + if(res.data[0].ASNNo!='' && res.data[0].ASNNo!=null){ + $("#bar").empty() + $("#bar").append('<option value =>' + '</option>'); + form.render('select'); + + $("#bar").append('<option value =' + res.data[0].ASNNo + ' selected>' + res.data[0].ASNNo +'</option>'); + + updateGoodList(res.data[0].SkuNo) + setOrderGoods(); + }else{ + if(asnDetails==''){ + layer.msg("璇峰厛閫夋嫨鍏ュ簱鍗曟嵁!", { + icon: 2, + time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }); + return; + } + } asnDetails.forEach(element => { console.log(element); 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(); // 鏇存柊鎵樼洏缁戝畾琛� diff --git a/Wms/Wms/Controllers/PdaAsnController.cs b/Wms/Wms/Controllers/PdaAsnController.cs index f4dc254..1fd89c2 100644 --- a/Wms/Wms/Controllers/PdaAsnController.cs +++ b/Wms/Wms/Controllers/PdaAsnController.cs @@ -132,37 +132,6 @@ } /// <summary> - /// 缁戝畾鎵樼洏 - /// </summary> - /// <param name="model"></param> - /// <returns></returns> - [HttpPost] - public IActionResult BindPallet(PdaPalletBindVm model) - { - try - { - var claimsIdentity = this.User.Identity as ClaimsIdentity; - if (claimsIdentity == null) - { - throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅"); - } - string UserId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; - if (string.IsNullOrWhiteSpace(UserId)) - { - throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅"); - } - _PdaAsnSvc.BindPallet(model, int.Parse(UserId),model.Origin); - - return Ok(new { code = 0, msg = "缁戝畾鎴愬姛!" }); - - } - catch (Exception e) - { - return Ok(new { code = 1, msg = e.Message }); - } - } - - /// <summary> /// 鍒犻櫎绠卞瓙淇℃伅 /// </summary> /// <param name="model">Id锛氱瀛愪富閿�</param> @@ -411,7 +380,7 @@ #endregion - #region 鍘熸枡缁勬墭 + #region 缁勬墭 /// <summary> /// 鏍规嵁绠辩爜鑾峰彇鏍囩绠辩爜淇℃伅 /// </summary> @@ -431,6 +400,38 @@ return Ok(new { code = 1, msg = e.Message }); } } + + + /// <summary> + /// 缁戝畾鎵樼洏 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + [HttpPost] + public IActionResult BindPallet(PdaPalletBindVm model) + { + try + { + var claimsIdentity = this.User.Identity as ClaimsIdentity; + if (claimsIdentity == null) + { + throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅"); + } + string UserId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; + if (string.IsNullOrWhiteSpace(UserId)) + { + throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅"); + } + _PdaAsnSvc.BindPallet(model, int.Parse(UserId), model.Origin); + + return Ok(new { code = 0, msg = "缁戝畾鎴愬姛!" }); + + } + catch (Exception e) + { + return Ok(new { code = 1, msg = e.Message }); + } + } #endregion } } -- Gitblit v1.8.0