| | |
| | | } |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public int updateLightTask(Long taskId, LightTaskParam param) { |
| | | public String updateLightTask(Long taskId, LightTaskParam param) { |
| | | if (StrUtil.length(param.getControlOrder()) % LightTaskParam.REQUEST_ORDER_LENGTH != 0) { |
| | | throw new BusinessException("灯控命令格式不正确"); |
| | | } |
| | |
| | | closePoleSuccess = closePoleMap.getOrDefault("success", new ArrayList<>()); |
| | | } |
| | | |
| | | //有失敗的需要保存旧的任務 |
| | | |
| | | if (closePoleFail.size() == 0 && oldPoleFail.size() == 0) { |
| | | //旧任务中全部发送指令成功,更新原本任务中的数据 |
| | | newLightTask.setTaskId(lightTask.getTaskId()); |
| | | updateById(newLightTask); |
| | | } else { |
| | | save(newLightTask); |
| | | if (!newPoleSuccess.isEmpty() || !oldPoleSuccess.isEmpty()) { |
| | | //有失敗的需要保存旧的任務,新增新的任务数据进行保存 |
| | | save(newLightTask); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | * 编辑路灯任务日志记录结束 |
| | | */ |
| | | |
| | | for (LightTaskPoleRelation bean : newPoleAll) { |
| | | for (LightTaskPoleRelation bean : newPoleSuccess) { |
| | | bean.setTaskId(newLightTask.getTaskId()); |
| | | } |
| | | //成功用新的任务ID |
| | |
| | | } |
| | | |
| | | List<LightTaskPoleRelation> all = new ArrayList<>(); |
| | | all.addAll(newPoleAll); |
| | | all.addAll(newPoleSuccess); |
| | | all.addAll(oldPoleSuccess); |
| | | all.addAll(oldPoleFail); |
| | | all.addAll(closePoleFail); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | List<Long> allPoleId = new ArrayList<>(); |
| | | allPoleId.addAll(poleIdList); |
| | | allPoleId.addAll(oldList); |
| | | lightTaskPoleRelationService.remove(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, allPoleId)); |
| | | lightTaskPoleRelationService.saveBatch(all); |
| | | for (LightTaskPoleRelation bean : newPoleSuccess) { |
| | | allPoleId.add(bean.getPoleId()); |
| | | } |
| | | for (LightTaskPoleRelation bean : oldPoleSuccess) { |
| | | allPoleId.add(bean.getPoleId()); |
| | | } |
| | | for (LightTaskPoleRelation bean : oldPoleFail) { |
| | | allPoleId.add(bean.getPoleId()); |
| | | } |
| | | for (LightTaskPoleRelation bean : closePoleSuccess) { |
| | | allPoleId.add(bean.getPoleId()); |
| | | } |
| | | |
| | | if (!allPoleId.isEmpty()) { |
| | | lightTaskPoleRelationService.remove(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, allPoleId)); |
| | | |
| | | } |
| | | if (!all.isEmpty()) { |
| | | lightTaskPoleRelationService.saveBatch(all); |
| | | } |
| | | |
| | | |
| | | /** |
| | |
| | | // //编辑成功 |
| | | // return 0; |
| | | // } else if (newPoleSuccess.isEmpty() && oldPoleSuccess.isEmpty() && closePoleSuccess.isEmpty()) { |
| | | // //编辑失败, 新旧任务都有 |
| | | // //编辑失败 |
| | | // return 1; |
| | | // } else if ((newPoleSuccess.isEmpty() && newPoleFail.isEmpty())) { |
| | | // if (oldPoleSuccess.isEmpty() && closePoleSuccess.isEmpty()) { |
| | | // //编辑失败,保留原先任务没有改变,只有旧任务 |
| | | // } else { |
| | | // //在旧任务基础上编辑 |
| | | // if (lightTask.getTaskId().equals(newLightTask.getTaskId())) { |
| | | // //只有旧任务 |
| | | // return 2; |
| | | // } else { |
| | | // //编辑部分成功部分失败,新旧任务同时存在 |
| | | // } else { |
| | | // //有新任务,有旧任务 |
| | | // return 3; |
| | | // } |
| | | // } else { |
| | | // return -1; |
| | | // } |
| | | |
| | | return 0; |
| | | if (newPoleFail.isEmpty() && oldPoleFail.isEmpty() && closePoleFail.isEmpty()) { |
| | | return "编辑成功"; |
| | | } else if (newPoleSuccess.isEmpty() && oldPoleSuccess.isEmpty() && closePoleSuccess.isEmpty()) { |
| | | throw new BusinessException("编辑失败"); |
| | | } else if (!closePoleFail.isEmpty() || !oldPoleFail.isEmpty()) { |
| | | return "原任务中存在下发异常,原任务保留,创建新任务进行保存"; |
| | | } else if (!newPoleFail.isEmpty()) { |
| | | return "新任务中存在下发异常,忽略异常操作的灯杆"; |
| | | }else { |
| | | return "操作异常"; |
| | | } |
| | | } |
| | | |
| | | |