UPDATE:修改子计划解绑或绑定被检设备逻辑
This commit is contained in:
@@ -157,8 +157,7 @@ public interface IAdPlanService extends IService<AdPlan> {
|
||||
/**
|
||||
* 子计划绑定/解绑被检设备
|
||||
*
|
||||
* @param planId
|
||||
* @param pqDevIds
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
boolean updateBindDev(PqDevParam.BindPlanParam param);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user