| | |
| | | private OrderDetlService orderDetlService; |
| | | |
| | | @Autowired |
| | | private OrderDetlPakoutService orderDetlPakoutService; |
| | | @Autowired |
| | | private WrkDetlService wrkDetlService; |
| | | @Autowired |
| | | private InventoryCheckOrderDetlService inventoryCheckOrderDetlService; |
| | | |
| | | @Autowired |
| | |
| | | List<OrderDetl> orderDetlList = new ArrayList<>(); |
| | | |
| | | for (OrderDetl detail : orderDetls) { |
| | | DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getBrand(), detail.getStandby1(), detail.getStandby2(), detail.getStandby3(), |
| | | detail.getBoxType1(), detail.getBoxType2(), detail.getBoxType3(), detail.getAnfme()); |
| | | 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)) { |
| | | DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(), dto.getBrand(), dto.getStandby1(), dto.getStandby2(), dto.getStandby3(), dto.getBoxType1(), dto.getBoxType2(), dto.getBoxType3()); |
| | | assert detlDto != null; |
| | |
| | | if (null == docType) { |
| | | return SUCCESS; |
| | | } |
| | | // if (docType.getDocName().equals("销售发货")) { |
| | | // return SUCCESS; |
| | | // } |
| | | if (docType.getDocName().equals("销售发货")) { |
| | | return SUCCESS; |
| | | } |
| | | Order orderSou = orderService.selectByNo(order.getOrderNo()); |
| | | if (!orderSou.getSettle().equals(2L)) { |
| | | return FAIL.setMsg("订单状态不正确,请联系管理员"); |
| | |
| | | if (orderDetl.getQty().equals(0D)) { |
| | | continue; |
| | | } |
| | | if (!Cools.isEmpty(orderDetlSou.getBatch())){ |
| | | if (orderDetlSou.beSimilar(orderDetl)) { |
| | | double v = orderDetlSou.getAnfme() - orderDetlSou.getQty(); |
| | | if (v < orderDetl.getQty() || orderDetl.getQty().equals(v)) { |
| | | orderDetlSou.setQty(orderDetlSou.getAnfme()); |
| | | orderDetl.setQty(orderDetl.getQty() - v); |
| | | break; |
| | | } else { |
| | | orderDetlSou.setQty(orderDetlSou.getQty() + orderDetl.getQty()); |
| | | orderDetl.setQty(0D); |
| | | } |
| | | } |
| | | }else { |
| | | if (orderDetlSou.beSimilar2(orderDetl)) { |
| | | double v = orderDetlSou.getAnfme() - orderDetlSou.getQty(); |
| | | if (v < orderDetl.getQty() || orderDetl.getQty().equals(v)) { |
| | | orderDetlSou.setQty(orderDetlSou.getAnfme()); |
| | | orderDetl.setQty(orderDetl.getQty() - v); |
| | | break; |
| | | } else { |
| | | orderDetlSou.setQty(orderDetlSou.getQty() + orderDetl.getQty()); |
| | | orderDetl.setQty(0D); |
| | | } |
| | | if (orderDetlSou.beSimilar(orderDetl)) { |
| | | double v = orderDetlSou.getAnfme() - orderDetlSou.getQty(); |
| | | if (v < orderDetl.getQty() || orderDetl.getQty().equals(v)) { |
| | | orderDetlSou.setQty(orderDetlSou.getAnfme()); |
| | | orderDetl.setQty(orderDetl.getQty() - v); |
| | | break; |
| | | } else { |
| | | orderDetlSou.setQty(orderDetlSou.getQty() + orderDetl.getQty()); |
| | | orderDetl.setQty(0D); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | if (complete) { |
| | | if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) { |
| | | throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败"); |
| | | } |
| | | List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNo(order.getOrderNo()); |
| | | for (WrkDetl wrkDetl : wrkDetls) { |
| | | OrderDetl orderDetl = new OrderDetl(); |
| | | orderDetl.sync(wrkDetl); |
| | | orderDetl.setQty(wrkDetl.getAnfme()); |
| | | orderDetl.setOrderId(order.getId()); |
| | | orderDetl.setOrderNo(order.getOrderNo()); |
| | | orderDetl.setStatus(1); |
| | | orderDetl.setCreateTime(order.getCreateTime()); |
| | | orderDetl.setCreateBy(order.getCreateBy()); |
| | | orderDetl.setUpdateTime(order.getUpdateTime()); |
| | | orderDetl.setUpdateBy(order.getUpdateBy()); |
| | | if (!orderDetlService.insert(orderDetl)) { |
| | | throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败"); |
| | | } |
| | | } |
| | | |
| | | // 修改订单状态 2.作业中 ===>> 4.待上报 |
| | | if (!orderService.updateSettle(orderSou.getId(), 4L, null)) { |
| | | throw new CoolException("服务器内部错误,请联系管理员"); |