自动化立体仓库 - WMS系统
skyouc
1 天以前 232d815eb48ca0a8e16b559d2ae3bf803036c05f
单据下发传参修改
5个文件已修改
158 ■■■■ 已修改文件
src/main/java/com/zy/api/controller/KopenApiController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/service/KopenApiService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java 115 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/controller/KopenApiController.java
@@ -43,13 +43,13 @@
     */
    @ApiOperation("上架派工单")
    @PostMapping("/sendInDispatch")
    public XSR receiveOrders(@RequestBody PubOrderParams params) {
    public XSR receiveOrders(@RequestBody List<PubOrderParams> params) {
        if (Objects.isNull(params)) {
            return XSR.error("参数不能为空!!");
        }
        if (Objects.isNull(params.getType())) {
            return XSR.error("单据类型不能为空!");
        }
//        if (Objects.isNull(params.getType())) {
//            return XSR.error("单据类型不能为空!");
//        }
        return kopenApiService.receiveOrders(params);
    }
@@ -79,13 +79,13 @@
     */
    @ApiOperation("上架派工单反馈")
    @PostMapping("/getInDispatchResult")
    public XSR getInDispatchResult(@RequestBody ReportOrderParam params) {
    public XSR getInDispatchResult(@RequestBody List<ReportOrderParam> params) {
        if (Objects.isNull(params)) {
            return XSR.error("参数不能为空!!");
        }
        if (Objects.isNull(params.getKopen_id()) && Objects.isNull(params.getInv_no()) && Objects.isNull(params.getDispatch_no())) {
            return XSR.error("取消条件不能为空!!");
        }
//        if (Objects.isNull(params.getKopen_id()) && Objects.isNull(params.getInv_no()) && Objects.isNull(params.getDispatch_no())) {
//            return XSR.error("取消条件不能为空!!");
//        }
        return kopenApiService.getInDispatchResult(params);
    }
@@ -98,13 +98,13 @@
     */
    @ApiOperation("备货指示派工单下发")
    @PostMapping("/sendOutDispatch")
    public XSR sendStockPrepareDispatch(@RequestBody PubOrderParams params) {
    public XSR sendStockPrepareDispatch(@RequestBody List<PubOrderParams> params) {
        if (Objects.isNull(params)) {
            return XSR.error("参数不能为空!!");
        }
        if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) {
            return XSR.error("上报订单列表不能为空!!");
        }
//        if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) {
//            return XSR.error("上报订单列表不能为空!!");
//        }
        return kopenApiService.sendOutDispatch(params);
    }
@@ -138,12 +138,9 @@
     */
    @ApiOperation("备货单下发")
    @PostMapping("/getOutDetails")
    public XSR getOutDetails(@RequestBody StockUpOrderParams params) {
    public XSR getOutDetails(@RequestBody List<StockUpOrderParams> params) {
        if (Objects.isNull(params)) {
            return XSR.error("参数不能为空!!");
        }
        if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) {
            return XSR.error("上报订单列表不能为空!!");
        }
        return kopenApiService.getOutDetails(params);
    }
src/main/java/com/zy/api/service/KopenApiService.java
@@ -20,7 +20,7 @@
     * @param params
     * @return com.core.common.R
     */
    XSR receiveOrders(PubOrderParams params);
    XSR receiveOrders(List<PubOrderParams> params);
    /**
     * 基础零件变更
@@ -44,14 +44,14 @@
     * @param params
     * @return
     */
    XSR getInDispatchResult(ReportOrderParam params);
    XSR getInDispatchResult(List<ReportOrderParam> params);
    /**
     * 备货指示派工单下发
     * @param params
     * @return
     */
    XSR sendOutDispatch(PubOrderParams params);
    XSR sendOutDispatch(List<PubOrderParams> params);
    /**
     * 备货单下发
@@ -60,7 +60,7 @@
     * @param params
     * @return com.core.common.R
     */
    XSR getOutDetails(StockUpOrderParams params);
    XSR getOutDetails(List<StockUpOrderParams> params);
    /**
     * 查询WMS库存信息
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -69,17 +69,20 @@
    /**
     * 接收下发订单信息
     *
     * @param params
     * @param orderParams
     * @return com.core.common.R
     * @author Ryan
     * @date 2025/11/24 14:49
     */
    @Override
    public XSR receiveOrders(PubOrderParams params) {
        if (params.getType().equals(OrderWkType.getTypeVal(params.getType()))) {
            return XSR.error("当前类型不是上架派工单!!");
        }
        addOrUpdateOrders(params, "add");
    public XSR receiveOrders(List<PubOrderParams> orderParams) {
        orderParams.forEach(params -> {
            if (params.getType().equals(OrderWkType.getTypeVal(params.getType()))) {
                throw new CoolException("当前类型不是上架派工单!!");
            }
            addOrUpdateOrders(params, "add");
        });
        return XSR.ok("单据下发成功!!");
    }
@@ -91,7 +94,7 @@
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public XSR getInDispatchResult(ReportOrderParam params) {
    public XSR getInDispatchResult(List<ReportOrderParam> params) {
        if (Objects.isNull(params)) {
            return XSR.error("参数不能为空!!");
        }
@@ -124,29 +127,31 @@
    /**
     * 备货指示派工单下发
     *
     * @param params
     * @param pubOrderParams
     * @return com.core.common.R
     * @author Ryan
     * @date 2025/11/24 15:21
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public XSR sendOutDispatch(PubOrderParams params) {
        if (Objects.isNull(params)) {
    public XSR sendOutDispatch(List<PubOrderParams> pubOrderParams) {
        if (Objects.isNull(pubOrderParams) || pubOrderParams.isEmpty()) {
            return XSR.error("参数不能为空!!");
        }
        // 校验参数
        if (Objects.isNull(params.getDispatch_no())) {
            return XSR.error("派工单编号不能为空!!");
        }
        if (Objects.isNull(params.getKopen_id())) {
            return XSR.error("流水号不能为空!!");
        }
        if (Objects.isNull(params.getCompany_id())) {
            return XSR.error("公司ID不能为空!!");
        }
        pubOrderParams.forEach(params -> {
            // 校验参数
            if (Objects.isNull(params.getDispatch_no())) {
                throw new CoolException("派工单编号不能为空!!");
            }
            if (Objects.isNull(params.getKopen_id())) {
                throw new CoolException("流水号不能为空!!");
            }
            if (Objects.isNull(params.getCompany_id())) {
                throw new CoolException("公司ID不能为空!!");
            }
        addOrUpdateOrders(params, "add");
            addOrUpdateOrders(params, "add");
        });
        return XSR.ok("备货指示派工单下发成功!!");
    }
@@ -415,50 +420,50 @@
    /**
     * 备货单下发
     *
     * @param params
     * @param stockUpParams
     * @return com.core.common.R
     * @author Ryan
     * @date 2025/11/24 15:40
     */
    @Override
    public XSR getOutDetails(StockUpOrderParams params) {
        if (Objects.isNull(params)) {
    public XSR getOutDetails(List<StockUpOrderParams> stockUpParams) {
        if (Objects.isNull(stockUpParams)) {
            return XSR.error("参数不能为空!!");
        }
        // 校验参数
        if (Objects.isNull(params.getDispatch_no())) {
            return XSR.error("派工单编号不能为空!!");
        }
        if (Objects.isNull(params.getKopen_id())) {
            return XSR.error("流水号不能为空!!");
        }
        if (Objects.isNull(params.getCompany_id())) {
            return XSR.error("公司ID不能为空!!");
        }
        if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) {
            return XSR.error("订单明细不能为空!!");
        }
        List<OrderItemsParam> items = new ArrayList<>();
        if (params.getDetails() != null) {
            for (OutOrderParams detail : params.getDetails()) {
                if (detail.getPartList() != null) {
                    items.addAll(detail.getPartList());
        stockUpParams.forEach(params -> {
            if (Objects.isNull(params.getDispatch_no())) {
                throw new CoolException("派工单编号不能为空!!");
            }
            if (Objects.isNull(params.getKopen_id())) {
                throw new CoolException("流水号不能为空!!");
            }
            if (Objects.isNull(params.getCompany_id())) {
                throw new CoolException("公司ID不能为空!!");
            }
            if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) {
                throw new CoolException("订单明细不能为空!!");
            }
            List<OrderItemsParam> items = new ArrayList<>();
            if (params.getDetails() != null) {
                for (OutOrderParams detail : params.getDetails()) {
                    if (detail.getPartList() != null) {
                        items.addAll(detail.getPartList());
                    }
                }
            }
        }
        params.getDetails().forEach(item -> {
            PubOrderParams pubOrderParams = new PubOrderParams();
            BeanUtils.copyProperties(params, pubOrderParams);
            pubOrderParams.setType(item.getType())
                    .setPick_no(item.getPick_no())
                    .setCus_address(item.getCus_address())
                    .setOrder_no(item.getOrder_no())
                    .setUpdate_time(params.getUpdate_time())
                    .setCus_id(item.getCus_id());
            pubOrderParams.setDetails(item.getPartList());
            addOrUpdateOrders(pubOrderParams, "add");
            params.getDetails().forEach(item -> {
                PubOrderParams pubOrderParams = new PubOrderParams();
                BeanUtils.copyProperties(params, pubOrderParams);
                pubOrderParams.setType(item.getType())
                        .setPick_no(item.getPick_no())
                        .setCus_address(item.getCus_address())
                        .setOrder_no(item.getOrder_no())
                        .setUpdate_time(params.getUpdate_time())
                        .setCus_id(item.getCus_id());
                pubOrderParams.setDetails(item.getPartList());
                addOrUpdateOrders(pubOrderParams, "add");
            });
        });
        return XSR.ok("备货单下发成功!!");
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -128,7 +128,7 @@
    /**损溢单完结上报 */
    @Scheduled(cron = "0/30 * * * * ?")
    @Async("checkOrderThreadPool")
    @Async("orderThreadPool")
    public void completeCheckOrderReport() {
        if (!ErpReportOld){
            return;
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -301,7 +301,9 @@
            XSR response = null;
            boolean success = false;
            try {
                response = kopenApiService.getInDispatchResult(orderParam);
                List<ReportOrderParam> orderParams = new ArrayList<>();
                orderParams.add(orderParam);
                response = kopenApiService.getInDispatchResult(orderParams);
                // if (true) {
                // success = true;