From 43af9779428743ab01a9bafc4f817658f7fdacf2 Mon Sep 17 00:00:00 2001 From: chendaofei <857448963@qq.com> Date: Tue, 24 Dec 2024 15:01:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=99=E6=B1=9F=E6=97=A0=E7=BA=BF=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CustomReportServiceImpl.java | 74 ++++++++++--------- 1 file changed, 41 insertions(+), 33 deletions(-) diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java index 71ffd8f1f..517ae2a53 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java @@ -1180,8 +1180,8 @@ public class CustomReportServiceImpl implements CustomReportService { //组装最后监测点条件 List temList = wlRecordFeignClient.getWlAssByWlId(reportSearchParam.getLineId()).getData(); - List wlRecordList = temList.stream().filter(it -> it.getType() == 1).collect(Collectors.toList()); - if (CollUtil.isEmpty(wlRecordList)) { + //List wlRecordList = temList.stream().filter(it -> it.getType() == 1).collect(Collectors.toList()); + if (CollUtil.isEmpty(temList) && temList.size()==1) { throw new BusinessException("当前测试项无测试数据"); } @@ -1209,13 +1209,13 @@ public class CustomReportServiceImpl implements CustomReportService { phaseMap.forEach((phaseKey, phaseVal) -> { StringBuilder sql = new StringBuilder(InfluxDbSqlConstant.SELECT); if (InfluxDbSqlConstant.MAX.equalsIgnoreCase(valueTypeKey)) { - assSqlZhejiang(phaseVal, sql, endList, InfluxDbSqlConstant.MAX, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap, wlRecordList, pqdMap); + assSqlZhejiang(phaseVal, sql, endList, InfluxDbSqlConstant.MAX, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap, temList, pqdMap); } else if (InfluxDbSqlConstant.MIN.equalsIgnoreCase(valueTypeKey)) { - assSqlZhejiang(phaseVal, sql, endList, InfluxDbSqlConstant.MIN, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap, wlRecordList, pqdMap); + assSqlZhejiang(phaseVal, sql, endList, InfluxDbSqlConstant.MIN, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap, temList, pqdMap); } else if (InfluxDbSqlConstant.AVG_WEB.equalsIgnoreCase(valueTypeKey)) { - assSqlZhejiang(phaseVal, sql, endList, InfluxDbSqlConstant.AVG, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap, wlRecordList, pqdMap); + assSqlZhejiang(phaseVal, sql, endList, InfluxDbSqlConstant.AVG, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap, temList, pqdMap); } else if (InfluxDbSqlConstant.CP95.equalsIgnoreCase(valueTypeKey)) { - assSqlZhejiang(phaseVal, sql, endList, InfluxDbSqlConstant.PERCENTILE, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap, wlRecordList, pqdMap); + assSqlZhejiang(phaseVal, sql, endList, InfluxDbSqlConstant.PERCENTILE, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap, temList, pqdMap); } }); }); @@ -1247,7 +1247,7 @@ public class CustomReportServiceImpl implements CustomReportService { finalTerminalMap.put("pt",wlRecordMain.getCt().toString()); finalTerminalMap.put("ct",wlRecordMain.getPt().toString()); - finalTerminalMap.put("Standard_Capacity",wlRecordMain.getCapacitySi().toString()); + finalTerminalMap.put("Standard_Capacity",wlRecordMain.getCapacitySscb().toString()); finalTerminalMap.put("Short_Capacity",wlRecordMain.getCapacitySscmin().toString()); finalTerminalMap.put("Deal_Capacity",wlRecordMain.getCapacitySi().toString()); finalTerminalMap.put("Dev_Capacity",wlRecordMain.getCapacitySt().toString()); @@ -1336,37 +1336,45 @@ public class CustomReportServiceImpl implements CustomReportService { .append(InfluxDbSqlConstant.QM); List> allList = new ArrayList<>(); - for (WlRecord wlRecord : wlRecordList) { - StringBuilder temSql = new StringBuilder(sql); - String start = LocalDateTimeUtil.format(wlRecord.getStartTime(), DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)); - String end = LocalDateTimeUtil.format(wlRecord.getEndTime(), DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)); - temSql.append(" and line_id = '").append(wlRecord.getLineId()).append(InfluxDbSqlConstant.QM) - .append(InfluxDbSqlConstant.AND) - .append(InfluxDbSqlConstant.TIME).append(InfluxDbSqlConstant.GE).append(InfluxDbSqlConstant.QM).append(start).append(InfluxDbSqlConstant.QM) - .append(InfluxDbSqlConstant.AND) - .append(InfluxDbSqlConstant.TIME).append(InfluxDbSqlConstant.LT).append(InfluxDbSqlConstant.QM).append(end).append(InfluxDbSqlConstant.QM) - .append(InfluxDbSqlConstant.TZ); - List> temMapList = influxDbUtils.getMapResult(temSql.toString()); - if (CollUtil.isNotEmpty(temMapList)) { - Map tem = temMapList.get(0); - //需要吧测点为二次值的转换为一次值 - if (wlRecord.getDataLevel().equals("Secondary")) { - for (Map.Entry entry : tem.entrySet()) { - if (Objects.nonNull(entry.getValue()) && !entry.getKey().equals("time")) { - String key = entry.getKey(); - double val = (double) entry.getValue(); - String zi = key.substring(0, key.indexOf("#")); - if (pqdMap.containsKey(zi)) { - EleEpdPqd eleEpdPqd = pqdMap.get(zi).get(0); - double vRes = DataChangeUtil.secondaryToPrimary(eleEpdPqd.getPrimaryFormula(), val / 1000, (double) wlRecord.getPt(), (double) wlRecord.getCt()); - entry.setValue(vRes); + WlRecord ceShiItem = wlRecordList.stream().filter(it->it.getType()==0).collect(Collectors.toList()).get(0); + for (WlRecord wlRecord : wlRecordList) { + if(wlRecord.getType().equals(1)) { + StringBuilder temSql = new StringBuilder(sql); + String start = LocalDateTimeUtil.format(wlRecord.getStartTime(), DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)); + String end = LocalDateTimeUtil.format(wlRecord.getEndTime(), DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)); + temSql.append(" and line_id = '").append(wlRecord.getLineId()).append(InfluxDbSqlConstant.QM) + .append(InfluxDbSqlConstant.AND) + .append(InfluxDbSqlConstant.TIME).append(InfluxDbSqlConstant.GE).append(InfluxDbSqlConstant.QM).append(start).append(InfluxDbSqlConstant.QM) + .append(InfluxDbSqlConstant.AND) + .append(InfluxDbSqlConstant.TIME).append(InfluxDbSqlConstant.LT).append(InfluxDbSqlConstant.QM).append(end).append(InfluxDbSqlConstant.QM) + .append(InfluxDbSqlConstant.TZ); + + List> temMapList = influxDbUtils.getMapResult(temSql.toString()); + if (CollUtil.isNotEmpty(temMapList)) { + Map tem = temMapList.get(0); + //需要吧测点为二次值的转换为一次值 + if (wlRecord.getDataLevel().equals("Secondary")) { + for (Map.Entry entry : tem.entrySet()) { + if (Objects.nonNull(entry.getValue()) && !entry.getKey().equals("time")) { + String key = entry.getKey(); + double val = (double) entry.getValue(); + String zi = key.substring(0, key.indexOf("#")); + zi = zi.substring(0,zi.lastIndexOf("_")); + if (pqdMap.containsKey(zi)) { + EleEpdPqd eleEpdPqd = pqdMap.get(zi).get(0); + if(!eleEpdPqd.getPrimaryFormula().equals("*CT")){ + val = val / 1000; + } + double vRes = DataChangeUtil.secondaryToPrimary(eleEpdPqd.getPrimaryFormula(),val, (double) ceShiItem.getPt(), (double) ceShiItem.getCt()); + entry.setValue(vRes); + } } } } - } - allList.add(temMapList.get(0)); + allList.add(temMapList.get(0)); + } } }