14 Commits

Author SHA1 Message Date
caozehui
29b0a4f966 Merge remote-tracking branch 'origin/master' 2026-05-25 18:39:25 +08:00
caozehui
c651b18e72 Revert "统一sourceId"
This reverts commit 1cfea7fd6c.
2026-05-25 18:39:19 +08:00
caozehui
6fd180b4d4 微调 2026-05-25 16:20:06 +08:00
caozehui
282f9cf4eb 报告生成、检测结果查询调整 2026-05-25 14:27:15 +08:00
caozehui
1cfea7fd6c 统一sourceId 2026-05-12 14:34:57 +08:00
caozehui
251e302e59 统一sourceId 2026-05-12 10:36:44 +08:00
caozehui
873e920add 微调 2026-04-22 09:36:35 +08:00
caozehui
fd7c6ada6b 回滚 2026-04-13 15:41:37 +08:00
caozehui
c148bddfc9 Revert "微调"
This reverts commit 4110a835c8.
2026-04-13 15:39:15 +08:00
caozehui
f0857b7c46 Revert "微调"
This reverts commit ef757c52ea.
2026-04-13 15:38:55 +08:00
9b1c6f61e6 revert e78ce544e3
revert 微调
2026-04-13 15:31:24 +08:00
caozehui
3f72c52cdc Revert "微调"
This reverts commit e78ce544e3.
2026-04-13 15:27:55 +08:00
caozehui
ef757c52ea 微调 2026-04-10 15:13:22 +08:00
caozehui
4110a835c8 微调 2026-04-10 14:13:27 +08:00
11 changed files with 83 additions and 17 deletions

View File

