自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-03-29 595108c00257f238815ffc5c20fbfa82244c7740
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -29,6 +29,19 @@
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @RequestMapping(value = "/order/nav/list/auth")
    @ManagerAuth
    public R navList(@RequestParam(required = false) String orderNo){
        EntityWrapper<Order> wrapper = new EntityWrapper<>();
        if (!Cools.isEmpty(orderNo)) {
            wrapper.like("order_no", orderNo);
        }
        wrapper.le("settle", 2).eq("doc_type", 1).eq("status", 1);
        wrapper.orderBy("create_time", false);
        List<Order> orders = orderService.selectList(wrapper);
        return R.ok().add(orders);
    }
    @RequestMapping(value = "/order/head/page/auth")
    @ManagerAuth
    public R head(@RequestParam(defaultValue = "1")Integer curr,
@@ -102,11 +115,13 @@
        }
        for (OrderDetl orderDetl : param.getOrderDetlList()) {
            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("保存订单明细档失败");
            }
@@ -122,32 +137,49 @@
        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.setOrderNo(order.getOrderNo());
                detl.setCreateTime(now);
                detl.setCreateBy(userId);
                detl.setUpdateTime(now);
                detl.setUpdateBy(userId);
                detl.setStatus(1);
                detl.setQty(0.0D);
            // 修改
            } 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("订单修改成功");
    }