Pda/View/AsnSetting/productEnter.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Wms/Wms/Controllers/PdaAsnController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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); 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(); // 更新托盘绑定表 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 } }