@@ -33,6 +33,8 @@ import com.njcn.gather.script.pojo.param.PqScriptIssueParam;
import com.njcn.gather.script.pojo.po.SourceIssue;
import com.njcn.gather.script.service.IPqScriptCheckDataService;
import com.njcn.gather.script.service.IPqScriptDtlsService;
import com.njcn.gather.source.pojo.po.SourceInitialize;
import com.njcn.gather.source.service.IPqSourceService;
import com.njcn.gather.storage.pojo.param.StorageParam;
import com.njcn.gather.storage.pojo.po.SimAndDigHarmonicResult;
import com.njcn.gather.storage.pojo.po.SimAndDigNonHarmonicResult;
@@ -76,6 +78,7 @@ public class SocketDevResponseService {
private final SimAndDigHarmonicService adHarmonicService;
private final IAdPlanService adPlanService;
private final IDictDataService dictDataService;
private final IPqSourceService pqSourceService;
/**
* 存储的装置相序数据
@@ -391,6 +394,8 @@ public class SocketDevResponseService {
if (param.getTestItemList().get(2)) {
//如果后续做正式检测
PqScriptIssueParam issueParam = new PqScriptIssueParam();
SourceInitialize sourceInitialize = pqSourceService.getSourceInitializeParam(param.getSourceId());
issueParam.setSourceId(sourceInitialize.getSourceId());
issueParam.setPlanId(param.getPlanId());
issueParam.setSourceId(param.getSourceId());
issueParam.setDevIds(param.getDevIds());
@@ -893,10 +898,9 @@ public class SocketDevResponseService {
//开始下源控制脚本
PqScriptIssueParam issueParam = new PqScriptIssueParam();
SourceInitialize sourceInitialize = pqSourceService.getSourceInitializeParam(param.getSourceId());
issueParam.setSourceId(sourceInitialize.getSourceId());
issueParam.setPlanId(param.getPlanId());
issueParam.setSourceId(param.getSourceId());
issueParam.setDevIds(param.getDevIds());
issueParam.setScriptId(param.getScriptId());
socketMsg.setOperateCode(SourceOperateCodeEnum.OPER_GATHER.getValue());
List<SourceIssue> sourceIssues;
@@ -1162,8 +1166,9 @@ public class SocketDevResponseService {
} else if (param.getTestItemList().get(2)) {
// 后续做正式检测
PqScriptIssueParam issueParam = new PqScriptIssueParam();
SourceInitialize sourceInitialize = pqSourceService.getSourceInitializeParam(param.getSourceId());
issueParam.setSourceId(sourceInitialize.getSourceId());
issueParam.setPlanId(param.getPlanId());
issueParam.setSourceId(param.getSourceId());
issueParam.setDevIds(param.getDevIds());
issueParam.setScriptId(param.getScriptId());
@@ -1816,8 +1821,9 @@ public class SocketDevResponseService {
XiNumberManager.devParameterList.add(devParameterSmall);
PqScriptIssueParam issueParam = new PqScriptIssueParam();
SourceInitialize sourceInitialize = pqSourceService.getSourceInitializeParam(param.getSourceId());
issueParam.setSourceId(sourceInitialize.getSourceId());
issueParam.setPlanId(param.getPlanId());
issueParam.setSourceId(param.getSourceId());
issueParam.setDevIds(param.getDevIds());
issueParam.setScriptId(param.getScriptId());
issueParam.setIsPhaseSequence(CommonEnum.COEFFICIENT_TEST.getValue());

View File

@@ -289,7 +289,8 @@ public class PreDetectionServiceImpl implements PreDetectionService {
}
//组装源控制脚本
PqScriptIssueParam issueParam = new PqScriptIssueParam();
issueParam.setSourceId(param.getSourceId());
SourceInitialize sourceInitialize = pqSourceService.getSourceInitializeParam(param.getSourceId());
issueParam.setSourceId(sourceInitialize.getSourceId());
issueParam.setScriptId(param.getScriptId());
issueParam.setType(1);
issueParam.setIsPhaseSequence(SourceOperateCodeEnum.SIMULATE_TEST.getValue());

View File

@@ -1265,7 +1265,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
for (int i = 1; i <= maxTime; i++) {
row2[i] = i + "次检测";
int tempI = i;
List<PqDevVO> tempDevList = devList.stream().filter(dev -> dev.getRecheckNum() <= tempI).collect(Collectors.toList());
List<PqDevVO> tempDevList = devList.stream().filter(dev -> dev.getRecheckNum() == tempI).collect(Collectors.toList());
long passCount = tempDevList.stream().filter(dev -> dev.getCheckResult() == CheckResultEnum.ACCORD.getValue()).count();
row3[i] = passCount + "";
row4[i] = total + "";

View File

@@ -39,4 +39,9 @@ public class DevReportParam implements Serializable {
* 批量下载时传递的被检设备id列表
*/
private List<String> devIdList;
/**
* 检测报告模板
*/
private String reportTemplateName;
}

View File

