diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java index 111c6ec23..875f6a51f 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java @@ -42,6 +42,13 @@ public enum LineBaseEnum { POWER_FLAG_NOT(1,"非电网侧"), + /** + * 装置系统类型 + */ + DEV_DATA_TYPE_ZT(0,"暂态系统装置"), + DEV_DATA_TYPE_WT(1,"稳态系统装置"), + DEV_DATA_TYPE_ALL(2,"全部系统装置") + ; diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java index d1fa8c82e..7678ee6a7 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java @@ -29,6 +29,8 @@ import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; +import static com.njcn.device.pq.enums.LineBaseEnum.DEV_DATA_TYPE_ALL; + /** * pqs * @@ -120,7 +122,7 @@ public class CommTerminalServiceImpl implements CommTerminalService { @Override public List deptGetLineInfo(DeptGetLineParam deptGetLineParam) { List deptIds = deptFeignClient.getDepSonIdtByDeptId(deptGetLineParam.getDeptId()).getData(); - List ledgerList = deptLineMapper.getMonitorByDeptIds(Stream.of(2).collect(Collectors.toList()),deptIds); + List ledgerList = deptLineMapper.getMonitorByDeptIds(Stream.of(DEV_DATA_TYPE_ALL.getCode()).collect(Collectors.toList()),deptIds); return ledgerList; } diff --git a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/DeptLineMapper.xml b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/DeptLineMapper.xml index 87bc76f41..bbf68e567 100644 --- a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/DeptLineMapper.xml +++ b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/DeptLineMapper.xml @@ -109,6 +109,7 @@ #{item} + order by point.name asc diff --git a/pqs-gateway/src/main/java/com/njcn/gateway/utils/IpUtils.java b/pqs-gateway/src/main/java/com/njcn/gateway/utils/IpUtils.java index 45d3d882d..bfbdfdcb5 100644 --- a/pqs-gateway/src/main/java/com/njcn/gateway/utils/IpUtils.java +++ b/pqs-gateway/src/main/java/com/njcn/gateway/utils/IpUtils.java @@ -48,13 +48,6 @@ public class IpUtils { public static String getRealIpAddress(ServerHttpRequest request) { HttpHeaders headers = request.getHeaders(); String ipAddress = headers.getFirst(HEADER_X_FORWARDED_FOR); - log.info("X-Forwarded-For:"+ipAddress); - ipAddress = headers.getFirst("X-Real-IP"); - log.error("X-Real-IP:"+ipAddress); - ipAddress = headers.getFirst("Proxy-Client-IP"); - log.error("Proxy-Client-IP:"+ipAddress); - ipAddress = headers.getFirst("REMOTE-HOST"); - log.error("REMOTE-HOST:"+ipAddress); if (StrUtil.isBlankIfStr(ipAddress) || UNKNOWN.equalsIgnoreCase(ipAddress)) { ipAddress = headers.getFirst(HEADER_PROXY_CLIENT_IP); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AnalyzeServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AnalyzeServiceImpl.java index 659eea582..e9e7df18b 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AnalyzeServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AnalyzeServiceImpl.java @@ -511,10 +511,10 @@ public class AnalyzeServiceImpl implements IAnalyzeService { Set harmonicVoltageMonitorList = new HashSet<>(); Set harmonicCurrentMonitorList = new HashSet<>(); - int threeV = 0, fiveV = 0, sevenV = 0, elevenV = 0; - Set threeVList = new HashSet<>(), fiveVList = new HashSet<>(), sevenVList = new HashSet<>(), elevenVList = new HashSet<>(); - int threeI = 0, fiveI = 0, sevenI = 0, elevenI = 0; - Set threeIList = new HashSet<>(), fiveIList = new HashSet<>(), sevenIList = new HashSet<>(), elevenIList = new HashSet<>(); + int threeV = 0, fiveV = 0, sevenV = 0, elevenV = 0, otherV = 0; + Set threeVList = new HashSet<>(), fiveVList = new HashSet<>(), sevenVList = new HashSet<>(), elevenVList = new HashSet<>(), otherVList = new HashSet<>(); + int threeI = 0, fiveI = 0, sevenI = 0, elevenI = 0,otherI = 0; + Set threeIList = new HashSet<>(), fiveIList = new HashSet<>(), sevenIList = new HashSet<>(), elevenIList = new HashSet<>(), otherIList = new HashSet<>(); if (!CollectionUtils.isEmpty(list)) { @@ -595,6 +595,10 @@ public class AnalyzeServiceImpl implements IAnalyzeService { elevenV++; elevenVList.add(item.getLineId()); } + if (vOtherHarmFlag(item)) { + otherV++; + otherVList.add(item.getLineId()); + } if (item.getIharm3Overtime() > 0) { @@ -613,6 +617,10 @@ public class AnalyzeServiceImpl implements IAnalyzeService { elevenI++; elevenIList.add(item.getLineId()); } + if (iOtherHarmFlag(item)) { + otherI++; + otherIList.add(item.getLineId()); + } } } @@ -625,7 +633,7 @@ public class AnalyzeServiceImpl implements IAnalyzeService { //频率偏差 overAreaLimitVO.setFrequencyMonitorNumber(freqCount); overAreaLimitVO.setFrequencyBiLi(BigDecimal.valueOf(freqCount * 1.0 / data.size() * 100).setScale(2, RoundingMode.HALF_UP).doubleValue()); - overAreaLimitVO.setFreqMonitorList(new ArrayList<>(flickerMonitorList)); + overAreaLimitVO.setFreqMonitorList(new ArrayList<>(freqList)); //电压偏差 overAreaLimitVO.setVoltageMonitorNumber(voltageCount); overAreaLimitVO.setVoltageBiLi(BigDecimal.valueOf(voltageCount * 1.0 / data.size() * 100).setScale(2, RoundingMode.HALF_UP).doubleValue()); @@ -658,8 +666,8 @@ public class AnalyzeServiceImpl implements IAnalyzeService { int freqOverDay = 0, voltageOverDay = 0, ubalanceOverDay = 0, flickerOverDay = 0, iNegOverDay = 0, uharmOverDay = 0, iharmOverDay = 0, inuharmOverDay = 0; - int threeOverV = 0, fiveOverV = 0, sevenOverV = 0, elevenOverV = 0; - int threeOverI = 0, fiveOverI = 0, sevenOverI = 0, elevenOverI = 0; + int threeOverV = 0, fiveOverV = 0, sevenOverV = 0, elevenOverV = 0, otherOverV = 0; + int threeOverI = 0, fiveOverI = 0, sevenOverI = 0, elevenOverI = 0, otherOverI = 0; Map> map = list.stream().collect(Collectors.groupingBy(RStatLimitTargetDPO::getTime)); @@ -669,15 +677,15 @@ public class AnalyzeServiceImpl implements IAnalyzeService { iharmOverOneDayList = new ArrayList<>(), inuharmOverOneDayList = new ArrayList<>(); - List threeOverOneDayList = new ArrayList<>(), fiveOverOneDayList = new ArrayList<>(), sevenOverOneDayList = new ArrayList<>(), elevenOverOneDayList = new ArrayList<>(); - List threeOverOneDayIList = new ArrayList<>(), fiveOverOneDayIList = new ArrayList<>(), sevenOverOneDayIList = new ArrayList<>(), elevenOverOneDayIList = new ArrayList<>(); + List threeOverOneDayList = new ArrayList<>(), fiveOverOneDayList = new ArrayList<>(), sevenOverOneDayList = new ArrayList<>(), elevenOverOneDayList = new ArrayList<>(), otherOverOneDayList = new ArrayList<>(); + List threeOverOneDayIList = new ArrayList<>(), fiveOverOneDayIList = new ArrayList<>(), sevenOverOneDayIList = new ArrayList<>(), elevenOverOneDayIList = new ArrayList<>(), otherOverOneDayIList = new ArrayList<>(); for (LocalDate key : map.keySet()) { int freqOverOneDay = 0, voltageOverOneDay = 0, ubalanceOverOneDay = 0, flickerOverOneDay = 0, iNegOverOneDay = 0, uharmOverOneDay = 0, iharmOverOneDay = 0, inuharmOverOneDay = 0; - int threeOneV = 0, fiveOneV = 0, sevenOneV = 0, elevenOneV = 0; - int threeOneI = 0, fiveOneI = 0, sevenOneI = 0, elevenOneI = 0; + int threeOneV = 0, fiveOneV = 0, sevenOneV = 0, elevenOneV = 0, otherOneV = 0; + int threeOneI = 0, fiveOneI = 0, sevenOneI = 0, elevenOneI = 0, otherOneI = 0; List l = map.get(key); @@ -735,6 +743,11 @@ public class AnalyzeServiceImpl implements IAnalyzeService { elevenOneV++; } + if (vOtherHarmFlag(pojo)) { + otherOverV++; + otherOneV++; + } + if (pojo.getIharm3Overtime() > 0) { @@ -753,6 +766,10 @@ public class AnalyzeServiceImpl implements IAnalyzeService { elevenOverI++; elevenOneI++; } + if (iOtherHarmFlag(pojo)) { + otherOverI++; + otherOneI++; + } } } @@ -771,12 +788,15 @@ public class AnalyzeServiceImpl implements IAnalyzeService { fiveOverOneDayList.add((double) fiveOneV / data.size() * 100); sevenOverOneDayList.add((double) sevenOneV / data.size() * 100); elevenOverOneDayList.add((double) elevenOneV / data.size() * 100); + elevenOverOneDayList.add((double) elevenOneV / data.size() * 100); + otherOverOneDayList.add((double) otherOneV / data.size() * 100); threeOverOneDayIList.add((double) threeOneI / data.size() * 100); fiveOverOneDayIList.add((double) fiveOneI / data.size() * 100); sevenOverOneDayIList.add((double) sevenOneI / data.size() * 100); elevenOverOneDayIList.add((double) elevenOneI / data.size() * 100); + otherOverOneDayIList.add((double) otherOneI / data.size() * 100); } @@ -809,6 +829,7 @@ public class AnalyzeServiceImpl implements IAnalyzeService { innerHarmVList.add(assLimitVO("5",fiveVList,fiveV,data.size(),fiveOverV,fiveOverOneDayList)); innerHarmVList.add(assLimitVO("7",sevenVList,sevenV,data.size(),sevenOverV,sevenOverOneDayList)); innerHarmVList.add(assLimitVO("11",elevenVList,elevenV,data.size(),elevenOverV,elevenOverOneDayList)); + innerHarmVList.add(assLimitVO("其他",otherVList,otherV,data.size(),otherOverV,otherOverOneDayList)); overAreaLimitVO.setInnerHarmVList(innerHarmVList); @@ -818,6 +839,7 @@ public class AnalyzeServiceImpl implements IAnalyzeService { innerHarmIList.add(assLimitVO("5",fiveIList,fiveI,data.size(),fiveOverI,fiveOverOneDayIList)); innerHarmIList.add(assLimitVO("7",sevenIList,sevenI,data.size(),sevenOverI,sevenOverOneDayIList)); innerHarmIList.add(assLimitVO("11",elevenIList,elevenI,data.size(),elevenOverI,elevenOverOneDayIList)); + innerHarmIList.add(assLimitVO("其他",otherIList,otherI,data.size(),otherOverI,otherOverOneDayIList)); overAreaLimitVO.setInnerHarmIList(innerHarmIList); } @@ -858,31 +880,36 @@ public class AnalyzeServiceImpl implements IAnalyzeService { return count > 0; } + private boolean vOtherHarmFlag(RStatLimitTargetDPO x) { + int count = x.getUharm2Overtime() + x.getUharm4Overtime() + + x.getUharm6Overtime() + x.getUharm8Overtime() + x.getUharm9Overtime() + + x.getUharm10Overtime() + x.getUharm12Overtime() + x.getUharm13Overtime() + x.getUharm14Overtime() + + x.getUharm15Overtime() + x.getUharm16Overtime() + x.getUharm17Overtime() + x.getUharm18Overtime() + x.getUharm19Overtime() + + x.getUharm20Overtime() + x.getUharm21Overtime() + x.getUharm22Overtime() + x.getUharm23Overtime() + x.getUharm24Overtime() + + x.getUharm25Overtime(); + return count > 0; + } + private boolean iHarmFlag(RStatLimitTargetDPO rStatLimitRateDPO) { - int count = rStatLimitRateDPO.getIharm2Overtime() + - rStatLimitRateDPO.getIharm3Overtime() + - rStatLimitRateDPO.getIharm4Overtime() + - rStatLimitRateDPO.getIharm5Overtime() + - rStatLimitRateDPO.getIharm6Overtime() + - rStatLimitRateDPO.getIharm7Overtime() + - rStatLimitRateDPO.getIharm8Overtime() + - rStatLimitRateDPO.getIharm9Overtime() + - rStatLimitRateDPO.getIharm10Overtime() + - rStatLimitRateDPO.getIharm11Overtime() + - rStatLimitRateDPO.getIharm12Overtime() + - rStatLimitRateDPO.getIharm13Overtime() + - rStatLimitRateDPO.getIharm14Overtime() + - rStatLimitRateDPO.getIharm15Overtime() + - rStatLimitRateDPO.getIharm16Overtime() + - rStatLimitRateDPO.getIharm17Overtime() + - rStatLimitRateDPO.getIharm18Overtime() + - rStatLimitRateDPO.getIharm19Overtime() + - rStatLimitRateDPO.getIharm20Overtime() + - rStatLimitRateDPO.getIharm21Overtime() + - rStatLimitRateDPO.getIharm22Overtime() + - rStatLimitRateDPO.getIharm23Overtime() + - rStatLimitRateDPO.getIharm24Overtime() + - rStatLimitRateDPO.getIharm25Overtime(); + int count = rStatLimitRateDPO.getIharm2Overtime() + rStatLimitRateDPO.getIharm3Overtime() + rStatLimitRateDPO.getIharm4Overtime() + + rStatLimitRateDPO.getIharm5Overtime() + rStatLimitRateDPO.getIharm6Overtime() + rStatLimitRateDPO.getIharm7Overtime() + + rStatLimitRateDPO.getIharm8Overtime() + rStatLimitRateDPO.getIharm9Overtime() + rStatLimitRateDPO.getIharm10Overtime() + + rStatLimitRateDPO.getIharm11Overtime() + rStatLimitRateDPO.getIharm12Overtime() + rStatLimitRateDPO.getIharm13Overtime() + + rStatLimitRateDPO.getIharm14Overtime() + rStatLimitRateDPO.getIharm15Overtime() + rStatLimitRateDPO.getIharm16Overtime() + + rStatLimitRateDPO.getIharm17Overtime() + rStatLimitRateDPO.getIharm18Overtime() + rStatLimitRateDPO.getIharm19Overtime() + + rStatLimitRateDPO.getIharm20Overtime() + rStatLimitRateDPO.getIharm21Overtime() + rStatLimitRateDPO.getIharm22Overtime() + + rStatLimitRateDPO.getIharm23Overtime() + rStatLimitRateDPO.getIharm24Overtime() + rStatLimitRateDPO.getIharm25Overtime(); + return count > 0; + } + + private boolean iOtherHarmFlag(RStatLimitTargetDPO rStatLimitRateDPO) { + int count = rStatLimitRateDPO.getIharm2Overtime() + rStatLimitRateDPO.getIharm4Overtime() + rStatLimitRateDPO.getIharm6Overtime() + + rStatLimitRateDPO.getIharm8Overtime() + rStatLimitRateDPO.getIharm9Overtime() + rStatLimitRateDPO.getIharm10Overtime() + + rStatLimitRateDPO.getIharm12Overtime() + rStatLimitRateDPO.getIharm13Overtime() + + rStatLimitRateDPO.getIharm14Overtime() + rStatLimitRateDPO.getIharm15Overtime() + rStatLimitRateDPO.getIharm16Overtime() + + rStatLimitRateDPO.getIharm17Overtime() + rStatLimitRateDPO.getIharm18Overtime() + rStatLimitRateDPO.getIharm19Overtime() + + rStatLimitRateDPO.getIharm20Overtime() + rStatLimitRateDPO.getIharm21Overtime() + rStatLimitRateDPO.getIharm22Overtime() + + rStatLimitRateDPO.getIharm23Overtime() + rStatLimitRateDPO.getIharm24Overtime() + rStatLimitRateDPO.getIharm25Overtime(); return count > 0; } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/report/impl/AreaHarmonicServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/report/impl/AreaHarmonicServiceImpl.java index 08521847e..417a70493 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/report/impl/AreaHarmonicServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/report/impl/AreaHarmonicServiceImpl.java @@ -59,7 +59,7 @@ public class AreaHarmonicServiceImpl implements AreaHarmonicService { private static final double MEDIUM_MAX_THRESHOLD = 30.0; // 谐波次数顺序(保持原有顺序) - private static final List HARMONIC_ORDERS = Arrays.asList("3", "5", "7", "11"); + private static final List HARMONIC_ORDERS = Arrays.asList("3", "5", "7", "11","other"); // 表格索引(保持原有顺序) private static final int LEDGER_TABLE_INDEX = 1; @@ -585,10 +585,10 @@ public class AreaHarmonicServiceImpl implements AreaHarmonicService { */ private List buildTableMergeRules() { List mergeRules = new ArrayList<>(); - // 表格7(谐波电压)的第0列,每5行合并一次(对应"单位"列) - mergeRules.add(TableMergeRule.build(VOLTAGE_HARMONIC_TABLE_INDEX, 0, 1, 5)); - // 表格8(谐波电流)的第0列,每5行合并一次(对应"单位"列) - mergeRules.add(TableMergeRule.build(CURRENT_HARMONIC_TABLE_INDEX, 0, 1, 5)); + // 表格7(谐波电压)的第0列,每6行合并一次(对应"单位"列) + mergeRules.add(TableMergeRule.build(VOLTAGE_HARMONIC_TABLE_INDEX, 0, 1, 6)); + // 表格8(谐波电流)的第0列,每6行合并一次(对应"单位"列) + mergeRules.add(TableMergeRule.build(CURRENT_HARMONIC_TABLE_INDEX, 0, 1, 6)); return mergeRules; } diff --git a/pqs-harmonic/harmonic-boot/src/main/resources/file/areaReportTemplate.docx b/pqs-harmonic/harmonic-boot/src/main/resources/file/areaReportTemplate.docx index 8dd9d6648..5f7dc09d1 100644 Binary files a/pqs-harmonic/harmonic-boot/src/main/resources/file/areaReportTemplate.docx and b/pqs-harmonic/harmonic-boot/src/main/resources/file/areaReportTemplate.docx differ