958836976@qq.com
2024-12-23 19d3488298119d50a94a54903623bf0088d3359c
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/schedule/ScheduleJobs.java
@@ -166,18 +166,23 @@
    /**
     * 出库任务--- 每隔3秒,获取当前出库任务列表状态为WCS_EXECUTE_OUT_TASK_DONE的任务,并通知ESS流动输送线
     * 出库任务--- 每隔3秒,获取当前出库任务列表状态为WCS_EXECUTE_OUT_ARRIVED的任务,并通知ESS流动输送线
     * */
//    @Scheduled(cron = "0/3 * * * * ? ")
    @Transactional(rollbackFor = Exception.class)
    public void conveyorToNotify() {
        List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
                .eq(Task::getTaskSts, TaskStsType.WCS_EXECUTE_OUT_TASK_DONE.id).eq(Task::getStatus, 0));
                .eq(Task::getTaskSts, TaskStsType.WCS_EXECUTE_OUT_ARRIVED.id).eq(Task::getStatus, 0));
        tasks.forEach(task -> {
            try {
                ConveyorStarParam conveyorStarParam = new ConveyorStarParam();
                conveyorStarParam.setSlotCode(task.getOriginLoc())
                        .setContainerCode(task.getBarcode());
                if (task.getTaskType() == 101) { //任务类型为101全盘出库,直接取下容器,传200
                    conveyorStarParam.setDirection("200");
                } else if (task.getTaskType() == 103) { //如果为任务类型为103,需走回库操作,传100
                    conveyorStarParam.setDirection("100");
                }
                //调用三方接口,将任务推送至ESS平台
                MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
                // 设置请求参数
@@ -195,9 +200,16 @@
                    CommonReponse commonReponse = JSON.toJavaObject(JSON.parseObject(exchange.getBody()), CommonReponse.class);
                    if (commonReponse.getCode() == 0) {
                        //流动通知下发完成后,修改任务状态为输送线流动中。。
                        if (task.getTaskType() == 101) {
                            taskService.update(new LambdaUpdateWrapper<Task>()
                                    .eq(Task::getId, task.getId())
                                    .set(Task::getTaskType, TaskStsType.COMPLETE_OUT.id));
                        } else {
                        taskService.update(new LambdaUpdateWrapper<Task>()
                                .eq(Task::getId, task.getId())
                                .set(Task::getTaskType, TaskStsType.WCS_EXECUTE_OUT_CONVEYOR.id));
                        }
                        log.info(task.getTaskNo() + "下发流动通知"  + commonReponse.getMsg());
                    } else {
                        throw new CoolException("下发流动通知失败!!");
@@ -280,6 +292,5 @@
                throw new CoolException(reponse.getMsg());
            }
        }
    }
}