zwl
2025-09-12 7e10622ead5bd8b3ce0c9fda39d22ae0e938e030
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderDetlController.java
@@ -36,6 +36,8 @@
    private WrkDetlService wrkDetlService;
    @Autowired
    private WorkService workService;
    @Autowired
    private LocDetlService locDetlService;
    @RequestMapping(value = "/orderDetl/forOrderNo/auth")
    @ManagerAuth
@@ -72,6 +74,87 @@
        return R.ok(orderDetlService.page(new Page<>(curr, limit), wrapper));
    }
    @RequestMapping(value = "/orderDetl/forOrderNo/auth/v1")
    @ManagerAuth
    public R forOrderNoV1(@RequestParam String orderNo,@RequestParam String locNo,@RequestParam String batch,@RequestParam String matnr) {
        LambdaQueryWrapper<LocDetl> locDetlLambdaQueryWrapper = new LambdaQueryWrapper<LocDetl>()
                .eq(LocDetl::getLocNo, locNo)
                .eq(LocDetl::getHostId, getHostId())
                .eq(LocDetl::getMatnr, matnr);
        List<LocDetl> detls = locDetlService.list(locDetlLambdaQueryWrapper);
        if (Cools.isEmpty(detls)){
            return R.error("未查询到库存数据");
        }
        if (detls.size()>1){
            return R.error("库存数据大于1条,为保证数据准确性,请用正常流程出库!!!");
        }
        List<OrderDetl> orderDetlList = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
                .eq(OrderDetl::getMatnr, matnr)
                .eq(OrderDetl::getHostId, getHostId())
                .like(OrderDetl::getOrderNo, orderNo)
        );
        if (Cools.isEmpty(orderDetlList)){
            return R.error("未查询到此订单此物料数据");
        }
        if (orderDetlList.size()>1){
            return R.error("此订单此物料数据数据大于1条,为保证数据准确性,请用正常流程出库!!!");
        }
        ArrayList<OrderDetl> orderDetls = new ArrayList<>();
        for(OrderDetl orderDetl:orderDetlList){
            double count = orderDetl.getAnfme() - orderDetl.getWorkQty();
            if (count <= 0D) {
                continue;
            }
            orderDetl.setAnfme(count);
            orderDetls.add(orderDetl);
        }
        return R.ok(orderDetls);
    }
    @RequestMapping(value = "/orderDetl/forOrderNo/mergePakin/v1")
    @ManagerAuth
    public R forOrderNoMergePakinV1(@RequestParam String orderNo) {
        List<DocType> docTypes = docTypeService.list(new LambdaQueryWrapper<DocType>().eq(DocType::getPakin, 1));
        ArrayList<Long> docTypeIds = new ArrayList<>();
        for (DocType docType : docTypes) {
            docTypeIds.add(docType.getDocId());
        }
        if (docTypeIds.isEmpty()) {
            return R.error("单据类型不存在");
        }
        List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().in(Order::getDocType, docTypeIds).in(Order::getSettle, 0, 1, 2));
        if (orders.isEmpty()) {
            return R.error("未查询到订单");
        }
        ArrayList<Long> orderIds = new ArrayList<>();
        for (Order order : orders) {
            orderIds.add(order.getId());
        }
        List<OrderDetl> orderDetlList = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
                .eq(OrderDetl::getHostId, getHostId())
                .in(OrderDetl::getOrderId, orderIds)
                .like(OrderDetl::getOrderNo, orderNo)
        );
        if (Cools.isEmpty(orderDetlList)){
            return R.error("未查询到此订单此物料数据");
        }
        ArrayList<OrderDetl> orderDetls = new ArrayList<>();
        for(OrderDetl orderDetl:orderDetlList){
            double count = orderDetl.getAnfme() - orderDetl.getWorkQty();
            if (count <= 0D) {
                continue;
            }
            orderDetl.setAnfme(count);
            orderDetls.add(orderDetl);
        }
        return R.ok(orderDetls);
    }
    @RequestMapping(value = "/orderDetl/add/auth")
    @ManagerAuth