From 2caeb0c26490de12d5e4e265d7b628fb140baf30 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Fri, 26 Jul 2024 14:18:47 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=91=E6=B5=8B=E7=82=B9=E6=8C=89=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E7=8A=B6=E6=80=81=E3=80=81=E5=89=8D=E7=BD=AE=E6=9C=BA?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configuration/LineDetailMapper.java | 2 +- .../com/njcn/mapper/data/IntegrityMapper.java | 3 + .../runmanage/IntegrityAnalysisData.java | 141 +++++++++ .../commons/runmanage/IntergralityData.java | 46 ++- .../commons/runmanage/IntergralityTable.java | 14 + .../service/configuration/DeviceService.java | 5 +- .../configuration/DeviceServiceImpl.java | 122 +++++++- .../area/IntegralityController.java | 37 ++- .../business/BusinessController.java | 8 + .../mybatis/mappers/data/IntegrityMapper.xml | 40 ++- .../views/business/manage/integrityTable.jsp | 22 +- .../business/manage/statisticalAnalysis.jsp | 99 +++++++ .../webapp/jspJS/area/statisticalAnalysis.js | 279 ++++++++++++++++++ .../webapp/jspJS/manage/integrityTable.js | 49 ++- 14 files changed, 843 insertions(+), 24 deletions(-) create mode 100644 comService/src/main/java/com/njcn/pojo/commons/runmanage/IntegrityAnalysisData.java create mode 100644 pqs9000/src/main/webapp/WEB-INF/views/business/manage/statisticalAnalysis.jsp create mode 100644 pqs9000/src/main/webapp/jspJS/area/statisticalAnalysis.js diff --git a/comService/src/main/java/com/njcn/mapper/configuration/LineDetailMapper.java b/comService/src/main/java/com/njcn/mapper/configuration/LineDetailMapper.java index 5208fc1..2d7fa61 100644 --- a/comService/src/main/java/com/njcn/mapper/configuration/LineDetailMapper.java +++ b/comService/src/main/java/com/njcn/mapper/configuration/LineDetailMapper.java @@ -14,6 +14,6 @@ public interface LineDetailMapper extends Mapper { List selectAllExcelData(); - + } diff --git a/comService/src/main/java/com/njcn/mapper/data/IntegrityMapper.java b/comService/src/main/java/com/njcn/mapper/data/IntegrityMapper.java index cefb66a..f11104a 100644 --- a/comService/src/main/java/com/njcn/mapper/data/IntegrityMapper.java +++ b/comService/src/main/java/com/njcn/mapper/data/IntegrityMapper.java @@ -1,6 +1,7 @@ package com.njcn.mapper.data; import com.njcn.pojo.commons.SimpleValue; +import com.njcn.pojo.commons.device.LineInfo; import com.njcn.pojo.commons.runmanage.IntergralityTable; import com.njcn.pojo.data.Integrity; import org.apache.ibatis.annotations.Param; @@ -27,4 +28,6 @@ public interface IntegrityMapper extends Mapper { List selectIntegrityData(@Param("list") List tempIndexs,@Param("startTime")Date startTime,@Param("endTime") Date endTime); List selectGWIntegrityData(@Param("list") List tempIndexs,@Param("startTime")Date startTime,@Param("endTime") Date endTime); + + List getLineInfo(@Param("list") List tempIndexs,@Param("postType") Integer postType, @Param("powerId") Integer powerId); } diff --git a/comService/src/main/java/com/njcn/pojo/commons/runmanage/IntegrityAnalysisData.java b/comService/src/main/java/com/njcn/pojo/commons/runmanage/IntegrityAnalysisData.java new file mode 100644 index 0000000..9c17455 --- /dev/null +++ b/comService/src/main/java/com/njcn/pojo/commons/runmanage/IntegrityAnalysisData.java @@ -0,0 +1,141 @@ +package com.njcn.pojo.commons.runmanage; + +import java.io.Serializable; +import java.util.List; + +/** + * @author hongawen + * @date: 2024/07/25 + */ +public class IntegrityAnalysisData implements Serializable { + + private String deptIndex; + + private String deptName; + + private List typeLists; + + private Integer sort; + + public Integer getSort() { + return sort; + } + + public void setSort(Integer sort) { + this.sort = sort; + } + + public static class TypeList { + + private String name; + + List dataLists; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getDataLists() { + return dataLists; + } + + public void setDataLists(List dataLists) { + this.dataLists = dataLists; + } + } + + public static class DataList { + //分类型名称 + private String name; + + //总监测点个数 + private Integer allLineCount; + + //投运监测点个数 + private Integer runLineCount; + + //检修监测点个数 + private Integer checkLineCount; + + //退运监测点个数 + private Integer backLineCount; + + + public Integer getAllLineCount() { + return allLineCount; + } + + public void setAllLineCount(Integer allLineCount) { + this.allLineCount = allLineCount; + } + + public Integer getRunLineCount() { + return runLineCount; + } + + public void setRunLineCount(Integer runLineCount) { + this.runLineCount = runLineCount; + } + + public Integer getCheckLineCount() { + return checkLineCount; + } + + public void setCheckLineCount(Integer checkLineCount) { + this.checkLineCount = checkLineCount; + } + + public Integer getBackLineCount() { + return backLineCount; + } + + public void setBackLineCount(Integer backLineCount) { + this.backLineCount = backLineCount; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + } + + public String getDeptIndex() { + return deptIndex; + } + + public void setDeptIndex(String deptIndex) { + this.deptIndex = deptIndex; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public List getTypeLists() { + return typeLists; + } + + public void setTypeLists(List typeLists) { + this.typeLists = typeLists; + } + + @Override + public String toString() { + return "IntegrityAnalysisData{" + + "deptIndex='" + deptIndex + '\'' + + ", deptName='" + deptName + '\'' + + ", typeLists=" + typeLists + + '}'; + } +} diff --git a/comService/src/main/java/com/njcn/pojo/commons/runmanage/IntergralityData.java b/comService/src/main/java/com/njcn/pojo/commons/runmanage/IntergralityData.java index 2d79fb3..993d681 100644 --- a/comService/src/main/java/com/njcn/pojo/commons/runmanage/IntergralityData.java +++ b/comService/src/main/java/com/njcn/pojo/commons/runmanage/IntergralityData.java @@ -10,6 +10,14 @@ import java.util.List; */ public class IntergralityData implements Serializable { + private Integer allOnlineNum; + + private Integer allOfflineNum; + + private Integer countryOnlineNum; + + private Integer countryOfflineNum; + //全网数据完整性数据 private List allNets= new ArrayList<>(); @@ -32,10 +40,46 @@ public class IntergralityData implements Serializable { this.countryNets = countryNets; } + public Integer getAllOnlineNum() { + return allOnlineNum; + } + + public void setAllOnlineNum(Integer allOnlineNum) { + this.allOnlineNum = allOnlineNum; + } + + public Integer getAllOfflineNum() { + return allOfflineNum; + } + + public void setAllOfflineNum(Integer allOfflineNum) { + this.allOfflineNum = allOfflineNum; + } + + public Integer getCountryOnlineNum() { + return countryOnlineNum; + } + + public void setCountryOnlineNum(Integer countryOnlineNum) { + this.countryOnlineNum = countryOnlineNum; + } + + public Integer getCountryOfflineNum() { + return countryOfflineNum; + } + + public void setCountryOfflineNum(Integer countryOfflineNum) { + this.countryOfflineNum = countryOfflineNum; + } + @Override public String toString() { return "IntergralityData{" + - "allNets=" + allNets + + "allOnlineNum=" + allOnlineNum + + ", allOfflineNum=" + allOfflineNum + + ", countryOnlineNum=" + countryOnlineNum + + ", countryOfflineNum=" + countryOfflineNum + + ", allNets=" + allNets + ", countryNets=" + countryNets + '}'; } diff --git a/comService/src/main/java/com/njcn/pojo/commons/runmanage/IntergralityTable.java b/comService/src/main/java/com/njcn/pojo/commons/runmanage/IntergralityTable.java index 16aa897..4aebb6b 100644 --- a/comService/src/main/java/com/njcn/pojo/commons/runmanage/IntergralityTable.java +++ b/comService/src/main/java/com/njcn/pojo/commons/runmanage/IntergralityTable.java @@ -24,6 +24,9 @@ public class IntergralityTable extends OnlineRateData{ private Integer devId; + //所属前置机 + private String frontDev; + public Integer getDevId() { return devId; } @@ -96,6 +99,14 @@ public class IntergralityTable extends OnlineRateData{ this.lineId = lineId; } + public String getFrontDev() { + return frontDev; + } + + public void setFrontDev(String frontDev) { + this.frontDev = frontDev; + } + @Override public String toString() { return "IntergralityTable{" + @@ -106,6 +117,9 @@ public class IntergralityTable extends OnlineRateData{ ", devFlag='" + devFlag + '\'' + ", status='" + status + '\'' + ", updateTime='" + updateTime + '\'' + + ", devType='" + devType + '\'' + + ", devId=" + devId + + ", frontDev='" + frontDev + '\'' + '}'; } } diff --git a/comService/src/main/java/com/njcn/service/configuration/DeviceService.java b/comService/src/main/java/com/njcn/service/configuration/DeviceService.java index ba93540..64809af 100644 --- a/comService/src/main/java/com/njcn/service/configuration/DeviceService.java +++ b/comService/src/main/java/com/njcn/service/configuration/DeviceService.java @@ -29,6 +29,7 @@ import com.njcn.pojo.commons.device.LineInfo; import com.njcn.pojo.commons.device.SubInfo; import com.njcn.pojo.commons.device.Tree; import com.njcn.pojo.commons.device.ValueOfTargetanaly; +import com.njcn.pojo.commons.runmanage.IntegrityAnalysisData; import com.njcn.pojo.commons.runmanage.IntergralityData; import com.njcn.pojo.commons.runmanage.IntergralityTable; import com.njcn.pojo.commons.runmanage.OnlineRateData; @@ -82,7 +83,7 @@ public interface DeviceService { List getOnlineRate(Date startTime, Date endTime, String area); //运行管理--》监测点数据完整性 - IntergralityData getDataIntegralityTable(Date startTime, Date endTime, String area,Integer devflag,Integer powerId); + IntergralityData getDataIntegralityTable(Date startTime, Date endTime, String area,Integer devflag,Integer powerId,Integer runFlag); String getDeviceOnline(Date startTime, Date endTime, Long lineIndex); @@ -279,5 +280,5 @@ public interface DeviceService { int updatEventPushLog(String eventDetailIndex,Integer lineId); - + List getStatisticalAnalysis(String startTime, String endTime, String area, Integer postType, Integer powerId); } diff --git a/comService/src/main/java/com/njcn/serviceimpl/configuration/DeviceServiceImpl.java b/comService/src/main/java/com/njcn/serviceimpl/configuration/DeviceServiceImpl.java index e19e0e8..1a4ee4f 100644 --- a/comService/src/main/java/com/njcn/serviceimpl/configuration/DeviceServiceImpl.java +++ b/comService/src/main/java/com/njcn/serviceimpl/configuration/DeviceServiceImpl.java @@ -1,15 +1,18 @@ package com.njcn.serviceimpl.configuration; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import com.njcn.enums.TerminalLogsEnum; import com.njcn.mapper.configuration.*; import com.njcn.mapper.data.*; import com.njcn.mapper.user.DeptsGdMapper; +import com.njcn.mapper.user.DeptsMapper; import com.njcn.mapper.user.TransFormerMapper; import com.njcn.mapper.user.UserMapper; import com.njcn.pojo.commons.*; import com.njcn.pojo.commons.area.*; import com.njcn.pojo.commons.device.*; +import com.njcn.pojo.commons.runmanage.IntegrityAnalysisData; import com.njcn.pojo.commons.runmanage.IntergralityData; import com.njcn.pojo.commons.runmanage.IntergralityTable; import com.njcn.pojo.commons.runmanage.OnlineRateData; @@ -28,7 +31,6 @@ import com.njcn.utils.*; import com.njcn.utils.redis.JedisManager; import com.njcn.utils.redis.RedisCacheUtil; import net.sf.json.JSONArray; -import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -46,7 +48,6 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.function.Predicate; import java.util.stream.Collectors; -import java.util.stream.Stream; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -156,7 +157,6 @@ public class DeviceServiceImpl implements DeviceService { @Resource private EventPushLogsDetailMapper eventPushLogsDetailMapper; - /** * 概览--》终端运行状态 */ @@ -319,7 +319,7 @@ public class DeviceServiceImpl implements DeviceService { * @param area 区域 */ @Override - public IntergralityData getDataIntegralityTable(Date startTime, Date endTime, String area,Integer devflag,Integer powerId) { + public IntergralityData getDataIntegralityTable(Date startTime, Date endTime, String area,Integer devflag,Integer powerId,Integer runFlag) { IntergralityData intergralityData = new IntergralityData(); List areaGeneralDataList = userUtil.getAreaGeneralRun(devflag,area,powerId); @@ -328,11 +328,31 @@ public class DeviceServiceImpl implements DeviceService { return null; } //全网监测点的数据完整性 - intergralityData.setAllNets(getIntegralityTable(startTime, endTime, lineIndexs)); + List list1 = getIntegralityTable(startTime, endTime, lineIndexs); + if (CollUtil.isNotEmpty(list1)){ + List offline = list1.stream().filter(item->Objects.equals(Integer.parseInt(item.getStatus()),0)).collect(Collectors.toList()); + List online = list1.stream().filter(item->Objects.equals(Integer.parseInt(item.getStatus()),1)).collect(Collectors.toList()); + intergralityData.setAllOfflineNum(CollUtil.isNotEmpty(offline)?offline.size():0); + intergralityData.setAllOnlineNum(CollUtil.isNotEmpty(online)?online.size():0); + if (!Objects.isNull(runFlag)){ + list1 = Objects.equals(runFlag,0) ? offline : online; + } + } + intergralityData.setAllNets(list1); //国网监测点 List countryLineIndexs = getGwLine(lineIndexs); if (!CollectionUtils.isEmpty(countryLineIndexs)) { - intergralityData.setCountryNets(getGWIntegralityTable(startTime, endTime, countryLineIndexs)); + List list2 = getGWIntegralityTable(startTime, endTime, countryLineIndexs); + if (CollUtil.isNotEmpty(list2)){ + List offline = list2.stream().filter(item->Objects.equals(Integer.parseInt(item.getStatus()),0)).collect(Collectors.toList()); + List online = list2.stream().filter(item->Objects.equals(Integer.parseInt(item.getStatus()),1)).collect(Collectors.toList()); + intergralityData.setCountryOfflineNum(CollUtil.isNotEmpty(offline)?offline.size():0); + intergralityData.setCountryOnlineNum(CollUtil.isNotEmpty(online)?online.size():0); + if (!Objects.isNull(runFlag)){ + list2 = Objects.equals(runFlag,0) ? offline : online; + } + } + intergralityData.setCountryNets(list2); } return intergralityData; } @@ -7035,6 +7055,96 @@ public class DeviceServiceImpl implements DeviceService { return eventPushLogsDetailMapper.updatEventPushLog(eventDetailIndex, lineId, new Date()); } + @Override + public List getStatisticalAnalysis(String startTime, String endTime, String area, Integer postType, Integer powerId) { + List list = new ArrayList<>(); + List allArea = new ArrayList<>(); + List ag = userUtil.getAreaDataByInfo(area); + for (AreaGeneralData item : ag) { + IntegrityAnalysisData data = new IntegrityAnalysisData(); + data.setDeptName(item.getName()); + data.setDeptIndex(item.getDeptIndex()); + data.setSort(1); + if (CollUtil.isNotEmpty(item.getLineIndexs())) { + List lineInfos = integrityMapper.getLineInfo(item.getLineIndexs(),postType,powerId); + allArea.addAll(lineInfos); + List typeList = new ArrayList<>(); + IntegrityAnalysisData.TypeList type = new IntegrityAnalysisData.TypeList(); + type.setName("所属前置机"); + type.setDataLists(getFrontList(lineInfos)); + + IntegrityAnalysisData.TypeList type2 = new IntegrityAnalysisData.TypeList(); + type2.setName("监测点状态"); + type2.setDataLists(getLineStatusList(lineInfos)); + + typeList.add(type); + typeList.add(type2); + data.setTypeLists(typeList); + } + list.add(data); + } + //新增冀北省 + Depts depts = userUtil.getDeptsByIndex(area); + if (Objects.equals(depts.getParentNodeId(),"10001")) { + IntegrityAnalysisData data = new IntegrityAnalysisData(); + data.setDeptName("冀北省"); + data.setDeptIndex(area); + List typeList = new ArrayList<>(); + IntegrityAnalysisData.TypeList type = new IntegrityAnalysisData.TypeList(); + type.setName("所属前置机"); + type.setDataLists(getFrontList(allArea)); + IntegrityAnalysisData.TypeList type2 = new IntegrityAnalysisData.TypeList(); + type2.setName("监测点状态"); + type2.setDataLists(getLineStatusList(allArea)); + typeList.add(type); + typeList.add(type2); + data.setTypeLists(typeList); + data.setSort(0); + list.add(data); + } + return list.stream().sorted(Comparator.comparing(IntegrityAnalysisData::getSort)).collect(Collectors.toList()); + } + + public List getFrontList(List lineInfos) { + List result = new ArrayList<>(); + Map> frontMap = lineInfos.stream().collect(Collectors.groupingBy(LineInfo::getDevName)); + if (CollectionUtils.isEmpty(frontMap)) { + IntegrityAnalysisData.DataList dataList = new IntegrityAnalysisData.DataList(); + dataList.setName("/"); + dataList.setAllLineCount(0); + dataList.setRunLineCount(0); + dataList.setCheckLineCount(0); + dataList.setBackLineCount(0); + result.add(dataList); + } else { + frontMap.forEach((k,v)->{ + IntegrityAnalysisData.DataList dataList = new IntegrityAnalysisData.DataList(); + dataList.setName(k); + Map> statusMap = v.stream().collect(Collectors.groupingBy(LineInfo::getStatus)); + dataList.setAllLineCount(v.size()); + dataList.setRunLineCount(CollUtil.isNotEmpty(statusMap.get(0L))?statusMap.get(0L).size():0); + dataList.setCheckLineCount(CollUtil.isNotEmpty(statusMap.get(1L))?statusMap.get(1L).size():0); + dataList.setBackLineCount(CollUtil.isNotEmpty(statusMap.get(2L))?statusMap.get(2L).size():0); + result.add(dataList); + }); + } + return result; + } + + public List getLineStatusList(List lineInfos) { + List result = new ArrayList<>(); + Map> statusMap = lineInfos.stream().collect(Collectors.groupingBy(LineInfo::getStatus)); + IntegrityAnalysisData.DataList dataList = new IntegrityAnalysisData.DataList(); + dataList.setName("/"); + dataList.setAllLineCount(lineInfos.size()); + dataList.setRunLineCount(CollUtil.isNotEmpty(statusMap.get(0L))?statusMap.get(0L).size():0); + dataList.setCheckLineCount(CollUtil.isNotEmpty(statusMap.get(1L))?statusMap.get(1L).size():0); + dataList.setBackLineCount(CollUtil.isNotEmpty(statusMap.get(2L))?statusMap.get(2L).size():0); + result.add(dataList); + return result; + } + + /** * 根据电压等级返回基准容量 * diff --git a/pqs9000/src/main/java/com/pqs9000/controller/area/IntegralityController.java b/pqs9000/src/main/java/com/pqs9000/controller/area/IntegralityController.java index 255fd9f..db0635a 100644 --- a/pqs9000/src/main/java/com/pqs9000/controller/area/IntegralityController.java +++ b/pqs9000/src/main/java/com/pqs9000/controller/area/IntegralityController.java @@ -9,6 +9,7 @@ import com.njcn.pojo.commons.DatePojo; import com.njcn.pojo.commons.HttpResult; import com.njcn.pojo.commons.device.DeviceGeneral; import com.njcn.pojo.commons.device.LineDetailInfo; +import com.njcn.pojo.commons.runmanage.IntegrityAnalysisData; import com.njcn.pojo.commons.runmanage.IntergralityData; import com.njcn.pojo.configuration.*; import com.njcn.service.configuration.DeviceService; @@ -37,6 +38,7 @@ import java.io.InputStreamReader; import java.io.OutputStream; import java.net.Socket; import java.nio.charset.StandardCharsets; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; @@ -115,7 +117,7 @@ public class IntegralityController { */ @PostMapping("getIntegrityData") @ResponseBody - public HttpResult getIntegrityData(String startTime, String endTime, String area,Integer devflag,Integer powerId, HttpServletRequest request) { + public HttpResult getIntegrityData(String startTime, String endTime, String area,Integer devflag,Integer powerId, Integer runFlag, HttpServletRequest request) { HttpResult result = PubUtils.initResult(TokenManager.getToken().getLoginName(), request, LogTypeEnum.BUSSINESS.toString(), 0); DatePojo datePojo; datePojo = PubUtils.validateDate(startTime, endTime, "getIntegrityData"); @@ -125,7 +127,7 @@ public class IntegralityController { } IntergralityData intergralityData; try { - intergralityData = deviceService.getDataIntegralityTable(datePojo.getStartTime(), datePojo.getEndTime(), area,devflag,powerId); + intergralityData = deviceService.getDataIntegralityTable(datePojo.getStartTime(), datePojo.getEndTime(), area,devflag,powerId,runFlag); if (null == intergralityData) { result = PubUtils.assignmentResultLog(null, 500, "获取监测点数据完整性数据为空", "查询完整性列表", "成功", result); } else { @@ -327,4 +329,35 @@ public class IntegralityController { } return result; } + + + /** + * 数据完整性列表-》统计分析 + */ + @PostMapping("statisticalAnalysis") + @ResponseBody + public HttpResult statisticalAnalysis(String startTime, String endTime, String area,Integer postType, Integer powerId, HttpServletRequest request) { + HttpResult result = PubUtils.initResult(TokenManager.getToken().getLoginName(), request, LogTypeEnum.BUSSINESS.toString(), 0); + DatePojo datePojo; + datePojo = PubUtils.validateDate(startTime, endTime, "statisticalAnalysis"); + if (!StringUtils.isEmpty(datePojo.getMsg())) { + result = PubUtils.assignmentResult(null, 500, datePojo.getMsg()); + return result; + } + try { + List data = deviceService.getStatisticalAnalysis(startTime,endTime,area,powerId,postType); + if (null == data) { + result = PubUtils.assignmentResultLog(null, 500, "获取统计分析数据为空", "查看统计分析", "成功", result); + } else { + result = PubUtils.assignmentResultLog(data, 200, "获取统计分析数据成功", "查看统计分析", "成功", result); + } + } catch (Exception e) { + logger.error("查看统计分析数据异常,异常为:" + e.toString()); + userLog.getLog("查看统计分析数据异常", "失败", PubUtils.getIpAddr(request), LogTypeEnum.BUSSINESS.toString(), 0); + result = PubUtils.assignmentResultLog(null, 500, "查看统计分析数据异常", "查看统计分析", "失败", result); + } + return result; + } + + } diff --git a/pqs9000/src/main/java/com/pqs9000/controller/business/BusinessController.java b/pqs9000/src/main/java/com/pqs9000/controller/business/BusinessController.java index 5d6874d..a033d08 100644 --- a/pqs9000/src/main/java/com/pqs9000/controller/business/BusinessController.java +++ b/pqs9000/src/main/java/com/pqs9000/controller/business/BusinessController.java @@ -458,4 +458,12 @@ public class BusinessController { return modelAndView; } + /** + * 跳转按地市统计监测点运行状态、前置机统计 + */ + @RequestMapping("statisticalAnalysis") + public String statisticalAnalysis() { + return "business/manage/statisticalAnalysis"; + } + } diff --git a/pqs9000/src/main/resources/mybatis/mappers/data/IntegrityMapper.xml b/pqs9000/src/main/resources/mybatis/mappers/data/IntegrityMapper.xml index 823db7b..5314847 100644 --- a/pqs9000/src/main/resources/mybatis/mappers/data/IntegrityMapper.xml +++ b/pqs9000/src/main/resources/mybatis/mappers/data/IntegrityMapper.xml @@ -83,7 +83,8 @@ T2.NAME lineName, T2.line_index lineId, T1.integrity integrity, - T9.dic_name devType + T9.dic_name devType, + T10.NODE_NAME frontDev FROM ( SELECT @@ -109,7 +110,8 @@ PQ_GDINFORMATION T6, PQ_SUBSTATION T7, PQS_DICDATA T8, - PQS_DICDATA T9 + PQS_DICDATA T9, + NODEINFORMATION T10 WHERE T1.LINE_INDEX = T2.LINE_INDEX AND T2.DEV_INDEX = T3.DEV_INDEX @@ -119,6 +121,7 @@ AND T2.SUB_INDEX=T7.SUB_INDEX AND T2.SCALE=T8.DIC_INDEX AND T9.DIC_INDEX = T3.DEVTYPE + AND T3.NODE_INDEX = T10.NODE_INDEX + diff --git a/pqs9000/src/main/webapp/WEB-INF/views/business/manage/integrityTable.jsp b/pqs9000/src/main/webapp/WEB-INF/views/business/manage/integrityTable.jsp index 85b3e1a..dfc5ad6 100644 --- a/pqs9000/src/main/webapp/WEB-INF/views/business/manage/integrityTable.jsp +++ b/pqs9000/src/main/webapp/WEB-INF/views/business/manage/integrityTable.jsp @@ -79,6 +79,13 @@