UPDATE:修改子计划解绑或绑定被检设备逻辑

This commit is contained in:
贾同学
2025-08-26 15:37:32 +08:00
parent d5f22c4147
commit d0f6cc46ad
2 changed files with 14 additions and 25 deletions

View File

@@ -157,8 +157,7 @@ public interface IAdPlanService extends IService<AdPlan> {
/**
* 子计划绑定/解绑被检设备
*
* @param planId
* @param pqDevIds
* @param param
* @return
*/
boolean updateBindDev(PqDevParam.BindPlanParam param);

View File

@@ -444,7 +444,15 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> 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<AdPlanTestConfig>().in(AdPlanTestConfig::getPlanId, ids));
} else {
@@ -848,32 +856,14 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
@Override
public boolean updateBindDev(PqDevParam.BindPlanParam param) {
List<AdPlan> list = new ArrayList<>();
AdPlan plan = this.getById(param.getPlanId());
AdPlan fatherPlan = this.getById(plan.getFatherPlanId());
List<PqDev> pqDevList1 = pqDevService.list(new QueryWrapper<PqDev>().eq("Plan_Id", param.getPlanId()).eq("State", DataStateEnum.ENABLE.getCode()));
List<String> devIds1 = pqDevList1.stream().map(PqDev::getId).collect(Collectors.toList());
List<PqDev> pqDevList2 = pqDevService.list(new QueryWrapper<PqDev>().eq("Plan_Id", fatherPlan.getId()).eq("State", DataStateEnum.ENABLE.getCode()));
List<String> 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