| | |
| | | if (res.data == "0") {//库内取样 |
| | | $('#kuneilabel2').show(); |
| | | $('#kuqianlabel2').hide(); |
| | | updateBillList2(); |
| | | // console.log($('#bar2').val()) |
| | | if ($('#bar2').val() == "") { |
| | | console.log(1) |
| | | clear21(); |
| | | return; |
| | | } else { |
| | | console.log(2) |
| | | updateSkuLotNoList2(); |
| | | updateQtyList2(); |
| | | getBar2(); |
| | | GetDataInfo(); |
| | | } |
| | | sampleType = "0"; |
| | | } |
| | | if (res.data == "1") {//库前取样 |
| | | $('#kuqianlabel2').show(); |
| | | $('#kuneilabel2').hide(); |
| | | updateAsnBillList2(); |
| | | GetBoxInfo(); |
| | | sampleType = "1"; |
| | | } |
| | | // updateBillList2(); |
| | | // console.log($('#bar2').val()) |
| | | // if ($('#bar2').val() == "") { |
| | | // console.log(1) |
| | | // clear21(); |
| | | // return; |
| | | // } else { |
| | | // console.log(2) |
| | | // updateSkuLotNoList2(); |
| | | // updateQtyList2(); |
| | | // getBar2(); |
| | | // GetDataInfo(); |
| | | // } |
| | | |
| | | }else { //不成功 |
| | | layer.msg(res.msg, { |
| | | icon: 2, |
| | |
| | | //单拣货(确认按钮) |
| | | form.on('submit(formPickScatter2)', function (data) { |
| | | |
| | | if ($('#bar2').val() == "") { |
| | | layer.msg("请选择出库单", { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }); return; |
| | | if (sampleType == "0") { |
| | | if ($('#bar2').val() == "") { |
| | | layer.msg("请选择出库单", { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }); return; |
| | | } |
| | | if ($('#skuLotNo2').val() == "") { |
| | | layer.msg("请选择物料-批次", { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }); return; |
| | | } |
| | | if ($('#palletNo2').val() == "") { |
| | | layer.msg("请输入托盘码", { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }); return; |
| | | } |
| | | let pickedQty = parseInt($('#pickedQty2').val()) //已拣数量 |
| | | let pickQty = parseInt($('#pickQty2').val()) //拣货数量 |
| | | if (pickQty <= 0) { |
| | | layer.msg("拣货数量需大于0", { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }); |
| | | return; |
| | | } |
| | | } |
| | | if ($('#skuLotNo2').val() == "") { |
| | | layer.msg("请选择物料-批次", { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }); return; |
| | | } |
| | | if ($('#palletNo2').val() == "") { |
| | | layer.msg("请输入托盘码", { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }); return; |
| | | } |
| | | let pickedQty = parseInt($('#pickedQty2').val()) //已拣数量 |
| | | let pickQty = parseInt($('#pickQty2').val()) //拣货数量 |
| | | if (pickQty <= 0) { |
| | | layer.msg("拣货数量需大于0", { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }); |
| | | return; |
| | | } |
| | | else if (sampleType == "1") { |
| | | if ($('#AsnBar').val() == "") { |
| | | layer.msg("请选择入库单", { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }); return; |
| | | } |
| | | let pickedQty = parseInt($('#pickedQty2').val()) //已拣数量 |
| | | let pickQty = parseInt($('#pickQty2').val()) //拣货数量 |
| | | if (pickQty <= 0) { |
| | | layer.msg("拣货数量需大于0", { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }); |
| | | return; |
| | | } |
| | | } |
| | | else { |
| | | layer.msg("类型错误,请刷新页面重试", { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | |
| | | if (canPickBox == false) { |
| | | |
| | |
| | | |
| | | //确认拣货 |
| | | function reqPickScatter2() { |
| | | canPickBox = false//回调 |
| | | var param = { |
| | | "SoNo": $("#bar2").val(), |
| | | "SoDetailId": $("#skuLotNo2").val(), |
| | | "PalletNo": $('#palletNo2').val(), |
| | | "PickQty": $('#pickQty2').val(), |
| | | "AsnNo":$('#AsnBar').val(), |
| | | "Type":sampleType |
| | | } |
| | | sendData(IP + "/PdaSo/SoSetQtyPick", param, 'post', function (res) { |
| | | sendData(IP + "/PdaSo/SampleSoSetQtyPick", param, 'post', function (res) { |
| | | //console.log(res); |
| | | |
| | | if (res.code == 0) { //成功 |
| | | |
| | | layer.msg(res.msg, { |
| | | icon: 1, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function () { |
| | | canPickBox = true//回调 |
| | | updateQtyList2(); |
| | | getBar2(); |
| | | GetDataInfo(); |
| | | |
| | | if (sampleType == "0") { |
| | | canPickBox = true//回调 |
| | | updateQtyList2(); |
| | | getBar2(); |
| | | GetDataInfo(); |
| | | } |
| | | if (sampleType == "1") { |
| | | canPickBox = true//回调 |
| | | GetDataInfo(); |
| | | } |
| | | }); |
| | | } else { //不成功 |
| | | layer.msg(res.msg, { |
| | |
| | | throw new Exception($"未查询到对应出库单总单信息,请核实!"); |
| | | } |
| | | //分配信息 |
| | | var allot = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.PalletNo == palletNo && a.Status == "2" || a.Status == "3"); |
| | | var allot = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.PalletNo == palletNo && (a.Status == "2" || a.Status == "3")); |
| | | if (allot == null) |
| | | { |
| | | throw new Exception($"未查询到对应分配信息,请核实!"); |
| | |
| | | throw new Exception("未查询到该箱码及追溯码的信息"); |
| | | } |
| | | boxInfos = boxInfo.ToList(); |
| | | |
| | | var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot2.Id && m.PalletNo == palletNo).ToList(); |
| | | if (!string.IsNullOrWhiteSpace(boxNo3)) //散支拣货 |
| | | { |
| | | boxInfos = boxInfos.Where(m => m.BoxNo3 == boxNo3).ToList(); |
| | |
| | | { |
| | | throw new Exception("该托盘与箱码没有绑定关系"); |
| | | } |
| | | |
| | | foreach (var item in boxInfos) |
| | | { |
| | | if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) |
| | | { |
| | | throw new Exception($"当前{item.BoxNo}中{item.BoxNo3}已拣货完成,请勿重复拣货"); |
| | | } |
| | | } |
| | | biaoShi = "1"; |
| | | } |
| | | else if (!string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)//数量拣货 |
| | |
| | | { |
| | | throw new Exception("该托盘与箱码没有绑定关系"); |
| | | } |
| | | |
| | | foreach (var item in boxInfos) |
| | | { |
| | | if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo == item.BoxNo)) |
| | | { |
| | | throw new Exception($"当前{item.BoxNo}已拣货完成,请勿重复拣货"); |
| | | } |
| | | } |
| | | } |
| | | var pickQty = 0;//拣货的数量 |
| | | var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot2.Id && m.PalletNo == palletNo).ToList(); |
| | | |
| | | var comList = new List<BllCompleteDetail>(); |
| | | foreach (var item in boxInfos) |
| | | { |
| | | if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) |
| | | { |
| | | throw new Exception($"当前{item.BoxNo}中{item.BoxNo3}已拣货完成,请勿重复拣货"); |
| | | } |
| | | //if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) |
| | | //{ |
| | | // throw new Exception($"当前{item.BoxNo}中{item.BoxNo3}已拣货完成,请勿重复拣货"); |
| | | //} |
| | | //添加拣货明细 |
| | | var completeDetail = new BllCompleteDetail() |
| | | { |
| | |
| | | throw new Exception("未查询到该箱码及追溯码的信息"); |
| | | } |
| | | boxInfos = boxInfo.ToList(); |
| | | var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToList(); |
| | | if (!string.IsNullOrWhiteSpace(boxNo3)) //散支拣货 |
| | | { |
| | | boxInfos = boxInfos.Where(m => m.BoxNo3 == boxNo3).ToList(); |
| | |
| | | { |
| | | throw new Exception("拣货数量不能大于剩余待拣数量"); |
| | | } |
| | | |
| | | foreach (var item in boxInfos) |
| | | { |
| | | if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) |
| | | { |
| | | throw new Exception($"当前{item.BoxNo}中{item.BoxNo3}已拣货完成,请勿重复拣货"); |
| | | } |
| | | } |
| | | biaoShi = "1"; |
| | | } |
| | | else if (!string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)//数量拣货 |
| | |
| | | { |
| | | throw new Exception("拣货数量不能大于箱内剩余待拣数量"); |
| | | } |
| | | foreach (var item in boxInfos) |
| | | { |
| | | if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo == item.BoxNo)) |
| | | { |
| | | throw new Exception($"当前{item.BoxNo}已拣货完成,请勿重复拣货"); |
| | | } |
| | | } |
| | | } |
| | | var pickQty = 0;//拣货的数量 |
| | | var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToList(); |
| | | |
| | | var comList = new List<BllCompleteDetail>(); |
| | | foreach (var item in boxInfos) |
| | | { |
| | | if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) |
| | | { |
| | | throw new Exception($"当前{item.BoxNo}中{item.BoxNo3}已拣货完成,请勿重复拣货"); |
| | | } |
| | | //if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) |
| | | //{ |
| | | // throw new Exception($"当前{item.BoxNo}中{item.BoxNo3}已拣货完成,请勿重复拣货"); |
| | | //} |
| | | //添加拣货明细 |
| | | var completeDetail = new BllCompleteDetail() |
| | | { |
| | |
| | | } |
| | | else |
| | | { |
| | | stockDetail = stockDetail.Where(m => m.SkuNo == detail.SkuNo && m.IsDel == "0").ToList(); //&& string.IsNullOrWhiteSpace(m.LotNo) |
| | | stockDetail = stockDetail.Where(m => m.SkuNo == detail.SkuNo && m.IsDel == "0" && string.IsNullOrWhiteSpace(m.LotNo)).ToList(); // |
| | | } |
| | | |
| | | if (stockDetail.Count < 1) |
| | |
| | | void SampleSoSetPick(string soType, string soNo, string soDetailId, string palletNo, string boxNo, |
| | | string boxNo3, string pickQty1, string asnNo, int userId); |
| | | |
| | | /// <summary> |
| | | /// 取样出库拣货(无标签) |
| | | /// </summary> |
| | | /// <param name="soType">拣货类型 0库内取样,有出库单及分配信息; 1库前取样,反向添加出库单及分配信息</param> |
| | | /// <param name="soNo">出库单</param> |
| | | /// <param name="soDetailId">出库单明细</param> |
| | | /// <param name="palletNo">托盘号</param> |
| | | /// <param name="PickQty">拣货数量</param> |
| | | /// <param name="asnNo">入库单</param> |
| | | /// <param name="userId">操作人ID</param> |
| | | void SampleSoSetQtyPick(string soType, string soNo, string soDetailId, string palletNo, string PickQty, |
| | | string asnNo, int userId); |
| | | |
| | | |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 取样出库拣货(无标签) |
| | | /// </summary> |
| | | /// <param name="model">SoDetailId:出库单明细ID、PalletNo:托盘码</param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult SampleSoSetQtyPick(PdaSoVm model) |
| | | { |
| | | try |
| | | { |
| | | //获取当前登录的用户ID |
| | | var claimsIdentity = this.User.Identity as ClaimsIdentity; |
| | | if (claimsIdentity == null) |
| | | { |
| | | return Ok(new { code = 1, msg = "未获取到当前操作人信息" }); |
| | | } |
| | | var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; |
| | | if (string.IsNullOrWhiteSpace(userId)) |
| | | { |
| | | return Ok(new { code = 1, msg = "未获取到当前操作人信息" }); |
| | | } |
| | | |
| | | _pdaSoSvc.SampleSoSetQtyPick(model.Type,model.SoNo, model.SoDetailId, model.PalletNo, model.PickQty, model.AsnNo, int.Parse(userId)); |
| | | |
| | | return Ok(new { code = 0, msg = "拣货完成", data = "" }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | return Ok(new { code = 1, msg = e.Message }); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |