UPDATE: 子计划绑定或解绑被检设备,检测状态更新。
This commit is contained in:
@@ -381,8 +381,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
|
||||
// 把排除绑定到主计划
|
||||
fatherNowDevIds.addAll(unionDevIds);
|
||||
fatherPlan.setTestState(pqDevService.bind(fatherPlanId, fatherNowDevIds));
|
||||
list.add(fatherPlan);
|
||||
pqDevService.bind(fatherPlanId, fatherNowDevIds);
|
||||
|
||||
} else {
|
||||
if (CollUtil.isNotEmpty(oldDevIds)) {
|
||||
@@ -390,10 +389,20 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
List<String> fatherNowDevIds = fatherNowDevList.stream().map(PqDev::getId).collect(Collectors.toList());
|
||||
fatherNowDevIds.addAll(oldDevIds);
|
||||
// 把原始都绑定到主计划
|
||||
fatherPlan.setTestState(pqDevService.bind(fatherPlanId, fatherNowDevIds));
|
||||
list.add(fatherPlan);
|
||||
pqDevService.bind(fatherPlanId, fatherNowDevIds);
|
||||
}
|
||||
}
|
||||
PqDevParam.QueryParam queryParam = new PqDevParam.QueryParam();
|
||||
queryParam.setPlanIdList(Collections.singletonList(plan1.getId()));
|
||||
List<PqDevVO> pqDevVOS = pqDevService.listByPlanId(queryParam);
|
||||
long checkedCount = pqDevVOS.stream().filter(pqDevVO -> pqDevVO.getCheckState().equals(CheckStateEnum.CHECKED.getValue())).count();
|
||||
plan1.setTestState(CheckStateEnum.UNCHECKED.getValue());
|
||||
if (checkedCount == pqDevVOS.size()) {
|
||||
plan1.setTestState(CheckStateEnum.CHECKED.getValue());
|
||||
} else if (checkedCount > 0) {
|
||||
plan1.setTestState(CheckStateEnum.CHECKING.getValue());
|
||||
}
|
||||
|
||||
list.add(plan1);
|
||||
return this.updateBatchById(list);
|
||||
}
|
||||
@@ -929,8 +938,25 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
// 0-解绑、1-绑定
|
||||
if (param.getBindFlag().equals(1)) {
|
||||
pqDevService.lambdaUpdate().set(PqDev::getPlanId, plan.getId()).in(PqDev::getId, param.getDevIds()).update();
|
||||
// 绑定被检设备,若检测计划已检测完成,则修改为检测中
|
||||
if (plan.getTestState().equals(CheckStateEnum.CHECKED.getValue())) {
|
||||
plan.setTestState(CheckStateEnum.CHECKING.getValue());
|
||||
this.updateById(plan);
|
||||
}
|
||||
} else {
|
||||
pqDevService.lambdaUpdate().set(PqDev::getPlanId, plan.getFatherPlanId()).in(PqDev::getId, param.getDevIds()).update();
|
||||
// 解绑被检设备,若检测计划检测中,且所有设备已检测完成,则修改为检测完成
|
||||
if (plan.getTestState().equals(CheckStateEnum.CHECKING.getValue())) {
|
||||
PqDevParam.QueryParam queryParam = new PqDevParam.QueryParam();
|
||||
queryParam.setPlanIdList(Collections.singletonList(plan.getId()));
|
||||
List<PqDevVO> pqDevVOS = pqDevService.listByPlanId(queryParam);
|
||||
long checkedCount = pqDevVOS.stream().filter(pqDevVO -> pqDevVO.getCheckState().equals(CheckStateEnum.CHECKED.getValue())).count();
|
||||
if (checkedCount == pqDevVOS.size()) {
|
||||
plan.setTestState(CheckStateEnum.CHECKED.getValue());
|
||||
this.updateById(plan);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user