ADD:检测计划添加检测配置相关
This commit is contained in:
@@ -413,5 +413,16 @@ public class AdPlanController extends BaseController {
|
||||
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPLOAD)
|
||||
@PostMapping(value = "/mergePlanCheckData")
|
||||
@ApiOperation("合并计划检测结果数据")
|
||||
@ApiImplicitParam(name = "planId", value = "计划id", required = true)
|
||||
public HttpResult<Boolean> mergePlanCheckData(@RequestParam("planId") String planId) {
|
||||
String methodDescribe = getMethodDescribe("mergePlanCheckData");
|
||||
LogUtil.njcnDebug(log, "{},合并计划ID数据为:{}", methodDescribe, planId);
|
||||
adPlanService.mergePlanCheckData(planId);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.gather.plan.mapper;
|
||||
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.njcn.gather.plan.pojo.po.AdPlanTestConfig;
|
||||
|
||||
/**
|
||||
* @author stary
|
||||
* @date 2025-08-25
|
||||
*/
|
||||
public interface AdPlanTestConfigMapper extends MPJBaseMapper<AdPlanTestConfig> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.gather.plan.pojo.param;
|
||||
|
||||
import com.njcn.common.pojo.constant.PatternRegex;
|
||||
import com.njcn.gather.plan.pojo.po.AdPlanTestConfig;
|
||||
import com.njcn.gather.pojo.constant.DetectionValidMessage;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@@ -71,7 +72,8 @@ public class AdPlanParam {
|
||||
@ApiModelProperty(value = "测试项ID列表")
|
||||
private List<@Pattern(regexp = PatternRegex.SYSTEM_ID, message = DetectionValidMessage.SOURCE_ID_FORMAT_ERROR)String> testItems;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "检测配置")
|
||||
private AdPlanTestConfig testConfig;
|
||||
/**
|
||||
* 分页查询实体
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.njcn.gather.plan.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author stary
|
||||
* @date 2025-08-25
|
||||
*/
|
||||
@Data
|
||||
@TableName("ad_plan_test_config")
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AdPlanTestConfig implements Serializable {
|
||||
private static final long serialVersionUID = -796292730578249530L;
|
||||
/**
|
||||
* 检测计划表Id
|
||||
*/
|
||||
private String planId;
|
||||
|
||||
/**
|
||||
* 录波数据有效组数
|
||||
*/
|
||||
private Integer waveRecord;
|
||||
|
||||
/**
|
||||
* 实时数据有效组数
|
||||
*/
|
||||
private Integer realTime;
|
||||
|
||||
/**
|
||||
* 统计数据有效组数
|
||||
*/
|
||||
private Integer statistics;
|
||||
|
||||
/**
|
||||
* 短闪数据有效组数
|
||||
*/
|
||||
private Integer flicker;
|
||||
|
||||
/**
|
||||
* 最大检测次数,默认3次
|
||||
*/
|
||||
private Integer maxTime;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.gather.plan.pojo.vo;
|
||||
|
||||
import com.njcn.gather.device.pojo.vo.PqDevVO;
|
||||
import com.njcn.gather.plan.pojo.po.AdPlanTestConfig;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -149,4 +150,6 @@ public class AdPlanVO {
|
||||
* 来源
|
||||
*/
|
||||
private String origin;
|
||||
|
||||
private AdPlanTestConfig testConfig;
|
||||
}
|
||||
|
||||
@@ -204,6 +204,12 @@ public interface IAdPlanService extends IService<AdPlan> {
|
||||
* @param response
|
||||
*/
|
||||
boolean importSubPlanCheckDataZip(MultipartFile file, String patternId, HttpServletResponse response);
|
||||
/**
|
||||
* 合并计划检测结果数据
|
||||
*
|
||||
* @param planId
|
||||
*/
|
||||
boolean mergePlanCheckData(String planId);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.njcn.gather.plan.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.gather.plan.pojo.po.AdPlanTestConfig;
|
||||
|
||||
/**
|
||||
* @author stary
|
||||
* @date 2025-08-25
|
||||
*/
|
||||
public interface IAdPlanTestConfigService extends IService<AdPlanTestConfig> {
|
||||
|
||||
}
|
||||
@@ -54,10 +54,12 @@ import com.njcn.gather.plan.pojo.enums.PlanReportStateEnum;
|
||||
import com.njcn.gather.plan.pojo.param.AdPlanParam;
|
||||
import com.njcn.gather.plan.pojo.po.AdPlan;
|
||||
import com.njcn.gather.plan.pojo.po.AdPlanStandardDev;
|
||||
import com.njcn.gather.plan.pojo.po.AdPlanTestConfig;
|
||||
import com.njcn.gather.plan.pojo.vo.*;
|
||||
import com.njcn.gather.plan.service.IAdPlanService;
|
||||
import com.njcn.gather.plan.service.IAdPlanSourceService;
|
||||
import com.njcn.gather.plan.service.IAdPlanStandardDevService;
|
||||
import com.njcn.gather.plan.service.IAdPlanTestConfigService;
|
||||
import com.njcn.gather.pojo.enums.DetectionResponseEnum;
|
||||
import com.njcn.gather.report.pojo.po.PqReport;
|
||||
import com.njcn.gather.report.service.IPqReportService;
|
||||
@@ -138,6 +140,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
private final IPqStandardDevService pqStandardDevService;
|
||||
private final IPqIcdPathService pqIcdPathService;
|
||||
private final IAdPariService adPairService;
|
||||
private final IAdPlanTestConfigService adPlanTestConfigService;
|
||||
|
||||
private final JdbcTemplate jdbcTemplate;
|
||||
|
||||
@@ -207,6 +210,9 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
adPlanVO.setStandardDevNameStr(pqStandardDevs.stream().map(PqStandardDev::getName).reduce((a, b) -> a + "," + b).orElse(""));
|
||||
|
||||
if (CommonEnum.FATHER_ID.getValue().equals(adPlan.getFatherPlanId())) {
|
||||
// 查询检测配置
|
||||
AdPlanTestConfig testConfig = adPlanTestConfigService.getOne(new LambdaQueryWrapper<AdPlanTestConfig>().eq(AdPlanTestConfig::getPlanId, adPlan.getId()));
|
||||
adPlanVO.setTestConfig(testConfig);
|
||||
List<AdPlan> childrenPlan = this.lambdaQuery().eq(AdPlan::getFatherPlanId, adPlan.getId()).eq(AdPlan::getState, DataStateEnum.ENABLE.getCode()).list();
|
||||
List<String> childrenPlanIds = childrenPlan.stream().map(AdPlan::getId).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(childrenPlanIds)) {
|
||||
@@ -217,6 +223,10 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
Map<String, Integer> standardDevIds = adPlanVO.getStandardDevMap();
|
||||
standardDevIds.putAll(pqStandardDevs.stream().collect(Collectors.toMap(PqStandardDev::getId, obj -> 1)));
|
||||
// adPlanVO.setStandardDevNameStr(adPlanVO.getStandardDevNameStr() + pqStandardDevs.stream().map(PqStandardDev::getName).reduce((a, b) -> a + "," + b).orElse(""));
|
||||
} else {
|
||||
// 查询父计划检测配置
|
||||
AdPlanTestConfig testConfig = adPlanTestConfigService.getOne(new LambdaQueryWrapper<AdPlanTestConfig>().eq(AdPlanTestConfig::getPlanId, adPlan.getFatherPlanId()));
|
||||
adPlanVO.setTestConfig(testConfig);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -233,7 +243,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
adPlan.setDatasourceId(String.join(StrUtil.COMMA, param.getDatasourceIds()));
|
||||
|
||||
adPlan.setState(DataStateEnum.ENABLE.getCode());
|
||||
|
||||
boolean addTestConfig = true;
|
||||
if (StrUtil.isBlank(param.getFatherPlanId())) {
|
||||
// 默认为顶级检测计划
|
||||
adPlan.setFatherPlanId(CommonEnum.FATHER_ID.getValue());
|
||||
@@ -241,6 +251,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
AdPlan plan = this.getById(param.getFatherPlanId());
|
||||
adPlan.setFatherPlanId(param.getFatherPlanId());
|
||||
adPlan.setOrigin(plan.getName());
|
||||
addTestConfig = false;
|
||||
}
|
||||
adPlan.setTestState(CheckStateEnum.UNCHECKED.getValue());
|
||||
adPlan.setReportState(PlanReportStateEnum.REPORT_STATE_NOT_GENERATED.getValue());
|
||||
@@ -277,6 +288,12 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
adPlanStandardDevService.deleteAdPlanStandardDev(param.getFatherPlanId(), param.getStandardDevIds());
|
||||
adPlanStandardDevService.addAdPlanStandardDev(planId, param.getStandardDevIds());
|
||||
}
|
||||
if (addTestConfig) {
|
||||
// 添加检测配置
|
||||
AdPlanTestConfig testConfig = param.getTestConfig();
|
||||
testConfig.setPlanId(planId);
|
||||
adPlanTestConfigService.save(testConfig);
|
||||
}
|
||||
} else {
|
||||
// 关联检测源
|
||||
adPlanSourceService.addAdPlanSource(planId, param.getSourceIds());
|
||||
@@ -390,6 +407,10 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
|
||||
List<String> devIds = pqDevVOList.stream().map(PqDevVO::getId).collect(Collectors.toList());
|
||||
param.getDevIds().removeAll(devIds);
|
||||
// 更新检测配置
|
||||
AdPlanTestConfig testConfig = param.getTestConfig();
|
||||
adPlanTestConfigService.update(testConfig,new LambdaUpdateWrapper<AdPlanTestConfig>().eq(AdPlanTestConfig::getPlanId, testConfig.getPlanId()));
|
||||
|
||||
} else {
|
||||
// 修改检测计划、检测源关联
|
||||
adPlanSourceService.updateAdPlanSource(param.getId(), param.getSourceIds());
|
||||
@@ -400,7 +421,8 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
this.lambdaUpdate().in(AdPlan::getFatherPlanId, plan1.getId()).eq(AdPlan::getState, DataStateEnum.ENABLE.getCode())
|
||||
.set(AdPlan::getOrigin, param.getName()).update();
|
||||
}
|
||||
return this.updateById(plan2);
|
||||
|
||||
return this.updateById(plan2);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -423,6 +445,8 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
|
||||
// 删除检测计划、标准设备关联
|
||||
adPlanStandardDevService.deleteAdPlanStandardDev(ids);
|
||||
// 删除检测配置
|
||||
adPlanTestConfigService.remove(new LambdaQueryWrapper<AdPlanTestConfig>().in(AdPlanTestConfig::getPlanId, ids));
|
||||
} else {
|
||||
// 删除相关检测表格
|
||||
List<String> codeList = this.listByIds(ids).stream().map(plan -> String.valueOf(plan.getCode())).collect(Collectors.toList());
|
||||
@@ -1976,4 +2000,27 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean mergePlanCheckData(String planId) {
|
||||
|
||||
AdPlan plan = this.getById(planId);
|
||||
if (!plan.getFatherPlanId().equals(CommonEnum.FATHER_ID.getValue())) {
|
||||
throw new BusinessException(CommonResponseEnum.FAIL, "该计划非主计划");
|
||||
}
|
||||
Integer planCode = plan.getCode();
|
||||
// 获取所有子计划
|
||||
List<AdPlan> subPlanList = this.lambdaQuery().eq(AdPlan::getFatherPlanId, planId).list();
|
||||
if (CollUtil.isEmpty(subPlanList)) {
|
||||
throw new BusinessException(CommonResponseEnum.FAIL, "该计划未找到子计划");
|
||||
}
|
||||
// 获取所有子计划检测数据
|
||||
List<Integer> subPlanCodeList = subPlanList.stream().map(AdPlan::getCode).collect(Collectors.toList());
|
||||
for (Integer code : subPlanCodeList) {
|
||||
List<String> dataTableNames = CollUtil.newArrayList("ad_harmonic_" + code, "ad_non_harmonic_" + code, "ad_harmonic_result_" + code, "ad_non_harmonic_result_" + code);
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.njcn.gather.plan.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.gather.plan.mapper.AdPlanTestConfigMapper;
|
||||
import com.njcn.gather.plan.pojo.po.AdPlanTestConfig;
|
||||
import com.njcn.gather.plan.service.IAdPlanTestConfigService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author stary
|
||||
* @date 2025-08-25
|
||||
*/
|
||||
@Service
|
||||
public class AdPlanTestConfigServiceImpl extends ServiceImpl<AdPlanTestConfigMapper, AdPlanTestConfig>
|
||||
implements IAdPlanTestConfigService {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user