|  |  |  | 
|---|
|  |  |  | 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); | 
|---|