| | |
| | | if (order == null || order.getStatus() == 0) { |
| | | return R.error("订单不存在"); |
| | | } |
| | | Date now = new Date(); |
| | | Long userId = getUserId(); |
| | | // 修改主档 |
| | | if (!param.getDocType().equals(order.getDocType())) { |
| | | order.setDocType(param.getDocType()); |
| | | order.setUpdateBy(getUserId()); |
| | | order.setUpdateTime(new Date()); |
| | | order.setUpdateBy(userId); |
| | | order.setUpdateTime(now); |
| | | if (!orderService.updateById(order)) { |
| | | throw new CoolException("修改订单类型失败"); |
| | | } |
| | | } |
| | | // 修改明细档 |
| | | Iterator<OrderDetl> iterator = param.getOrderDetlList().iterator(); |
| | | while (iterator.hasNext()) { |
| | | OrderDetl orderDetl = iterator.next(); |
| | | OrderDetl detl = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch()); |
| | | List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); |
| | | // 1.清空明细档 |
| | | if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) { |
| | | throw new CoolException("清空订单明细失败"); |
| | | } |
| | | // 2.重组数据 |
| | | for (OrderDetl orderDetl : param.getOrderDetlList()) { |
| | | OrderDetl detl = orderDetlService.findByLook(orderDetls, order.getId(), orderDetl.getMatnr(), orderDetl.getBatch()); |
| | | // 新增 |
| | | if (detl == null) { |
| | | |
| | | detl = orderDetl; |
| | | detl.setOrderId(order.getId()); |
| | | detl.setCreateTime(now); |
| | | detl.setCreateBy(userId); |
| | | detl.setUpdateTime(now); |
| | | detl.setUpdateBy(userId); |
| | | detl.setStatus(1); |
| | | // 修改 |
| | | } else { |
| | | |
| | | detl.setAnfme(orderDetl.getAnfme()); // 修改数量 |
| | | detl.setUpdateTime(now); |
| | | detl.setUpdateBy(userId); |
| | | } |
| | | // 持久化 |
| | | if (!orderDetlService.insert(detl)) { |
| | | throw new CoolException("新增订单明细失败"); |
| | | } |
| | | } |
| | | |
| | | List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); |
| | | |
| | | return R.ok(); |
| | | return R.ok("订单修改成功"); |
| | | } |
| | | |
| | | |