自动化立体仓库 - WMS系统
#
zjj
5 天以前 4b6e6d95ae6fbbccc4351db366b99fa05288877f
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -183,12 +183,18 @@
    @RequestMapping(value = "/order/nav/list/auth")
    @ManagerAuth
    public R navList(@RequestParam(required = false) String orderNo){
    public R navList(@RequestParam(required = false) String orderNo
            , @RequestParam(required = false) Integer settle) {
        EntityWrapper<Order> wrapper = new EntityWrapper<>();
        if (!Cools.isEmpty(orderNo)) {
            wrapper.like("order_no", orderNo);
        }
        wrapper.le("settle", 2).eq("status", 1);
        if (!Cools.isEmpty(settle)) {
            wrapper.eq("settle", settle);
        }else {
            wrapper.le("settle", 2);
        }
        wrapper.eq("status", 1);
        wrapper.orderBy("create_time", false);
        List<Order> orders = orderService.selectList(wrapper);
        // 保留出库单
@@ -675,6 +681,42 @@
        return R.ok();
    }
    @RequestMapping(value = "/order/report")
    @ManagerAuth(memo = "上报")
    public R report(@RequestParam String orderNo) {
        Order order = orderService.selectByNo(orderNo);
        if(Cools.isEmpty(order)){
            return R.parse(BaseRes.EMPTY);
        }
        List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo));
        if (Cools.isEmpty(orderDetls)) {
            return R.parse(BaseRes.EMPTY);
        }
        int wrkCount = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no",order.getOrderNo()));
        int pakinCount = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("order_no",order.getOrderNo()));
        if (wrkCount > 0 || pakinCount > 0) {
            throw new CoolException("存在作业中数据,不能完结。请检查入库通知档和工作档");
        }
        Boolean boo=true;
        for (OrderDetl orderDetl : orderDetls) {
            if(!orderDetl.getQty().equals(orderDetl.getWorkQty())){
                return R.error("作业数量和完成数量不一致无法上报物料编号:"+orderDetl.getMatnr());
            }
            if((Cools.isEmpty(orderDetl.getPrice())&&orderDetl.getQty()>0)||!orderDetl.getPrice().equals(orderDetl.getQty())){
                boo=false;
            }
            if(Cools.isEmpty(orderDetl.getPrice())){
                orderDetl.setPrice(0.0);
                orderDetlService.updateById(orderDetl);
            }
        }
        if(boo){
            return R.error("没有需要上传的数据");
        }
        order.setMemo("0");//状态转换成开始下推
        orderService.updateById(order);
        return R.ok();
    }
}