自动化立体仓库 - WMS系统
#
zjj
2025-03-24 be14e23722db5053f2ac9048629d72abd05dea08
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -675,6 +675,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();
    }
}