diff --git a/detection/src/main/java/com/njcn/gather/plan/service/IAdPlanService.java b/detection/src/main/java/com/njcn/gather/plan/service/IAdPlanService.java index b8591497..9bd21030 100644 --- a/detection/src/main/java/com/njcn/gather/plan/service/IAdPlanService.java +++ b/detection/src/main/java/com/njcn/gather/plan/service/IAdPlanService.java @@ -157,8 +157,7 @@ public interface IAdPlanService extends IService { /** * 子计划绑定/解绑被检设备 * - * @param planId - * @param pqDevIds + * @param param * @return */ boolean updateBindDev(PqDevParam.BindPlanParam param); diff --git a/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java b/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java index d54bed35..ca098d70 100644 --- a/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java @@ -444,7 +444,15 @@ public class AdPlanServiceImpl extends ServiceImpl impleme } // 删除检测计划、标准设备关联 - adPlanStandardDevService.deleteAdPlanStandardDev(ids); + for (String id : ids) { + AdPlan plan = this.getById(id); + if (plan.getFatherPlanId().equals(CommonEnum.FATHER_ID.getValue())) { + adPlanStandardDevService.deleteAdPlanStandardDev(ids); + } else { + adPlanStandardDevService.lambdaUpdate().set(AdPlanStandardDev::getPlanId, plan.getFatherPlanId()).eq(AdPlanStandardDev::getPlanId, id).update(); + } + } + // 删除检测配置 adPlanTestConfigService.remove(new LambdaQueryWrapper().in(AdPlanTestConfig::getPlanId, ids)); } else { @@ -848,32 +856,14 @@ public class AdPlanServiceImpl extends ServiceImpl impleme @Override public boolean updateBindDev(PqDevParam.BindPlanParam param) { - - List list = new ArrayList<>(); AdPlan plan = this.getById(param.getPlanId()); - AdPlan fatherPlan = this.getById(plan.getFatherPlanId()); - - List pqDevList1 = pqDevService.list(new QueryWrapper().eq("Plan_Id", param.getPlanId()).eq("State", DataStateEnum.ENABLE.getCode())); - List devIds1 = pqDevList1.stream().map(PqDev::getId).collect(Collectors.toList()); - - List pqDevList2 = pqDevService.list(new QueryWrapper().eq("Plan_Id", fatherPlan.getId()).eq("State", DataStateEnum.ENABLE.getCode())); - List devIds2 = pqDevList2.stream().map(PqDev::getId).collect(Collectors.toList()); - + // 0-解绑、1-绑定 if (param.getBindFlag().equals(1)) { - devIds1.addAll(param.getDevIds()); - devIds2.removeAll(param.getDevIds()); + pqDevService.lambdaUpdate().set(PqDev::getPlanId, plan.getId()).in(PqDev::getId, param.getDevIds()).update(); } else { - devIds1.removeAll(param.getDevIds()); - devIds2.addAll(param.getDevIds()); + pqDevService.lambdaUpdate().set(PqDev::getPlanId, plan.getFatherPlanId()).in(PqDev::getId, param.getDevIds()).update(); } - - plan.setTestState(pqDevService.bind(param.getPlanId(), devIds1)); - list.add(plan); - - fatherPlan.setTestState(pqDevService.bind(fatherPlan.getId(), devIds2)); - list.add(fatherPlan); - - return this.updateBatchById(list); + return true; } @Override