2021与蓝度共同重构项目,服务端
fix
zhanzhiqin
2022-07-05 72046386cf8a85ad7dae79d82485fa60c2c421e6
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
@@ -302,41 +302,10 @@
         * 下发路灯任务日志记录结束
         */
//        if (oldPoleFail.isEmpty() && closePoleFail.isEmpty()) {
//            //全部成功
//            return 0;
//        } else if (!closeLight.isEmpty() || !oldPoleFail.isEmpty()) {
//            //关灯失败  或者覆盖任务失败
//            return 1;
//        } else if (newPoleSuccess.isEmpty() && oldPoleSuccess.isEmpty() && closeSuccess.isEmpty()) {
//            //编辑全部失败
//            return 2;
//        } else {
//            //其他情况
//            return -1;
//        }
//        if (newPoleFail.isEmpty() && oldPoleFail.isEmpty() && closePoleFail.isEmpty()) {
//            //编辑成功
//            return 0;
//        } else if (newPoleSuccess.isEmpty() && oldPoleSuccess.isEmpty() && closePoleSuccess.isEmpty()) {
//            //编辑失败
//            return 1;
//        } else {
//            //在旧任务基础上编辑
//            if (lightTask.getTaskId().equals(newLightTask.getTaskId())) {
//                //只有旧任务
//                return 2;
//            }  else {
//                //有新任务,有旧任务
//                return 3;
//            }
//        }
        if (newPoleFail.isEmpty() && oldPoleFail.isEmpty() && closePoleFail.isEmpty()) {
            return "编辑成功";
        } else if (newPoleSuccess.isEmpty() && oldPoleSuccess.isEmpty() && closePoleSuccess.isEmpty()) {
            throw new BusinessException("编辑失败");
            throw new BusinessException("编辑失败,请检查编辑的设备是否在线!");
        } else if (!closePoleFail.isEmpty() || !oldPoleFail.isEmpty()) {
            return "原任务中存在下发异常,原任务保留,创建新任务进行保存";
        } else if (!newPoleFail.isEmpty()) {
@@ -364,16 +333,6 @@
    }
    public List<LightTaskDto> listLightTask(BaseConditionVO conditionVO, String keyword, Integer order, Integer seq) {
        LambdaQueryWrapper<LightTask> wrapper = Wrappers.lambdaQuery(LightTask.class);
        if (StrUtil.isNotBlank(keyword)) {
            wrapper.like(LightTask::getTaskName, keyword);
        }
        //不是超管需要筛选
        if (SecurityUtils.getClientId() != null) {
            wrapper.eq(LightTask::getClientId, SecurityUtils.getUserId()).or(w -> {
                w.eq(LightTask::getUserId, SecurityUtils.getUserId());
            });
        }
        //排序字段
        String orderByResult = "task_id";
@@ -403,7 +362,8 @@
        String orderBy = orderByResult + " " + orderBySeq;
        PageHelper.startPage(conditionVO.getPageNo(), conditionVO.getPageSize(), orderBy);
        List<LightTask> list = list(wrapper);
        List<LightTask> list = baseMapper.listTask(SecurityUtils.getClientId(),keyword,orderBy);
        Page<LightTaskDto> page = new Page<>();
        BeanUtils.copyProperties(list, page);
@@ -411,6 +371,35 @@
            LightTaskDto lightTaskDto = new LightTaskDto();
            BeanUtils.copyProperties(lightTask, lightTaskDto);
            lightTaskDto.setWeekList(TaskOrderUtil.parseLightWeek2List(lightTask.getWeek()));
            //下发成功的灯杆数量
            Integer successCount = baseMapper.successCount(lightTaskDto.getTaskId());
            ///任务中总的灯杆数量
            Integer toTalCount = baseMapper.toTalCount(lightTaskDto.getTaskId());
            if (successCount == null) {
                successCount = 0;
            }
            if (toTalCount == null) {
                toTalCount = 0;
            }
            if (toTalCount == 0) {
                //任务中没有灯杆
                lightTaskDto.setSyncStatus("未同步");
            } else {
                //任务中有灯杆
                if (successCount == 0) {
                    //下发成功未0
                    lightTaskDto.setSyncStatus("未同步");
                } else if (successCount != 0 && successCount < toTalCount) {
                    //存在下发成功    但并未全部成功
                    lightTaskDto.setSyncStatus("部分同步");
                } else if (toTalCount.equals(successCount) && toTalCount != 0 && successCount != 0) {
                    //全部成功
                    lightTaskDto.setSyncStatus("已同步");
                } else {
                    //未知类型
                    lightTaskDto.setSyncStatus("同步状态出错");
                }
            }
            page.add(lightTaskDto);
        }
        return page;
@@ -546,16 +535,6 @@
            throw new BusinessException("删除任务失败");
        }
        boolean del;
        // 删除绑定灯杆
//        if (!lightTaskPoleRelationService.remove(Wrappers.lambdaQuery(LightTaskPoleRelation.class).notIn(LightTaskPoleRelation::getTaskId, taskIdList))) {
//            throw new BusinessException("未找到任务/灯杆绑定关系");
//        }
//        lightTaskPoleRelationService.remove(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getTaskId, taskIdList));
        taskIdList.forEach(taskId -> {
            lightTaskPoleRelationService.remove(Wrappers.lambdaQuery(LightTaskPoleRelation.class).eq(LightTaskPoleRelation::getTaskId, taskId));
        });
        /**
         * 删除控灯任务日志记录开始
         */
@@ -677,7 +656,6 @@
            for (LightTaskPoleRelationBo bean : list) {
                LightTaskDto lightTaskDto = new LightTaskDto();
                //TODO
                BeanUtils.copyProperties(bean, lightTaskDto);
                lightTaskDto.setWeekList(TaskOrderUtil.parseLightWeek2List(bean.getWeek()));
                BigDecimal energySaving;