| | |
| | | AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("matnr", pick.getMatnr()).eq("three_code", pick.getThreeCode()).eq("supp_code", pick.getSuppCode())); |
| | | |
| | | if (Cools.isEmpty(agvWrkDetl)) { |
| | | AgvWrkDetl wrkDetl = new AgvWrkDetl(); |
| | | agvWrkDetl = new AgvWrkDetl(); |
| | | Mat mat = matService.selectByMatnr(pick.getMatnr()); |
| | | if (Cools.isEmpty(mat)) { |
| | | throw new CoolException(pick.getMatnr() + "商品不存在"); |
| | | } |
| | | wrkDetl.sync(mat); |
| | | wrkDetl.setWrkNo(pickParams.getWrkNo()); |
| | | wrkDetl.setOrderNo(pick.getOrderNo()); |
| | | wrkDetl.setIoTime(agvWrkMast.getIoTime()); |
| | | wrkDetl.setAnfme(pick.getCount()); // 数量 |
| | | wrkDetl.setSuppCode(pick.getSuppCode()); // 货架条码 |
| | | wrkDetl.setAppeUser(userId); |
| | | wrkDetl.setAppeTime(now); |
| | | wrkDetl.setModiUser(userId); |
| | | wrkDetl.setModiTime(now); |
| | | wrkDetl.setThreeCode(pick.getThreeCode()); |
| | | agvWrkDetlService.insert(wrkDetl); |
| | | agvWrkDetl.sync(mat); |
| | | agvWrkDetl.setWrkNo(pickParams.getWrkNo()); |
| | | agvWrkDetl.setOrderNo(pick.getOrderNo()); |
| | | agvWrkDetl.setIoTime(agvWrkMast.getIoTime()); |
| | | agvWrkDetl.setAnfme(pick.getCount()); // 数量 |
| | | agvWrkDetl.setSuppCode(pick.getSuppCode()); // 货架条码 |
| | | agvWrkDetl.setAppeUser(userId); |
| | | agvWrkDetl.setAppeTime(now); |
| | | agvWrkDetl.setModiUser(userId); |
| | | agvWrkDetl.setModiTime(now); |
| | | agvWrkDetl.setThreeCode(pick.getThreeCode()); |
| | | agvWrkDetlService.insert(agvWrkDetl); |
| | | } else { |
| | | Double anfme = agvWrkDetl.getAnfme() + pick.getCount(); |
| | | agvWrkDetl.setIoTime(agvWrkMast.getIoTime()); |
| | |
| | | if (agvLocDetl.getAnfme() < agvWrkDetl.getAnfme()) { |
| | | throw new CoolException("拣料数量不能大于库存数量"); |
| | | } |
| | | } else { |
| | | throw new CoolException("拣料数量不能大于库存数量,存库不存在"); |
| | | } |
| | | |
| | | // 更新订单 |
| | |
| | | throw new CoolException("保存工作明细失败"); |
| | | } |
| | | // 同步订单数量 |
| | | OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", agvWrkDetl.getMatnr()).eq("three_code", agvWrkDetl.getThreeCode()).eq("order_no", agvWrkDetl.getOrderNo()).in("source", 18, 31, 34)); |
| | | //OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", agvWrkDetl.getMatnr()).eq("three_code", agvWrkDetl.getThreeCode()).eq("order_no", agvWrkDetl.getOrderNo()).in("source", 18, 31, 34)); |
| | | List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("matnr", agvWrkDetl.getMatnr()).eq("three_code", agvWrkDetl.getThreeCode()).eq("order_no", agvWrkDetl.getOrderNo())); |
| | | OrderDetl orderDetl = null; |
| | | if (orderDetls.isEmpty()) { |
| | | throw new CoolException("订单明细不存在"); |
| | | } else if (orderDetls.size() > 1) { |
| | | for (OrderDetl detl : orderDetls) { |
| | | if (Cools.isEmpty(agvWrkDetl.getBatch()) && Cools.isEmpty(detl.getBatch())) { |
| | | orderDetl = detl; |
| | | } else if (!Cools.isEmpty(agvWrkDetl.getBatch()) && !Cools.isEmpty(detl.getBatch()) && agvWrkDetl.getBatch().equals(detl.getBatch())) { |
| | | orderDetl = detl; |
| | | } |
| | | } |
| | | if (orderDetl == null) { |
| | | throw new CoolException("订单明细不匹配"); |
| | | } |
| | | } else { |
| | | orderDetl = orderDetls.get(0); |
| | | } |
| | | orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme()); |
| | | if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", orderDetl.getOrderNo()).eq("matnr", orderDetl.getMatnr()).eq("three_code", orderDetl.getThreeCode()))) { |
| | | if (!orderDetlService.updateById(orderDetl)) { |
| | | throw new CoolException("修改订单明细失败,请联系管理员" + orderDetl.getOrderNo() + orderDetl.getMatnr()); |
| | | } |
| | | } |