|  |  | 
 |  |  |             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) | 
 |  |  | 
 |  |  | //                        .doPost(); | 
 |  |  | //                JSONObject jsonObject = JSON.parseObject(response); | 
 |  |  | //                if (jsonObject.getInteger("code").equals(200)) { | 
 |  |  |                 if (true) { | 
 |  |  |                     success = true; | 
 |  |  |                     // 修改订单状态 4.完成 ===>> 6.已上报 | 
 |  |  |                     if (!orderService.updateSettle(order.getId(), settle, null)) { | 
 |  |  |                         throw new CoolException("服务器内部错误,请联系管理员"); | 
 |  |  |                     if (true) { | 
 |  |  |                         success = true; | 
 |  |  |                         // 修改订单状态 4.完成 ===>> 6.已上报 | 
 |  |  |                         if (!orderService.updateSettle(order.getId(), settle, null)) { | 
 |  |  |                             throw new CoolException("服务器内部错误,请联系管理员"); | 
 |  |  |                         } | 
 |  |  |                     } else { | 
 |  |  |                         log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response); | 
 |  |  |                         throw new CoolException("上报mes系统失败"); | 
 |  |  |                     } | 
 |  |  |                 } else { | 
 |  |  |                     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); |