pjb
2025-06-17 3d61ab52a458045d499a8ad62ed9033a64be8792
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/schedule/ScheduleJobs.java
@@ -64,11 +64,11 @@
        tasks.forEach(task -> {
            try {
                ConveyorStarParam conveyorStarParam = new ConveyorStarParam();
                conveyorStarParam.setSlotCode(task.getOriginLoc())
                conveyorStarParam.setSlotCode(task.getOriginSite())
                        .setContainerCode(task.getBarcode())
                        .setDirection("100");
                // 原始报文
                log.info("请求地址:{},请求参数:{}", "http://192.168.2.200:9046/conveyor/moveContainer", JSONObject.toJSONString(conveyorStarParam));
                log.info("通知ESS输送线流动请求地址:{},请求参数:{}", "http://192.168.2.200:9046/conveyor/moveContainer", JSONObject.toJSONString(conveyorStarParam));
                HttpHeaders headers = new HttpHeaders();
                headers.add("Content-Type", "application/json");
                HttpEntity httpEntity = new HttpEntity<>(conveyorStarParam, headers);
@@ -86,7 +86,6 @@
                        taskService.update(new LambdaUpdateWrapper<Task>()
                                .eq(Task::getId, task.getId())
                                .set(Task::getTaskSts, TaskStsType.WCS_CONVEYOR_START.id));
                        log.info(task.getTaskNo() + "下发流动通知" + commonReponse.getMsg());
                    } else {
                        throw new CoolException("下发流动通知失败!!");
                    }
@@ -95,7 +94,7 @@
                log.error(ex.getMessage());
            } finally {
                //如果异常修改禁用状态
                taskService.update(new LambdaUpdateWrapper<Task>().set(Task::getStatus, 0).eq(Task::getId, task.getId()));
               // taskService.update(new LambdaUpdateWrapper<Task>().set(Task::getStatus, 0).eq(Task::getId, task.getId()));
            }
        });
@@ -139,9 +138,6 @@
            describe.setContainerCode(task.getBarcode())
                    .setToLocationCode(formatLocNo)
                    .setToStationCode(task.getTargetSite());
//            .setFromLocationCode("")
//            .setContainerFace("")
//            .setContainerType("").setStorageTag("");
            param.setTaskDescribe(describe);
            params.add(param);
@@ -150,11 +146,7 @@
        tasksParam.setTaskType("putaway");
        // TODO 多任务多订单,统一调度,是否会出现部分成功,部分失败的情况
        //调用三方接口,将任务推送至ESS平台
//        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
        // 设置请求参数
//        params.add("params", tasksParam);
        log.info("请求地址:{},请求参数:{}", "http://192.168.2.200:9046/task/create", JSONObject.toJSONString(tasksParam));
        log.info("下发入库任务请求地址:{},请求参数:{}", "http://192.168.2.200:9046/task/create", JSONObject.toJSONString(tasksParam));
        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-Type", "application/json");
        HttpEntity httpEntity = new HttpEntity<>(tasksParam, headers);
@@ -166,7 +158,6 @@
        } else {
            ObjectMapper objectMapper = new ObjectMapper();
            CommonReponse reponse = objectMapper.readValue(exchange.getBody(), CommonReponse.class);
//            CommonReponse reponse = (CommonReponse) JSON.parse(exchange.getBody());
            if (reponse.getCode() == 0) {
                //  请求成功后,统一修改所有任务档状态为入库执行中。
                tasks.forEach(task -> {
@@ -258,14 +249,14 @@
        if (tasks.isEmpty()) {
            return;
        }
        tasks.stream().sorted(Comparator.comparing(Task::getTaskSts))
                .collect(Collectors.toList());
//        tasks.stream().sorted(Comparator.comparing(Task::getTaskSts))
//                .collect(Collectors.toList());
        // 数据组装
        PublishTasksParam tasksParam = new PublishTasksParam();
        List<TaskParam> params = new ArrayList<>();
        //TODO 确认是否需要单任务多容器码的需求,目前系统都是单容器码生成单任务,多任务明细(物料混装)
        tasks.forEach(task -> {
            List<TaskParam> params = new ArrayList<>();
            TaskParam param = new TaskParam();
            //设置容器编码
            param.setTaskCode(task.getTaskNo());
@@ -276,17 +267,16 @@
                    .setToStationCode(task.getTargetSite());
            param.setTaskDescribe(describe);
            params.add(param);
            tasksParam.setTasks(params);
        });
        tasksParam.setTasks(params);
        tasksParam.setTaskType("carry");
        log.info("请求地址:{},请求参数:{}", properties.getBaseHost() + properties.getEssReceiveTask(), JSONObject.toJSONString(tasksParam));
        log.info("出库任务下发请求地址:{},请求参数:{}", properties.getBaseHost() + properties.getEssReceiveTask(), JSONObject.toJSONString(tasksParam));
        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-Type", "application/json");
        HttpEntity httpEntity = new HttpEntity<>(tasksParam, headers);
        // 请求
        ResponseEntity<String> exchange = restTemplate.exchange(properties.getBaseHost() + properties.getEssReceiveTask(), HttpMethod.POST, httpEntity, String.class);
        log.info("下发任务 返回结果:{}", exchange);
        log.info("出库任务下发 返回结果:{}", exchange);
        if (exchange.getBody() == null) {
            throw new CoolException("下发任务失败!!");
        } else {