UPDATE: 子计划绑定或解绑被检设备,检测状态更新。
This commit is contained in:
@@ -381,8 +381,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
|||||||
|
|
||||||
// 把排除绑定到主计划
|
// 把排除绑定到主计划
|
||||||
fatherNowDevIds.addAll(unionDevIds);
|
fatherNowDevIds.addAll(unionDevIds);
|
||||||
fatherPlan.setTestState(pqDevService.bind(fatherPlanId, fatherNowDevIds));
|
pqDevService.bind(fatherPlanId, fatherNowDevIds);
|
||||||
list.add(fatherPlan);
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (CollUtil.isNotEmpty(oldDevIds)) {
|
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());
|
List<String> fatherNowDevIds = fatherNowDevList.stream().map(PqDev::getId).collect(Collectors.toList());
|
||||||
fatherNowDevIds.addAll(oldDevIds);
|
fatherNowDevIds.addAll(oldDevIds);
|
||||||
// 把原始都绑定到主计划
|
// 把原始都绑定到主计划
|
||||||
fatherPlan.setTestState(pqDevService.bind(fatherPlanId, fatherNowDevIds));
|
pqDevService.bind(fatherPlanId, fatherNowDevIds);
|
||||||
list.add(fatherPlan);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
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);
|
list.add(plan1);
|
||||||
return this.updateBatchById(list);
|
return this.updateBatchById(list);
|
||||||
}
|
}
|
||||||
@@ -929,8 +938,25 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
|||||||
// 0-解绑、1-绑定
|
// 0-解绑、1-绑定
|
||||||
if (param.getBindFlag().equals(1)) {
|
if (param.getBindFlag().equals(1)) {
|
||||||
pqDevService.lambdaUpdate().set(PqDev::getPlanId, plan.getId()).in(PqDev::getId, param.getDevIds()).update();
|
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 {
|
} else {
|
||||||
pqDevService.lambdaUpdate().set(PqDev::getPlanId, plan.getFatherPlanId()).in(PqDev::getId, param.getDevIds()).update();
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user