#
mrzhssss
2022-04-09 6d5b1cf59e0e013ab740998ca50c9d9cf52e4375
src/main/java/zy/cloud/wms/manager/controller/OrderController.java
@@ -305,4 +305,55 @@
        return R.ok("已生成波次");
    }
    /**
     * 通过批号订单中包含的出库单
     */
    @RequestMapping("/order/orderByWave/auth")
    @ManagerAuth
    public R getOrderDetailByWave(@RequestParam(defaultValue = "1")Integer curr,
                                  @RequestParam(defaultValue = "10")Integer limit,
                                  @RequestParam(required = false)String orderByField,
                                  @RequestParam(required = false)String orderByType,
                                  @RequestParam Map<String, Object> param,
                                  String research){
        EntityWrapper<Wave> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
        hostEq(wrapper);
        wrapper.orderBy("create_time",false);
        List<Wave> waves = waveService.selectList(wrapper);
        if (Cools.isEmpty(waves)) {
            throw new CoolException("找不到该波次");
        }
        HashSet<String> allOrders = new HashSet<>();
        for (Wave wave : waves) {
            List<WaveDetl> waveDetls = waveDetlService.selectList(new EntityWrapper<WaveDetl>()
                    .eq("wave_id", wave.getId()));
            for (WaveDetl waveDetl : waveDetls) {
                String[] split = waveDetl.getOrderNos().split(",");
                for (String s : split) {
                    allOrders.add(s);
                }
            }
        }
        ArrayList<String> allOrdersList = new ArrayList<>(allOrders);
        EntityWrapper<OrderDetl> orderDetailWrapper = new EntityWrapper<>();
        for (int i = 0; i < allOrdersList.size(); i++) {
            String s = allOrdersList.get(i);
            if (i == 0){
                orderDetailWrapper
                        .eq("order_no",s);
            }else {
                orderDetailWrapper
                        .or()
                        .eq("order_no",s);
            }
        }
        if (!Cools.isEmpty(research)) {
            orderDetailWrapper.eq("order_no",research);
        }
        Page<OrderDetl> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit),orderDetailWrapper);
        return R.ok(orderDetlPage);
    }
}