@@ -41,6 +41,7 @@ import com.njcn.gather.err.pojo.po.PqErrSys;
import com.njcn.gather.err.service.IPqErrSysService;
import com.njcn.gather.monitor.pojo.po.PqMonitor;
import com.njcn.gather.monitor.service.IPqMonitorService;
import com.njcn.gather.plan.mapper.AdPlanMapper;
import com.njcn.gather.plan.pojo.enums.DataSourceEnum;
import com.njcn.gather.plan.pojo.enums.PlanReportStateEnum;
import com.njcn.gather.plan.pojo.po.AdPlan;
@@ -175,6 +176,7 @@ public class PqReportServiceImpl extends ServiceImpl<PqReportMapper, PqReport> i
private final IPqDevSubService iPqDevSubService;
private final IDictDataService dictDataService;
private final IAdPlanService adPlanService;
private final AdPlanMapper pqPlanMapper;
private final IPqScriptDtlsService pqScriptDtlsService;
private final SimAndDigNonHarmonicService adNonHarmonicService;
private final SimAndDigHarmonicService adHarmonicService;
@@ -788,6 +790,9 @@ public class PqReportServiceImpl extends ServiceImpl<PqReportMapper, PqReport> i
* @param devReportParam 设备信息
*/
private void generateReportByPlanContrast(AdPlan plan, DevReportParam devReportParam) {
String reportTemplateName = devReportParam.getReportTemplateName();
String[] split = reportTemplateName.split("_");
String reportTemplateId = pqPlanMapper.getReportIdByNameAndVersion(split[0], split[1]);
// 支持批量生成报告
devReportParam.getDevIdList().forEach(devId -> {
// 准备被检设备的基础信息
@@ -802,7 +807,7 @@ public class PqReportServiceImpl extends ServiceImpl<PqReportMapper, PqReport> i
if (Objects.isNull(devType)) {
throw new BusinessException(ReportResponseEnum.DEVICE_TYPE_NOT_EXIST);
}
PqReport report = this.lambdaQuery().eq(PqReport::getId, plan.getReportTemplateId()).eq(PqReport::getState, DataStateEnum.ENABLE.getCode()).one();
PqReport report = this.lambdaQuery().eq(PqReport::getId, reportTemplateId).eq(PqReport::getState, DataStateEnum.ENABLE.getCode()).one();
if (Objects.isNull(report)) {
throw new BusinessException(ReportResponseEnum.REPORT_TEMPLATE_NOT_EXIST);
}
@@ -866,6 +871,9 @@ public class PqReportServiceImpl extends ServiceImpl<PqReportMapper, PqReport> i
* @param devReportParam 设备信息
*/
private void generateReportByPlan(AdPlan plan, DevReportParam devReportParam) {
String reportTemplateName = devReportParam.getReportTemplateName();
String[] split = reportTemplateName.split("_");
String reportTemplateId = pqPlanMapper.getReportIdByNameAndVersion(split[0], split[1]);
// 支持批量生成报告
devReportParam.getDevIdList().forEach(devId -> {
// 准备被检设备的基础信息
@@ -879,7 +887,7 @@ public class PqReportServiceImpl extends ServiceImpl<PqReportMapper, PqReport> i
if (Objects.isNull(devType)) {
throw new BusinessException(ReportResponseEnum.DEVICE_TYPE_NOT_EXIST);
}
PqReport report = this.lambdaQuery().eq(PqReport::getId, plan.getReportTemplateId()).eq(PqReport::getState, DataStateEnum.ENABLE.getCode()).one();
PqReport report = this.lambdaQuery().eq(PqReport::getId, reportTemplateId).eq(PqReport::getState, DataStateEnum.ENABLE.getCode()).one();
if (Objects.isNull(report)) {
throw new BusinessException(ReportResponseEnum.REPORT_TEMPLATE_NOT_EXIST);
}
@@ -2063,7 +2071,7 @@ public class PqReportServiceImpl extends ServiceImpl<PqReportMapper, PqReport> i
// 委托方
String delegate = pqDevVO.getDelegate();
if (StrUtil.isNotBlank(delegate)) {
DictData delegateDictData = dictDataService.getDictDataById(pqDevVO.getDelegate());
DictData delegateDictData = dictDataService.getDictDataById(pqDevVO.getManufacturer());
if (ObjectUtil.isNotNull(delegateDictData)) {
baseModelMap.put(BaseReportKeyEnum.DELEGATE.getKey(), delegateDictData.getName());
} else {

View File

@@ -201,4 +201,16 @@ public class ResultController extends BaseController {
List<ContrastTestItemVO> result = resultService.getCheckItem(monitorQueryParam.getPlanId(), monitorQueryParam.getDevId(), monitorQueryParam.getChnNum(), monitorQueryParam.getNum(), monitorQueryParam.getCode());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/canTest")
@ApiOperation("是否还能进行检测")
@ApiImplicitParam(name = "devIds", value = "设备id", required = true)
public HttpResult<Boolean> canTest(@RequestBody List<String> devIds) {
String methodDescribe = getMethodDescribe("canTest");
LogUtil.njcnDebug(log, "{}查询数据为devIds={}", methodDescribe, devIds);
boolean result = resultService.canTest(devIds);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
}

View File

@@ -31,4 +31,9 @@ public class FormContentVO {
* 有多少次波形录制
*/
private Integer waveNumTotal;
/**
* 报表模板
*/
private String reportTemplateName;
}

View File

@@ -138,4 +138,12 @@ public interface IResultService {
Map<Integer, List<ContrastTestResult>> getContrastResultForReport(DevReportParam devReportParam, PqDevVO pqDevVO);
ContrastTestResult getContrastResultHarm(MonitorResultVO monitorResultVO, List<String> scriptId, Integer planCode, DictTree dictTree);
/**
* 判断设备是否可以测试
*
* @param devIds
* @return
*/
boolean canTest(List<String> devIds);
}

View File

@@ -41,6 +41,7 @@ import com.njcn.gather.device.service.IPqStandardDevService;
import com.njcn.gather.err.service.IPqErrSysService;
import com.njcn.gather.monitor.pojo.po.PqMonitor;
import com.njcn.gather.monitor.service.IPqMonitorService;
import com.njcn.gather.plan.mapper.AdPlanMapper;
import com.njcn.gather.plan.pojo.enums.DataSourceEnum;
import com.njcn.gather.plan.pojo.po.AdPlan;
import com.njcn.gather.plan.pojo.po.AdPlanTestConfig;
@@ -52,6 +53,7 @@ import com.njcn.gather.report.pojo.constant.PowerConstant;
import com.njcn.gather.report.pojo.enums.AffectEnum;
import com.njcn.gather.report.pojo.enums.ItemReportKeyEnum;
import com.njcn.gather.report.pojo.enums.PowerIndexEnum;
import com.njcn.gather.report.pojo.po.PqReport;
import com.njcn.gather.report.pojo.result.ContrastTestResult;
import com.njcn.gather.report.pojo.result.SingleTestResult;
import com.njcn.gather.result.pojo.enums.ResultUnitEnum;
@@ -112,6 +114,7 @@ import static com.njcn.gather.plan.pojo.enums.DataSourceEnum.*;
public class ResultServiceImpl implements IResultService {
private final IAdPlanService adPlanService;
private final AdPlanMapper adPlanMapper;
private final IAdPlanTestConfigService adPlanTestConfigService;
private final IPqDevService pqDevService;
private final IPqStandardDevService pqStandardDevService;
@@ -127,7 +130,6 @@ public class ResultServiceImpl implements IResultService {
private final DetectionServiceImpl detectionServiceImpl;
private final IDictDataService dictDataService;
private final IPqScriptCheckDataService iPqScriptCheckDataService;
private final IPqDevService iPqDevService;
private final IAdPariService adPairService;
private final IPqMonitorService pqMonitorService;
private final IPqErrSysService pqErrSysService;
@@ -144,6 +146,8 @@ public class ResultServiceImpl implements IResultService {
FormContentVO formContentVO = new FormContentVO();
AdPlan plan = adPlanService.getById(queryParam.getPlanId());
formContentVO.setErrorSysId(plan.getErrorSysId());
PqReport report = adPlanMapper.getPqReportById(plan.getReportTemplateId());
formContentVO.setReportTemplateName(report.getName() + "_" + report.getVersion());
String scriptId = null;
if (ObjectUtil.isNotNull(plan)) {
formContentVO.setDataRule(plan.getDataRule());
@@ -2144,6 +2148,19 @@ public class ResultServiceImpl implements IResultService {
return null;
}
@Override
public boolean canTest(List<String> devIds) {
for (String devId : devIds) {
PqDevVO pqDevVO = pqDevService.getPqDevById(devId);
AdPlanTestConfig adPlanTestConfig = adPlanTestConfigService.getByPlanId(pqDevVO.getPlanId());
Integer maxTime = adPlanTestConfig.getMaxTime();
if (maxTime != null && maxTime <= pqDevVO.getRecheckNum()) {
return false;
}
}
return true;
}
/**
* 判断值是否为零
*
@@ -3140,7 +3157,7 @@ public class ResultServiceImpl implements IResultService {
checkDataParam.setIsValueTypeName(false);
List<String> valueType = iPqScriptCheckDataService.getValueType(checkDataParam);
iPqDevService.updateResult(param.getDevIds(), valueType, param.getCode(), param.getUserId(), param.getTemperature(), param.getHumidity());
pqDevService.updateResult(param.getDevIds(), valueType, param.getCode(), param.getUserId(), param.getTemperature(), param.getHumidity());
}
/**

View File

@@ -34,6 +34,8 @@ import com.njcn.gather.script.service.IPqScriptCheckDataService;
import com.njcn.gather.script.service.IPqScriptDtlsService;
import com.njcn.gather.script.util.ScriptDtlsDesc;
import com.njcn.gather.script.util.ThreePhaseUnbalance;
import com.njcn.gather.source.pojo.po.SourceInitialize;
import com.njcn.gather.source.service.IPqSourceService;
import com.njcn.gather.system.dictionary.pojo.po.DictTree;
import com.njcn.gather.system.dictionary.service.IDictTreeService;
import com.njcn.gather.system.pojo.enums.DicDataEnum;
@@ -68,13 +70,13 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
private final static String INHARM_I = "InHarm_I";
private final static String DIP = "Dip";
private final static String FLICKER = "Flicker";
// @Value("${Dip.fPreTime}")
// @Value("${Dip.fPreTime}")
// private Double fPreTime;
@Value("${Dip.fRampIn}")
private Double fRampIn;
@Value("${Dip.fRampOut}")
private Double fRampOut;
// @Value("${Dip.fAfterTime}")
// @Value("${Dip.fAfterTime}")
// private Double fAfterTime;
@Value("${Flicker.waveFluType}")
private String waveFluType;
@@ -91,6 +93,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
private final IDevTypeService devTypeService;
private final IDictTreeService dictTreeService;
private final AdPlanMapper adPlanMapper;
private final IPqSourceService pqSourceService;
@Override
@Transactional
@@ -781,7 +784,8 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
@Override
public Set<String> getScriptToIcdCheckInfo(PreDetectionParam param) {
PqScriptIssueParam issueParam = new PqScriptIssueParam();
issueParam.setSourceId(param.getSourceId());
SourceInitialize sourceInitialize = pqSourceService.getSourceInitializeParam(param.getSourceId());
issueParam.setSourceId(sourceInitialize.getSourceId());
issueParam.setDevIds(param.getDevIds());
issueParam.setScriptId(param.getScriptId());
issueParam.setIsPhaseSequence(CommonEnum.FORMAL_TEST.getValue());
@@ -974,7 +978,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
for (int i = 0; i < pqScriptDtls.size(); i++) {
PqScriptDtls scriptDtls = pqScriptDtls.get(i);
// 注意此处scriptDtls.getValue() < 1.0,考虑到有些已经投入运行的地方,可能没有改库,避免不必要的异常
if(scriptDtls.getValueType().equalsIgnoreCase("CUR") && scriptDtls.getValue() < 1.0){
if (scriptDtls.getValueType().equalsIgnoreCase("CUR") && scriptDtls.getValue() < 1.0) {
scriptDtls.setValue(devCurr * scriptDtls.getValue());
}
}

View File

@@ -9,7 +9,7 @@ spring:
# url: jdbc:mysql://192.168.1.24:13306/pqs91002?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true
# username: root
# password: njcnpqs
url: jdbc:mysql://192.168.1.24:13306/pqs9100_nx?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true
url: jdbc:mysql://127.0.0.1:3306/pqs9100?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true
username: root
password: njcnpqs
#初始化建立物理连接的个数、最小、最大连接数