自动化立体仓库 - WMS系统
#
lty
1 天以前 d8c9b9afb41c368a08d7e05d0f624c98bf72042a
#
1个文件已修改
94 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OrderController.java 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -177,58 +177,58 @@
        return R.ok("订单添加成功");
    }
//    @RequestMapping(value = "/order/form/modify/auth")
//    @ManagerAuth(memo = "手动修改订单")
//    @Transactional
//    public R formModify(@RequestBody OrderDomainParam param){
//        Order order = orderService.selectById(param.getOrderId());
//        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(userId);
//            order.setUpdateTime(now);
//            if (!orderService.updateById(order)) {
//                throw new CoolException("修改订单类型失败");
//            }
//        }
//        // 修改明细档
////        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
//        // 1.清空明细档
//        if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
//            throw new CoolException("清空订单明细失败");
//        }
//        // 2.重组数据
//        List<DetlDto> list = new ArrayList<>();
//        for (OrderDetl orderDetl : param.getOrderDetlList()) {
//            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
//            if (DetlDto.has(list, dto)) {
    @RequestMapping(value = "/order/form/modify/auth")
    @ManagerAuth(memo = "手动修改订单")
    @Transactional
    public R formModify(@RequestBody OrderDomainParam param){
        Order order = orderService.selectById(param.getOrderId());
        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(userId);
            order.setUpdateTime(now);
            if (!orderService.updateById(order)) {
                throw new CoolException("修改订单类型失败");
            }
        }
        // 修改明细档
//        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
        // 1.清空明细档
        if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
            throw new CoolException("清空订单明细失败");
        }
        // 2.重组数据
        List<DetlDto> list = new ArrayList<>();
        for (OrderDetl orderDetl : param.getOrderDetlList()) {
            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
            if (DetlDto.has(list, dto)) {
//                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getAnfme());
//                item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
//                if (!orderDetlService.updateById(item)) {
//                    throw new CoolException("保存订单明细档失败");
//                }
//            } else {
//                list.add(dto);
//                orderDetl.setOrderId(order.getId());
//                orderDetl.setOrderNo(order.getOrderNo());
//                orderDetl.setCreateBy(getUserId());
//                orderDetl.setCreateTime(now);
//                orderDetl.setUpdateBy(getUserId());
//                orderDetl.setUpdateTime(now);
//                orderDetl.setStatus(1);
//                orderDetl.setQty(0.0D);
//                if (!orderDetlService.insert(orderDetl)) {
//                    throw new CoolException("保存订单明细档失败");
//                }
//            }
//        }
//        return R.ok("订单修改成功");
//    }
            } else {
                list.add(dto);
                orderDetl.setOrderId(order.getId());
                orderDetl.setOrderNo(order.getOrderNo());
                orderDetl.setCreateBy(getUserId());
                orderDetl.setCreateTime(now);
                orderDetl.setUpdateBy(getUserId());
                orderDetl.setUpdateTime(now);
                orderDetl.setStatus(1);
                orderDetl.setQty(0.0D);
                if (!orderDetlService.insert(orderDetl)) {
                    throw new CoolException("保存订单明细档失败");
                }
            }
        }
        return R.ok("订单修改成功");
    }
//    @PostMapping(value = "/order/wrk/trace/auth")
//    @ManagerAuth