pjb
2025-03-08 83b51a5a0774ea8ecb9a06304af3b956a21307c8
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WcsApiServiceImpl.java
@@ -169,8 +169,7 @@
                    }
                } else { //出库任务
                    if (callbackParam.getEventType().equals(EssTaskStatus.TASK_EVENT_TOTE_LOAD.event)) { //上报取箱状态
                        //TODO 定时器开启后,要删除 || task.getTaskType() == TaskStsType.GENERATE_OUT.id
                        if (task.getTaskSts() == TaskStsType.WCS_EXECUTE_OUT.id || task.getTaskSts() == TaskStsType.GENERATE_OUT.id) {
                        if (task.getTaskSts() == TaskStsType.WCS_EXECUTE_OUT.id ) {
                            taskStsType = TaskStsType.WCS_EXECUTE_OUT_TOTE_LOAD;
                        } else {
                            String errMsg = "任务编号:" + task.getTaskNo() + "状态为不匹配," + "不能执行:" + TaskStsType.WCS_EXECUTE_OUT_TOTE_LOAD.desc + "任务";
@@ -197,7 +196,7 @@
                    }
                    //更新出库状态及相关字段
                    taskService.update(new LambdaUpdateWrapper<Task>()
                    boolean update = taskService.update(new LambdaUpdateWrapper<Task>()
                            .set(Task::getRobotCode, callbackParam.getRobotCode())
                            .set(Task::getSysTaskCode, callbackParam.getSysTaskCode())
                            .set(Task::getTaskSts, taskStsType.id)
@@ -205,6 +204,10 @@
                            .set(Task::getTaskDesc, callbackParam.getMessage())
                            .eq(Task::getBarcode, callbackParam.getContainerCode())
                            .eq(Task::getTaskNo, callbackParam.getTaskCode()));
                    if (!update) {
                        throw new CoolException("任务更新失败!!");
                    }
                }
@@ -300,10 +303,16 @@
     * @param request
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void slapLightLogic(Map<String, Object> request) {
        String taskNo = request.get("taskNo").toString();
        String orderNo = request.get("orderNo").toString();
        List<CacheSite> performs = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderNo, orderNo));
        if (Objects.isNull(performs.stream().findFirst().get().getPlatformId())) {
            throw new CoolException("请打印明细,并绑定目标集货区");
        }
        //* 1. 判断当前容器是否还有物料未拣,未拣完闪灯,拣完通知容器流动,并灭灯
        SlapLightControlParam slapParam = new SlapLightControlParam();
        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();