| | |
| | | if (orderDetl.getQty().equals(0D)){ |
| | | continue; |
| | | } |
| | | orderDetl.setWorkQty(orderDetl.getQty()); |
| | | orderDetl.setAnfme(orderDetl.getAnfme()-orderDetl.getQty()); |
| | | orderDetl.setWorkQty(orderDetl.getWorkQty()+orderDetl.getQty()); |
| | | // orderDetl.setAnfme(orderDetl.getAnfme()-orderDetl.getQty()); |
| | | orderDetl.setAnfme(orderDetl.getAnfme()); |
| | | orderDetl.setQty(0D); |
| | | orderDetlService.updateById(orderDetl); |
| | | } |
| | |
| | | List<OrderDetl> orderDetlList = new ArrayList<>(); |
| | | |
| | | for (OrderDetl detail : orderDetls) { |
| | | detail.setAnfme(detail.getAnfme() - detail.getWorkQty()); |
| | | if (detail.getAnfme().equals(0D)){ |
| | | continue; |
| | | } |
| | | DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getStandby1(),detail.getStandby2(),detail.getStandby3(), |
| | | detail.getBoxType1(),detail.getBoxType2(),detail.getBoxType3(), detail.getAnfme()); |
| | | if (DetlDto.has(list, dto)) { |
| | |
| | | } else { |
| | | list.add(dto); |
| | | orderDetlList.add(detail); |
| | | } |
| | | } |
| | | if (orderDetlList.size()==0){ |
| | | // 修改订单状态 1.未作业 ===>> 2.作业中 |
| | | if (!orderService.updateSettle(order.getId(), 4L, null)) { |
| | | throw new CoolException("服务器内部错误,请联系管理员"); |
| | | } |
| | | } |
| | | for (OrderDetl orderDetl : orderDetlList){ |
| | |
| | | continue; |
| | | } |
| | | if (orderDetlSou.beSimilar(orderDetl)){ |
| | | double v = orderDetlSou.getAnfme() - orderDetlSou.getQty(); |
| | | double anfme = orderDetlSou.getAnfme() - orderDetlSou.getWorkQty(); |
| | | double v = anfme - orderDetlSou.getQty(); |
| | | if (v<0D){ |
| | | v = 0D; |
| | | } |
| | | if (v<orderDetl.getQty() || orderDetl.getQty().equals(v)){ |
| | | orderDetlSou.setQty(orderDetlSou.getAnfme()); |
| | | orderDetlSou.setQty(anfme); |
| | | orderDetl.setQty(orderDetl.getQty() - v); |
| | | break; |
| | | } else { |
| | |
| | | pakinParam.setLgortFrom("5008"); |
| | | pakinParam.setLgortTo("5006"); |
| | | for (OrderDetl orderDetl : orderDetls) { |
| | | double anfme = orderDetl.getAnfme() - orderDetl.getWorkQty(); |
| | | if (anfme<=0D){ |
| | | continue; |
| | | } |
| | | if (!orderDetl.getQty().equals(orderDetl.getAnfme())){ |
| | | settle = 99L;//二次生成单据 |
| | | } |
| | | String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch(); |
| | | pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme())); |
| | | pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getQty())); |
| | | } |
| | | |
| | | String response = ""; |
| | | boolean success = false; |
| | | try { |
| | | if (pakinParam.getList().size()==0){ |
| | | success = true; |
| | | // 修改订单状态 4.完成 ===>> 6.已上报 |
| | | if (!orderService.updateSettle(order.getId(), settle, null)) { |
| | | throw new CoolException("服务器内部错误,请联系管理员"); |
| | | } |
| | | } else { |
| | | // response = new HttpHandler.Builder() |
| | | // .setUri(MesConstant.URL) |
| | | // .setPath(MesConstant.PAKIN_URL) |
| | |
| | | log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response); |
| | | throw new CoolException("上报mes系统失败"); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("fail", e); |
| | | // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |