4 Commits

Author SHA1 Message Date
95a571d3c3 Merge remote-tracking branch 'origin/main' 2026-01-05 16:55:53 +08:00
322001150a 1.监测点稳态报表bug修改 2026-01-05 16:55:47 +08:00
hzj
b805bda25b 海南bug修改提交 2026-01-05 11:20:23 +08:00
f592f2b580 1.监测点稳态报告cp95值逻辑调整 2026-01-05 10:45:26 +08:00
16 changed files with 8899 additions and 4555 deletions

12
pom.xml
View File

@@ -43,7 +43,7 @@
<!-- <middle.server.url>10.95.53.49</middle.server.url>-->
<middle.server.url>192.168.1.103</middle.server.url>
<!--微服务模块发布地址-->
<service.server.url>127.0.0.1</service.server.url>
<service.server.url>192.168.2.130</service.server.url>
<!--docker仓库地址-->
<docker.server.url>192.168.1.22</docker.server.url>
<!--nacos的ip:port-->
@@ -53,9 +53,9 @@
<!--nacos的ip:port-->
<nacos.password>nacos</nacos.password>
<!--服务器发布内容为空-->
<!-- <nacos.namespace></nacos.namespace>-->
<nacos.namespace>hswbpm</nacos.namespace>
<!-- <nacos.namespace>30c701c4-2a94-49d9-82e1-76aa9456573f</nacos.namespace>-->
<nacos.namespace>6fd2d036-f390-46ee-9c9d-d5a5c00e3314</nacos.namespace>
<!-- <nacos.namespace>12b467cc-a7e6-411d-8944-090cbfa09dde</nacos.namespace>-->
<!-- <nacos.namespace>910d0d69-2254-481b-b9f7-7ecf9cb881b0</nacos.namespace>-->
<!-- sentinel:port-->
<sentinel.url>${middle.server.url}:8080</sentinel.url>
@@ -81,6 +81,7 @@
<springcloud.alibaba.version>2.2.7.RELEASE</springcloud.alibaba.version>
<hutool.version>5.8.11</hutool.version>
<knife4j.version>3.0.2</knife4j.version>
<postgresql.version>42.3.8</postgresql.version>
<knife4j.aggregation.version>2.0.8</knife4j.aggregation.version>
<lombok.version>1.18.18</lombok.version>
<mybatis.version>2.1.3</mybatis.version>
@@ -171,6 +172,11 @@
<artifactId>knife4j-spring-ui</artifactId>
<version>${knife4j.version}</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-aggregation-spring-boot-starter</artifactId>

View File

@@ -57,8 +57,8 @@ public class COverlimitUtil {
//配网
Float[] iHarmTem = new Float[49];
for (int i = 0; i <= 48; i++) {
iHarmTem[i] = -3.14159f;
//目前只处理了配网II类测点III类测点暂未处理III类测点参考主网
iHarmTem[i] = getHarmTag(i+2,voltageLevel).floatValue();
}
overlimit.buildIHarm(iHarmTem);
overlimit.setINeg(-3.14159f);

View File

@@ -340,30 +340,30 @@ public class TransientServiceImpl implements TransientService {
// 获取按终端分类的监测点索引集合
List<String> lineList = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
List<TerminalTree> data = deviceTreeClient.getTerminalTree().getData();
if (!CollectionUtils.isEmpty(transientParam.getSubstationIds())) {
List<String> collect = data.stream().map(TerminalTree::getChildren).flatMap(Collection::stream)
.map(TerminalTree::getChildren).flatMap(Collection::stream)
.map(TerminalTree::getChildren).flatMap(Collection::stream)
.map(TerminalTree::getChildren).flatMap(Collection::stream)
.filter(temp -> transientParam.getSubstationIds().contains(temp.getId()))
.map(TerminalTree::getChildren).flatMap(Collection::stream)
.map(TerminalTree::getChildren).flatMap(Collection::stream)
.map(TerminalTree::getChildren).flatMap(Collection::stream)
.map(TerminalTree::getId).collect(Collectors.toList());
lineList.retainAll(collect);
}
// if (!CollectionUtils.isEmpty(transientParam.getSubstationIds())) {
// List<String> collect = data.stream().map(TerminalTree::getChildren).flatMap(Collection::stream)
// .map(TerminalTree::getChildren).flatMap(Collection::stream)
// .map(TerminalTree::getChildren).flatMap(Collection::stream)
// .map(TerminalTree::getChildren).flatMap(Collection::stream)
// .filter(temp -> transientParam.getSubstationIds().contains(temp.getId()))
// .map(TerminalTree::getChildren).flatMap(Collection::stream)
// .map(TerminalTree::getChildren).flatMap(Collection::stream)
// .map(TerminalTree::getChildren).flatMap(Collection::stream)
// .map(TerminalTree::getId).collect(Collectors.toList());
// lineList.retainAll(collect);
// }
if (!CollectionUtils.isEmpty(transientParam.getLineIds())) {
List<String> collect1 = data.stream().map(TerminalTree::getChildren).flatMap(Collection::stream)
.map(TerminalTree::getChildren).flatMap(Collection::stream)
.map(TerminalTree::getChildren).flatMap(Collection::stream)
.map(TerminalTree::getChildren).flatMap(Collection::stream)
.map(TerminalTree::getChildren).flatMap(Collection::stream)
.map(TerminalTree::getChildren).flatMap(Collection::stream)
.map(TerminalTree::getChildren).flatMap(Collection::stream)
.filter(temp -> transientParam.getLineIds().contains(temp.getId()))
.map(TerminalTree::getId).collect(Collectors.toList());
lineList.retainAll(collect1);
// List<String> collect1 = data.stream().map(TerminalTree::getChildren).flatMap(Collection::stream)
// .map(TerminalTree::getChildren).flatMap(Collection::stream)
// .map(TerminalTree::getChildren).flatMap(Collection::stream)
// .map(TerminalTree::getChildren).flatMap(Collection::stream)
// .map(TerminalTree::getChildren).flatMap(Collection::stream)
// .map(TerminalTree::getChildren).flatMap(Collection::stream)
// .map(TerminalTree::getChildren).flatMap(Collection::stream)
// .filter(temp -> transientParam.getLineIds().contains(temp.getId()))
// .map(TerminalTree::getId).collect(Collectors.toList());
lineList.retainAll(transientParam.getLineIds());
}
if (CollUtil.isEmpty(lineList)) {
return new Page<>();

View File

@@ -56,4 +56,9 @@ public class ReportTemplateDTO {
*/
private String value;
/**
* 针对电压下偏差新增的字段
*/
private String lowValue;
}

View File

@@ -195,18 +195,15 @@ public class ExportModelController extends BaseController {
param.setB(day == 0);
//限值
OverLimitInfo overLimitData = reportService.getOverLimitData(param);
//OverLimitInfo overLimitData = reportService.getOverLimitData(param);
Overlimit overLimit;
if (type == 0) {
overLimit = lineFeignClient.getOverLimitData(param.getLineId()).getData();
} else {
overLimit = monitorClient.getOverLimitData(param.getLineId()).getData();
}
param.setCount(overLimitData.getCount());
overLimitData.setOverLimitRate(Arrays.asList(overLimit));
if (0 == overLimitData.getOverLimitRate().size()) {
if (Objects.isNull(overLimit)) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, "dataFail", methodDescribe);
}

View File

@@ -0,0 +1,60 @@
package com.njcn.harmonic.controller.report;
import cn.hutool.core.date.TimeInterval;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.harmonic.pojo.dto.FpyReportDTO;
import com.njcn.harmonic.pojo.param.QualifiedReportParam;
import com.njcn.harmonic.service.majornetwork.QualifiedReportService;
import com.njcn.harmonic.service.report.AreaHarmonicService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* pqs
* 合格率报告
* @author cdf
* @date 2023/5/31
*/
@Slf4j
@RestController
@RequestMapping("/areaHarmonicReport")
@Api(tags = "区域稳态报告")
@RequiredArgsConstructor
public class AreaHarmonicReportController extends BaseController {
private final AreaHarmonicService areaHarmonicService;
/**
* 区域稳态报告
* @author cdf
* @date 2023/6/7
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/areaHarmonicReport")
@ApiOperation("区域稳态报告")
public HttpResult<Page<FpyReportDTO>> areaHarmonicReport() {
TimeInterval timeInterval = new TimeInterval();
String methodDescribe = getMethodDescribe("areaHarmonicReport");
log.info("区域稳态报告执行时长:"+timeInterval.interval());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
}

View File

@@ -13,7 +13,7 @@ import com.njcn.harmonic.pojo.po.ExcelRptTemp;
import com.njcn.harmonic.pojo.vo.ReportTemplateVO;
import com.njcn.harmonic.pojo.vo.ReportTreeVO;
import com.njcn.harmonic.pojo.vo.SysDeptTempVO;
import com.njcn.harmonic.service.CustomReportService;
import com.njcn.harmonic.service.report.CustomReportService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;

View File

@@ -7,22 +7,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
rms,
@rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_i_d
<where>
@@ -38,20 +23,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN 1
WHEN value_type = 'MAX' THEN 2
WHEN value_type = 'MIN' THEN 3
WHEN value_type = 'AVG' THEN 4
ELSE 5
END
),
rms DESC
) AS t1
) a
GROUP BY
phasic_type;
</select>
@@ -61,22 +32,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
rms,
@rankSum := IF( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_v_d
<where>
@@ -92,20 +48,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN 1
WHEN value_type = 'MAX' THEN 2
WHEN value_type = 'MIN' THEN 3
WHEN value_type = 'AVG' THEN 4
ELSE 5
END
),
rms DESC
) AS t1
) a
GROUP BY
phasic_type
</select>
@@ -175,22 +117,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
rms_lvr as rms,
@rankSum := IF( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_v_d
<where>
@@ -206,20 +133,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN 1
WHEN value_type = 'MAX' THEN 2
WHEN value_type = 'MIN' THEN 3
WHEN value_type = 'AVG' THEN 4
ELSE 5
END
),
rms_lvr DESC
) AS t1
) a
GROUP BY
phasic_type
</select>
@@ -229,24 +142,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
p as rms,
@rankSum :=
IF
( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_harmpower_p_d
<where>
@@ -262,23 +158,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN
1
WHEN value_type = 'MAX' THEN
2
WHEN value_type = 'MIN' THEN
3
WHEN value_type = 'AVG' THEN
4 ELSE 5
END
),
p DESC
) AS t1
) a
GROUP BY
phasic_type
</select>
@@ -288,24 +167,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
pf as rms,
@rankSum :=
IF
( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_harmpower_p_d
<where>
@@ -321,23 +183,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN
1
WHEN value_type = 'MAX' THEN
2
WHEN value_type = 'MIN' THEN
3
WHEN value_type = 'AVG' THEN
4 ELSE 5
END
),
pf DESC
) AS t1
) a
GROUP BY
phasic_type
</select>
@@ -347,24 +192,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
q as rms,
@rankSum :=
IF
( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_harmpower_q_d
<where>
@@ -380,23 +208,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN
1
WHEN value_type = 'MAX' THEN
2
WHEN value_type = 'MIN' THEN
3
WHEN value_type = 'AVG' THEN
4 ELSE 5
END
),
q DESC
) AS t1
) a
GROUP BY
phasic_type
</select>
@@ -406,24 +217,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
s as rms,
@rankSum :=
IF
( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_harmpower_s_d
<where>
@@ -439,23 +233,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN
1
WHEN value_type = 'MAX' THEN
2
WHEN value_type = 'MIN' THEN
3
WHEN value_type = 'AVG' THEN
4 ELSE 5
END
),
s DESC
) AS t1
) a
GROUP BY
phasic_type
</select>
@@ -465,24 +242,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
plt as rms,
@rankSum :=
IF
( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_flicker_d
<where>
@@ -498,23 +258,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN
1
WHEN value_type = 'MAX' THEN
2
WHEN value_type = 'MIN' THEN
3
WHEN value_type = 'AVG' THEN
4 ELSE 5
END
),
plt DESC
) AS t1
) a
GROUP BY
phasic_type
</select>
@@ -524,24 +267,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
pst as rms,
@rankSum :=
IF
( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_flicker_d
<where>
@@ -557,23 +283,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN
1
WHEN value_type = 'MAX' THEN
2
WHEN value_type = 'MIN' THEN
3
WHEN value_type = 'AVG' THEN
4 ELSE 5
END
),
pst DESC
) AS t1
) a
GROUP BY
phasic_type
</select>
@@ -583,22 +292,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
vu_dev as rms,
@rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_v_d
<where>
@@ -614,20 +308,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN 1
WHEN value_type = 'MAX' THEN 2
WHEN value_type = 'MIN' THEN 3
WHEN value_type = 'AVG' THEN 4
ELSE 5
END
),
vu_dev DESC
) AS t1
) a
GROUP BY
phasic_type;
</select>
@@ -637,22 +317,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
vl_dev as rms,
@rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_v_d
<where>
@@ -668,20 +333,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN 1
WHEN value_type = 'MAX' THEN 2
WHEN value_type = 'MIN' THEN 3
WHEN value_type = 'AVG' THEN 4
ELSE 5
END
),
vl_dev DESC
) AS t1
) a
GROUP BY
phasic_type;
</select>
@@ -691,22 +342,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
v_thd as rms,
@rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_v_d
<where>
@@ -722,20 +358,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN 1
WHEN value_type = 'MAX' THEN 2
WHEN value_type = 'MIN' THEN 3
WHEN value_type = 'AVG' THEN 4
ELSE 5
END
),
v_thd DESC
) AS t1
) a
GROUP BY
phasic_type;
</select>
@@ -745,22 +367,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
i_thd as rms,
@rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_i_d
<where>
@@ -776,20 +383,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN 1
WHEN value_type = 'MAX' THEN 2
WHEN value_type = 'MIN' THEN 3
WHEN value_type = 'AVG' THEN 4
ELSE 5
END
),
i_thd DESC
) AS t1
) a
GROUP BY
phasic_type;
</select>
@@ -799,22 +392,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
freq as rms,
@rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_v_d
<where>
@@ -830,20 +408,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN 1
WHEN value_type = 'MAX' THEN 2
WHEN value_type = 'MIN' THEN 3
WHEN value_type = 'AVG' THEN 4
ELSE 5
END
),
freq DESC
) AS t1
) a
GROUP BY
phasic_type;
</select>
@@ -853,22 +417,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
freq_dev as rms,
@rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_v_d
<where>
@@ -884,20 +433,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN 1
WHEN value_type = 'MAX' THEN 2
WHEN value_type = 'MIN' THEN 3
WHEN value_type = 'AVG' THEN 4
ELSE 5
END
),
freq_dev DESC
) AS t1
) a
GROUP BY
phasic_type;
</select>
@@ -907,22 +442,7 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value
FROM
(
SELECT
phasic_type,
value_type,
rms,
rankSum
FROM
(
SELECT
phasic_type,
value_type,
i_neg as rms,
@rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type
MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value
FROM
r_stat_data_i_d
<where>
@@ -938,20 +458,6 @@
and line_id = #{param.lineId}
</if>
</where>
ORDER BY
phasic_type,
(
CASE
WHEN value_type = 'CP95' THEN 1
WHEN value_type = 'MAX' THEN 2
WHEN value_type = 'MIN' THEN 3
WHEN value_type = 'AVG' THEN 4
ELSE 5
END
),
rms DESC
) AS t1
) a
GROUP BY
phasic_type;
</select>

View File

@@ -0,0 +1,4 @@
package com.njcn.harmonic.service.report;
public interface AreaHarmonicService {
}

View File

@@ -1,4 +1,4 @@
package com.njcn.harmonic.service;
package com.njcn.harmonic.service.report;
import com.njcn.harmonic.pojo.param.ReportSearchParam;
import com.njcn.harmonic.pojo.param.ReportTemplateParam;
@@ -6,11 +6,8 @@ import com.njcn.harmonic.pojo.po.ExcelRptTemp;
import com.njcn.harmonic.pojo.vo.ReportTemplateVO;
import com.njcn.harmonic.pojo.vo.ReportTreeVO;
import com.njcn.harmonic.pojo.vo.SysDeptTempVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
/**

View File

@@ -0,0 +1,16 @@
package com.njcn.harmonic.service.report.impl;
import com.njcn.harmonic.service.report.AreaHarmonicService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* @Author: cdf
* @CreateTime: 2026-01-04
* @Description: 区域报告
*/
@Service
@RequiredArgsConstructor
public class AreaHarmonicServiceImpl implements AreaHarmonicService {
}

View File

@@ -1,12 +1,10 @@
package com.njcn.harmonic.service.impl;
package com.njcn.harmonic.service.report.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.date.TimeInterval;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.text.StrBuilder;
import cn.hutool.core.text.StrPool;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.StrUtil;
@@ -14,20 +12,17 @@ import cn.hutool.json.*;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.toolkit.SqlRunner;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.utils.FileUtil;
import com.njcn.csdevice.api.CsCommTerminalFeignClient;
import com.njcn.csdevice.api.WlRecordFeignClient;
import com.njcn.csdevice.pojo.po.WlRecord;
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
import com.njcn.device.pq.api.DeptLineFeignClient;
import com.njcn.device.pq.api.DeviceUnitClient;
import com.njcn.device.pq.pojo.po.DeptLine;
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
import com.njcn.harmonic.enums.HarmonicResponseEnum;
import com.njcn.harmonic.mapper.DeptTempMapper;
import com.njcn.harmonic.mapper.EleEpdMapper;
import com.njcn.harmonic.mapper.ExcelRptMapper;
import com.njcn.harmonic.mapper.ExcelRptTempMapper;
import com.njcn.harmonic.pojo.dto.ReportTemplateDTO;
import com.njcn.harmonic.pojo.param.ReportSearchParam;
@@ -35,8 +30,6 @@ import com.njcn.harmonic.pojo.param.ReportTemplateParam;
import com.njcn.harmonic.utils.DataChangeUtil;
import com.njcn.influx.constant.InfluxDbSqlConstant;
import com.njcn.influx.pojo.constant.InfluxDBTableConstant;
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
import com.njcn.influx.service.CommonService;
import com.njcn.influx.utils.InfluxDbUtils;
import com.njcn.oss.enums.OssResponseEnum;
import com.njcn.system.api.DicDataFeignClient;
@@ -44,35 +37,28 @@ import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.system.pojo.po.EleEpdPqd;
import com.njcn.harmonic.pojo.po.ExcelRpt;
import com.njcn.harmonic.pojo.po.ExcelRptTemp;
import com.njcn.harmonic.pojo.po.SysDeptTemp;
import com.njcn.harmonic.pojo.vo.ReportTemplateVO;
import com.njcn.harmonic.pojo.vo.ReportTreeVO;
import com.njcn.harmonic.pojo.vo.SysDeptTempVO;
import com.njcn.harmonic.service.CustomReportService;
import com.njcn.harmonic.service.report.CustomReportService;
import com.njcn.oss.constant.OssPath;
import com.njcn.oss.utils.FileStorageUtil;
import com.njcn.user.api.DeptFeignClient;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.tomcat.util.http.fileupload.IOUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import sun.reflect.generics.tree.Tree;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
@@ -122,6 +108,8 @@ public class CustomReportServiceImpl implements CustomReportService {
private final String STR_TWO = "$";
private final String STR_THREE = "&";
private final String STR_FOUR = "%";
private final String UVOLTAGE_DEV = "UVOLTAGE_DEV";
private final String VOLTAGE_DEV = "VOLTAGE_DEV";
@Override
public void getCustomReport(ReportSearchParam reportSearchParam, HttpServletResponse response) {
@@ -691,7 +679,7 @@ public class CustomReportServiceImpl implements CustomReportService {
* @date 2023/10/20
*/
private void assSqlByMysql(List<ReportTemplateDTO> data, StringBuilder sql, List<ReportTemplateDTO> endList, String method, ReportSearchParam reportSearchParam, Map<String, ReportTemplateDTO> limitMap, Map<String, Float> overLimitMap, Map<String, ReportTemplateDTO> assNoPassMap) {
private void assSqlByMysql(List<ReportTemplateDTO> data, StringBuilder sql, List<ReportTemplateDTO> endList, String method, ReportSearchParam reportSearchParam, Map<String, ReportTemplateDTO> limitMap, Map<String, Float> overLimitMap, Map<String, ReportTemplateDTO> assNoPassMap,List<String> noPhaseList) {
//sql拼接示例select MAX(IHA2) as IHA2 from power_quality_data where Phase = 'A' and LineId='1324564568' and Stat_Method='max' tz('Asia/Shanghai')
if (InfluxDbSqlConstant.CP95.equals(method)) {
for (int i = 0; i < data.size(); i++) {
@@ -763,7 +751,10 @@ public class CustomReportServiceImpl implements CustomReportService {
//频率和频率偏差仅统计T相
if (data.get(0).getTemplateName().equals("freq_dev") || data.get(0).getTemplateName().equals("freq")) {
if (noPhaseList.contains(data.get(0).getTemplateName())) {
if(data.get(0).getTemplateName().equalsIgnoreCase("v_unbalance")){
System.out.println(44);
}
sql.append(InfluxDbSqlConstant.AND)
.append(InfluxDBTableConstant.PHASIC_TYPE)
.append(InfluxDbSqlConstant.EQ)
@@ -783,6 +774,7 @@ public class CustomReportServiceImpl implements CustomReportService {
if (CollUtil.isEmpty(mapList) || Objects.isNull(mapList.get(0))) {
data = data.stream().peek(item -> item.setValue("/")).collect(Collectors.toList());
} else {
//兼容达梦数据库方法
Map<String, Object> map = convertKeysToUpperCase(mapList.get(0));
for (ReportTemplateDTO item : data) {
if (map.containsKey(item.getItemName())) {
@@ -790,10 +782,22 @@ public class CustomReportServiceImpl implements CustomReportService {
item.setValue(String.format("%.3f", v));
if (overLimitMap.containsKey(item.getLimitName())) {
Float tagVal = overLimitMap.get(item.getLimitName());
if (v > tagVal) {
item.setOverLimitFlag(1);
} else {
item.setOverLimitFlag(0);
if(item.getLimitName().equalsIgnoreCase(UVOLTAGE_DEV)){
//对电压偏差特殊处理
Float tagVal_U = overLimitMap.get(UVOLTAGE_DEV);
if (v > tagVal || v<tagVal_U) {
item.setOverLimitFlag(1);
} else {
item.setOverLimitFlag(0);
}
}else {
if (v > tagVal) {
item.setOverLimitFlag(1);
} else {
item.setOverLimitFlag(0);
}
}
}
@@ -803,12 +807,27 @@ public class CustomReportServiceImpl implements CustomReportService {
if (limitMap.containsKey(key)) {
ReportTemplateDTO tem = limitMap.get(key);
double limitVal = Double.parseDouble(tem.getValue());
if (v > limitVal) {
tem.setOverLimitFlag(1);
assNoPassMap.put(key, tem);
} else if (!assNoPassMap.containsKey(key)) {
tem.setOverLimitFlag(0);
assNoPassMap.put(key, tem);
if(VOLTAGE_DEV.equalsIgnoreCase(tem.getLimitName())){
//针对电压偏差特殊处理
double limitLowVal = Double.parseDouble(tem.getLowValue());
if (v > limitVal || v<limitLowVal) {
tem.setOverLimitFlag(1);
assNoPassMap.put(key, tem);
} else if (!assNoPassMap.containsKey(key)) {
tem.setOverLimitFlag(0);
assNoPassMap.put(key, tem);
}
}else {
//其他指标
if (v > limitVal) {
tem.setOverLimitFlag(1);
assNoPassMap.put(key, tem);
} else if (!assNoPassMap.containsKey(key)) {
tem.setOverLimitFlag(0);
assNoPassMap.put(key, tem);
}
}
}
}
@@ -860,6 +879,14 @@ public class CustomReportServiceImpl implements CustomReportService {
throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_JSON);
}
}
//查询不分相别的指标
DictData dictData = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.EPD.getCode(), DicDataTypeEnum.CS_DATA_TYPE.getCode()).getData();
if(Objects.isNull(dictData)){
throw new BusinessException(CommonResponseEnum.FAIL,"字典类型模板缺少!");
}
List<EleEpdPqd> temTargetList = eleEpdMapper.selectList(new LambdaQueryWrapper<EleEpdPqd>().eq(EleEpdPqd::getDataType,dictData.getId()).in(EleEpdPqd::getPhase,Arrays.asList("T", "M")));
List<String> noPhaseList = temTargetList.stream().filter(it->StrUtil.isNotBlank(it.getOtherName())).map(it->it.getOtherName().toUpperCase()).collect(Collectors.toList());
//处理指标是否合格
reportLimitList = new LinkedHashSet<>(reportLimitList).stream().sorted(Comparator.comparing(ReportTemplateDTO::getItemName)).collect(Collectors.toList());
Map<String, Float> limitMap = overLimitDeal(reportLimitList, reportSearchParam);
@@ -884,13 +911,13 @@ public class CustomReportServiceImpl implements CustomReportService {
phaseMap.forEach((phaseKey, phaseVal) -> {
StringBuilder sql = new StringBuilder(InfluxDbSqlConstant.SELECT);
if (InfluxDbSqlConstant.MAX.equalsIgnoreCase(valueTypeKey)) {
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.MAX, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap);
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.MAX, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap,noPhaseList);
} else if (InfluxDbSqlConstant.MIN.equalsIgnoreCase(valueTypeKey)) {
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.MIN, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap);
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.MIN, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap,noPhaseList);
} else if (InfluxDbSqlConstant.AVG_WEB.equalsIgnoreCase(valueTypeKey)) {
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.AVG_WEB, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap);
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.AVG_WEB, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap,noPhaseList);
} else if (InfluxDbSqlConstant.CP95.equalsIgnoreCase(valueTypeKey)) {
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.CP95, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap);
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.CP95, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap,noPhaseList);
}
});
@@ -1040,7 +1067,7 @@ public class CustomReportServiceImpl implements CustomReportService {
} else if (vItem.length == 4) {
//$HA[_25]#max#classId$
reportTemplateDTO.setTemplateName(vItem[0].toUpperCase());
reportTemplateDTO.setPhase("M");
reportTemplateDTO.setPhase("T");
reportTemplateDTO.setStatMethod(vItem[1].toUpperCase());
reportTemplateDTO.setResourceId(vItem[2].toUpperCase());
reportTemplateDTO.setLimitName(vItem[3].toUpperCase());
@@ -1048,14 +1075,13 @@ public class CustomReportServiceImpl implements CustomReportService {
reportTemplateDTOList.add(reportTemplateDTO);
} else if (v.charAt(0) == '%' && v.contains(STR_ONE)) {
//封装ReportTemplateDTO
//封装指标结论ReportTemplateDTO
ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO();
v = v.replace(STR_FOUR, "");
reportTemplateDTO.setItemName(v.toUpperCase());
//根据#分割数据
String[] vItem = v.split(STR_ONE);
if (vItem.length == 3) {
//$HA[_25]#B#max#classId$
reportTemplateDTO.setTemplateName(vItem[0].toUpperCase());
reportTemplateDTO.setStatMethod(vItem[1].toUpperCase());
reportTemplateDTO.setResourceId(vItem[2].toUpperCase());
@@ -1092,11 +1118,13 @@ public class CustomReportServiceImpl implements CustomReportService {
StringBuilder sql = new StringBuilder(InfluxDbSqlConstant.SELECT);
for (int i = 0; i < reportLimitList.size(); i++) {
if (i == reportLimitList.size() - 1) {
sql.append(UVOLTAGE_DEV).append(StrUtil.COMMA);
sql.append(reportLimitList.get(i).getTemplateName()).append(StrUtil.C_SPACE);
} else {
sql.append(reportLimitList.get(i).getTemplateName()).append(StrUtil.COMMA);
}
}
sql.append(InfluxDbSqlConstant.FROM).append(reportLimitList.get(0).getResourceId()).append(InfluxDbSqlConstant.WHERE).append("id ='").append(reportSearchParam.getLineId()).append("'");
limitMap = excelRptTempMapper.dynamicSqlMap(sql.toString());
if (Objects.isNull(limitMap)) {
@@ -1105,6 +1133,10 @@ public class CustomReportServiceImpl implements CustomReportService {
for (ReportTemplateDTO item : reportLimitList) {
if (limitMap.containsKey(item.getTemplateName())) {
if(item.getTemplateName().equalsIgnoreCase(VOLTAGE_DEV)){
item.setLowValue(limitMap.get(UVOLTAGE_DEV).toString());
}
item.setValue(limitMap.get(item.getTemplateName()).toString());
}
}
@@ -1551,13 +1583,18 @@ public class CustomReportServiceImpl implements CustomReportService {
(Map<String, ReportTemplateDTO> assNoPassMap, Map<String, ReportTemplateDTO> limitTargetMapX, List<ReportTemplateDTO> endList) {
assNoPassMap.forEach((key, val) -> {
limitTargetMapX.remove(key);
if ("Voltage_Dev".toUpperCase().equals(val.getTemplateName()) || "Freq_Dev".toUpperCase().equals(val.getTemplateName())) {
if ("Freq_Dev".toUpperCase().equals(val.getTemplateName())) {
val.setValue("±" + val.getValue());
}
String expend = "";
if(Objects.nonNull(val.getLowValue())){
expend = val.getLowValue()+",";
}
if (val.getOverLimitFlag() == 1) {
val.setValue("不合格 (" + val.getValue() + ")");
val.setValue("不合格 (" + expend+val.getValue() + ")");
} else {
val.setValue("合格 (" + val.getValue() + ")");
val.setValue("合格 (" + expend+val.getValue() + ")");
}
endList.add(val);
});
@@ -1613,7 +1650,7 @@ public class CustomReportServiceImpl implements CustomReportService {
} else if (vItem.length == 4) {
//$HA[_25]#max#classId$
reportTemplateDTO.setTemplateName(vItem[0]);
reportTemplateDTO.setPhase("M");
reportTemplateDTO.setPhase("T");
reportTemplateDTO.setStatMethod(vItem[1]);
reportTemplateDTO.setResourceId(vItem[2]);
reportTemplateDTO.setLimitName(vItem[3]);

View File

@@ -330,7 +330,8 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
param.setDeptName(deptName);
String inputUrl = "file/warningReport.docx";
String alarmType = param.getType() == 1 ? "" : "";
String fileName = "电能[" + alarmType + "]" + param.getYear() + "" + param.getNumber() + "号-" + param.getDeptName() + "地市 电能质量技术监督" + alarmType + "警单.docx";
//前端下载有问题将【】改成()
String fileName = "电能(" + alarmType + ")" + param.getYear() + "" + param.getNumber() + "号-" + param.getDeptName() + "地市 电能质量技术监督" + alarmType + "警单.docx";
//获取无数据监测点集合
List<ReportLineInfoVo> list1 = getReportLineInfo(true, param.getIdList(), null, param.getSearchBeginTime(), param.getSearchEndTime(), param.getDeptId(), allLineWarnings);
//获取谐波电压超标监测点集合

View File

@@ -173,6 +173,8 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
}
@Override
@Transactional(rollbackFor = Exception.class)
public void addFeedback(WarningLeafletParam.WarningLeafletUpdateParam warningLeafletUpdateParam) {

12241
pqs.ipr

File diff suppressed because one or more lines are too long

406
pqs.iws
View File

@@ -1,29 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="2448d918-1a26-4571-be80-21a8dfa375ac" name="Default" comment="EventTemplate控制器编写">
<change beforePath="$PROJECT_DIR$/pqs-system/system-api/src/main/java/com/njcn/system/enums/EventResponseEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-system/system-api/src/main/java/com/njcn/system/enums/EventResponseEnum.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EventDictParam.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EventDictParam.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EventTemplateParam.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/EventTemplateParam.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EventTemplate.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EventTemplate.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventDictController.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventDictController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventTemplateController.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-system/system-boot/src/main/java/com/njcn/system/controller/EventTemplateController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EventTemplateMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EventTemplateMapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/EventTemplateMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/EventTemplateMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventDictServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventDictServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventTemplateServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventTemplateServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs.iws" beforeDir="false" afterPath="$PROJECT_DIR$/pqs.iws" afterDir="false" />
</list>
<list id="8dc99cd4-ae87-448e-8b91-038fd7ebf613" name="no commit" comment="no commit">
<list default="true" id="2448d918-1a26-4571-be80-21a8dfa375ac" name="Default" comment="海南bug修改提交">
<change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/BpmApplication.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/BpmApplication.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/job/DeviceComflagTasks.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/job/ScheduledTasks.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/job/ScheduledTasks.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/TerminalServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/TerminalServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs.ipr" beforeDir="false" afterPath="$PROJECT_DIR$/pqs.ipr" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pqs.iws" beforeDir="false" afterPath="$PROJECT_DIR$/pqs.iws" afterDir="false" />
</list>
<list id="8dc99cd4-ae87-448e-8b91-038fd7ebf613" name="no commit" comment="no commit" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ChangesViewManager">
<option name="groupingKeys">
<option value="directory" />
<option value="module" />
</option>
</component>
<component name="Commander">
<leftPanel view="Project" />
<rightPanel view="Project" />
@@ -254,28 +258,6 @@
<detection-done>true</detection-done>
<sorting>DEFINITION_ORDER</sorting>
</component>
<component name="LineStatusTrackerManager">
<file path="$PROJECT_DIR$/pqs.iws">
<ranges>
<range start1="2" end1="2" start2="2" end2="5" changelist="8dc99cd4-ae87-448e-8b91-038fd7ebf613" />
<range start1="4" end1="15" start2="7" end2="9" changelist="2448d918-1a26-4571-be80-21a8dfa375ac" />
<range start1="16" end1="17" start2="10" end2="12" changelist="2448d918-1a26-4571-be80-21a8dfa375ac" />
<range start1="20" end1="21" start2="15" end2="16" changelist="2448d918-1a26-4571-be80-21a8dfa375ac" />
<range start1="268" end1="332" start2="263" end2="278" changelist="2448d918-1a26-4571-be80-21a8dfa375ac" />
<range start1="550" end1="551" start2="496" end2="497" changelist="2448d918-1a26-4571-be80-21a8dfa375ac" />
<range start1="568" end1="579" start2="514" end2="514" changelist="2448d918-1a26-4571-be80-21a8dfa375ac" />
<range start1="622" end1="622" start2="557" end2="559" changelist="2448d918-1a26-4571-be80-21a8dfa375ac" />
<range start1="636" end1="636" start2="573" end2="577" changelist="2448d918-1a26-4571-be80-21a8dfa375ac" />
<range start1="659" end1="659" start2="600" end2="604" changelist="2448d918-1a26-4571-be80-21a8dfa375ac" />
<range start1="793" end1="794" start2="738" end2="742" changelist="2448d918-1a26-4571-be80-21a8dfa375ac" />
<range start1="809" end1="810" start2="757" end2="807" changelist="2448d918-1a26-4571-be80-21a8dfa375ac" />
<range start1="867" end1="871" start2="864" end2="865" changelist="2448d918-1a26-4571-be80-21a8dfa375ac" />
<range start1="873" end1="873" start2="867" end2="868" changelist="2448d918-1a26-4571-be80-21a8dfa375ac" />
<range start1="928" end1="933" start2="923" end2="926" changelist="8dc99cd4-ae87-448e-8b91-038fd7ebf613" />
<range start1="937" end1="937" start2="930" end2="933" changelist="8dc99cd4-ae87-448e-8b91-038fd7ebf613" />
</ranges>
</file>
</component>
<component name="LvcsProjectConfiguration">
<option name="ADD_LABEL_ON_PROJECT_OPEN" value="true" />
<option name="ADD_LABEL_ON_PROJECT_COMPILATION" value="true" />
@@ -286,12 +268,15 @@
<option name="ADD_LABEL_ON_UNIT_TEST_PASSED" value="true" />
<option name="ADD_LABEL_ON_UNIT_TEST_FAILED" value="true" />
</component>
<component name="MarkdownSettingsMigration">
<option name="stateVersion" value="1" />
</component>
<component name="MavenImportPreferences">
<option name="generalSettings">
<MavenGeneralSettings>
<option name="localRepository" value="D:\AJava\Maven\apache-maven-3.8.6\mvn_repo" />
<option name="mavenHome" value="$PROJECT_DIR$/../../../AJava/Maven/apache-maven-3.8.6" />
<option name="userSettingsFile" value="D:\AJava\Maven\apache-maven-3.8.6\conf\settings.xml" />
<option name="localRepository" value="D:\maven3.6.3\repository" />
<option name="mavenHome" value="Use Maven wrapper" />
<option name="userSettingsFile" value="D:\java\apache-maven-3.3.9\conf\settings.xml" />
</MavenGeneralSettings>
</option>
</component>
@@ -438,32 +423,16 @@
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="ExpandSpringBootJavaOptionsPanel" value="true" />
<property name="GoToClass.includeLibraries" value="false" />
<property name="GoToClass.toSaveIncludeLibraries" value="false" />
<property name="GoToFile.includeJavaFiles" value="false" />
<property name="MemberChooser.copyJavadoc" value="false" />
<property name="MemberChooser.showClasses" value="true" />
<property name="MemberChooser.sorted" value="false" />
<property name="RequestMappingsPanelOrder0" value="0" />
<property name="RequestMappingsPanelOrder1" value="1" />
<property name="RequestMappingsPanelOrder2" value="2" />
<property name="RequestMappingsPanelWidth0" value="75" />
<property name="RequestMappingsPanelWidth1" value="75" />
<property name="RequestMappingsPanelWidth2" value="75" />
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../pqs-event/event-boot/src/main/java/com/njcn/event/service/Impl/TransientServiceImpl.java" />
<property name="nodejs_package_manager_path" value="npm" />
<property name="project.structure.last.edited" value="Modules" />
<property name="project.structure.proportion" value="0.15" />
<property name="project.structure.side.proportion" value="0.2" />
<property name="restartRequiresConfirmation" value="false" />
<property name="settings.editor.selected.configurable" value="MavenSettings" />
</component>
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;project.structure.last.edited&quot;: &quot;Project&quot;,
&quot;project.structure.proportion&quot;: &quot;0.0&quot;,
&quot;project.structure.side.proportion&quot;: &quot;0.0&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;MavenSettings&quot;
}
}</component>
<component name="ReactorSettings">
<option name="notificationShown" value="true" />
</component>
@@ -487,11 +456,13 @@
<component name="RunDashboard">
<option name="configurationTypes">
<set>
<option value="Application" />
<option value="JarApplication" />
<option value="SpringBootApplicationConfigurationType" />
</set>
</option>
</component>
<component name="RunManager" selected="Spring Boot.SystemBootMain">
<component name="RunManager" selected="Application.HarmonicBootApplication">
<configuration default="true" type="Applet" factoryName="Applet">
<module />
<option name="HTML_USED" value="false" />
@@ -499,15 +470,92 @@
<option name="HEIGHT" value="300" />
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
</configuration>
<configuration name="DataTest" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="DataTest" />
<module name="common-influxDB" />
<configuration default="true" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<option name="ALTERNATIVE_JRE_PATH" />
<option name="SHORTEN_COMMAND_LINE" value="NONE" />
<option name="UPDATE_ACTION_UPDATE_POLICY" value="UpdateClassesAndResources" />
<option name="FRAME_DEACTIVATION_UPDATE_POLICY" value="UpdateClassesAndResources" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="DeviceBootApplication" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.njcn.DeviceBootApplication" />
<module name="device-boot" />
<shortenClasspath name="MANIFEST" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="com.njcn.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="EventBootApplication" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.njcn.event.EventBootApplication" />
<module name="event-boot" />
<shortenClasspath name="MANIFEST" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="com.njcn.event.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="GatewayMain" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.njcn.gateway.GatewayMain" />
<module name="pqs-gateway" />
<shortenClasspath name="MANIFEST" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="com.njcn.gateway.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="HarmonicBootApplication" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.njcn.harmonic.HarmonicBootApplication" />
<module name="harmonic-boot" />
<shortenClasspath name="MANIFEST" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="com.njcn.harmonic.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="SupervisionBootMain" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.njcn.supervision.SupervisionBootMain" />
<module name="supervision-boot" />
<shortenClasspath name="MANIFEST" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="com.njcn.supervision.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration default="true" type="Application" factoryName="Application">
<shortenClasspath name="MANIFEST" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<method v="2">
<option name="Make" enabled="true" />
@@ -623,32 +671,20 @@
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration default="true" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<option name="ALTERNATIVE_JRE_PATH" />
<option name="SHORTEN_COMMAND_LINE" value="NONE" />
<option name="UPDATE_ACTION_UPDATE_POLICY" value="UpdateClassesAndResources" />
<option name="FRAME_DEACTIVATION_UPDATE_POLICY" value="UpdateClassesAndResources" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<list>
<item itemvalue="Application.DataTest" />
<item itemvalue="Spring Boot.DeviceBootApplication" />
<item itemvalue="Spring Boot.SystemBootMain" />
<item itemvalue="Spring Boot.HarmonicBootApplication" />
<item itemvalue="Spring Boot.AuthApplication" />
<item itemvalue="Spring Boot.JobAdminApplication" />
<item itemvalue="Spring Boot.EventBootApplication" />
<item itemvalue="Spring Boot.EnergyBootApplication" />
<item itemvalue="Spring Boot.QualityBootApplication" />
<item itemvalue="Spring Boot.UserBootApplication" />
<item itemvalue="Spring Boot.JobExecutorApplication" />
<item itemvalue="Spring Boot.GatewayMain" />
<item itemvalue="Application.GatewayMain" />
<item itemvalue="Application.SupervisionBootMain" />
<item itemvalue="Application.HarmonicBootApplication" />
<item itemvalue="Application.EventBootApplication" />
<item itemvalue="Application.DeviceBootApplication" />
</list>
<recent_temporary>
<list>
<item itemvalue="Application.DataTest" />
<item itemvalue="Application.HarmonicBootApplication" />
<item itemvalue="Application.EventBootApplication" />
<item itemvalue="Application.SupervisionBootMain" />
<item itemvalue="Application.DeviceBootApplication" />
<item itemvalue="Application.GatewayMain" />
</list>
</recent_temporary>
</component>
@@ -801,7 +837,42 @@
<option name="project" value="LOCAL" />
<updated>1664284251724</updated>
</task>
<option name="localTasksCounter" value="10" />
<task id="LOCAL-00010" summary="添加海量数据库驱动">
<created>1764050271282</created>
<option name="number" value="00010" />
<option name="presentableId" value="LOCAL-00010" />
<option name="project" value="LOCAL" />
<updated>1764050271282</updated>
</task>
<task id="LOCAL-00011" summary="添加注释">
<created>1765873374234</created>
<option name="number" value="00011" />
<option name="presentableId" value="LOCAL-00011" />
<option name="project" value="LOCAL" />
<updated>1765873374234</updated>
</task>
<task id="LOCAL-00012" summary="海南bug修改提交">
<created>1766461219349</created>
<option name="number" value="00012" />
<option name="presentableId" value="LOCAL-00012" />
<option name="project" value="LOCAL" />
<updated>1766461219349</updated>
</task>
<task id="LOCAL-00013" summary="海南bug修改提交">
<created>1766989590709</created>
<option name="number" value="00013" />
<option name="presentableId" value="LOCAL-00013" />
<option name="project" value="LOCAL" />
<updated>1766989590709</updated>
</task>
<task id="LOCAL-00014" summary="海南bug修改提交">
<created>1766993391650</created>
<option name="number" value="00014" />
<option name="presentableId" value="LOCAL-00014" />
<option name="project" value="LOCAL" />
<updated>1766993391650</updated>
</task>
<option name="localTasksCounter" value="15" />
<servers />
</component>
<component name="TimeTrackingManager">
@@ -861,10 +932,90 @@
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="Vcs.Log.History.Properties">
<option name="COLUMN_ID_ORDER">
<list>
<option value="Default.Root" />
<option value="Default.Author" />
<option value="Default.Date" />
<option value="Default.Subject" />
<option value="Space.CommitStatus" />
</list>
</option>
</component>
<component name="Vcs.Log.Tabs.Properties">
<option name="OPEN_GENERIC_TABS">
<map>
<entry key="1dd2665e-6e1e-474f-8693-738d46c6010c" value="TOOL_WINDOW" />
</map>
</option>
<option name="TAB_STATES">
<map>
<entry key="1dd2665e-6e1e-474f-8693-738d46c6010c">
<value>
<State>
<option name="FILTERS">
<map>
<entry key="branch">
<value>
<list>
<option value="HEAD" />
</list>
</value>
</entry>
<entry key="structure">
<value>
<list>
<option value="dir:D:/cannengyun/vastbase-version/pqs-vastbase/pqs-system" />
</list>
</value>
</entry>
</map>
</option>
<option name="SHOW_ONLY_AFFECTED_CHANGES" value="true" />
</State>
</value>
</entry>
<entry key="5de75105-e341-4e7d-8c8a-a17350de871f">
<value>
<State>
<option name="FILTERS">
<map>
<entry key="branch">
<value>
<list>
<option value="HEAD" />
</list>
</value>
</entry>
<entry key="structure">
<value>
<list>
<option value="dir:D:/cannengyun/vastbase-version/pqs-vastbase/pqs-common" />
</list>
</value>
</entry>
</map>
</option>
<option name="SHOW_ONLY_AFFECTED_CHANGES" value="true" />
</State>
</value>
</entry>
<entry key="MAIN">
<value>
<State />
</value>
</entry>
</map>
</option>
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="装置在线率调度任务" />
<MESSAGE value="EventTemplate控制器编写" />
<option name="LAST_COMMIT_MESSAGE" value="EventTemplate控制器编写" />
<MESSAGE value="添加海量数据库驱动" />
<MESSAGE value="添加注释" />
<MESSAGE value="海南bug修改提交" />
<option name="LAST_COMMIT_MESSAGE" value="海南bug修改提交" />
</component>
<component name="VssConfiguration">
<CheckoutOptions>
@@ -920,9 +1071,74 @@
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<option name="time" value="1" />
<breakpoints>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/pqs-auth/src/main/java/com/njcn/auth/config/AuthorizationServerConfig.java</url>
<line>161</line>
<option name="timeStamp" value="1" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/EventRelevantAnalysisController.java</url>
<line>85</line>
<option name="timeStamp" value="3" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java</url>
<line>1755</line>
<option name="timeStamp" value="4" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmProcessInstanceController.java</url>
<line>201</line>
<option name="timeStamp" value="5" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java</url>
<line>193</line>
<option name="timeStamp" value="7" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java</url>
<line>203</line>
<option name="timeStamp" value="8" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/strategy/BpmTaskCandidateInvoker.java</url>
<line>105</line>
<option name="timeStamp" value="10" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/strategy/BpmTaskCandidateRoleStrategy.java</url>
<line>36</line>
<option name="timeStamp" value="11" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/strategy/BpmTaskCandidateInvoker.java</url>
<line>75</line>
<option name="timeStamp" value="12" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java</url>
<line>323</line>
<option name="timeStamp" value="14" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java</url>
<line>342</line>
<option name="timeStamp" value="15" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/IntegrityController.java</url>
<line>59</line>
<option name="timeStamp" value="16" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/IntegrityServiceImpl.java</url>
<line>166</line>
<option name="timeStamp" value="17" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
<watches-manager />
</component>
<component name="antWorkspaceConfiguration">
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />