检测计划相关功能代码-补充

This commit is contained in:
caozehui
2025-07-21 08:42:37 +08:00
parent 858fc9aa05
commit 95d5396759
20 changed files with 354 additions and 144 deletions

View File

@@ -40,7 +40,6 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author caozehui
* @date 2024-12-09
@@ -186,7 +185,6 @@ public class AdPlanController extends BaseController {
adPlanService.analyse(ids);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/listByPlanId")
@ApiOperation("查询出所有已绑定的设备")
@@ -247,7 +245,7 @@ public class AdPlanController extends BaseController {
for (PqDevVO pqDevVO : pqDevVOPage.getRecords()) {
if (StrUtil.isNotBlank(pqDevVO.getPlanId())) {
AdPlan plan1 = planList.stream().filter(p -> p.getId().equals(pqDevVO.getPlanId())).findFirst().get();
if (!ObjectUtil.isNotNull(plan1) && plan.getId().equals(plan1.getFatherPlanId())) {
if (ObjectUtil.isNotNull(plan1) && plan.getId().equals(plan1.getFatherPlanId())) {
pqDevVO.setBoundPlanName(plan1.getName());
pqDevVO.setAssign(DataStateEnum.ENABLE.getCode());
} else {
@@ -317,7 +315,6 @@ public class AdPlanController extends BaseController {
}
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/updateBindDev")
@ApiOperation("子计划绑定/解绑被检设备")
@@ -326,7 +323,7 @@ public class AdPlanController extends BaseController {
String methodDescribe = getMethodDescribe("updateBindDev");
LogUtil.njcnDebug(log, "{},绑定/解绑参数为:{}", methodDescribe, param);
boolean result = adPlanService.updateBindDev(param.getPlanId(), param.getDevIds());
boolean result = adPlanService.updateBindDev(param);
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
} else {
@@ -334,7 +331,6 @@ public class AdPlanController extends BaseController {
}
}
// @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.DELETE)
// @PostMapping("/deleteSubPlan")
// @ApiOperation("删除子计划")

View File

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

View File

@@ -324,12 +324,25 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
// 修改检测计划、检测源关联
adPlanSourceService.updateAdPlanSource(param.getId(), param.getSourceIds());
}
// 若修改了名称,则修改相关子计划的来源字段
if (!plan1.getName().equals(param.getName()) && CommonEnum.FATHER_ID.getValue().equals(plan1.getFatherPlanId())) {
this.lambdaUpdate().in(AdPlan::getFatherPlanId, plan1.getId()).eq(AdPlan::getState, DataStateEnum.ENABLE.getCode())
.set(AdPlan::getOrigin, param.getName()).update();
}
return this.updateById(plan2);
}
@Override
@Transactional
public boolean deleteAdPlan(List<String> ids, String pattern) {
for (String id : ids) {
PqDevParam.QueryParam queryParam = new PqDevParam.QueryParam();
queryParam.setPlanIdList(Arrays.asList(id));
if (ObjectUtils.isNotEmpty(pqDevService.listByPlanId(queryParam))) {
throw new BusinessException(DetectionResponseEnum.PLAN_HAS_DEVICE_BIND);
}
}
DictData dictData = dictDataService.getDictDataById(pattern);
if (PatternEnum.CONTRAST.getValue().equals(dictData.getCode())) {
List<AdPlan> planList = this.lambdaQuery().in(AdPlan::getFatherPlanId, ids).eq(AdPlan::getState, DataStateEnum.ENABLE.getCode()).list();
@@ -339,23 +352,14 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
// 删除检测计划、标准设备关联
adPlanStandardDevService.deleteAdPlanStandardDev(ids);
} else {
// 删除相关检测表格
List<String> codeList = this.listByIds(ids).stream().map(plan -> String.valueOf(plan.getCode())).collect(Collectors.toList());
tableGenService.deleteTable(codeList);
// 删除检测计划、检测源关联
adPlanSourceService.deleteAdPlanSourceByPlanIds(ids);
}
for (String id : ids) {
PqDevParam.QueryParam queryParam = new PqDevParam.QueryParam();
queryParam.setPlanIdList(Arrays.asList(id));
if (ObjectUtils.isNotEmpty(pqDevService.listByPlanId(queryParam))) {
throw new BusinessException(DetectionResponseEnum.PLAN_HAS_DEVICE_BIND);
}
}
// 删除检测计划、检测源关联
adPlanSourceService.deleteAdPlanSourceByPlanIds(ids);
// 删除相关检测表格
List<String> codeList = this.listByIds(ids).stream().map(plan -> String.valueOf(plan.getCode())).collect(Collectors.toList());
tableGenService.deleteTable(codeList);
return this.lambdaUpdate().in(AdPlan::getId, ids).set(AdPlan::getState, DataStateEnum.DELETED.getCode()).update();
}
@@ -702,26 +706,39 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
@Override
@Transactional
public boolean updateSubPlanName(String planId, String name) {
AdPlan plan = new AdPlan();
plan.setId(planId);
AdPlan plan = this.getById(planId);
plan.setName(name);
return this.updateById(plan);
}
@Override
public boolean updateBindDev(String planId, List<String> pqDevIds) {
public boolean updateBindDev(PqDevParam.BindPlanParam param) {
List<AdPlan> list = new ArrayList<>();
AdPlan plan = this.getById(planId);
plan.setTestState(pqDevService.bind(planId, pqDevIds));
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());
if (param.getBindFlag().equals(1)) {
devIds1.addAll(param.getDevIds());
devIds2.removeAll(param.getDevIds());
} else {
devIds1.removeAll(param.getDevIds());
devIds2.addAll(param.getDevIds());
}
plan.setTestState(pqDevService.bind(param.getPlanId(), devIds1));
list.add(plan);
// 同时修改父计划的绑定
AdPlan fatherPlan = this.getById(plan.getFatherPlanId());
if (ObjectUtil.isNotNull(fatherPlan)) {
fatherPlan.setTestState(pqDevService.bind(fatherPlan.getId(), pqDevIds));
list.add(fatherPlan);
}
fatherPlan.setTestState(pqDevService.bind(fatherPlan.getId(), devIds2));
list.add(fatherPlan);
return this.updateBatchById(list);
}