Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cb555696c6 | |||
| 53142531dd | |||
|
|
dafa4be195 | ||
|
|
94c789b8b2 | ||
| f383877ffc | |||
| e52db859a3 | |||
| 119e26728f | |||
| a3329be788 | |||
| 0ecb8e1585 | |||
| cc1dd4f470 | |||
| 2caeb0c264 | |||
| 500b6c66bb | |||
| 41fec04cb7 | |||
| cb6a8f8e91 |
@@ -70,4 +70,6 @@ public interface DeviceMapper extends Mapper<Device>{
|
|||||||
List<Integer> getDevIndex(@Param("list") List<Integer> dataType);
|
List<Integer> getDevIndex(@Param("list") List<Integer> dataType);
|
||||||
|
|
||||||
DeviceDetail getDevAndParent(@Param("devIndex")String devIndex);
|
DeviceDetail getDevAndParent(@Param("devIndex")String devIndex);
|
||||||
|
|
||||||
|
String findMaxDeviceName(@Param("gdIndex")Long gdIndex);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,6 +53,8 @@ public interface LineMapper extends Mapper<Line> {
|
|||||||
//根据现有的监测点筛选出国网监测点
|
//根据现有的监测点筛选出国网监测点
|
||||||
List<Integer> getGWLines(@Param("list") List<Integer> subList);
|
List<Integer> getGWLines(@Param("list") List<Integer> subList);
|
||||||
|
|
||||||
|
List<Integer> getAllGWLines(@Param("list") List<Integer> subList);
|
||||||
|
|
||||||
String selectLineName(String name);
|
String selectLineName(String name);
|
||||||
|
|
||||||
//获取该表所有数据,提供excel导出
|
//获取该表所有数据,提供excel导出
|
||||||
@@ -103,11 +105,11 @@ public interface LineMapper extends Mapper<Line> {
|
|||||||
|
|
||||||
List<Legder.Data> getMonitorData(@Param("list") List<Integer> list, @Param("appear") String appear, @Param("nature") Integer nature);
|
List<Legder.Data> getMonitorData(@Param("list") List<Integer> list, @Param("appear") String appear, @Param("nature") Integer nature);
|
||||||
|
|
||||||
List<Integer> siftLineIndexs(@Param("list") List<Integer> list, @Param("scale") String scale, @Param("manc") String manc, @Param("loadtype") String loadtype);
|
List<Integer> siftLineIndexs(@Param("list") List<Integer> list, @Param("scale") String scale, @Param("manc") String manc, @Param("loadtype") String loadtype, @Param("monitorNature") Integer monitorNature);
|
||||||
|
|
||||||
List<Integer> siftLineIndexsByLineGrade(@Param("list") List<Integer> list, @Param("scale") String scale, @Param("manc") String manc, @Param("loadtype") String loadtype,@Param("lineGrade") Integer lineGrade);
|
List<Integer> siftLineIndexsByLineGrade(@Param("list") List<Integer> list, @Param("scale") String scale, @Param("manc") String manc, @Param("loadtype") String loadtype,@Param("lineGrade") Integer lineGrade);
|
||||||
|
|
||||||
List<IndexsCount> siftAllIndexs(@Param("list") List<Integer> list, @Param("scale") String scale, @Param("manc") String manc, @Param("loadtype") String loadtype);
|
List<IndexsCount> siftAllIndexs(@Param("list") List<Integer> list, @Param("scale") String scale, @Param("manc") String manc, @Param("loadtype") String loadtype, @Param("devLocation") String devLocation);
|
||||||
|
|
||||||
List<IndexsCount> siftAllIndexsByLineGrade(@Param("list") List<Integer> list, @Param("scale") String scale, @Param("manc") String manc, @Param("loadtype") String loadtype,@Param("lineGrade") Integer lineGrade);
|
List<IndexsCount> siftAllIndexsByLineGrade(@Param("list") List<Integer> list, @Param("scale") String scale, @Param("manc") String manc, @Param("loadtype") String loadtype,@Param("lineGrade") Integer lineGrade);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.mapper.data;
|
package com.njcn.mapper.data;
|
||||||
|
|
||||||
import com.njcn.pojo.commons.SimpleValue;
|
import com.njcn.pojo.commons.SimpleValue;
|
||||||
|
import com.njcn.pojo.commons.device.LineInfo;
|
||||||
import com.njcn.pojo.commons.runmanage.IntergralityTable;
|
import com.njcn.pojo.commons.runmanage.IntergralityTable;
|
||||||
import com.njcn.pojo.data.Integrity;
|
import com.njcn.pojo.data.Integrity;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
@@ -27,4 +28,6 @@ public interface IntegrityMapper extends Mapper<Integrity> {
|
|||||||
List<IntergralityTable> selectIntegrityData(@Param("list") List<Integer> tempIndexs,@Param("startTime")Date startTime,@Param("endTime") Date endTime);
|
List<IntergralityTable> selectIntegrityData(@Param("list") List<Integer> tempIndexs,@Param("startTime")Date startTime,@Param("endTime") Date endTime);
|
||||||
|
|
||||||
List<IntergralityTable> selectGWIntegrityData(@Param("list") List<Integer> tempIndexs,@Param("startTime")Date startTime,@Param("endTime") Date endTime);
|
List<IntergralityTable> selectGWIntegrityData(@Param("list") List<Integer> tempIndexs,@Param("startTime")Date startTime,@Param("endTime") Date endTime);
|
||||||
|
|
||||||
|
List<LineInfo> getLineInfo(@Param("list") List<Integer> tempIndexs,@Param("postType") Integer postType, @Param("powerId") Integer powerId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,8 +16,6 @@ public class SteadyData implements Serializable {
|
|||||||
|
|
||||||
private float allTime;
|
private float allTime;
|
||||||
|
|
||||||
private float tAllTime;
|
|
||||||
|
|
||||||
private float frequency=3.1415f;
|
private float frequency=3.1415f;
|
||||||
|
|
||||||
private float uBalance=3.1415f;
|
private float uBalance=3.1415f;
|
||||||
@@ -190,14 +188,6 @@ public class SteadyData implements Serializable {
|
|||||||
this.inUharm = inUharm;
|
this.inUharm = inUharm;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float gettAllTime() {
|
|
||||||
return tAllTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void settAllTime(float tAllTime) {
|
|
||||||
this.tAllTime = tAllTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "SteadyData{" +
|
return "SteadyData{" +
|
||||||
@@ -205,7 +195,6 @@ public class SteadyData implements Serializable {
|
|||||||
", monitors=" + monitors +
|
", monitors=" + monitors +
|
||||||
", areaIndex='" + areaIndex + '\'' +
|
", areaIndex='" + areaIndex + '\'' +
|
||||||
", allTime=" + allTime +
|
", allTime=" + allTime +
|
||||||
", tAllTime=" + tAllTime +
|
|
||||||
", frequency=" + frequency +
|
", frequency=" + frequency +
|
||||||
", uBalance=" + uBalance +
|
", uBalance=" + uBalance +
|
||||||
", uAberrance=" + uAberrance +
|
", uAberrance=" + uAberrance +
|
||||||
|
|||||||
@@ -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<TypeList> 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<DataList> dataLists;
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<DataList> getDataLists() {
|
||||||
|
return dataLists;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDataLists(List<DataList> 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<TypeList> getTypeLists() {
|
||||||
|
return typeLists;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTypeLists(List<TypeList> typeLists) {
|
||||||
|
this.typeLists = typeLists;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "IntegrityAnalysisData{" +
|
||||||
|
"deptIndex='" + deptIndex + '\'' +
|
||||||
|
", deptName='" + deptName + '\'' +
|
||||||
|
", typeLists=" + typeLists +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -10,6 +10,14 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public class IntergralityData implements Serializable {
|
public class IntergralityData implements Serializable {
|
||||||
|
|
||||||
|
private Integer allOnlineNum;
|
||||||
|
|
||||||
|
private Integer allOfflineNum;
|
||||||
|
|
||||||
|
private Integer countryOnlineNum;
|
||||||
|
|
||||||
|
private Integer countryOfflineNum;
|
||||||
|
|
||||||
//全网数据完整性数据
|
//全网数据完整性数据
|
||||||
private List<IntergralityTable> allNets= new ArrayList<>();
|
private List<IntergralityTable> allNets= new ArrayList<>();
|
||||||
|
|
||||||
@@ -32,10 +40,46 @@ public class IntergralityData implements Serializable {
|
|||||||
this.countryNets = countryNets;
|
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
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "IntergralityData{" +
|
return "IntergralityData{" +
|
||||||
"allNets=" + allNets +
|
"allOnlineNum=" + allOnlineNum +
|
||||||
|
", allOfflineNum=" + allOfflineNum +
|
||||||
|
", countryOnlineNum=" + countryOnlineNum +
|
||||||
|
", countryOfflineNum=" + countryOfflineNum +
|
||||||
|
", allNets=" + allNets +
|
||||||
", countryNets=" + countryNets +
|
", countryNets=" + countryNets +
|
||||||
'}';
|
'}';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,9 @@ public class IntergralityTable extends OnlineRateData{
|
|||||||
|
|
||||||
private Integer devId;
|
private Integer devId;
|
||||||
|
|
||||||
|
//所属前置机
|
||||||
|
private String frontDev;
|
||||||
|
|
||||||
public Integer getDevId() {
|
public Integer getDevId() {
|
||||||
return devId;
|
return devId;
|
||||||
}
|
}
|
||||||
@@ -96,6 +99,14 @@ public class IntergralityTable extends OnlineRateData{
|
|||||||
this.lineId = lineId;
|
this.lineId = lineId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getFrontDev() {
|
||||||
|
return frontDev;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFrontDev(String frontDev) {
|
||||||
|
this.frontDev = frontDev;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "IntergralityTable{" +
|
return "IntergralityTable{" +
|
||||||
@@ -106,6 +117,9 @@ public class IntergralityTable extends OnlineRateData{
|
|||||||
", devFlag='" + devFlag + '\'' +
|
", devFlag='" + devFlag + '\'' +
|
||||||
", status='" + status + '\'' +
|
", status='" + status + '\'' +
|
||||||
", updateTime='" + updateTime + '\'' +
|
", updateTime='" + updateTime + '\'' +
|
||||||
|
", devType='" + devType + '\'' +
|
||||||
|
", devId=" + devId +
|
||||||
|
", frontDev='" + frontDev + '\'' +
|
||||||
'}';
|
'}';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import com.njcn.pojo.commons.device.LineInfo;
|
|||||||
import com.njcn.pojo.commons.device.SubInfo;
|
import com.njcn.pojo.commons.device.SubInfo;
|
||||||
import com.njcn.pojo.commons.device.Tree;
|
import com.njcn.pojo.commons.device.Tree;
|
||||||
import com.njcn.pojo.commons.device.ValueOfTargetanaly;
|
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.IntergralityData;
|
||||||
import com.njcn.pojo.commons.runmanage.IntergralityTable;
|
import com.njcn.pojo.commons.runmanage.IntergralityTable;
|
||||||
import com.njcn.pojo.commons.runmanage.OnlineRateData;
|
import com.njcn.pojo.commons.runmanage.OnlineRateData;
|
||||||
@@ -69,20 +70,20 @@ public interface DeviceService {
|
|||||||
DeviceGeneral getDeviceData(String overview, String area, Date startTime, Date endTime);
|
DeviceGeneral getDeviceData(String overview, String area, Date startTime, Date endTime);
|
||||||
|
|
||||||
//区域统计---》终端状态(筛)
|
//区域统计---》终端状态(筛)
|
||||||
DeviceGeneral getDeviceSiftData(String overview, String area, String scale, String manc, String loadtype, Date startTime, Date endTime);
|
DeviceGeneral getDeviceSiftData(String overview, String area, String scale, String manc, String loadtype, Integer monitorNature, Date startTime, Date endTime);
|
||||||
|
|
||||||
//区域统计---》在线率
|
//区域统计---》在线率
|
||||||
DeviceGeneral getDeviceOnlineRate(Date startTime, Date endTime, String overview, String area);
|
DeviceGeneral getDeviceOnlineRate(Date startTime, Date endTime, String overview, String area);
|
||||||
|
|
||||||
//区域统计---》数据完整性
|
//区域统计---》数据完整性
|
||||||
DeviceGeneral getDataIntegrality(Date startTime, Date endTime, String overview, String area,
|
DeviceGeneral getDataIntegrality(Date startTime, Date endTime, String overview, String area,
|
||||||
String scale, String manc, String loadtype);
|
String scale, String manc, String loadtype, Integer monitorNature);
|
||||||
|
|
||||||
//运行管理---》终端在线率数据查询展示
|
//运行管理---》终端在线率数据查询展示
|
||||||
List<OnlineRateData> getOnlineRate(Date startTime, Date endTime, String area);
|
List<OnlineRateData> 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);
|
String getDeviceOnline(Date startTime, Date endTime, Long lineIndex);
|
||||||
|
|
||||||
@@ -279,5 +280,5 @@ public interface DeviceService {
|
|||||||
|
|
||||||
int updatEventPushLog(String eventDetailIndex,Integer lineId);
|
int updatEventPushLog(String eventDetailIndex,Integer lineId);
|
||||||
|
|
||||||
|
List<IntegrityAnalysisData> getStatisticalAnalysis(String startTime, String endTime, String area, Integer postType, Integer powerId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,18 @@
|
|||||||
package com.njcn.serviceimpl.configuration;
|
package com.njcn.serviceimpl.configuration;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.njcn.enums.TerminalLogsEnum;
|
import com.njcn.enums.TerminalLogsEnum;
|
||||||
import com.njcn.mapper.configuration.*;
|
import com.njcn.mapper.configuration.*;
|
||||||
import com.njcn.mapper.data.*;
|
import com.njcn.mapper.data.*;
|
||||||
import com.njcn.mapper.user.DeptsGdMapper;
|
import com.njcn.mapper.user.DeptsGdMapper;
|
||||||
|
import com.njcn.mapper.user.DeptsMapper;
|
||||||
import com.njcn.mapper.user.TransFormerMapper;
|
import com.njcn.mapper.user.TransFormerMapper;
|
||||||
import com.njcn.mapper.user.UserMapper;
|
import com.njcn.mapper.user.UserMapper;
|
||||||
import com.njcn.pojo.commons.*;
|
import com.njcn.pojo.commons.*;
|
||||||
import com.njcn.pojo.commons.area.*;
|
import com.njcn.pojo.commons.area.*;
|
||||||
import com.njcn.pojo.commons.device.*;
|
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.IntergralityData;
|
||||||
import com.njcn.pojo.commons.runmanage.IntergralityTable;
|
import com.njcn.pojo.commons.runmanage.IntergralityTable;
|
||||||
import com.njcn.pojo.commons.runmanage.OnlineRateData;
|
import com.njcn.pojo.commons.runmanage.OnlineRateData;
|
||||||
@@ -45,7 +48,6 @@ import java.text.SimpleDateFormat;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
|
|
||||||
@@ -155,7 +157,6 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
@Resource
|
@Resource
|
||||||
private EventPushLogsDetailMapper eventPushLogsDetailMapper;
|
private EventPushLogsDetailMapper eventPushLogsDetailMapper;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 概览--》终端运行状态
|
* 概览--》终端运行状态
|
||||||
*/
|
*/
|
||||||
@@ -201,8 +202,9 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
* @param area 区域
|
* @param area 区域
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public DeviceGeneral getDeviceSiftData(String overview, String area, String scale, String manc, String loadtype,
|
public DeviceGeneral getDeviceSiftData(String overview, String area, String scale, String manc, String loadtype, Integer monitorNature,
|
||||||
Date startTime, Date endTime) {
|
Date startTime, Date endTime) {
|
||||||
|
String devLocation = null;
|
||||||
DeviceGeneral deviceGeneral;
|
DeviceGeneral deviceGeneral;
|
||||||
List<AreaGeneralData> areaGeneralDatasTemp;
|
List<AreaGeneralData> areaGeneralDatasTemp;
|
||||||
if ("overview".equalsIgnoreCase(area)) {
|
if ("overview".equalsIgnoreCase(area)) {
|
||||||
@@ -210,7 +212,12 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
} else {
|
} else {
|
||||||
areaGeneralDatasTemp = userUtil.getAreaDataByInfo(area);
|
areaGeneralDatasTemp = userUtil.getAreaDataByInfo(area);
|
||||||
}
|
}
|
||||||
areaGeneralDatasTemp = userUtil.siftAreaGeneralData(areaGeneralDatasTemp, scale, manc, loadtype);
|
if (!Objects.isNull(monitorNature) && monitorNature == 0) {
|
||||||
|
devLocation = "电网侧";
|
||||||
|
} else if (!Objects.isNull(monitorNature) && monitorNature == 1) {
|
||||||
|
devLocation = "用户侧";
|
||||||
|
}
|
||||||
|
areaGeneralDatasTemp = userUtil.siftAreaGeneralData(areaGeneralDatasTemp, scale, manc, loadtype, devLocation);
|
||||||
if (CollectionUtils.isEmpty(areaGeneralDatasTemp)) {
|
if (CollectionUtils.isEmpty(areaGeneralDatasTemp)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -312,7 +319,7 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
* @param area 区域
|
* @param area 区域
|
||||||
*/
|
*/
|
||||||
@Override
|
@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();
|
IntergralityData intergralityData = new IntergralityData();
|
||||||
|
|
||||||
List<AreaGeneralData> areaGeneralDataList = userUtil.getAreaGeneralRun(devflag,area,powerId);
|
List<AreaGeneralData> areaGeneralDataList = userUtil.getAreaGeneralRun(devflag,area,powerId);
|
||||||
@@ -321,11 +328,31 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
//全网监测点的数据完整性
|
//全网监测点的数据完整性
|
||||||
intergralityData.setAllNets(getIntegralityTable(startTime, endTime, lineIndexs));
|
List<IntergralityTable> list1 = getIntegralityTable(startTime, endTime, lineIndexs);
|
||||||
|
if (CollUtil.isNotEmpty(list1)){
|
||||||
|
List<IntergralityTable> offline = list1.stream().filter(item->Objects.equals(Integer.parseInt(item.getStatus()),0)).collect(Collectors.toList());
|
||||||
|
List<IntergralityTable> 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<Integer> countryLineIndexs = getGwLine(lineIndexs);
|
List<Integer> countryLineIndexs = getAllGwLine(lineIndexs);
|
||||||
if (!CollectionUtils.isEmpty(countryLineIndexs)) {
|
if (!CollectionUtils.isEmpty(countryLineIndexs)) {
|
||||||
intergralityData.setCountryNets(getGWIntegralityTable(startTime, endTime, countryLineIndexs));
|
List<IntergralityTable> list2 = getGWIntegralityTable(startTime, endTime, countryLineIndexs);
|
||||||
|
if (CollUtil.isNotEmpty(list2)){
|
||||||
|
List<IntergralityTable> offline = list2.stream().filter(item->Objects.equals(Integer.parseInt(item.getStatus()),0)).collect(Collectors.toList());
|
||||||
|
List<IntergralityTable> 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;
|
return intergralityData;
|
||||||
}
|
}
|
||||||
@@ -611,41 +638,44 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public DeviceGeneral getDataIntegrality(Date startTime, Date endTime, String overview, String area,
|
public DeviceGeneral getDataIntegrality(Date startTime, Date endTime, String overview, String area,
|
||||||
String scale, String manc, String loadtype) {
|
String scale, String manc, String loadtype, Integer monitorNature) {
|
||||||
DeviceGeneral deviceGeneral;
|
DeviceGeneral deviceGeneral;
|
||||||
List<AreaGeneralData> areaGeneralDatasTemp = userUtil.getAreaDataByInfoRun(area);
|
List<AreaGeneralData> areaGeneralDatasTemp = userUtil.getAreaDataByInfoRun(area);
|
||||||
if (CollectionUtils.isEmpty(areaGeneralDatasTemp)) {
|
if (CollectionUtils.isEmpty(areaGeneralDatasTemp)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
deviceGeneral = getDataIntegrality(startTime, endTime, overview, areaGeneralDatasTemp, scale, manc, loadtype);
|
deviceGeneral = getDataIntegrality(startTime, endTime, overview, areaGeneralDatasTemp, scale, manc, loadtype, monitorNature);
|
||||||
|
|
||||||
return deviceGeneral;
|
return deviceGeneral;
|
||||||
}
|
}
|
||||||
|
|
||||||
private DeviceGeneral getDataIntegrality(Date startTime, Date endTime, String overview, List<AreaGeneralData> areaGeneralDatas,
|
private DeviceGeneral getDataIntegrality(Date startTime, Date endTime, String overview, List<AreaGeneralData> areaGeneralDatas,
|
||||||
String scale, String manc, String loadtype) {
|
String scale, String manc, String loadtype, Integer monitorNature) {
|
||||||
DeviceGeneral deviceGeneral = new DeviceGeneral();
|
DeviceGeneral deviceGeneral = new DeviceGeneral();
|
||||||
List<DeviceValue> area = new ArrayList<>();
|
List<DeviceValue> area = new ArrayList<>();
|
||||||
List<Integer> deviceLindexs = new ArrayList<>();
|
List<Integer> deviceLindexs = new ArrayList<>();
|
||||||
if (CollectionUtils.isEmpty(areaGeneralDatas)) {
|
if (CollectionUtils.isEmpty(areaGeneralDatas)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
if (!Objects.isNull(monitorNature) && monitorNature == -1) {
|
||||||
|
monitorNature = null;
|
||||||
|
}
|
||||||
//区域
|
//区域
|
||||||
for (AreaGeneralData areaGeneralData : areaGeneralDatas) {
|
for (AreaGeneralData areaGeneralData : areaGeneralDatas) {
|
||||||
if (CollectionUtils.isEmpty(areaGeneralData.getLineIndexs())) {
|
if (CollectionUtils.isEmpty(areaGeneralData.getLineIndexs())) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
area.add(getDataIntegralityArea(areaGeneralData, startTime, endTime, scale, manc, loadtype));
|
area.add(getDataIntegralityArea(areaGeneralData, startTime, endTime, scale, manc, loadtype, monitorNature));
|
||||||
deviceLindexs.addAll(areaGeneralData.getDeviceIndexs());
|
deviceLindexs.addAll(areaGeneralData.getDeviceIndexs());
|
||||||
}
|
}
|
||||||
deviceGeneral.setArea(area);
|
deviceGeneral.setArea(area);
|
||||||
if (StringUtils.isEmpty(overview)) {
|
if (StringUtils.isEmpty(overview)) {
|
||||||
//电压等级
|
//电压等级
|
||||||
deviceGeneral.setVol(getDataIntegralityVol(deviceLindexs, startTime, endTime, scale, manc, loadtype));
|
deviceGeneral.setVol(getDataIntegralityVol(deviceLindexs, startTime, endTime, scale, manc, loadtype, monitorNature));
|
||||||
//终端厂家
|
//终端厂家
|
||||||
deviceGeneral.setInterval(getDataIntegralityCompany(deviceLindexs, startTime, endTime, scale, manc, loadtype));
|
deviceGeneral.setInterval(getDataIntegralityCompany(deviceLindexs, startTime, endTime, scale, manc, loadtype, monitorNature));
|
||||||
//干扰源类型终
|
//干扰源类型终
|
||||||
deviceGeneral.setLoadtype(getDataIntegralityLoadType(deviceLindexs, startTime, endTime, scale, manc, loadtype));
|
deviceGeneral.setLoadtype(getDataIntegralityLoadType(deviceLindexs, startTime, endTime, scale, manc, loadtype, monitorNature));
|
||||||
}
|
}
|
||||||
return deviceGeneral;
|
return deviceGeneral;
|
||||||
}
|
}
|
||||||
@@ -848,7 +878,7 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private List<DeviceValue> getDataIntegralityCompany(List<Integer> deviceLindexs, Date startTime, Date endTime,
|
private List<DeviceValue> getDataIntegralityCompany(List<Integer> deviceLindexs, Date startTime, Date endTime,
|
||||||
String scale, String manc, String loadtype) {
|
String scale, String manc, String loadtype, Integer monitorNature) {
|
||||||
List<DeviceValue> deviceValues = new ArrayList<>();
|
List<DeviceValue> deviceValues = new ArrayList<>();
|
||||||
List<CompanyValue> companyValues = userUtil.getCompanyData(deviceLindexs);
|
List<CompanyValue> companyValues = userUtil.getCompanyData(deviceLindexs);
|
||||||
if (CollectionUtils.isEmpty(companyValues)) {
|
if (CollectionUtils.isEmpty(companyValues)) {
|
||||||
@@ -861,7 +891,7 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
if (CollectionUtils.isEmpty(lineIndexs)) {
|
if (CollectionUtils.isEmpty(lineIndexs)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
lineIndexs = lineMapper.siftLineIndexs(lineIndexs, scale, manc, loadtype);
|
lineIndexs = lineMapper.siftLineIndexs(lineIndexs, scale, manc, loadtype, monitorNature);
|
||||||
if (CollectionUtils.isEmpty(lineIndexs)) {
|
if (CollectionUtils.isEmpty(lineIndexs)) {
|
||||||
deviceValue.setAmounts("0");
|
deviceValue.setAmounts("0");
|
||||||
deviceValue.setDataIntegrity("3.1415");
|
deviceValue.setDataIntegrity("3.1415");
|
||||||
@@ -917,7 +947,7 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private List<DeviceValue> getDataIntegralityVol(List<Integer> deviceLindexs, Date startTime, Date endTime,
|
private List<DeviceValue> getDataIntegralityVol(List<Integer> deviceLindexs, Date startTime, Date endTime,
|
||||||
String scale, String manc, String loadtype) {
|
String scale, String manc, String loadtype, Integer monitorNature) {
|
||||||
List<DeviceValue> deviceValues = new ArrayList<>();
|
List<DeviceValue> deviceValues = new ArrayList<>();
|
||||||
List<VoltageData> voltageDatas = userUtil.getVoltageData(deviceLindexs);
|
List<VoltageData> voltageDatas = userUtil.getVoltageData(deviceLindexs);
|
||||||
if (CollectionUtils.isEmpty(voltageDatas)) {
|
if (CollectionUtils.isEmpty(voltageDatas)) {
|
||||||
@@ -926,7 +956,7 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
for (VoltageData voltageData : voltageDatas) {
|
for (VoltageData voltageData : voltageDatas) {
|
||||||
List<Integer> lines = voltageData.getLineIndexs();
|
List<Integer> lines = voltageData.getLineIndexs();
|
||||||
if (!CollectionUtils.isEmpty(lines)) {
|
if (!CollectionUtils.isEmpty(lines)) {
|
||||||
lines = lineMapper.siftLineIndexs(lines, scale, manc, loadtype);
|
lines = lineMapper.siftLineIndexs(lines, scale, manc, loadtype, monitorNature);
|
||||||
DeviceValue deviceValue = new DeviceValue();
|
DeviceValue deviceValue = new DeviceValue();
|
||||||
deviceValue.setName(voltageData.getVol());
|
deviceValue.setName(voltageData.getVol());
|
||||||
deviceValue.setAmounts(String.valueOf(lines.size()));
|
deviceValue.setAmounts(String.valueOf(lines.size()));
|
||||||
@@ -952,7 +982,7 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
* 根据用户当前的身份,获取按电压等级的数据完整性
|
* 根据用户当前的身份,获取按电压等级的数据完整性
|
||||||
*/
|
*/
|
||||||
private List<DeviceValue> getDataIntegralityLoadType(List<Integer> deviceLindexs, Date startTime, Date endTime,
|
private List<DeviceValue> getDataIntegralityLoadType(List<Integer> deviceLindexs, Date startTime, Date endTime,
|
||||||
String scale, String manc, String loadtype) {
|
String scale, String manc, String loadtype, Integer monitorNature) {
|
||||||
List<DeviceValue> deviceValues = new ArrayList<>();
|
List<DeviceValue> deviceValues = new ArrayList<>();
|
||||||
List<LoadTypeValue> loadtypes = userUtil.getLoadTypeValue(deviceLindexs);
|
List<LoadTypeValue> loadtypes = userUtil.getLoadTypeValue(deviceLindexs);
|
||||||
if (CollectionUtils.isEmpty(loadtypes)) {
|
if (CollectionUtils.isEmpty(loadtypes)) {
|
||||||
@@ -961,7 +991,7 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
for (LoadTypeValue type : loadtypes) {
|
for (LoadTypeValue type : loadtypes) {
|
||||||
List<Integer> lines = type.getLineIndexs();
|
List<Integer> lines = type.getLineIndexs();
|
||||||
if (!CollectionUtils.isEmpty(lines)) {
|
if (!CollectionUtils.isEmpty(lines)) {
|
||||||
lines = lineMapper.siftLineIndexs(lines, scale, manc, loadtype);
|
lines = lineMapper.siftLineIndexs(lines, scale, manc, loadtype, monitorNature);
|
||||||
DeviceValue deviceValue = new DeviceValue();
|
DeviceValue deviceValue = new DeviceValue();
|
||||||
deviceValue.setName(type.getType());
|
deviceValue.setName(type.getType());
|
||||||
deviceValue.setAmounts(String.valueOf(lines.size()));
|
deviceValue.setAmounts(String.valueOf(lines.size()));
|
||||||
@@ -1008,10 +1038,10 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private DeviceValue getDataIntegralityArea(AreaGeneralData areaGeneralData, Date startTime, Date endTime,
|
private DeviceValue getDataIntegralityArea(AreaGeneralData areaGeneralData, Date startTime, Date endTime,
|
||||||
String scale, String manc, String loadtype) {
|
String scale, String manc, String loadtype, Integer monitorNature) {
|
||||||
DeviceValue deviceValue = new DeviceValue();
|
DeviceValue deviceValue = new DeviceValue();
|
||||||
List<Integer> lines = areaGeneralData.getLineIndexs();
|
List<Integer> lines = areaGeneralData.getLineIndexs();
|
||||||
lines = lineMapper.siftLineIndexs(lines, scale, manc, loadtype);
|
lines = lineMapper.siftLineIndexs(lines, scale, manc, loadtype, monitorNature);
|
||||||
String name = areaGeneralData.getName();
|
String name = areaGeneralData.getName();
|
||||||
deviceValue.setName(name);
|
deviceValue.setName(name);
|
||||||
deviceValue.setAmounts(lines.size() + "");
|
deviceValue.setAmounts(lines.size() + "");
|
||||||
@@ -1055,6 +1085,30 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
return tempLine;
|
return tempLine;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<Integer> getAllGwLine(List<Integer> lines) {
|
||||||
|
if (CollectionUtils.isEmpty(lines)) {
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
List<Integer> lineTemp = new ArrayList<>(lines);
|
||||||
|
List<Integer> tempLine = new ArrayList<>();
|
||||||
|
if (lineTemp.size() > 1000) {
|
||||||
|
int times = lineTemp.size() / 1000 + 1;
|
||||||
|
for (int i = 0; i < times; i++) {
|
||||||
|
if (lineTemp.size() > 1000) {
|
||||||
|
List<Integer> subList = lineTemp.subList(0, 1000);
|
||||||
|
List<Integer> temp = lineMapper.getAllGWLines(subList);
|
||||||
|
subList.clear();
|
||||||
|
tempLine.addAll(temp);
|
||||||
|
} else {
|
||||||
|
tempLine.addAll(lineMapper.getAllGWLines(lineTemp));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
tempLine.addAll(lineMapper.getAllGWLines(lineTemp));
|
||||||
|
}
|
||||||
|
return tempLine;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据监测点索引获取当前的数据完整性
|
* 根据监测点索引获取当前的数据完整性
|
||||||
*
|
*
|
||||||
@@ -7025,6 +7079,96 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
return eventPushLogsDetailMapper.updatEventPushLog(eventDetailIndex, lineId, new Date());
|
return eventPushLogsDetailMapper.updatEventPushLog(eventDetailIndex, lineId, new Date());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<IntegrityAnalysisData> getStatisticalAnalysis(String startTime, String endTime, String area, Integer postType, Integer powerId) {
|
||||||
|
List<IntegrityAnalysisData> list = new ArrayList<>();
|
||||||
|
List<LineInfo> allArea = new ArrayList<>();
|
||||||
|
List<AreaGeneralData> 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<LineInfo> lineInfos = integrityMapper.getLineInfo(item.getLineIndexs(),postType,powerId);
|
||||||
|
allArea.addAll(lineInfos);
|
||||||
|
List<IntegrityAnalysisData.TypeList> 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<IntegrityAnalysisData.TypeList> 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<IntegrityAnalysisData.DataList> getFrontList(List<LineInfo> lineInfos) {
|
||||||
|
List<IntegrityAnalysisData.DataList> result = new ArrayList<>();
|
||||||
|
Map<String,List<LineInfo>> 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<Long,List<LineInfo>> 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<IntegrityAnalysisData.DataList> getLineStatusList(List<LineInfo> lineInfos) {
|
||||||
|
List<IntegrityAnalysisData.DataList> result = new ArrayList<>();
|
||||||
|
Map<Long,List<LineInfo>> 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据电压等级返回基准容量
|
* 根据电压等级返回基准容量
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import com.njcn.pojo.commons.runmanage.SteadyResult;
|
|||||||
import com.njcn.pojo.commons.runmanage.SteadyTable;
|
import com.njcn.pojo.commons.runmanage.SteadyTable;
|
||||||
import com.njcn.pojo.configuration.*;
|
import com.njcn.pojo.configuration.*;
|
||||||
import com.njcn.pojo.data.Legder;
|
import com.njcn.pojo.data.Legder;
|
||||||
import com.njcn.pojo.data.LegderExcel;
|
|
||||||
import com.njcn.pojo.jibei.Dnzljczz;
|
import com.njcn.pojo.jibei.Dnzljczz;
|
||||||
import com.njcn.pojo.jibei.Znycdz;
|
import com.njcn.pojo.jibei.Znycdz;
|
||||||
import com.njcn.pojo.system.Theme;
|
import com.njcn.pojo.system.Theme;
|
||||||
@@ -23,10 +22,6 @@ import com.njcn.shiro.token.TokenManager;
|
|||||||
import com.njcn.utils.AppConfig;
|
import com.njcn.utils.AppConfig;
|
||||||
import com.njcn.utils.PubUtils;
|
import com.njcn.utils.PubUtils;
|
||||||
import com.njcn.utils.UserUtil;
|
import com.njcn.utils.UserUtil;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFCell;
|
|
||||||
import org.apache.poi.xssf.usermodel.XSSFRow;
|
|
||||||
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
|
||||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -37,11 +32,13 @@ import org.springframework.util.StringUtils;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.imageio.stream.FileImageInputStream;
|
import javax.imageio.stream.FileImageInputStream;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.*;
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.*;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author hongawen
|
* @author hongawen
|
||||||
@@ -240,11 +237,6 @@ public class LineServiceImpls implements LineService {
|
|||||||
} else {
|
} else {
|
||||||
steadyData.setAllTime(steadyData.getAllTime() + tempT.getAllTime());
|
steadyData.setAllTime(steadyData.getAllTime() + tempT.getAllTime());
|
||||||
}
|
}
|
||||||
if (steadyData.gettAllTime() == 0) {
|
|
||||||
steadyData.settAllTime(tempT.gettAllTime());
|
|
||||||
} else {
|
|
||||||
steadyData.settAllTime(steadyData.gettAllTime() + tempT.gettAllTime());
|
|
||||||
}
|
|
||||||
if (steadyData.getFrequency() == 3.1415f) {
|
if (steadyData.getFrequency() == 3.1415f) {
|
||||||
steadyData.setFrequency(tempT.getFrequency());
|
steadyData.setFrequency(tempT.getFrequency());
|
||||||
} else {
|
} else {
|
||||||
@@ -327,15 +319,14 @@ public class LineServiceImpls implements LineService {
|
|||||||
return steadyData;
|
return steadyData;
|
||||||
} else {
|
} else {
|
||||||
float allTime = steadyData.getAllTime();
|
float allTime = steadyData.getAllTime();
|
||||||
float tAllTime = steadyData.gettAllTime();
|
|
||||||
//冀北二期 谐波电流 谐波电压 负序电流 间谐波电压含有率 start
|
//冀北二期 谐波电流 谐波电压 负序电流 间谐波电压含有率 start
|
||||||
steadyData.setHarmVoltage(getAcceptlityByData(allTime, steadyData.getHarmVoltage()));
|
steadyData.setHarmVoltage(getAcceptlityByData(allTime, steadyData.getHarmVoltage()));
|
||||||
steadyData.setHarmElec(getAcceptlityByData(allTime, steadyData.getHarmElec()));
|
steadyData.setHarmElec(getAcceptlityByData(allTime, steadyData.getHarmElec()));
|
||||||
steadyData.setiNeg(getAcceptlityByData(tAllTime, steadyData.getiNeg()));
|
steadyData.setiNeg(getAcceptlityByData(allTime, steadyData.getiNeg()));
|
||||||
steadyData.setInUharm(getAcceptlityByData(allTime, steadyData.getInUharm()));
|
steadyData.setInUharm(getAcceptlityByData(allTime, steadyData.getInUharm()));
|
||||||
//冀北二期 谐波电流 谐波电压 负序电流 间谐波电压含有率 end
|
//冀北二期 谐波电流 谐波电压 负序电流 间谐波电压含有率 end
|
||||||
steadyData.setVoltageDeviation(getAcceptlityByData(allTime, steadyData.getVoltageDeviation()));
|
steadyData.setVoltageDeviation(getAcceptlityByData(allTime, steadyData.getVoltageDeviation()));
|
||||||
steadyData.setuBalance(getAcceptlityByData(tAllTime, steadyData.getuBalance()));
|
steadyData.setuBalance(getAcceptlityByData(allTime, steadyData.getuBalance()));
|
||||||
steadyData.setFlicker(getAcceptlityByData(steadyData.getAllFlicker(), steadyData.getFlicker()));
|
steadyData.setFlicker(getAcceptlityByData(steadyData.getAllFlicker(), steadyData.getFlicker()));
|
||||||
steadyData.setOddVoltage(getAcceptlityByData(allTime, steadyData.getOddVoltage()));
|
steadyData.setOddVoltage(getAcceptlityByData(allTime, steadyData.getOddVoltage()));
|
||||||
steadyData.setEvenVoltage(getAcceptlityByData(allTime, steadyData.getEvenVoltage()));
|
steadyData.setEvenVoltage(getAcceptlityByData(allTime, steadyData.getEvenVoltage()));
|
||||||
|
|||||||
@@ -50,36 +50,57 @@ public class COverlimitUtil {
|
|||||||
return overlimit;
|
return overlimit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电压偏差限值
|
* 电压偏差限值-冀北现场
|
||||||
*
|
* 220V 上偏差 +7% 下偏差 -10%
|
||||||
|
* 220V以上35kV以下 上偏差 +7% 下偏差 -7%
|
||||||
|
* 35kV及以上 上偏差 +7% 下偏差 -3%
|
||||||
*/
|
*/
|
||||||
public static void voltageDeviation(OverLimit overlimit,Float voltageLevel) {
|
public static void voltageDeviation(OverLimit overlimit,Float voltageLevel) {
|
||||||
float voltageDev = 3.14159f,uvoltageDev = 3.14159f;
|
float voltageDev = 3.14159f,uvoltageDev = 3.14159f;
|
||||||
if(voltageLevel <= Float.parseFloat(DicDataEnum.V220.getCode())){
|
if(voltageLevel <= Float.parseFloat(DicDataEnum.V220.getCode())){
|
||||||
voltageDev = 7.0f;
|
voltageDev = 7.0f;
|
||||||
uvoltageDev=-10.0f;
|
uvoltageDev=-10.0f;
|
||||||
}else if(voltageLevel>Float.parseFloat(DicDataEnum.V220.getCode())&&voltageLevel<Float.parseFloat(DicDataEnum.KV20.getCode())){
|
}else if(voltageLevel>Float.parseFloat(DicDataEnum.V220.getCode())&&voltageLevel<Float.parseFloat(DicDataEnum.KV35.getCode())){
|
||||||
voltageDev = 7.0f;
|
voltageDev = 7.0f;
|
||||||
uvoltageDev=-7.0f;
|
uvoltageDev=-7.0f;
|
||||||
}else if(voltageLevel>=Float.parseFloat(DicDataEnum.KV20.getCode())&&voltageLevel<Float.parseFloat(DicDataEnum.KV35.getCode())){
|
}else if(voltageLevel>=Float.parseFloat(DicDataEnum.KV35.getCode())){
|
||||||
voltageDev = 7.0f;
|
|
||||||
uvoltageDev=-7.0f;
|
|
||||||
}else if(voltageLevel>=Float.parseFloat(DicDataEnum.KV35.getCode())&&voltageLevel<Float.parseFloat(DicDataEnum.KV66.getCode())){
|
|
||||||
voltageDev = 10.0f;
|
|
||||||
uvoltageDev=-10.0f;
|
|
||||||
}else if(voltageLevel>=Float.parseFloat(DicDataEnum.KV66.getCode())&&voltageLevel<=Float.parseFloat(DicDataEnum.KV110.getCode())){
|
|
||||||
voltageDev = 7.0f;
|
voltageDev = 7.0f;
|
||||||
uvoltageDev=-3.0f;
|
uvoltageDev=-3.0f;
|
||||||
}else if(voltageLevel>Float.parseFloat(DicDataEnum.KV110.getCode())){
|
|
||||||
voltageDev = 10.0f;
|
|
||||||
uvoltageDev=-10.0f;
|
|
||||||
}
|
}
|
||||||
overlimit.setVoltageDev(voltageDev);
|
overlimit.setVoltageDev(voltageDev);
|
||||||
overlimit.setUvoltageDev(uvoltageDev);
|
overlimit.setUvoltageDev(uvoltageDev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * 电压偏差限值
|
||||||
|
// *
|
||||||
|
// */
|
||||||
|
// public static void voltageDeviation(OverLimit overlimit,Float voltageLevel) {
|
||||||
|
// float voltageDev = 3.14159f,uvoltageDev = 3.14159f;
|
||||||
|
// if(voltageLevel <= Float.parseFloat(DicDataEnum.V220.getCode())){
|
||||||
|
// voltageDev = 7.0f;
|
||||||
|
// uvoltageDev=-10.0f;
|
||||||
|
// }else if(voltageLevel>Float.parseFloat(DicDataEnum.V220.getCode())&&voltageLevel<Float.parseFloat(DicDataEnum.KV20.getCode())){
|
||||||
|
// voltageDev = 7.0f;
|
||||||
|
// uvoltageDev=-7.0f;
|
||||||
|
// }else if(voltageLevel>=Float.parseFloat(DicDataEnum.KV20.getCode())&&voltageLevel<Float.parseFloat(DicDataEnum.KV35.getCode())){
|
||||||
|
// voltageDev = 7.0f;
|
||||||
|
// uvoltageDev=-7.0f;
|
||||||
|
// }else if(voltageLevel>=Float.parseFloat(DicDataEnum.KV35.getCode())&&voltageLevel<Float.parseFloat(DicDataEnum.KV66.getCode())){
|
||||||
|
// voltageDev = 10.0f;
|
||||||
|
// uvoltageDev=-10.0f;
|
||||||
|
// }else if(voltageLevel>=Float.parseFloat(DicDataEnum.KV66.getCode())&&voltageLevel<=Float.parseFloat(DicDataEnum.KV110.getCode())){
|
||||||
|
// voltageDev = 7.0f;
|
||||||
|
// uvoltageDev=-3.0f;
|
||||||
|
// }else if(voltageLevel>Float.parseFloat(DicDataEnum.KV110.getCode())){
|
||||||
|
// voltageDev = 10.0f;
|
||||||
|
// uvoltageDev=-10.0f;
|
||||||
|
// }
|
||||||
|
// overlimit.setVoltageDev(voltageDev);
|
||||||
|
// overlimit.setUvoltageDev(uvoltageDev);
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 频率偏差
|
* 频率偏差
|
||||||
|
|||||||
@@ -1961,7 +1961,7 @@ public class UserUtil {
|
|||||||
/**
|
/**
|
||||||
* 根据电压等级、干扰源类型、终端厂家筛选
|
* 根据电压等级、干扰源类型、终端厂家筛选
|
||||||
*/
|
*/
|
||||||
public List<AreaGeneralData> siftAreaGeneralData(List<AreaGeneralData> areaGeneralDatas, String scale, String manc, String loadType) {
|
public List<AreaGeneralData> siftAreaGeneralData(List<AreaGeneralData> areaGeneralDatas, String scale, String manc, String loadType, String devLocation) {
|
||||||
List<AreaGeneralData> result = new ArrayList<>();
|
List<AreaGeneralData> result = new ArrayList<>();
|
||||||
|
|
||||||
for (AreaGeneralData areaGeneralData : areaGeneralDatas) {
|
for (AreaGeneralData areaGeneralData : areaGeneralDatas) {
|
||||||
@@ -1970,7 +1970,7 @@ public class UserUtil {
|
|||||||
if (CollectionUtils.isEmpty(lineIndexs)) {
|
if (CollectionUtils.isEmpty(lineIndexs)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
List<IndexsCount> indexs = lineMapper.siftAllIndexs(lineIndexs, scale, manc, loadType);
|
List<IndexsCount> indexs = lineMapper.siftAllIndexs(lineIndexs, scale, manc, loadType, devLocation);
|
||||||
if (CollectionUtils.isEmpty(indexs)) {
|
if (CollectionUtils.isEmpty(indexs)) {
|
||||||
areaGeneralDataTmp.setMonitors(0);
|
areaGeneralDataTmp.setMonitors(0);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ public class DeviceStatusController {
|
|||||||
*/
|
*/
|
||||||
@PostMapping("deviceStatus")
|
@PostMapping("deviceStatus")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public HttpResult getDeviceStatus(String overview, String area,String scale,String manc,String loadtype,
|
public HttpResult getDeviceStatus(String overview, String area,String scale,String manc,String loadtype,Integer monitorNature,
|
||||||
HttpServletRequest request,String startTime,String endTime) {
|
HttpServletRequest request,String startTime,String endTime) {
|
||||||
HttpResult result=PubUtils.initResult(TokenManager.getToken().getLoginName(),request,LogTypeEnum.BUSSINESS.toString(),0);
|
HttpResult result=PubUtils.initResult(TokenManager.getToken().getLoginName(),request,LogTypeEnum.BUSSINESS.toString(),0);
|
||||||
DeviceGeneral data ;
|
DeviceGeneral data ;
|
||||||
@@ -64,7 +64,7 @@ public class DeviceStatusController {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
data=deviceService.getDeviceSiftData(overview,area,scale,manc,loadtype,datePojo.getStartTime(),datePojo.getEndTime());
|
data=deviceService.getDeviceSiftData(overview,area,scale,manc,loadtype,monitorNature,datePojo.getStartTime(),datePojo.getEndTime());
|
||||||
if(null==data){
|
if(null==data){
|
||||||
result = PubUtils.assignmentResultLog(null, 500, "获取终端运行数据为空","查询稳态终端状态","成功",result);
|
result = PubUtils.assignmentResultLog(null, 500, "获取终端运行数据为空","查询稳态终端状态","成功",result);
|
||||||
}else{
|
}else{
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import com.njcn.pojo.commons.DatePojo;
|
|||||||
import com.njcn.pojo.commons.HttpResult;
|
import com.njcn.pojo.commons.HttpResult;
|
||||||
import com.njcn.pojo.commons.device.DeviceGeneral;
|
import com.njcn.pojo.commons.device.DeviceGeneral;
|
||||||
import com.njcn.pojo.commons.device.LineDetailInfo;
|
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.commons.runmanage.IntergralityData;
|
||||||
import com.njcn.pojo.configuration.*;
|
import com.njcn.pojo.configuration.*;
|
||||||
import com.njcn.service.configuration.DeviceService;
|
import com.njcn.service.configuration.DeviceService;
|
||||||
@@ -37,6 +38,7 @@ import java.io.InputStreamReader;
|
|||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -115,7 +117,7 @@ public class IntegralityController {
|
|||||||
*/
|
*/
|
||||||
@PostMapping("getIntegrityData")
|
@PostMapping("getIntegrityData")
|
||||||
@ResponseBody
|
@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);
|
HttpResult result = PubUtils.initResult(TokenManager.getToken().getLoginName(), request, LogTypeEnum.BUSSINESS.toString(), 0);
|
||||||
DatePojo datePojo;
|
DatePojo datePojo;
|
||||||
datePojo = PubUtils.validateDate(startTime, endTime, "getIntegrityData");
|
datePojo = PubUtils.validateDate(startTime, endTime, "getIntegrityData");
|
||||||
@@ -125,7 +127,7 @@ public class IntegralityController {
|
|||||||
}
|
}
|
||||||
IntergralityData intergralityData;
|
IntergralityData intergralityData;
|
||||||
try {
|
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) {
|
if (null == intergralityData) {
|
||||||
result = PubUtils.assignmentResultLog(null, 500, "获取监测点数据完整性数据为空", "查询完整性列表", "成功", result);
|
result = PubUtils.assignmentResultLog(null, 500, "获取监测点数据完整性数据为空", "查询完整性列表", "成功", result);
|
||||||
} else {
|
} else {
|
||||||
@@ -150,7 +152,7 @@ public class IntegralityController {
|
|||||||
@PostMapping("dataIntegrality")
|
@PostMapping("dataIntegrality")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public HttpResult dataIntegrality(String startTime, String endTime, String overview, String area,
|
public HttpResult dataIntegrality(String startTime, String endTime, String overview, String area,
|
||||||
String scale, String manc, String loadtype, HttpServletRequest request) {
|
String scale, String manc, String loadtype, Integer monitorNature, HttpServletRequest request) {
|
||||||
HttpResult result = PubUtils.initResult(TokenManager.getToken().getLoginName(), request, LogTypeEnum.BUSSINESS.toString(), 0);
|
HttpResult result = PubUtils.initResult(TokenManager.getToken().getLoginName(), request, LogTypeEnum.BUSSINESS.toString(), 0);
|
||||||
DatePojo datePojo;
|
DatePojo datePojo;
|
||||||
datePojo = PubUtils.validateDate(startTime, endTime, "dataIntegrality");
|
datePojo = PubUtils.validateDate(startTime, endTime, "dataIntegrality");
|
||||||
@@ -160,7 +162,7 @@ public class IntegralityController {
|
|||||||
}
|
}
|
||||||
DeviceGeneral data;
|
DeviceGeneral data;
|
||||||
try {
|
try {
|
||||||
data = deviceService.getDataIntegrality(datePojo.getStartTime(), datePojo.getEndTime(), overview, area, scale, manc, loadtype);
|
data = deviceService.getDataIntegrality(datePojo.getStartTime(), datePojo.getEndTime(), overview, area, scale, manc, loadtype, monitorNature);
|
||||||
if (null == data) {
|
if (null == data) {
|
||||||
result = PubUtils.assignmentResultLog(null, 500, "获取数据完整性数据为空", "查询数据完整性", "成功", result);
|
result = PubUtils.assignmentResultLog(null, 500, "获取数据完整性数据为空", "查询数据完整性", "成功", result);
|
||||||
} else {
|
} else {
|
||||||
@@ -327,4 +329,35 @@ public class IntegralityController {
|
|||||||
}
|
}
|
||||||
return result;
|
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<IntegrityAnalysisData> 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -458,4 +458,12 @@ public class BusinessController {
|
|||||||
return modelAndView;
|
return modelAndView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 跳转按地市统计监测点运行状态、前置机统计
|
||||||
|
*/
|
||||||
|
@RequestMapping("statisticalAnalysis")
|
||||||
|
public String statisticalAnalysis() {
|
||||||
|
return "business/manage/statisticalAnalysis";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1171,29 +1171,6 @@ public class DeviceController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据监测点的电压等级获取电压偏差的下限,因为目前oracle库中只有上限的值
|
|
||||||
*/
|
|
||||||
public Float getDevLowLimit(Integer line,Float upLimit) {
|
|
||||||
float low = 0.0f;
|
|
||||||
MachineAccount machineAccount = lineService.getLineName(line);
|
|
||||||
if (!Objects.isNull(machineAccount.getScale()) || !"".equals(machineAccount.getScale())) {
|
|
||||||
float nScale = Float.parseFloat(machineAccount.getScale().substring(0, machineAccount.getScale().length() - 2));
|
|
||||||
if (Objects.equals(nScale,220.0f) || nScale <= 20.0f) {
|
|
||||||
low = 0.0f;
|
|
||||||
} else if (nScale >= 66.0f && nScale <= 110.0f) {
|
|
||||||
low = -3.0f;
|
|
||||||
} else if (Objects.equals(nScale,35.0f)) {
|
|
||||||
if (upLimit >= 0.0f) {
|
|
||||||
low = -(10.0f - upLimit);
|
|
||||||
} else {
|
|
||||||
low = 10.0f - Math.abs(upLimit);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return low;
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostMapping("getHistoryTableData")
|
@PostMapping("getHistoryTableData")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public HttpResult getHistoryTableData(String startTime, String endTime, String lineId, String type, String index, String harmonicInHarms) {
|
public HttpResult getHistoryTableData(String startTime, String endTime, String lineId, String type, String index, String harmonicInHarms) {
|
||||||
@@ -1292,7 +1269,8 @@ public class DeviceController {
|
|||||||
tempCondition.setPltCount(overLimitInfo.getPltCount());
|
tempCondition.setPltCount(overLimitInfo.getPltCount());
|
||||||
tempCondition.setPstCount(overLimitInfo.getPstCount());
|
tempCondition.setPstCount(overLimitInfo.getPstCount());
|
||||||
saveConditionData(tempCondition, key);
|
saveConditionData(tempCondition, key);
|
||||||
Float low = getDevLowLimit(lineIds[j],new Pass(overLimitInfo.getOverLimitRate().get(0).getVoltageDev(), EnumPass.MAX_AND_MIN.getCode()).getOverLimit());
|
//电压下偏差
|
||||||
|
Float low = overLimitInfo.getOverLimitRate().get(0).getUvoltageDev();
|
||||||
for (int i = 0; i < types.length; i++) {
|
for (int i = 0; i < types.length; i++) {
|
||||||
HistoryTableData.data data;
|
HistoryTableData.data data;
|
||||||
List<ReportTarget> list1;
|
List<ReportTarget> list1;
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.pqs9000.controller.responsibility;
|
package com.pqs9000.controller.responsibility;
|
||||||
|
|
||||||
import cn.hutool.json.JSONArray;
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.njcn.pojo.commons.DatePojo;
|
import com.njcn.pojo.commons.DatePojo;
|
||||||
import com.njcn.pojo.commons.HttpResult;
|
import com.njcn.pojo.commons.HttpResult;
|
||||||
@@ -8,10 +7,8 @@ import com.njcn.pojo.commons.RedisDB;
|
|||||||
import com.njcn.utils.PubUtils;
|
import com.njcn.utils.PubUtils;
|
||||||
import com.njcn.utils.redis.JedisManager;
|
import com.njcn.utils.redis.JedisManager;
|
||||||
import com.pqs9000.pojo.responsibility.AreaOverNoraml;
|
import com.pqs9000.pojo.responsibility.AreaOverNoraml;
|
||||||
import com.pqs9000.pojo.responsibility.OverLimitMonitor;
|
|
||||||
import com.pqs9000.service.responsibility.AreaOverNoramlService;
|
import com.pqs9000.service.responsibility.AreaOverNoramlService;
|
||||||
import com.pqs9000.util.ComplexHeadExcel;
|
import com.pqs9000.util.ComplexHeadExcel;
|
||||||
import org.apache.commons.lang.StringUtils;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -23,7 +20,6 @@ import org.springframework.web.bind.annotation.ResponseBody;
|
|||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -54,7 +50,7 @@ public class ResponsibilityAreaOverNormalController {
|
|||||||
|
|
||||||
@PostMapping("/overLimitData")
|
@PostMapping("/overLimitData")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public HttpResult overLimit(String startTime, String endTime, String type, int statistic, boolean statFlag){
|
public HttpResult overLimit(String startTime, String endTime, String type, int statistic, boolean statFlag, Integer monitorNature){
|
||||||
HttpResult result;
|
HttpResult result;
|
||||||
DatePojo datePojo;
|
DatePojo datePojo;
|
||||||
datePojo = PubUtils.validateDate(startTime, endTime, "overLimitData");
|
datePojo = PubUtils.validateDate(startTime, endTime, "overLimitData");
|
||||||
@@ -64,7 +60,7 @@ public class ResponsibilityAreaOverNormalController {
|
|||||||
}
|
}
|
||||||
List<AreaOverNoraml> list;
|
List<AreaOverNoraml> list;
|
||||||
try {
|
try {
|
||||||
list = areaOverNoramlService.getOverLimitData(startTime,endTime,type,statistic,statFlag);
|
list = areaOverNoramlService.getOverLimitData(startTime,endTime,type,statistic,statFlag,monitorNature);
|
||||||
result = PubUtils.assignmentResult(list, 200, "获取区域稳态指标超标成功");
|
result = PubUtils.assignmentResult(list, 200, "获取区域稳态指标超标成功");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
result = PubUtils.assignmentResult(null, 500, "获取区域稳态指标超标异常");
|
result = PubUtils.assignmentResult(null, 500, "获取区域稳态指标超标异常");
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ import com.pqs9000.pojo.report.ReportValue;
|
|||||||
public interface GetICurrentMapper {
|
public interface GetICurrentMapper {
|
||||||
List<Map<String, Object>> getICurrent(@Param("condition") Condition condition, @Param("listValue") List<Integer> list);
|
List<Map<String, Object>> getICurrent(@Param("condition") Condition condition, @Param("listValue") List<Integer> list);
|
||||||
|
|
||||||
|
List<Map<String, Object>> getICurrentNew(@Param("condition") Condition condition);
|
||||||
|
|
||||||
List<Map<String, Object>> getHICurrent(@Param("condition") Condition condition);
|
List<Map<String, Object>> getHICurrent(@Param("condition") Condition condition);
|
||||||
|
|
||||||
ReportValue VsideValue(@Param("condition") Condition condition);
|
ReportValue VsideValue(@Param("condition") Condition condition);
|
||||||
|
|||||||
@@ -57,5 +57,5 @@ public interface AreaOverNormalMapper {
|
|||||||
*/
|
*/
|
||||||
AreaOverNoraml getAvg(@Param("list") List<Integer> list, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
AreaOverNoraml getAvg(@Param("list") List<Integer> list, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
|
|
||||||
|
List<Integer> getMonitorNature(@Param("list") List<Integer> list,@Param("powerId") Integer powerId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,12 @@ public interface OverLimitMonitorMapper {
|
|||||||
List<String> getLineList(@Param("startTime") String startTime, @Param("endTime") String endTime);
|
List<String> getLineList(@Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电压偏差、电压总谐波畸变率、三相电压不平衡度、频率偏差 幅值&&限值&&差值
|
* 电压偏差 幅值&&限值&&差值
|
||||||
|
*/
|
||||||
|
List<TargetDetailDto> getData0(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("list") List<String> lineList);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电压总谐波畸变率、三相电压不平衡度、频率偏差 幅值&&限值&&差值
|
||||||
*/
|
*/
|
||||||
List<TargetDetailDto> getData1(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("list") List<String> lineList);
|
List<TargetDetailDto> getData1(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("list") List<String> lineList);
|
||||||
|
|
||||||
@@ -26,7 +31,7 @@ public interface OverLimitMonitorMapper {
|
|||||||
List<TargetDetailDto> getData2(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("list") List<String> lineList);
|
List<TargetDetailDto> getData2(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("list") List<String> lineList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 负序电流 幅值&&限值&&差值
|
* 长时闪变 幅值&&限值&&差值
|
||||||
*/
|
*/
|
||||||
List<TargetDetailDto> getData3(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("list") List<String> lineList);
|
List<TargetDetailDto> getData3(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("list") List<String> lineList);
|
||||||
|
|
||||||
|
|||||||
@@ -46,6 +46,9 @@ public class OverLimitMonitor {
|
|||||||
//协议容量
|
//协议容量
|
||||||
private Float xycMp;
|
private Float xycMp;
|
||||||
|
|
||||||
|
//监测装置安装位置
|
||||||
|
private String devLocation;
|
||||||
|
|
||||||
//超标天数
|
//超标天数
|
||||||
private int overLimitDay;
|
private int overLimitDay;
|
||||||
|
|
||||||
@@ -750,6 +753,14 @@ public class OverLimitMonitor {
|
|||||||
this.diffFlickerData = diffFlickerData;
|
this.diffFlickerData = diffFlickerData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getDevLocation() {
|
||||||
|
return devLocation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDevLocation(String devLocation) {
|
||||||
|
this.devLocation = devLocation;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "OverLimitMonitor{" +
|
return "OverLimitMonitor{" +
|
||||||
@@ -766,6 +777,7 @@ public class OverLimitMonitor {
|
|||||||
", dlcMp=" + dlcMp +
|
", dlcMp=" + dlcMp +
|
||||||
", devcMp=" + devcMp +
|
", devcMp=" + devcMp +
|
||||||
", xycMp=" + xycMp +
|
", xycMp=" + xycMp +
|
||||||
|
", devLocation='" + devLocation + '\'' +
|
||||||
", overLimitDay=" + overLimitDay +
|
", overLimitDay=" + overLimitDay +
|
||||||
", overVoltageDeviationDay=" + overVoltageDeviationDay +
|
", overVoltageDeviationDay=" + overVoltageDeviationDay +
|
||||||
", maxVoltageDeviationData=" + maxVoltageDeviationData +
|
", maxVoltageDeviationData=" + maxVoltageDeviationData +
|
||||||
|
|||||||
@@ -15,8 +15,14 @@ public class TargetDetailDto {
|
|||||||
//电压偏差最大幅值
|
//电压偏差最大幅值
|
||||||
private Double maxVoltageDeviationData;
|
private Double maxVoltageDeviationData;
|
||||||
|
|
||||||
//电压偏差限值
|
//电压偏差最小幅值
|
||||||
private Double limitVoltageDeviationData;
|
private Double minVoltageDeviationData;
|
||||||
|
|
||||||
|
//电压上偏差限值
|
||||||
|
private Double limitUpVoltageDeviationData;
|
||||||
|
|
||||||
|
//电压下偏差限值
|
||||||
|
private Double limitLowVoltageDeviationData;
|
||||||
|
|
||||||
//电压偏差差值
|
//电压偏差差值
|
||||||
private Double diffVoltageDeviationData;
|
private Double diffVoltageDeviationData;
|
||||||
@@ -115,12 +121,28 @@ public class TargetDetailDto {
|
|||||||
this.maxVoltageDeviationData = maxVoltageDeviationData;
|
this.maxVoltageDeviationData = maxVoltageDeviationData;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Double getLimitVoltageDeviationData() {
|
public Double getMinVoltageDeviationData() {
|
||||||
return limitVoltageDeviationData;
|
return minVoltageDeviationData;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLimitVoltageDeviationData(Double limitVoltageDeviationData) {
|
public void setMinVoltageDeviationData(Double minVoltageDeviationData) {
|
||||||
this.limitVoltageDeviationData = limitVoltageDeviationData;
|
this.minVoltageDeviationData = minVoltageDeviationData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getLimitUpVoltageDeviationData() {
|
||||||
|
return limitUpVoltageDeviationData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLimitUpVoltageDeviationData(Double limitUpVoltageDeviationData) {
|
||||||
|
this.limitUpVoltageDeviationData = limitUpVoltageDeviationData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getLimitLowVoltageDeviationData() {
|
||||||
|
return limitLowVoltageDeviationData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLimitLowVoltageDeviationData(Double limitLowVoltageDeviationData) {
|
||||||
|
this.limitLowVoltageDeviationData = limitLowVoltageDeviationData;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Double getDiffVoltageDeviationData() {
|
public Double getDiffVoltageDeviationData() {
|
||||||
@@ -472,7 +494,9 @@ public class TargetDetailDto {
|
|||||||
return "TargetDetailDto{" +
|
return "TargetDetailDto{" +
|
||||||
"monitorId=" + monitorId +
|
"monitorId=" + monitorId +
|
||||||
", maxVoltageDeviationData=" + maxVoltageDeviationData +
|
", maxVoltageDeviationData=" + maxVoltageDeviationData +
|
||||||
", limitVoltageDeviationData=" + limitVoltageDeviationData +
|
", minVoltageDeviationData=" + minVoltageDeviationData +
|
||||||
|
", limitUpVoltageDeviationData=" + limitUpVoltageDeviationData +
|
||||||
|
", limitLowVoltageDeviationData=" + limitLowVoltageDeviationData +
|
||||||
", diffVoltageDeviationData=" + diffVoltageDeviationData +
|
", diffVoltageDeviationData=" + diffVoltageDeviationData +
|
||||||
", maxVoltageDistortionData=" + maxVoltageDistortionData +
|
", maxVoltageDistortionData=" + maxVoltageDistortionData +
|
||||||
", limitVoltageDistortionData=" + limitVoltageDistortionData +
|
", limitVoltageDistortionData=" + limitVoltageDistortionData +
|
||||||
|
|||||||
@@ -8,5 +8,5 @@ import java.util.List;
|
|||||||
public interface AreaOverNoramlService {
|
public interface AreaOverNoramlService {
|
||||||
|
|
||||||
//获取区域稳态指标超标分类数据
|
//获取区域稳态指标超标分类数据
|
||||||
List<AreaOverNoraml> getOverLimitData(String startTime, String endTime,String type,int statistic,boolean statFlag);
|
List<AreaOverNoraml> getOverLimitData(String startTime, String endTime,String type,int statistic,boolean statFlag, Integer monitorNature);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,8 @@ public class GetICurrentServiceImpl implements GetICurrentService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//获取电流幅值,包含基波
|
//获取电流幅值,包含基波
|
||||||
List<Map<String, Object>> listResult = getICurrentMapper.getICurrent(condition, listValue);
|
// List<Map<String, Object>> listResult = getICurrentMapper.getICurrent(condition, listValue);
|
||||||
|
List<Map<String, Object>> listResult = getICurrentMapper.getICurrentNew(condition);
|
||||||
|
|
||||||
if (0 == listResult.size() || null == listResult.get(0)) {
|
if (0 == listResult.size() || null == listResult.get(0)) {
|
||||||
for (int i = 0; i < 50; i++) {
|
for (int i = 0; i < 50; i++) {
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import com.pqs9000.pojo.responsibility.OverLimitByDays;
|
|||||||
import com.pqs9000.service.responsibility.AreaOverNoramlService;
|
import com.pqs9000.service.responsibility.AreaOverNoramlService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.awt.geom.Arc2D;
|
import java.awt.geom.Arc2D;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
@@ -45,7 +46,7 @@ public class AreaOverNormalServiceImpl implements AreaOverNoramlService {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<AreaOverNoraml> getOverLimitData(String startTime, String endTime,String type,int statistic,boolean statFlag) {
|
public List<AreaOverNoraml> getOverLimitData(String startTime, String endTime,String type,int statistic,boolean statFlag, Integer monitorNature) {
|
||||||
List<Integer> allMonitors = new ArrayList<>();
|
List<Integer> allMonitors = new ArrayList<>();
|
||||||
List<Integer> normalMonitors = new ArrayList<>();
|
List<Integer> normalMonitors = new ArrayList<>();
|
||||||
List<Integer> monitor = new ArrayList<>();
|
List<Integer> monitor = new ArrayList<>();
|
||||||
@@ -64,6 +65,19 @@ public class AreaOverNormalServiceImpl implements AreaOverNoramlService {
|
|||||||
//排除不需要计算的监测点
|
//排除不需要计算的监测点
|
||||||
ag =userUtil.getAreaDataByStatFlagAll(deptsIndex);
|
ag =userUtil.getAreaDataByStatFlagAll(deptsIndex);
|
||||||
}
|
}
|
||||||
|
//新增电网侧\用户侧判断
|
||||||
|
if (!Objects.isNull(monitorNature) && monitorNature != -1) {
|
||||||
|
ag.forEach(item->{
|
||||||
|
List<Integer> line = areaOverNormalMapper.getMonitorNature(item.getLineIndexs(),monitorNature);
|
||||||
|
if (CollectionUtils.isEmpty(line)) {
|
||||||
|
item.setMonitors(0);
|
||||||
|
item.setLineIndexs(line);
|
||||||
|
} else {
|
||||||
|
item.setMonitors(line.size());
|
||||||
|
item.setLineIndexs(line);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
String typename ="";
|
String typename ="";
|
||||||
Theme theme = new Theme();
|
Theme theme = new Theme();
|
||||||
theme.setState(1);
|
theme.setState(1);
|
||||||
|
|||||||
@@ -147,6 +147,10 @@ public class OverLimitMonitorServiceImpl implements OverLimitMonitorService {
|
|||||||
|
|
||||||
public void addHarmonicDetail(String startTime, String endTime, List<String> lineList) throws Exception {
|
public void addHarmonicDetail(String startTime, String endTime, List<String> lineList) throws Exception {
|
||||||
List<DataHarmonicDetail> result = new ArrayList<>();
|
List<DataHarmonicDetail> result = new ArrayList<>();
|
||||||
|
/**
|
||||||
|
* 获取电压偏差的最大幅值绝对值、限值、差值
|
||||||
|
*/
|
||||||
|
List<TargetDetailDto> list0 = overLimitMonitorMapper.getData0(startTime,endTime,lineList);
|
||||||
/**
|
/**
|
||||||
* 获取电压偏差、电压总谐波畸变率、三相电压不平衡度、频率偏差 的 最大幅值、限值、差值
|
* 获取电压偏差、电压总谐波畸变率、三相电压不平衡度、频率偏差 的 最大幅值、限值、差值
|
||||||
*/
|
*/
|
||||||
@@ -257,17 +261,26 @@ public class OverLimitMonitorServiceImpl implements OverLimitMonitorService {
|
|||||||
//组装数据
|
//组装数据
|
||||||
//type数据类型
|
//type数据类型
|
||||||
//0:电压偏差 1:谐波电流 2:谐波电压 3:电压总谐波畸变率 4:谐波电压含有率 5:频率偏差 6:间谐波电压含有率 7:三相电压不平衡度 8:负序电流 9:闪变
|
//0:电压偏差 1:谐波电流 2:谐波电压 3:电压总谐波畸变率 4:谐波电压含有率 5:频率偏差 6:间谐波电压含有率 7:三相电压不平衡度 8:负序电流 9:闪变
|
||||||
if (CollUtil.isNotEmpty(list1)){
|
if (CollUtil.isNotEmpty(list0)){
|
||||||
list1.forEach(item->{
|
list0.forEach(item->{
|
||||||
DataHarmonicDetail pojo = new DataHarmonicDetail();
|
DataHarmonicDetail pojo = new DataHarmonicDetail();
|
||||||
pojo.setTimeId(date);
|
pojo.setTimeId(date);
|
||||||
pojo.setLineId(item.getMonitorId());
|
pojo.setLineId(item.getMonitorId());
|
||||||
pojo.setTargetType(0);
|
pojo.setTargetType(0);
|
||||||
|
if (Math.abs(item.getMaxVoltageDeviationData()) >= Math.abs(item.getMinVoltageDeviationData())) {
|
||||||
pojo.setMaxData(item.getMaxVoltageDeviationData());
|
pojo.setMaxData(item.getMaxVoltageDeviationData());
|
||||||
pojo.setLimitData(item.getLimitVoltageDeviationData());
|
pojo.setLimitData(item.getLimitUpVoltageDeviationData());
|
||||||
pojo.setDiffData(item.getDiffVoltageDeviationData());
|
pojo.setDiffData(item.getMaxVoltageDeviationData()-item.getLimitUpVoltageDeviationData());
|
||||||
|
} else {
|
||||||
|
pojo.setMaxData(item.getMinVoltageDeviationData());
|
||||||
|
pojo.setLimitData(item.getLimitLowVoltageDeviationData());
|
||||||
|
pojo.setDiffData(item.getMinVoltageDeviationData()-item.getLimitLowVoltageDeviationData());
|
||||||
|
}
|
||||||
result.add(pojo);
|
result.add(pojo);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(list1)){
|
||||||
|
list1.forEach(item->{
|
||||||
DataHarmonicDetail pojo2 = new DataHarmonicDetail();
|
DataHarmonicDetail pojo2 = new DataHarmonicDetail();
|
||||||
pojo2.setTimeId(date);
|
pojo2.setTimeId(date);
|
||||||
pojo2.setLineId(item.getMonitorId());
|
pojo2.setLineId(item.getMonitorId());
|
||||||
@@ -363,7 +376,7 @@ public class OverLimitMonitorServiceImpl implements OverLimitMonitorService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(list11)){
|
if (CollUtil.isNotEmpty(list11)){
|
||||||
list9.forEach(item->{
|
list11.forEach(item->{
|
||||||
DataHarmonicDetail pojo = new DataHarmonicDetail();
|
DataHarmonicDetail pojo = new DataHarmonicDetail();
|
||||||
pojo.setTimeId(date);
|
pojo.setTimeId(date);
|
||||||
pojo.setTargetType(6);
|
pojo.setTargetType(6);
|
||||||
|
|||||||
@@ -709,7 +709,7 @@ public class ComplexHeadExcel{
|
|||||||
xssfSheet.addMergedRegion(region12);
|
xssfSheet.addMergedRegion(region12);
|
||||||
CellRangeAddress region13 = new CellRangeAddress(0, 2, 13, 13);
|
CellRangeAddress region13 = new CellRangeAddress(0, 2, 13, 13);
|
||||||
xssfSheet.addMergedRegion(region13);
|
xssfSheet.addMergedRegion(region13);
|
||||||
CellRangeAddress region14 = new CellRangeAddress(0, 0, 14, 70);
|
CellRangeAddress region14 = new CellRangeAddress(0, 0, 14, 69);
|
||||||
xssfSheet.addMergedRegion(region14);
|
xssfSheet.addMergedRegion(region14);
|
||||||
//电压变差
|
//电压变差
|
||||||
CellRangeAddress region15 = new CellRangeAddress(1, 1, 14, 17);
|
CellRangeAddress region15 = new CellRangeAddress(1, 1, 14, 17);
|
||||||
@@ -748,8 +748,11 @@ public class ComplexHeadExcel{
|
|||||||
CellRangeAddress region26 = new CellRangeAddress(1, 1, 62, 69);
|
CellRangeAddress region26 = new CellRangeAddress(1, 1, 62, 69);
|
||||||
xssfSheet.addMergedRegion(region26);
|
xssfSheet.addMergedRegion(region26);
|
||||||
//监测点编号
|
//监测点编号
|
||||||
CellRangeAddress region27 = new CellRangeAddress(1, 2, 70, 70);
|
CellRangeAddress region27 = new CellRangeAddress(0, 2, 70, 70);
|
||||||
xssfSheet.addMergedRegion(region27);
|
xssfSheet.addMergedRegion(region27);
|
||||||
|
//监测装置安装位置
|
||||||
|
CellRangeAddress region28 = new CellRangeAddress(0, 2, 71, 71);
|
||||||
|
xssfSheet.addMergedRegion(region28);
|
||||||
|
|
||||||
//设置单元格大小
|
//设置单元格大小
|
||||||
xssfSheet.setColumnWidth(0, 2000);
|
xssfSheet.setColumnWidth(0, 2000);
|
||||||
@@ -823,6 +826,7 @@ public class ComplexHeadExcel{
|
|||||||
xssfSheet.setColumnWidth(68, 2500);
|
xssfSheet.setColumnWidth(68, 2500);
|
||||||
xssfSheet.setColumnWidth(69, 2500);
|
xssfSheet.setColumnWidth(69, 2500);
|
||||||
xssfSheet.setColumnWidth(70, 2500);
|
xssfSheet.setColumnWidth(70, 2500);
|
||||||
|
xssfSheet.setColumnWidth(71, 2500);
|
||||||
|
|
||||||
//一级表头
|
//一级表头
|
||||||
cell = row.createCell(0);
|
cell = row.createCell(0);
|
||||||
@@ -885,6 +889,14 @@ public class ComplexHeadExcel{
|
|||||||
cell.setCellValue("各项指标超标明细");
|
cell.setCellValue("各项指标超标明细");
|
||||||
cell.setCellStyle(getStyle(1));
|
cell.setCellStyle(getStyle(1));
|
||||||
|
|
||||||
|
cell = row.createCell(70);
|
||||||
|
cell.setCellValue("监测点编号");
|
||||||
|
cell.setCellStyle(getStyle(1));
|
||||||
|
|
||||||
|
cell = row.createCell(71);
|
||||||
|
cell.setCellValue("监测装置安装位置");
|
||||||
|
cell.setCellStyle(getStyle(1));
|
||||||
|
|
||||||
//二级表头
|
//二级表头
|
||||||
cell = row2.createCell(14);
|
cell = row2.createCell(14);
|
||||||
cell.setCellValue("电压偏差");
|
cell.setCellValue("电压偏差");
|
||||||
@@ -934,10 +946,6 @@ public class ComplexHeadExcel{
|
|||||||
cell.setCellValue("各次谐波电流幅值");
|
cell.setCellValue("各次谐波电流幅值");
|
||||||
cell.setCellStyle(getStyle(1));
|
cell.setCellStyle(getStyle(1));
|
||||||
|
|
||||||
cell = row2.createCell(70);
|
|
||||||
cell.setCellValue("监测点编号");
|
|
||||||
cell.setCellStyle(getStyle(1));
|
|
||||||
|
|
||||||
//三级表头
|
//三级表头
|
||||||
cell = row3.createCell(14);
|
cell = row3.createCell(14);
|
||||||
cell.setCellValue("超标天数");
|
cell.setCellValue("超标天数");
|
||||||
@@ -1292,6 +1300,10 @@ public class ComplexHeadExcel{
|
|||||||
|
|
||||||
cell = row.createCell(70);
|
cell = row.createCell(70);
|
||||||
cell.setCellValue(list.get(i).getMonitorNumber());
|
cell.setCellValue(list.get(i).getMonitorNumber());
|
||||||
|
|
||||||
|
cell = row.createCell(71);
|
||||||
|
cell.setCellValue(list.get(i).getDevLocation());
|
||||||
|
|
||||||
xssfWorkbook.write(os);
|
xssfWorkbook.write(os);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -181,6 +181,24 @@
|
|||||||
AND T2.MONITOR_ID IS NOT NULL
|
AND T2.MONITOR_ID IS NOT NULL
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getAllGWLines" resultType="Integer">
|
||||||
|
SELECT
|
||||||
|
T2.LINE_INDEX
|
||||||
|
FROM
|
||||||
|
PQ_LINE t1,
|
||||||
|
PQ_LINEDETAIL t2,
|
||||||
|
PQ_DEVICE t3
|
||||||
|
WHERE
|
||||||
|
T1.LINE_INDEX = T2.LINE_INDEX
|
||||||
|
AND T1.DEV_INDEX=T3.DEV_INDEX
|
||||||
|
AND T1.LINE_INDEX IN
|
||||||
|
<foreach collection="list" item="item" open="(" close=")"
|
||||||
|
separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
AND T2.MONITOR_ID IS NOT NULL
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="getLineByEventDetailIndex" resultType="line">
|
<select id="getLineByEventDetailIndex" resultType="line">
|
||||||
select t1.*
|
select t1.*
|
||||||
from PQ_LINE t1,
|
from PQ_LINE t1,
|
||||||
@@ -776,6 +794,9 @@
|
|||||||
and b.loadtype = #{loadtype}
|
and b.loadtype = #{loadtype}
|
||||||
</if>
|
</if>
|
||||||
</if>
|
</if>
|
||||||
|
<if test="monitorNature != null">
|
||||||
|
and b.POWERID = #{monitorNature}
|
||||||
|
</if>
|
||||||
and a.line_index in
|
and a.line_index in
|
||||||
<foreach collection="list" item="item" separator="," open="("
|
<foreach collection="list" item="item" separator="," open="("
|
||||||
close=")">
|
close=")">
|
||||||
@@ -807,6 +828,9 @@
|
|||||||
and b.loadtype = #{loadtype}
|
and b.loadtype = #{loadtype}
|
||||||
</if>
|
</if>
|
||||||
</if>
|
</if>
|
||||||
|
<if test="devLocation != null and devLocation != ''">
|
||||||
|
and d.DEV_LOCATION = #{devLocation}
|
||||||
|
</if>
|
||||||
and a.line_index in
|
and a.line_index in
|
||||||
<foreach collection="list" item="item" separator="," open="("
|
<foreach collection="list" item="item" separator="," open="("
|
||||||
close=")">
|
close=")">
|
||||||
|
|||||||
@@ -83,7 +83,8 @@
|
|||||||
T2.NAME lineName,
|
T2.NAME lineName,
|
||||||
T2.line_index lineId,
|
T2.line_index lineId,
|
||||||
T1.integrity integrity,
|
T1.integrity integrity,
|
||||||
T9.dic_name devType
|
T9.dic_name devType,
|
||||||
|
T10.NODE_NAME frontDev
|
||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
@@ -109,7 +110,8 @@
|
|||||||
PQ_GDINFORMATION T6,
|
PQ_GDINFORMATION T6,
|
||||||
PQ_SUBSTATION T7,
|
PQ_SUBSTATION T7,
|
||||||
PQS_DICDATA T8,
|
PQS_DICDATA T8,
|
||||||
PQS_DICDATA T9
|
PQS_DICDATA T9,
|
||||||
|
NODEINFORMATION T10
|
||||||
WHERE
|
WHERE
|
||||||
T1.LINE_INDEX = T2.LINE_INDEX
|
T1.LINE_INDEX = T2.LINE_INDEX
|
||||||
AND T2.DEV_INDEX = T3.DEV_INDEX
|
AND T2.DEV_INDEX = T3.DEV_INDEX
|
||||||
@@ -119,6 +121,7 @@
|
|||||||
AND T2.SUB_INDEX=T7.SUB_INDEX
|
AND T2.SUB_INDEX=T7.SUB_INDEX
|
||||||
AND T2.SCALE=T8.DIC_INDEX
|
AND T2.SCALE=T8.DIC_INDEX
|
||||||
AND T9.DIC_INDEX = T3.DEVTYPE
|
AND T9.DIC_INDEX = T3.DEVTYPE
|
||||||
|
AND T3.NODE_INDEX = T10.NODE_INDEX
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectGWIntegrityData" resultType="intergralityTable" >
|
<select id="selectGWIntegrityData" resultType="intergralityTable" >
|
||||||
@@ -136,7 +139,8 @@
|
|||||||
T2.NAME lineName,
|
T2.NAME lineName,
|
||||||
T2.line_index lineId,
|
T2.line_index lineId,
|
||||||
T1.integrity integrity,
|
T1.integrity integrity,
|
||||||
T9.dic_name devType
|
T9.dic_name devType,
|
||||||
|
T10.NODE_NAME frontDev
|
||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
@@ -162,7 +166,8 @@
|
|||||||
PQ_GDINFORMATION T6,
|
PQ_GDINFORMATION T6,
|
||||||
PQ_SUBSTATION T7,
|
PQ_SUBSTATION T7,
|
||||||
PQS_DICDATA T8,
|
PQS_DICDATA T8,
|
||||||
PQS_DICDATA T9
|
PQS_DICDATA T9,
|
||||||
|
NODEINFORMATION T10
|
||||||
WHERE
|
WHERE
|
||||||
T1.LINE_INDEX = T2.LINE_INDEX
|
T1.LINE_INDEX = T2.LINE_INDEX
|
||||||
AND T2.DEV_INDEX = T3.DEV_INDEX
|
AND T2.DEV_INDEX = T3.DEV_INDEX
|
||||||
@@ -172,6 +177,33 @@
|
|||||||
AND T2.SUB_INDEX=T7.SUB_INDEX
|
AND T2.SUB_INDEX=T7.SUB_INDEX
|
||||||
AND T2.SCALE=T8.DIC_INDEX
|
AND T2.SCALE=T8.DIC_INDEX
|
||||||
AND T9.DIC_INDEX = T3.DEVTYPE
|
AND T9.DIC_INDEX = T3.DEVTYPE
|
||||||
|
AND T3.NODE_INDEX = T10.NODE_INDEX
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getLineInfo" resultType="com.njcn.pojo.commons.device.LineInfo">
|
||||||
|
SELECT
|
||||||
|
PL.LINE_INDEX AS line_index,
|
||||||
|
PL.NAME AS lineName,
|
||||||
|
n.NODE_NAME AS devName,
|
||||||
|
PL.STATUS AS status
|
||||||
|
FROM
|
||||||
|
PQ_LINE PL
|
||||||
|
JOIN PQ_DEVICE pd ON PL.DEV_INDEX = pd.DEV_INDEX
|
||||||
|
JOIN NODEINFORMATION n ON pd.NODE_INDEX = n.NODE_INDEX
|
||||||
|
JOIN PQ_LINEDETAIL pl2 ON PL.LINE_INDEX = pl2.LINE_INDEX
|
||||||
|
<where>
|
||||||
|
PL.LINE_INDEX IN <foreach collection="list" item="item" open="(" close=")" separator=",">#{item}</foreach>
|
||||||
|
<if test="postType != null and postType != ' '">
|
||||||
|
<if test="postType == 0">
|
||||||
|
AND pl2.MONITOR_ID IS NOT NULL
|
||||||
|
</if>
|
||||||
|
<if test="postType == 1">
|
||||||
|
AND pl2.MONITOR_ID IS NULL
|
||||||
|
</if>
|
||||||
|
</if>
|
||||||
|
<if test="powerId != null and powerId != ' '">
|
||||||
|
AND pl2.POWERID = #{powerId}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -412,32 +412,35 @@
|
|||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
MYINDEX line_index,
|
B.MYINDEX,
|
||||||
ROUND((SUM(ALLTIME * TInterval) - SUM(UBalance_OverTime * TInterval) ) / SUM(ALLTIME * TInterval), 4 ) * 100 uBalance,
|
CASE WHEN SUM(B.allTime) = 0 THEN 0 else ROUND((SUM(B.allTime) - SUM(B.UBALANCE)) / SUM(B.allTime), 4) * 100 end uBalance,
|
||||||
ROUND(
|
CASE WHEN SUM(B.allTime) = 0 THEN 0 else ROUND((SUM(B.allTime) - SUM(B.iNeg))/ SUM(B.allTime), 4) * 100 end iNeg
|
||||||
(
|
|
||||||
CASE
|
|
||||||
WHEN SUM(I_NEG_OVERTIME * TInterval) IS NULL THEN
|
|
||||||
1 ELSE ( SUM(ALLTIME * TInterval) - SUM(I_NEG_OVERTIME * TInterval) ) / SUM(ALLTIME * TInterval)
|
|
||||||
END
|
|
||||||
),
|
|
||||||
4
|
|
||||||
) * 100 iNeg
|
|
||||||
FROM
|
FROM
|
||||||
LIMIT_RATE
|
(
|
||||||
|
SELECT
|
||||||
|
lr.MYINDEX,
|
||||||
|
lr.TIMEID,
|
||||||
|
MAX(lr.allTime * pl.TINTERVAL) allTime,
|
||||||
|
MAX(lr.UBALANCE_OVERTIME * pl.TINTERVAL) UBALANCE,
|
||||||
|
MAX(lr.I_NEG_OVERTIME * pl.TINTERVAL) iNeg
|
||||||
|
FROM
|
||||||
|
LIMIT_RATE lr
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
PQ_LINEDETAIL ON MYINDEX = LINE_INDEX
|
PQ_LINEDETAIL pl ON
|
||||||
|
lr.MYINDEX = pl.LINE_INDEX
|
||||||
WHERE
|
WHERE
|
||||||
|
|
||||||
timeid between #{startTime} and #{endTime}
|
timeid between #{startTime} and #{endTime}
|
||||||
and myindex in
|
and myindex in
|
||||||
<foreach collection="list" item="item" open="(" close=")" separator=",">
|
<foreach collection="list" item="item" open="(" close=")" separator=",">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
AND PHASIC_TYPE IN ('A', 'B', 'C')
|
and lr.PHASIC_TYPE IN ('A', 'B', 'C')
|
||||||
GROUP BY MYINDEX
|
GROUP BY lr.MYINDEX, lr.TIMEID
|
||||||
) B
|
) B
|
||||||
ON
|
GROUP BY B.MYINDEX
|
||||||
A.line_index = B.line_index
|
)B
|
||||||
|
ON A.line_index = B.MYINDEX
|
||||||
) T1,
|
) T1,
|
||||||
PQ_LINE T2,
|
PQ_LINE T2,
|
||||||
PQ_DEVICE T3,
|
PQ_DEVICE T3,
|
||||||
@@ -581,7 +584,6 @@
|
|||||||
left join
|
left join
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
SUM(B.tAllTime) tAllTime,
|
|
||||||
SUM(B.UBALANCE) UBALANCE,
|
SUM(B.UBALANCE) UBALANCE,
|
||||||
DECODE( SUM(B.iNeg), NULL, 0, SUM(B.iNeg) ) iNeg
|
DECODE( SUM(B.iNeg), NULL, 0, SUM(B.iNeg) ) iNeg
|
||||||
FROM
|
FROM
|
||||||
@@ -589,9 +591,8 @@
|
|||||||
SELECT
|
SELECT
|
||||||
lr.MYINDEX,
|
lr.MYINDEX,
|
||||||
lr.TIMEID,
|
lr.TIMEID,
|
||||||
SUM(lr.ALLTIME * pl.TINTERVAL) tAllTime,
|
MAX(lr.UBALANCE_OVERTIME * pl.TINTERVAL) UBALANCE,
|
||||||
SUM(lr.UBALANCE_OVERTIME * pl.TINTERVAL) UBALANCE,
|
MAX(lr.I_NEG_OVERTIME * pl.TINTERVAL) iNeg
|
||||||
SUM(lr.I_NEG_OVERTIME * pl.TINTERVAL) iNeg
|
|
||||||
FROM
|
FROM
|
||||||
LIMIT_RATE lr
|
LIMIT_RATE lr
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
|
|||||||
@@ -3,107 +3,107 @@
|
|||||||
<mapper namespace="com.pqs9000.mapper.report.GetICurrentMapper">
|
<mapper namespace="com.pqs9000.mapper.report.GetICurrentMapper">
|
||||||
<select id="getICurrent" resultType="java.util.HashMap">
|
<select id="getICurrent" resultType="java.util.HashMap">
|
||||||
select phasic_type PHASETYPE,
|
select phasic_type PHASETYPE,
|
||||||
max(I_1_MAX) I_1_MAX,min(I_1_MIN) I_1_MIN,round(avg(I_1) ,2) I_1,max(case when I1CP95 =#{condition.count} then I_1 else null end) I_1_CP95,
|
max(I_1_MAX) I_1_MAX,min(I_1_MIN) I_1_MIN,round(avg(I_1) ,2) I_1,max(case when I1CP95 =#{condition.count} then I_1_CP95 else null end) I_1_CP95,
|
||||||
max(I_2_MAX) I_2_MAX,min(I_2_MIN) I_2_MIN,round(avg(I_2) ,2) I_2,max(case when I2CP95 =#{condition.count} then I_2 else null end) I_2_CP95,
|
max(I_2_MAX) I_2_MAX,min(I_2_MIN) I_2_MIN,round(avg(I_2) ,2) I_2,max(case when I2CP95 =#{condition.count} then I_2_CP95 else null end) I_2_CP95,
|
||||||
max(I_3_MAX) I_3_MAX,min(I_3_MIN) I_3_MIN,round(avg(I_3) ,2) I_3,max(case when I3CP95 =#{condition.count} then I_3 else null end) I_3_CP95,
|
max(I_3_MAX) I_3_MAX,min(I_3_MIN) I_3_MIN,round(avg(I_3) ,2) I_3,max(case when I3CP95 =#{condition.count} then I_3_CP95 else null end) I_3_CP95,
|
||||||
max(I_4_MAX) I_4_MAX,min(I_4_MIN) I_4_MIN,round(avg(I_4) ,2) I_4,max(case when I4CP95 =#{condition.count} then I_4 else null end) I_4_CP95,
|
max(I_4_MAX) I_4_MAX,min(I_4_MIN) I_4_MIN,round(avg(I_4) ,2) I_4,max(case when I4CP95 =#{condition.count} then I_4_CP95 else null end) I_4_CP95,
|
||||||
max(I_5_MAX) I_5_MAX,min(I_5_MIN) I_5_MIN,round(avg(I_5) ,2) I_5,max(case when I5CP95 =#{condition.count} then I_5 else null end) I_5_CP95,
|
max(I_5_MAX) I_5_MAX,min(I_5_MIN) I_5_MIN,round(avg(I_5) ,2) I_5,max(case when I5CP95 =#{condition.count} then I_5_CP95 else null end) I_5_CP95,
|
||||||
max(I_6_MAX) I_6_MAX,min(I_6_MIN) I_6_MIN,round(avg(I_6) ,2) I_6,max(case when I6CP95 =#{condition.count} then I_6 else null end) I_6_CP95,
|
max(I_6_MAX) I_6_MAX,min(I_6_MIN) I_6_MIN,round(avg(I_6) ,2) I_6,max(case when I6CP95 =#{condition.count} then I_6_CP95 else null end) I_6_CP95,
|
||||||
max(I_7_MAX) I_7_MAX,min(I_7_MIN) I_7_MIN,round(avg(I_7) ,2) I_7,max(case when I7CP95 =#{condition.count} then I_7 else null end) I_7_CP95,
|
max(I_7_MAX) I_7_MAX,min(I_7_MIN) I_7_MIN,round(avg(I_7) ,2) I_7,max(case when I7CP95 =#{condition.count} then I_7_CP95 else null end) I_7_CP95,
|
||||||
max(I_8_MAX) I_8_MAX,min(I_8_MIN) I_8_MIN,round(avg(I_8) ,2) I_8,max(case when I8CP95 =#{condition.count} then I_8 else null end) I_8_CP95,
|
max(I_8_MAX) I_8_MAX,min(I_8_MIN) I_8_MIN,round(avg(I_8) ,2) I_8,max(case when I8CP95 =#{condition.count} then I_8_CP95 else null end) I_8_CP95,
|
||||||
max(I_9_MAX) I_9_MAX,min(I_9_MIN) I_9_MIN,round(avg(I_9) ,2) I_9,max(case when I9CP95 =#{condition.count} then I_9 else null end) I_9_CP95,
|
max(I_9_MAX) I_9_MAX,min(I_9_MIN) I_9_MIN,round(avg(I_9) ,2) I_9,max(case when I9CP95 =#{condition.count} then I_9_CP95 else null end) I_9_CP95,
|
||||||
max(I_10_MAX) I_10_MAX,min(I_10_MIN) I_10_MIN,round(avg(I_10) ,2) I_10,max(case when I10CP95 =#{condition.count} then I_10 else null end) I_10_CP95,
|
max(I_10_MAX) I_10_MAX,min(I_10_MIN) I_10_MIN,round(avg(I_10) ,2) I_10,max(case when I10CP95 =#{condition.count} then I_10_CP95 else null end) I_10_CP95,
|
||||||
max(I_11_MAX) I_11_MAX,min(I_11_MIN) I_11_MIN,round(avg(I_11) ,2) I_11,max(case when I11CP95 =#{condition.count} then I_11 else null end) I_11_CP95,
|
max(I_11_MAX) I_11_MAX,min(I_11_MIN) I_11_MIN,round(avg(I_11) ,2) I_11,max(case when I11CP95 =#{condition.count} then I_11_CP95 else null end) I_11_CP95,
|
||||||
max(I_12_MAX) I_12_MAX,min(I_12_MIN) I_12_MIN,round(avg(I_12) ,2) I_12,max(case when I12CP95 =#{condition.count} then I_12 else null end) I_12_CP95,
|
max(I_12_MAX) I_12_MAX,min(I_12_MIN) I_12_MIN,round(avg(I_12) ,2) I_12,max(case when I12CP95 =#{condition.count} then I_12_CP95 else null end) I_12_CP95,
|
||||||
max(I_13_MAX) I_13_MAX,min(I_13_MIN) I_13_MIN,round(avg(I_13) ,2) I_13,max(case when I13CP95 =#{condition.count} then I_13 else null end) I_13_CP95,
|
max(I_13_MAX) I_13_MAX,min(I_13_MIN) I_13_MIN,round(avg(I_13) ,2) I_13,max(case when I13CP95 =#{condition.count} then I_13_CP95 else null end) I_13_CP95,
|
||||||
max(I_14_MAX) I_14_MAX,min(I_14_MIN) I_14_MIN,round(avg(I_14) ,2) I_14,max(case when I14CP95 =#{condition.count} then I_14 else null end) I_14_CP95,
|
max(I_14_MAX) I_14_MAX,min(I_14_MIN) I_14_MIN,round(avg(I_14) ,2) I_14,max(case when I14CP95 =#{condition.count} then I_14_CP95 else null end) I_14_CP95,
|
||||||
max(I_15_MAX) I_15_MAX,min(I_15_MIN) I_15_MIN,round(avg(I_15) ,2) I_15,max(case when I15CP95 =#{condition.count} then I_15 else null end) I_15_CP95,
|
max(I_15_MAX) I_15_MAX,min(I_15_MIN) I_15_MIN,round(avg(I_15) ,2) I_15,max(case when I15CP95 =#{condition.count} then I_15_CP95 else null end) I_15_CP95,
|
||||||
max(I_16_MAX) I_16_MAX,min(I_16_MIN) I_16_MIN,round(avg(I_16) ,2) I_16,max(case when I16CP95 =#{condition.count} then I_16 else null end) I_16_CP95,
|
max(I_16_MAX) I_16_MAX,min(I_16_MIN) I_16_MIN,round(avg(I_16) ,2) I_16,max(case when I16CP95 =#{condition.count} then I_16_CP95 else null end) I_16_CP95,
|
||||||
max(I_17_MAX) I_17_MAX,min(I_17_MIN) I_17_MIN,round(avg(I_17) ,2) I_17,max(case when I17CP95 =#{condition.count} then I_17 else null end) I_17_CP95,
|
max(I_17_MAX) I_17_MAX,min(I_17_MIN) I_17_MIN,round(avg(I_17) ,2) I_17,max(case when I17CP95 =#{condition.count} then I_17_CP95 else null end) I_17_CP95,
|
||||||
max(I_18_MAX) I_18_MAX,min(I_18_MIN) I_18_MIN,round(avg(I_18) ,2) I_18,max(case when I18CP95 =#{condition.count} then I_18 else null end) I_18_CP95,
|
max(I_18_MAX) I_18_MAX,min(I_18_MIN) I_18_MIN,round(avg(I_18) ,2) I_18,max(case when I18CP95 =#{condition.count} then I_18_CP95 else null end) I_18_CP95,
|
||||||
max(I_19_MAX) I_19_MAX,min(I_19_MIN) I_19_MIN,round(avg(I_19) ,2) I_19,max(case when I19CP95 =#{condition.count} then I_19 else null end) I_19_CP95,
|
max(I_19_MAX) I_19_MAX,min(I_19_MIN) I_19_MIN,round(avg(I_19) ,2) I_19,max(case when I19CP95 =#{condition.count} then I_19_CP95 else null end) I_19_CP95,
|
||||||
max(I_20_MAX) I_20_MAX,min(I_20_MIN) I_20_MIN,round(avg(I_20) ,2) I_20,max(case when I20CP95 =#{condition.count} then I_20 else null end) I_20_CP95,
|
max(I_20_MAX) I_20_MAX,min(I_20_MIN) I_20_MIN,round(avg(I_20) ,2) I_20,max(case when I20CP95 =#{condition.count} then I_20_CP95 else null end) I_20_CP95,
|
||||||
max(I_21_MAX) I_21_MAX,min(I_21_MIN) I_21_MIN,round(avg(I_21) ,2) I_21,max(case when I21CP95 =#{condition.count} then I_21 else null end) I_21_CP95,
|
max(I_21_MAX) I_21_MAX,min(I_21_MIN) I_21_MIN,round(avg(I_21) ,2) I_21,max(case when I21CP95 =#{condition.count} then I_21_CP95 else null end) I_21_CP95,
|
||||||
max(I_22_MAX) I_22_MAX,min(I_22_MIN) I_22_MIN,round(avg(I_22) ,2) I_22,max(case when I22CP95 =#{condition.count} then I_22 else null end) I_22_CP95,
|
max(I_22_MAX) I_22_MAX,min(I_22_MIN) I_22_MIN,round(avg(I_22) ,2) I_22,max(case when I22CP95 =#{condition.count} then I_22_CP95 else null end) I_22_CP95,
|
||||||
max(I_23_MAX) I_23_MAX,min(I_23_MIN) I_23_MIN,round(avg(I_23) ,2) I_23,max(case when I23CP95 =#{condition.count} then I_23 else null end) I_23_CP95,
|
max(I_23_MAX) I_23_MAX,min(I_23_MIN) I_23_MIN,round(avg(I_23) ,2) I_23,max(case when I23CP95 =#{condition.count} then I_23_CP95 else null end) I_23_CP95,
|
||||||
max(I_24_MAX) I_24_MAX,min(I_24_MIN) I_24_MIN,round(avg(I_24) ,2) I_24,max(case when I24CP95 =#{condition.count} then I_24 else null end) I_24_CP95,
|
max(I_24_MAX) I_24_MAX,min(I_24_MIN) I_24_MIN,round(avg(I_24) ,2) I_24,max(case when I24CP95 =#{condition.count} then I_24_CP95 else null end) I_24_CP95,
|
||||||
max(I_25_MAX) I_25_MAX,min(I_25_MIN) I_25_MIN,round(avg(I_25) ,2) I_25,max(case when I25CP95 =#{condition.count} then I_25 else null end) I_25_CP95,
|
max(I_25_MAX) I_25_MAX,min(I_25_MIN) I_25_MIN,round(avg(I_25) ,2) I_25,max(case when I25CP95 =#{condition.count} then I_25_CP95 else null end) I_25_CP95,
|
||||||
max(I_26_MAX) I_26_MAX,min(I_26_MIN) I_26_MIN,round(avg(I_26) ,2) I_26,max(case when I26CP95 =#{condition.count} then I_26 else null end) I_26_CP95,
|
max(I_26_MAX) I_26_MAX,min(I_26_MIN) I_26_MIN,round(avg(I_26) ,2) I_26,max(case when I26CP95 =#{condition.count} then I_26_CP95 else null end) I_26_CP95,
|
||||||
max(I_27_MAX) I_27_MAX,min(I_27_MIN) I_27_MIN,round(avg(I_27) ,2) I_27,max(case when I27CP95 =#{condition.count} then I_27 else null end) I_27_CP95,
|
max(I_27_MAX) I_27_MAX,min(I_27_MIN) I_27_MIN,round(avg(I_27) ,2) I_27,max(case when I27CP95 =#{condition.count} then I_27_CP95 else null end) I_27_CP95,
|
||||||
max(I_28_MAX) I_28_MAX,min(I_28_MIN) I_28_MIN,round(avg(I_28) ,2) I_28,max(case when I28CP95 =#{condition.count} then I_28 else null end) I_28_CP95,
|
max(I_28_MAX) I_28_MAX,min(I_28_MIN) I_28_MIN,round(avg(I_28) ,2) I_28,max(case when I28CP95 =#{condition.count} then I_28_CP95 else null end) I_28_CP95,
|
||||||
max(I_29_MAX) I_29_MAX,min(I_29_MIN) I_29_MIN,round(avg(I_29) ,2) I_29,max(case when I29CP95 =#{condition.count} then I_29 else null end) I_29_CP95,
|
max(I_29_MAX) I_29_MAX,min(I_29_MIN) I_29_MIN,round(avg(I_29) ,2) I_29,max(case when I29CP95 =#{condition.count} then I_29_CP95 else null end) I_29_CP95,
|
||||||
max(I_30_MAX) I_30_MAX,min(I_30_MIN) I_30_MIN,round(avg(I_30) ,2) I_30,max(case when I30CP95 =#{condition.count} then I_30 else null end) I_30_CP95,
|
max(I_30_MAX) I_30_MAX,min(I_30_MIN) I_30_MIN,round(avg(I_30) ,2) I_30,max(case when I30CP95 =#{condition.count} then I_30_CP95 else null end) I_30_CP95,
|
||||||
max(I_31_MAX) I_31_MAX,min(I_31_MIN) I_31_MIN,round(avg(I_31) ,2) I_31,max(case when I31CP95 =#{condition.count} then I_31 else null end) I_31_CP95,
|
max(I_31_MAX) I_31_MAX,min(I_31_MIN) I_31_MIN,round(avg(I_31) ,2) I_31,max(case when I31CP95 =#{condition.count} then I_31_CP95 else null end) I_31_CP95,
|
||||||
max(I_32_MAX) I_32_MAX,min(I_32_MIN) I_32_MIN,round(avg(I_32) ,2) I_32,max(case when I32CP95 =#{condition.count} then I_32 else null end) I_32_CP95,
|
max(I_32_MAX) I_32_MAX,min(I_32_MIN) I_32_MIN,round(avg(I_32) ,2) I_32,max(case when I32CP95 =#{condition.count} then I_32_CP95 else null end) I_32_CP95,
|
||||||
max(I_33_MAX) I_33_MAX,min(I_33_MIN) I_33_MIN,round(avg(I_33) ,2) I_33,max(case when I33CP95 =#{condition.count} then I_33 else null end) I_33_CP95,
|
max(I_33_MAX) I_33_MAX,min(I_33_MIN) I_33_MIN,round(avg(I_33) ,2) I_33,max(case when I33CP95 =#{condition.count} then I_33_CP95 else null end) I_33_CP95,
|
||||||
max(I_34_MAX) I_34_MAX,min(I_34_MIN) I_34_MIN,round(avg(I_34) ,2) I_34,max(case when I34CP95 =#{condition.count} then I_34 else null end) I_34_CP95,
|
max(I_34_MAX) I_34_MAX,min(I_34_MIN) I_34_MIN,round(avg(I_34) ,2) I_34,max(case when I34CP95 =#{condition.count} then I_34_CP95 else null end) I_34_CP95,
|
||||||
max(I_35_MAX) I_35_MAX,min(I_35_MIN) I_35_MIN,round(avg(I_35) ,2) I_35,max(case when I35CP95 =#{condition.count} then I_35 else null end) I_35_CP95,
|
max(I_35_MAX) I_35_MAX,min(I_35_MIN) I_35_MIN,round(avg(I_35) ,2) I_35,max(case when I35CP95 =#{condition.count} then I_35_CP95 else null end) I_35_CP95,
|
||||||
max(I_36_MAX) I_36_MAX,min(I_36_MIN) I_36_MIN,round(avg(I_36) ,2) I_36,max(case when I36CP95 =#{condition.count} then I_36 else null end) I_36_CP95,
|
max(I_36_MAX) I_36_MAX,min(I_36_MIN) I_36_MIN,round(avg(I_36) ,2) I_36,max(case when I36CP95 =#{condition.count} then I_36_CP95 else null end) I_36_CP95,
|
||||||
max(I_37_MAX) I_37_MAX,min(I_37_MIN) I_37_MIN,round(avg(I_37) ,2) I_37,max(case when I37CP95 =#{condition.count} then I_37 else null end) I_37_CP95,
|
max(I_37_MAX) I_37_MAX,min(I_37_MIN) I_37_MIN,round(avg(I_37) ,2) I_37,max(case when I37CP95 =#{condition.count} then I_37_CP95 else null end) I_37_CP95,
|
||||||
max(I_38_MAX) I_38_MAX,min(I_38_MIN) I_38_MIN,round(avg(I_38) ,2) I_38,max(case when I38CP95 =#{condition.count} then I_38 else null end) I_38_CP95,
|
max(I_38_MAX) I_38_MAX,min(I_38_MIN) I_38_MIN,round(avg(I_38) ,2) I_38,max(case when I38CP95 =#{condition.count} then I_38_CP95 else null end) I_38_CP95,
|
||||||
max(I_39_MAX) I_39_MAX,min(I_39_MIN) I_39_MIN,round(avg(I_39) ,2) I_39,max(case when I39CP95 =#{condition.count} then I_39 else null end) I_39_CP95,
|
max(I_39_MAX) I_39_MAX,min(I_39_MIN) I_39_MIN,round(avg(I_39) ,2) I_39,max(case when I39CP95 =#{condition.count} then I_39_CP95 else null end) I_39_CP95,
|
||||||
max(I_40_MAX) I_40_MAX,min(I_40_MIN) I_40_MIN,round(avg(I_40) ,2) I_40,max(case when I40CP95 =#{condition.count} then I_40 else null end) I_40_CP95,
|
max(I_40_MAX) I_40_MAX,min(I_40_MIN) I_40_MIN,round(avg(I_40) ,2) I_40,max(case when I40CP95 =#{condition.count} then I_40_CP95 else null end) I_40_CP95,
|
||||||
max(I_41_MAX) I_41_MAX,min(I_41_MIN) I_41_MIN,round(avg(I_41) ,2) I_41,max(case when I41CP95 =#{condition.count} then I_41 else null end) I_41_CP95,
|
max(I_41_MAX) I_41_MAX,min(I_41_MIN) I_41_MIN,round(avg(I_41) ,2) I_41,max(case when I41CP95 =#{condition.count} then I_41_CP95 else null end) I_41_CP95,
|
||||||
max(I_42_MAX) I_42_MAX,min(I_42_MIN) I_42_MIN,round(avg(I_42) ,2) I_42,max(case when I42CP95 =#{condition.count} then I_42 else null end) I_42_CP95,
|
max(I_42_MAX) I_42_MAX,min(I_42_MIN) I_42_MIN,round(avg(I_42) ,2) I_42,max(case when I42CP95 =#{condition.count} then I_42_CP95 else null end) I_42_CP95,
|
||||||
max(I_43_MAX) I_43_MAX,min(I_43_MIN) I_43_MIN,round(avg(I_43) ,2) I_43,max(case when I43CP95 =#{condition.count} then I_43 else null end) I_43_CP95,
|
max(I_43_MAX) I_43_MAX,min(I_43_MIN) I_43_MIN,round(avg(I_43) ,2) I_43,max(case when I43CP95 =#{condition.count} then I_43_CP95 else null end) I_43_CP95,
|
||||||
max(I_44_MAX) I_44_MAX,min(I_44_MIN) I_44_MIN,round(avg(I_44) ,2) I_44,max(case when I44CP95 =#{condition.count} then I_44 else null end) I_44_CP95,
|
max(I_44_MAX) I_44_MAX,min(I_44_MIN) I_44_MIN,round(avg(I_44) ,2) I_44,max(case when I44CP95 =#{condition.count} then I_44_CP95 else null end) I_44_CP95,
|
||||||
max(I_45_MAX) I_45_MAX,min(I_45_MIN) I_45_MIN,round(avg(I_45) ,2) I_45,max(case when I45CP95 =#{condition.count} then I_45 else null end) I_45_CP95,
|
max(I_45_MAX) I_45_MAX,min(I_45_MIN) I_45_MIN,round(avg(I_45) ,2) I_45,max(case when I45CP95 =#{condition.count} then I_45_CP95 else null end) I_45_CP95,
|
||||||
max(I_46_MAX) I_46_MAX,min(I_46_MIN) I_46_MIN,round(avg(I_46) ,2) I_46,max(case when I46CP95 =#{condition.count} then I_46 else null end) I_46_CP95,
|
max(I_46_MAX) I_46_MAX,min(I_46_MIN) I_46_MIN,round(avg(I_46) ,2) I_46,max(case when I46CP95 =#{condition.count} then I_46_CP95 else null end) I_46_CP95,
|
||||||
max(I_47_MAX) I_47_MAX,min(I_47_MIN) I_47_MIN,round(avg(I_47) ,2) I_47,max(case when I47CP95 =#{condition.count} then I_47 else null end) I_47_CP95,
|
max(I_47_MAX) I_47_MAX,min(I_47_MIN) I_47_MIN,round(avg(I_47) ,2) I_47,max(case when I47CP95 =#{condition.count} then I_47_CP95 else null end) I_47_CP95,
|
||||||
max(I_48_MAX) I_48_MAX,min(I_48_MIN) I_48_MIN,round(avg(I_48) ,2) I_48,max(case when I48CP95 =#{condition.count} then I_48 else null end) I_48_CP95,
|
max(I_48_MAX) I_48_MAX,min(I_48_MIN) I_48_MIN,round(avg(I_48) ,2) I_48,max(case when I48CP95 =#{condition.count} then I_48_CP95 else null end) I_48_CP95,
|
||||||
max(I_49_MAX) I_49_MAX,min(I_49_MIN) I_49_MIN,round(avg(I_49) ,2) I_49,max(case when I49CP95 =#{condition.count} then I_49 else null end) I_49_CP95,
|
max(I_49_MAX) I_49_MAX,min(I_49_MIN) I_49_MIN,round(avg(I_49) ,2) I_49,max(case when I49CP95 =#{condition.count} then I_49_CP95 else null end) I_49_CP95,
|
||||||
max(I_50_MAX) I_50_MAX,min(I_50_MIN) I_50_MIN,round(avg(I_50) ,2) I_50,max(case when I50CP95 =#{condition.count} then I_50 else null end) I_50_CP95
|
max(I_50_MAX) I_50_MAX,min(I_50_MIN) I_50_MIN,round(avg(I_50) ,2) I_50,max(case when I50CP95 =#{condition.count} then I_50_CP95 else null end) I_50_CP95
|
||||||
from ( select t.*,
|
from ( select t.*,
|
||||||
row_number() over (partition by phasic_type order by I_1 desc) I1CP95,
|
row_number() over (partition by phasic_type order by I_1_CP95 desc) I1CP95,
|
||||||
row_number() over (partition by phasic_type order by I_2 desc) I2CP95,
|
row_number() over (partition by phasic_type order by I_2_CP95 desc) I2CP95,
|
||||||
row_number() over (partition by phasic_type order by I_3 desc) I3CP95,
|
row_number() over (partition by phasic_type order by I_3_CP95 desc) I3CP95,
|
||||||
row_number() over (partition by phasic_type order by I_4 desc) I4CP95,
|
row_number() over (partition by phasic_type order by I_4_CP95 desc) I4CP95,
|
||||||
row_number() over (partition by phasic_type order by I_5 desc) I5CP95,
|
row_number() over (partition by phasic_type order by I_5_CP95 desc) I5CP95,
|
||||||
row_number() over (partition by phasic_type order by I_6 desc) I6CP95,
|
row_number() over (partition by phasic_type order by I_6_CP95 desc) I6CP95,
|
||||||
row_number() over (partition by phasic_type order by I_7 desc) I7CP95,
|
row_number() over (partition by phasic_type order by I_7_CP95 desc) I7CP95,
|
||||||
row_number() over (partition by phasic_type order by I_8 desc) I8CP95,
|
row_number() over (partition by phasic_type order by I_8_CP95 desc) I8CP95,
|
||||||
row_number() over (partition by phasic_type order by I_9 desc) I9CP95,
|
row_number() over (partition by phasic_type order by I_9_CP95 desc) I9CP95,
|
||||||
row_number() over (partition by phasic_type order by I_10 desc) I10CP95,
|
row_number() over (partition by phasic_type order by I_10_CP95 desc) I10CP95,
|
||||||
row_number() over (partition by phasic_type order by I_11 desc) I11CP95,
|
row_number() over (partition by phasic_type order by I_11_CP95 desc) I11CP95,
|
||||||
row_number() over (partition by phasic_type order by I_12 desc) I12CP95,
|
row_number() over (partition by phasic_type order by I_12_CP95 desc) I12CP95,
|
||||||
row_number() over (partition by phasic_type order by I_13 desc) I13CP95,
|
row_number() over (partition by phasic_type order by I_13_CP95 desc) I13CP95,
|
||||||
row_number() over (partition by phasic_type order by I_14 desc) I14CP95,
|
row_number() over (partition by phasic_type order by I_14_CP95 desc) I14CP95,
|
||||||
row_number() over (partition by phasic_type order by I_15 desc) I15CP95,
|
row_number() over (partition by phasic_type order by I_15_CP95 desc) I15CP95,
|
||||||
row_number() over (partition by phasic_type order by I_16 desc) I16CP95,
|
row_number() over (partition by phasic_type order by I_16_CP95 desc) I16CP95,
|
||||||
row_number() over (partition by phasic_type order by I_17 desc) I17CP95,
|
row_number() over (partition by phasic_type order by I_17_CP95 desc) I17CP95,
|
||||||
row_number() over (partition by phasic_type order by I_18 desc) I18CP95,
|
row_number() over (partition by phasic_type order by I_18_CP95 desc) I18CP95,
|
||||||
row_number() over (partition by phasic_type order by I_19 desc) I19CP95,
|
row_number() over (partition by phasic_type order by I_19_CP95 desc) I19CP95,
|
||||||
row_number() over (partition by phasic_type order by I_20 desc) I20CP95,
|
row_number() over (partition by phasic_type order by I_20_CP95 desc) I20CP95,
|
||||||
row_number() over (partition by phasic_type order by I_21 desc) I21CP95,
|
row_number() over (partition by phasic_type order by I_21_CP95 desc) I21CP95,
|
||||||
row_number() over (partition by phasic_type order by I_22 desc) I22CP95,
|
row_number() over (partition by phasic_type order by I_22_CP95 desc) I22CP95,
|
||||||
row_number() over (partition by phasic_type order by I_23 desc) I23CP95,
|
row_number() over (partition by phasic_type order by I_23_CP95 desc) I23CP95,
|
||||||
row_number() over (partition by phasic_type order by I_24 desc) I24CP95,
|
row_number() over (partition by phasic_type order by I_24_CP95 desc) I24CP95,
|
||||||
row_number() over (partition by phasic_type order by I_25 desc) I25CP95,
|
row_number() over (partition by phasic_type order by I_25_CP95 desc) I25CP95,
|
||||||
row_number() over (partition by phasic_type order by I_26 desc) I26CP95,
|
row_number() over (partition by phasic_type order by I_26_CP95 desc) I26CP95,
|
||||||
row_number() over (partition by phasic_type order by I_27 desc) I27CP95,
|
row_number() over (partition by phasic_type order by I_27_CP95 desc) I27CP95,
|
||||||
row_number() over (partition by phasic_type order by I_28 desc) I28CP95,
|
row_number() over (partition by phasic_type order by I_28_CP95 desc) I28CP95,
|
||||||
row_number() over (partition by phasic_type order by I_29 desc) I29CP95,
|
row_number() over (partition by phasic_type order by I_29_CP95 desc) I29CP95,
|
||||||
row_number() over (partition by phasic_type order by I_30 desc) I30CP95,
|
row_number() over (partition by phasic_type order by I_30_CP95 desc) I30CP95,
|
||||||
row_number() over (partition by phasic_type order by I_31 desc) I31CP95,
|
row_number() over (partition by phasic_type order by I_31_CP95 desc) I31CP95,
|
||||||
row_number() over (partition by phasic_type order by I_32 desc) I32CP95,
|
row_number() over (partition by phasic_type order by I_32_CP95 desc) I32CP95,
|
||||||
row_number() over (partition by phasic_type order by I_33 desc) I33CP95,
|
row_number() over (partition by phasic_type order by I_33_CP95 desc) I33CP95,
|
||||||
row_number() over (partition by phasic_type order by I_34 desc) I34CP95,
|
row_number() over (partition by phasic_type order by I_34_CP95 desc) I34CP95,
|
||||||
row_number() over (partition by phasic_type order by I_35 desc) I35CP95,
|
row_number() over (partition by phasic_type order by I_35_CP95 desc) I35CP95,
|
||||||
row_number() over (partition by phasic_type order by I_36 desc) I36CP95,
|
row_number() over (partition by phasic_type order by I_36_CP95 desc) I36CP95,
|
||||||
row_number() over (partition by phasic_type order by I_37 desc) I37CP95,
|
row_number() over (partition by phasic_type order by I_37_CP95 desc) I37CP95,
|
||||||
row_number() over (partition by phasic_type order by I_38 desc) I38CP95,
|
row_number() over (partition by phasic_type order by I_38_CP95 desc) I38CP95,
|
||||||
row_number() over (partition by phasic_type order by I_39 desc) I39CP95,
|
row_number() over (partition by phasic_type order by I_39_CP95 desc) I39CP95,
|
||||||
row_number() over (partition by phasic_type order by I_40 desc) I40CP95,
|
row_number() over (partition by phasic_type order by I_40_CP95 desc) I40CP95,
|
||||||
row_number() over (partition by phasic_type order by I_41 desc) I41CP95,
|
row_number() over (partition by phasic_type order by I_41_CP95 desc) I41CP95,
|
||||||
row_number() over (partition by phasic_type order by I_42 desc) I42CP95,
|
row_number() over (partition by phasic_type order by I_42_CP95 desc) I42CP95,
|
||||||
row_number() over (partition by phasic_type order by I_43 desc) I43CP95,
|
row_number() over (partition by phasic_type order by I_43_CP95 desc) I43CP95,
|
||||||
row_number() over (partition by phasic_type order by I_44 desc) I44CP95,
|
row_number() over (partition by phasic_type order by I_44_CP95 desc) I44CP95,
|
||||||
row_number() over (partition by phasic_type order by I_45 desc) I45CP95,
|
row_number() over (partition by phasic_type order by I_45_CP95 desc) I45CP95,
|
||||||
row_number() over (partition by phasic_type order by I_46 desc) I46CP95,
|
row_number() over (partition by phasic_type order by I_46_CP95 desc) I46CP95,
|
||||||
row_number() over (partition by phasic_type order by I_47 desc) I47CP95,
|
row_number() over (partition by phasic_type order by I_47_CP95 desc) I47CP95,
|
||||||
row_number() over (partition by phasic_type order by I_48 desc) I48CP95,
|
row_number() over (partition by phasic_type order by I_48_CP95 desc) I48CP95,
|
||||||
row_number() over (partition by phasic_type order by I_49 desc) I49CP95,
|
row_number() over (partition by phasic_type order by I_49_CP95 desc) I49CP95,
|
||||||
row_number() over (partition by phasic_type order by I_50 desc) I50CP95
|
row_number() over (partition by phasic_type order by I_50_CP95 desc) I50CP95
|
||||||
from
|
from
|
||||||
<choose>
|
<choose>
|
||||||
<when test="condition.b == true">
|
<when test="condition.b == true">
|
||||||
@@ -125,6 +125,232 @@
|
|||||||
group by phasic_type
|
group by phasic_type
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getICurrentNew" resultType="java.util.HashMap">
|
||||||
|
SELECT
|
||||||
|
phasic_type PHASETYPE,
|
||||||
|
max( I_1_MAX ) I_1_MAX,
|
||||||
|
min( I_1_MIN ) I_1_MIN,
|
||||||
|
round( avg( I_1 ), 2 ) I_1,
|
||||||
|
max(I_1_CP95) I_1_CP95,
|
||||||
|
max( I_2_MAX ) I_2_MAX,
|
||||||
|
min( I_2_MIN ) I_2_MIN,
|
||||||
|
round( avg( I_2 ), 2 ) I_2,
|
||||||
|
max(I_2_CP95) I_2_CP95,
|
||||||
|
max( I_3_MAX ) I_3_MAX,
|
||||||
|
min( I_3_MIN ) I_3_MIN,
|
||||||
|
round(avg( I_3 ), 2 ) I_3,
|
||||||
|
max(I_3_CP95) I_3_CP95,
|
||||||
|
max( I_4_MAX ) I_4_MAX,
|
||||||
|
min( I_4_MIN ) I_4_MIN,
|
||||||
|
round( avg( I_4 ), 2 ) I_4,
|
||||||
|
max(I_4_CP95) I_4_CP95,
|
||||||
|
max( I_5_MAX ) I_5_MAX,
|
||||||
|
min( I_5_MIN ) I_5_MIN,
|
||||||
|
round( avg( I_5 ), 2 ) I_5,
|
||||||
|
max(I_5_CP95) I_5_CP95,
|
||||||
|
max( I_6_MAX ) I_6_MAX,
|
||||||
|
min( I_6_MIN ) I_6_MIN,
|
||||||
|
round( avg( I_6 ), 2 ) I_6,
|
||||||
|
max(I_6_CP95) I_6_CP95,
|
||||||
|
max( I_7_MAX ) I_7_MAX,
|
||||||
|
min( I_7_MIN ) I_7_MIN,
|
||||||
|
round( avg( I_7 ), 2 ) I_7,
|
||||||
|
max(I_7_CP95) I_7_CP95,
|
||||||
|
max( I_8_MAX ) I_8_MAX,
|
||||||
|
min( I_8_MIN ) I_8_MIN,
|
||||||
|
round( avg( I_8 ), 2 ) I_8,
|
||||||
|
max(I_8_CP95) I_8_CP95,
|
||||||
|
max( I_9_MAX ) I_9_MAX,
|
||||||
|
min( I_9_MIN ) I_9_MIN,
|
||||||
|
round( avg( I_9 ), 2 ) I_9,
|
||||||
|
max(I_9_CP95) I_9_CP95,
|
||||||
|
max( I_10_MAX ) I_10_MAX,
|
||||||
|
min( I_10_MIN ) I_10_MIN,
|
||||||
|
round( avg( I_10 ), 2 ) I_10,
|
||||||
|
max(I_10_CP95) I_10_CP95,
|
||||||
|
max( I_11_MAX ) I_11_MAX,
|
||||||
|
min( I_11_MIN ) I_11_MIN,
|
||||||
|
round( avg( I_11 ), 2 ) I_11,
|
||||||
|
max(I_11_CP95) I_11_CP95,
|
||||||
|
max( I_12_MAX ) I_12_MAX,
|
||||||
|
min( I_12_MIN ) I_12_MIN,
|
||||||
|
round( avg( I_12 ), 2 ) I_12,
|
||||||
|
max(I_12_CP95) I_12_CP95,
|
||||||
|
max( I_13_MAX ) I_13_MAX,
|
||||||
|
min( I_13_MIN ) I_13_MIN,
|
||||||
|
round( avg( I_13 ), 2 ) I_13,
|
||||||
|
max(I_13_CP95) I_13_CP95,
|
||||||
|
max( I_14_MAX ) I_14_MAX,
|
||||||
|
min( I_14_MIN ) I_14_MIN,
|
||||||
|
round( avg( I_14 ), 2 ) I_14,
|
||||||
|
max(I_14_CP95) I_14_CP95,
|
||||||
|
max( I_15_MAX ) I_15_MAX,
|
||||||
|
min( I_15_MIN ) I_15_MIN,
|
||||||
|
round( avg( I_15 ), 2 ) I_15,
|
||||||
|
max(I_15_CP95) I_15_CP95,
|
||||||
|
max( I_16_MAX ) I_16_MAX,
|
||||||
|
min( I_16_MIN ) I_16_MIN,
|
||||||
|
round( avg( I_16 ), 2 ) I_16,
|
||||||
|
max(I_16_CP95) I_16_CP95,
|
||||||
|
max( I_17_MAX ) I_17_MAX,
|
||||||
|
min( I_17_MIN ) I_17_MIN,
|
||||||
|
round( avg( I_17 ), 2 ) I_17,
|
||||||
|
max(I_17_CP95) I_17_CP95,
|
||||||
|
max( I_18_MAX ) I_18_MAX,
|
||||||
|
min( I_18_MIN ) I_18_MIN,
|
||||||
|
round( avg( I_18 ), 2 ) I_18,
|
||||||
|
max(I_18_CP95) I_18_CP95,
|
||||||
|
max( I_19_MAX ) I_19_MAX,
|
||||||
|
min( I_19_MIN ) I_19_MIN,
|
||||||
|
round( avg( I_19 ), 2 ) I_19,
|
||||||
|
max(I_19_CP95) I_19_CP95,
|
||||||
|
max( I_20_MAX ) I_20_MAX,
|
||||||
|
min( I_20_MIN ) I_20_MIN,
|
||||||
|
round( avg( I_20 ), 2 ) I_20,
|
||||||
|
max(I_20_CP95) I_20_CP95,
|
||||||
|
max( I_21_MAX ) I_21_MAX,
|
||||||
|
min( I_21_MIN ) I_21_MIN,
|
||||||
|
round( avg( I_21 ), 2 ) I_21,
|
||||||
|
max(I_21_CP95) I_21_CP95,
|
||||||
|
max( I_22_MAX ) I_22_MAX,
|
||||||
|
min( I_22_MIN ) I_22_MIN,
|
||||||
|
round( avg( I_22 ), 2 ) I_22,
|
||||||
|
max(I_22_CP95) I_22_CP95,
|
||||||
|
max( I_23_MAX ) I_23_MAX,
|
||||||
|
min( I_23_MIN ) I_23_MIN,
|
||||||
|
round( avg( I_23 ), 2 ) I_23,
|
||||||
|
max(I_23_CP95) I_23_CP95,
|
||||||
|
max( I_24_MAX ) I_24_MAX,
|
||||||
|
min( I_24_MIN ) I_24_MIN,
|
||||||
|
round( avg( I_24 ), 2 ) I_24,
|
||||||
|
max(I_24_CP95) I_24_CP95,
|
||||||
|
max( I_25_MAX ) I_25_MAX,
|
||||||
|
min( I_25_MIN ) I_25_MIN,
|
||||||
|
round( avg( I_25 ), 2 ) I_25,
|
||||||
|
max(I_25_CP95) I_25_CP95,
|
||||||
|
max( I_26_MAX ) I_26_MAX,
|
||||||
|
min( I_26_MIN ) I_26_MIN,
|
||||||
|
round( avg( I_26 ), 2 ) I_26,
|
||||||
|
max(I_26_CP95) I_26_CP95,
|
||||||
|
max( I_27_MAX ) I_27_MAX,
|
||||||
|
min( I_27_MIN ) I_27_MIN,
|
||||||
|
round( avg( I_27 ), 2 ) I_27,
|
||||||
|
max(I_27_CP95) I_27_CP95,
|
||||||
|
max( I_28_MAX ) I_28_MAX,
|
||||||
|
min( I_28_MIN ) I_28_MIN,
|
||||||
|
round( avg( I_28 ), 2 ) I_28,
|
||||||
|
max(I_28_CP95) I_28_CP95,
|
||||||
|
max( I_29_MAX ) I_29_MAX,
|
||||||
|
min( I_29_MIN ) I_29_MIN,
|
||||||
|
round( avg( I_29 ), 2 ) I_29,
|
||||||
|
max(I_29_CP95) I_29_CP95,
|
||||||
|
max( I_30_MAX ) I_30_MAX,
|
||||||
|
min( I_30_MIN ) I_30_MIN,
|
||||||
|
round( avg( I_30 ), 2 ) I_30,
|
||||||
|
max(I_30_CP95) I_30_CP95,
|
||||||
|
max( I_31_MAX ) I_31_MAX,
|
||||||
|
min( I_31_MIN ) I_31_MIN,
|
||||||
|
round( avg( I_31 ), 2 ) I_31,
|
||||||
|
max(I_31_CP95) I_31_CP95,
|
||||||
|
max( I_32_MAX ) I_32_MAX,
|
||||||
|
min( I_32_MIN ) I_32_MIN,
|
||||||
|
round( avg( I_32 ), 2 ) I_32,
|
||||||
|
max(I_32_CP95) I_32_CP95,
|
||||||
|
max( I_33_MAX ) I_33_MAX,
|
||||||
|
min( I_33_MIN ) I_33_MIN,
|
||||||
|
round( avg( I_33 ), 2 ) I_33,
|
||||||
|
max(I_33_CP95) I_33_CP95,
|
||||||
|
max( I_34_MAX ) I_34_MAX,
|
||||||
|
min( I_34_MIN ) I_34_MIN,
|
||||||
|
round( avg( I_34 ), 2 ) I_34,
|
||||||
|
max(I_34_CP95) I_34_CP95,
|
||||||
|
max( I_35_MAX ) I_35_MAX,
|
||||||
|
min( I_35_MIN ) I_35_MIN,
|
||||||
|
round( avg( I_35 ), 2 ) I_35,
|
||||||
|
max(I_35_CP95) I_35_CP95,
|
||||||
|
max( I_36_MAX ) I_36_MAX,
|
||||||
|
min( I_36_MIN ) I_36_MIN,
|
||||||
|
round( avg( I_36 ), 2 ) I_36,
|
||||||
|
max(I_36_CP95) I_36_CP95,
|
||||||
|
max( I_37_MAX ) I_37_MAX,
|
||||||
|
min( I_37_MIN ) I_37_MIN,
|
||||||
|
round( avg( I_37 ), 2 ) I_37,
|
||||||
|
max(I_37_CP95) I_37_CP95,
|
||||||
|
max( I_38_MAX ) I_38_MAX,
|
||||||
|
min( I_38_MIN ) I_38_MIN,
|
||||||
|
round( avg( I_38 ), 2 ) I_38,
|
||||||
|
max(I_38_CP95) I_38_CP95,
|
||||||
|
max( I_39_MAX ) I_39_MAX,
|
||||||
|
min( I_39_MIN ) I_39_MIN,
|
||||||
|
round( avg( I_39 ), 2 ) I_39,
|
||||||
|
max(I_39_CP95) I_39_CP95,
|
||||||
|
max( I_40_MAX ) I_40_MAX,
|
||||||
|
min( I_40_MIN ) I_40_MIN,
|
||||||
|
round( avg( I_40 ), 2 ) I_40,
|
||||||
|
max(I_40_CP95) I_40_CP95,
|
||||||
|
max( I_41_MAX ) I_41_MAX,
|
||||||
|
min( I_41_MIN ) I_41_MIN,
|
||||||
|
round( avg( I_41 ), 2 ) I_41,
|
||||||
|
max(I_41_CP95) I_41_CP95,
|
||||||
|
max( I_42_MAX ) I_42_MAX,
|
||||||
|
min( I_42_MIN ) I_42_MIN,
|
||||||
|
round( avg( I_42 ), 2 ) I_42,
|
||||||
|
max(I_42_CP95) I_42_CP95,
|
||||||
|
max( I_43_MAX ) I_43_MAX,
|
||||||
|
min( I_43_MIN ) I_43_MIN,
|
||||||
|
round( avg( I_43 ), 2 ) I_43,
|
||||||
|
max(I_43_CP95) I_43_CP95,
|
||||||
|
max( I_44_MAX ) I_44_MAX,
|
||||||
|
min( I_44_MIN ) I_44_MIN,
|
||||||
|
round( avg( I_44 ), 2 ) I_44,
|
||||||
|
max(I_44_CP95) I_44_CP95,
|
||||||
|
max( I_45_MAX ) I_45_MAX,
|
||||||
|
min( I_45_MIN ) I_45_MIN,
|
||||||
|
round( avg( I_45 ), 2 ) I_45,
|
||||||
|
max(I_45_CP95) I_45_CP95,
|
||||||
|
max( I_46_MAX ) I_46_MAX,
|
||||||
|
min( I_46_MIN ) I_46_MIN,
|
||||||
|
round( avg( I_46 ), 2 ) I_46,
|
||||||
|
max(I_46_CP95) I_46_CP95,
|
||||||
|
max( I_47_MAX ) I_47_MAX,
|
||||||
|
min( I_47_MIN ) I_47_MIN,
|
||||||
|
round( avg( I_47 ), 2 ) I_47,
|
||||||
|
max(I_47_CP95) I_47_CP95,
|
||||||
|
max( I_48_MAX ) I_48_MAX,
|
||||||
|
min( I_48_MIN ) I_48_MIN,
|
||||||
|
round( avg( I_48 ), 2 ) I_48,
|
||||||
|
max(I_48_CP95) I_48_CP95,
|
||||||
|
max( I_49_MAX ) I_49_MAX,
|
||||||
|
min( I_49_MIN ) I_49_MIN,
|
||||||
|
round( avg( I_49 ), 2 ) I_49,
|
||||||
|
max(I_49_CP95) I_49_CP95,
|
||||||
|
max( I_50_MAX ) I_50_MAX,
|
||||||
|
min( I_50_MIN ) I_50_MIN,
|
||||||
|
round( avg( I_50 ), 2 ) I_50,
|
||||||
|
max(I_50_CP95) I_50_CP95
|
||||||
|
FROM
|
||||||
|
<choose>
|
||||||
|
<when test="condition.b == true">
|
||||||
|
Data_i
|
||||||
|
</when>
|
||||||
|
<otherwise>
|
||||||
|
Day_i
|
||||||
|
</otherwise>
|
||||||
|
</choose>
|
||||||
|
WHERE
|
||||||
|
lineid = #{condition.pointIndex}
|
||||||
|
and phasic_type in ('A','B','C')
|
||||||
|
and timeid between #{condition.start} and #{condition.end}
|
||||||
|
<if test="condition.b == true">
|
||||||
|
and QualityFlag = 0
|
||||||
|
</if>
|
||||||
|
<foreach collection="condition.exceptTime" index="index" item="item" open=" " separator=" " close="">
|
||||||
|
and timeid not between #{item.start} and #{item.end}
|
||||||
|
</foreach>
|
||||||
|
GROUP BY
|
||||||
|
phasic_type
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="getHICurrent" resultType="java.util.HashMap">
|
<select id="getHICurrent" resultType="java.util.HashMap">
|
||||||
SELECT
|
SELECT
|
||||||
PHASIC_TYPE PHASETYPE,
|
PHASIC_TYPE PHASETYPE,
|
||||||
|
|||||||
@@ -3,105 +3,105 @@
|
|||||||
<mapper namespace="com.pqs9000.mapper.report.GetVoltageRateMapper">
|
<mapper namespace="com.pqs9000.mapper.report.GetVoltageRateMapper">
|
||||||
<select id="getVoltageRate" resultType="java.util.HashMap">
|
<select id="getVoltageRate" resultType="java.util.HashMap">
|
||||||
select phasic_type PHASETYPE,
|
select phasic_type PHASETYPE,
|
||||||
max(V_2_MAX) V_2_MAX,min(V_2_MIN) V_2_MIN,round(avg(V_2) ,2) V_2,max(case when V2CP95 =#{condition.count} then V_2 else null end) V_2_CP95,
|
max(V_2_MAX) V_2_MAX,min(V_2_MIN) V_2_MIN,round(avg(V_2) ,2) V_2,max(case when V2CP95 =#{condition.count} then V_2_CP95 else null end) V_2_CP95,
|
||||||
max(V_3_MAX) V_3_MAX,min(V_3_MIN) V_3_MIN,round(avg(V_3) ,2) V_3,max(case when V3CP95 =#{condition.count} then V_3 else null end) V_3_CP95,
|
max(V_3_MAX) V_3_MAX,min(V_3_MIN) V_3_MIN,round(avg(V_3) ,2) V_3,max(case when V3CP95 =#{condition.count} then V_3_CP95 else null end) V_3_CP95,
|
||||||
max(V_4_MAX) V_4_MAX,min(V_4_MIN) V_4_MIN,round(avg(V_4) ,2) V_4,max(case when V4CP95 =#{condition.count} then V_4 else null end) V_4_CP95,
|
max(V_4_MAX) V_4_MAX,min(V_4_MIN) V_4_MIN,round(avg(V_4) ,2) V_4,max(case when V4CP95 =#{condition.count} then V_4_CP95 else null end) V_4_CP95,
|
||||||
max(V_5_MAX) V_5_MAX,min(V_5_MIN) V_5_MIN,round(avg(V_5) ,2) V_5,max(case when V5CP95 =#{condition.count} then V_5 else null end) V_5_CP95,
|
max(V_5_MAX) V_5_MAX,min(V_5_MIN) V_5_MIN,round(avg(V_5) ,2) V_5,max(case when V5CP95 =#{condition.count} then V_5_CP95 else null end) V_5_CP95,
|
||||||
max(V_6_MAX) V_6_MAX,min(V_6_MIN) V_6_MIN,round(avg(V_6) ,2) V_6,max(case when V6CP95 =#{condition.count} then V_6 else null end) V_6_CP95,
|
max(V_6_MAX) V_6_MAX,min(V_6_MIN) V_6_MIN,round(avg(V_6) ,2) V_6,max(case when V6CP95 =#{condition.count} then V_6_CP95 else null end) V_6_CP95,
|
||||||
max(V_7_MAX) V_7_MAX,min(V_7_MIN) V_7_MIN,round(avg(V_7) ,2) V_7,max(case when V7CP95 =#{condition.count} then V_7 else null end) V_7_CP95,
|
max(V_7_MAX) V_7_MAX,min(V_7_MIN) V_7_MIN,round(avg(V_7) ,2) V_7,max(case when V7CP95 =#{condition.count} then V_7_CP95 else null end) V_7_CP95,
|
||||||
max(V_8_MAX) V_8_MAX,min(V_8_MIN) V_8_MIN,round(avg(V_8) ,2) V_8,max(case when V8CP95 =#{condition.count} then V_8 else null end) V_8_CP95,
|
max(V_8_MAX) V_8_MAX,min(V_8_MIN) V_8_MIN,round(avg(V_8) ,2) V_8,max(case when V8CP95 =#{condition.count} then V_8_CP95 else null end) V_8_CP95,
|
||||||
max(V_9_MAX) V_9_MAX,min(V_9_MIN) V_9_MIN,round(avg(V_9) ,2) V_9,max(case when V9CP95 =#{condition.count} then V_9 else null end) V_9_CP95,
|
max(V_9_MAX) V_9_MAX,min(V_9_MIN) V_9_MIN,round(avg(V_9) ,2) V_9,max(case when V9CP95 =#{condition.count} then V_9_CP95 else null end) V_9_CP95,
|
||||||
max(V_10_MAX) V_10_MAX,min(V_10_MIN) V_10_MIN,round(avg(V_10) ,2) V_10,max(case when V10CP95 =#{condition.count} then V_10 else null end) V_10_CP95,
|
max(V_10_MAX) V_10_MAX,min(V_10_MIN) V_10_MIN,round(avg(V_10) ,2) V_10,max(case when V10CP95 =#{condition.count} then V_10_CP95 else null end) V_10_CP95,
|
||||||
max(V_11_MAX) V_11_MAX,min(V_11_MIN) V_11_MIN,round(avg(V_11) ,2) V_11,max(case when V11CP95 =#{condition.count} then V_11 else null end) V_11_CP95,
|
max(V_11_MAX) V_11_MAX,min(V_11_MIN) V_11_MIN,round(avg(V_11) ,2) V_11,max(case when V11CP95 =#{condition.count} then V_11_CP95 else null end) V_11_CP95,
|
||||||
max(V_12_MAX) V_12_MAX,min(V_12_MIN) V_12_MIN,round(avg(V_12) ,2) V_12,max(case when V12CP95 =#{condition.count} then V_12 else null end) V_12_CP95,
|
max(V_12_MAX) V_12_MAX,min(V_12_MIN) V_12_MIN,round(avg(V_12) ,2) V_12,max(case when V12CP95 =#{condition.count} then V_12_CP95 else null end) V_12_CP95,
|
||||||
max(V_13_MAX) V_13_MAX,min(V_13_MIN) V_13_MIN,round(avg(V_13) ,2) V_13,max(case when V13CP95 =#{condition.count} then V_13 else null end) V_13_CP95,
|
max(V_13_MAX) V_13_MAX,min(V_13_MIN) V_13_MIN,round(avg(V_13) ,2) V_13,max(case when V13CP95 =#{condition.count} then V_13_CP95 else null end) V_13_CP95,
|
||||||
max(V_14_MAX) V_14_MAX,min(V_14_MIN) V_14_MIN,round(avg(V_14) ,2) V_14,max(case when V14CP95 =#{condition.count} then V_14 else null end) V_14_CP95,
|
max(V_14_MAX) V_14_MAX,min(V_14_MIN) V_14_MIN,round(avg(V_14) ,2) V_14,max(case when V14CP95 =#{condition.count} then V_14_CP95 else null end) V_14_CP95,
|
||||||
max(V_15_MAX) V_15_MAX,min(V_15_MIN) V_15_MIN,round(avg(V_15) ,2) V_15,max(case when V15CP95 =#{condition.count} then V_15 else null end) V_15_CP95,
|
max(V_15_MAX) V_15_MAX,min(V_15_MIN) V_15_MIN,round(avg(V_15) ,2) V_15,max(case when V15CP95 =#{condition.count} then V_15_CP95 else null end) V_15_CP95,
|
||||||
max(V_16_MAX) V_16_MAX,min(V_16_MIN) V_16_MIN,round(avg(V_16) ,2) V_16,max(case when V16CP95 =#{condition.count} then V_16 else null end) V_16_CP95,
|
max(V_16_MAX) V_16_MAX,min(V_16_MIN) V_16_MIN,round(avg(V_16) ,2) V_16,max(case when V16CP95 =#{condition.count} then V_16_CP95 else null end) V_16_CP95,
|
||||||
max(V_17_MAX) V_17_MAX,min(V_17_MIN) V_17_MIN,round(avg(V_17) ,2) V_17,max(case when V17CP95 =#{condition.count} then V_17 else null end) V_17_CP95,
|
max(V_17_MAX) V_17_MAX,min(V_17_MIN) V_17_MIN,round(avg(V_17) ,2) V_17,max(case when V17CP95 =#{condition.count} then V_17_CP95 else null end) V_17_CP95,
|
||||||
max(V_18_MAX) V_18_MAX,min(V_18_MIN) V_18_MIN,round(avg(V_18) ,2) V_18,max(case when V18CP95 =#{condition.count} then V_18 else null end) V_18_CP95,
|
max(V_18_MAX) V_18_MAX,min(V_18_MIN) V_18_MIN,round(avg(V_18) ,2) V_18,max(case when V18CP95 =#{condition.count} then V_18_CP95 else null end) V_18_CP95,
|
||||||
max(V_19_MAX) V_19_MAX,min(V_19_MIN) V_19_MIN,round(avg(V_19) ,2) V_19,max(case when V19CP95 =#{condition.count} then V_19 else null end) V_19_CP95,
|
max(V_19_MAX) V_19_MAX,min(V_19_MIN) V_19_MIN,round(avg(V_19) ,2) V_19,max(case when V19CP95 =#{condition.count} then V_19_CP95 else null end) V_19_CP95,
|
||||||
max(V_20_MAX) V_20_MAX,min(V_20_MIN) V_20_MIN,round(avg(V_20) ,2) V_20,max(case when V20CP95 =#{condition.count} then V_20 else null end) V_20_CP95,
|
max(V_20_MAX) V_20_MAX,min(V_20_MIN) V_20_MIN,round(avg(V_20) ,2) V_20,max(case when V20CP95 =#{condition.count} then V_20_CP95 else null end) V_20_CP95,
|
||||||
max(V_21_MAX) V_21_MAX,min(V_21_MIN) V_21_MIN,round(avg(V_21) ,2) V_21,max(case when V21CP95 =#{condition.count} then V_21 else null end) V_21_CP95,
|
max(V_21_MAX) V_21_MAX,min(V_21_MIN) V_21_MIN,round(avg(V_21) ,2) V_21,max(case when V21CP95 =#{condition.count} then V_21_CP95 else null end) V_21_CP95,
|
||||||
max(V_22_MAX) V_22_MAX,min(V_22_MIN) V_22_MIN,round(avg(V_22) ,2) V_22,max(case when V22CP95 =#{condition.count} then V_22 else null end) V_22_CP95,
|
max(V_22_MAX) V_22_MAX,min(V_22_MIN) V_22_MIN,round(avg(V_22) ,2) V_22,max(case when V22CP95 =#{condition.count} then V_22_CP95 else null end) V_22_CP95,
|
||||||
max(V_23_MAX) V_23_MAX,min(V_23_MIN) V_23_MIN,round(avg(V_23) ,2) V_23,max(case when V23CP95 =#{condition.count} then V_23 else null end) V_23_CP95,
|
max(V_23_MAX) V_23_MAX,min(V_23_MIN) V_23_MIN,round(avg(V_23) ,2) V_23,max(case when V23CP95 =#{condition.count} then V_23_CP95 else null end) V_23_CP95,
|
||||||
max(V_24_MAX) V_24_MAX,min(V_24_MIN) V_24_MIN,round(avg(V_24) ,2) V_24,max(case when V24CP95 =#{condition.count} then V_24 else null end) V_24_CP95,
|
max(V_24_MAX) V_24_MAX,min(V_24_MIN) V_24_MIN,round(avg(V_24) ,2) V_24,max(case when V24CP95 =#{condition.count} then V_24_CP95 else null end) V_24_CP95,
|
||||||
max(V_25_MAX) V_25_MAX,min(V_25_MIN) V_25_MIN,round(avg(V_25) ,2) V_25,max(case when V25CP95 =#{condition.count} then V_25 else null end) V_25_CP95,
|
max(V_25_MAX) V_25_MAX,min(V_25_MIN) V_25_MIN,round(avg(V_25) ,2) V_25,max(case when V25CP95 =#{condition.count} then V_25_CP95 else null end) V_25_CP95,
|
||||||
max(V_26_MAX) V_26_MAX,min(V_26_MIN) V_26_MIN,round(avg(V_26) ,2) V_26,max(case when V26CP95 =#{condition.count} then V_26 else null end) V_26_CP95,
|
max(V_26_MAX) V_26_MAX,min(V_26_MIN) V_26_MIN,round(avg(V_26) ,2) V_26,max(case when V26CP95 =#{condition.count} then V_26_CP95 else null end) V_26_CP95,
|
||||||
max(V_27_MAX) V_27_MAX,min(V_27_MIN) V_27_MIN,round(avg(V_27) ,2) V_27,max(case when V27CP95 =#{condition.count} then V_27 else null end) V_27_CP95,
|
max(V_27_MAX) V_27_MAX,min(V_27_MIN) V_27_MIN,round(avg(V_27) ,2) V_27,max(case when V27CP95 =#{condition.count} then V_27_CP95 else null end) V_27_CP95,
|
||||||
max(V_28_MAX) V_28_MAX,min(V_28_MIN) V_28_MIN,round(avg(V_28) ,2) V_28,max(case when V28CP95 =#{condition.count} then V_28 else null end) V_28_CP95,
|
max(V_28_MAX) V_28_MAX,min(V_28_MIN) V_28_MIN,round(avg(V_28) ,2) V_28,max(case when V28CP95 =#{condition.count} then V_28_CP95 else null end) V_28_CP95,
|
||||||
max(V_29_MAX) V_29_MAX,min(V_29_MIN) V_29_MIN,round(avg(V_29) ,2) V_29,max(case when V29CP95 =#{condition.count} then V_29 else null end) V_29_CP95,
|
max(V_29_MAX) V_29_MAX,min(V_29_MIN) V_29_MIN,round(avg(V_29) ,2) V_29,max(case when V29CP95 =#{condition.count} then V_29_CP95 else null end) V_29_CP95,
|
||||||
max(V_30_MAX) V_30_MAX,min(V_30_MIN) V_30_MIN,round(avg(V_30) ,2) V_30,max(case when V30CP95 =#{condition.count} then V_30 else null end) V_30_CP95,
|
max(V_30_MAX) V_30_MAX,min(V_30_MIN) V_30_MIN,round(avg(V_30) ,2) V_30,max(case when V30CP95 =#{condition.count} then V_30_CP95 else null end) V_30_CP95,
|
||||||
max(V_31_MAX) V_31_MAX,min(V_31_MIN) V_31_MIN,round(avg(V_31) ,2) V_31,max(case when V31CP95 =#{condition.count} then V_31 else null end) V_31_CP95,
|
max(V_31_MAX) V_31_MAX,min(V_31_MIN) V_31_MIN,round(avg(V_31) ,2) V_31,max(case when V31CP95 =#{condition.count} then V_31_CP95 else null end) V_31_CP95,
|
||||||
max(V_32_MAX) V_32_MAX,min(V_32_MIN) V_32_MIN,round(avg(V_32) ,2) V_32,max(case when V32CP95 =#{condition.count} then V_32 else null end) V_32_CP95,
|
max(V_32_MAX) V_32_MAX,min(V_32_MIN) V_32_MIN,round(avg(V_32) ,2) V_32,max(case when V32CP95 =#{condition.count} then V_32_CP95 else null end) V_32_CP95,
|
||||||
max(V_33_MAX) V_33_MAX,min(V_33_MIN) V_33_MIN,round(avg(V_33) ,2) V_33,max(case when V33CP95 =#{condition.count} then V_33 else null end) V_33_CP95,
|
max(V_33_MAX) V_33_MAX,min(V_33_MIN) V_33_MIN,round(avg(V_33) ,2) V_33,max(case when V33CP95 =#{condition.count} then V_33_CP95 else null end) V_33_CP95,
|
||||||
max(V_34_MAX) V_34_MAX,min(V_34_MIN) V_34_MIN,round(avg(V_34) ,2) V_34,max(case when V34CP95 =#{condition.count} then V_34 else null end) V_34_CP95,
|
max(V_34_MAX) V_34_MAX,min(V_34_MIN) V_34_MIN,round(avg(V_34) ,2) V_34,max(case when V34CP95 =#{condition.count} then V_34_CP95 else null end) V_34_CP95,
|
||||||
max(V_35_MAX) V_35_MAX,min(V_35_MIN) V_35_MIN,round(avg(V_35) ,2) V_35,max(case when V35CP95 =#{condition.count} then V_35 else null end) V_35_CP95,
|
max(V_35_MAX) V_35_MAX,min(V_35_MIN) V_35_MIN,round(avg(V_35) ,2) V_35,max(case when V35CP95 =#{condition.count} then V_35_CP95 else null end) V_35_CP95,
|
||||||
max(V_36_MAX) V_36_MAX,min(V_36_MIN) V_36_MIN,round(avg(V_36) ,2) V_36,max(case when V36CP95 =#{condition.count} then V_36 else null end) V_36_CP95,
|
max(V_36_MAX) V_36_MAX,min(V_36_MIN) V_36_MIN,round(avg(V_36) ,2) V_36,max(case when V36CP95 =#{condition.count} then V_36_CP95 else null end) V_36_CP95,
|
||||||
max(V_37_MAX) V_37_MAX,min(V_37_MIN) V_37_MIN,round(avg(V_37) ,2) V_37,max(case when V37CP95 =#{condition.count} then V_37 else null end) V_37_CP95,
|
max(V_37_MAX) V_37_MAX,min(V_37_MIN) V_37_MIN,round(avg(V_37) ,2) V_37,max(case when V37CP95 =#{condition.count} then V_37_CP95 else null end) V_37_CP95,
|
||||||
max(V_38_MAX) V_38_MAX,min(V_38_MIN) V_38_MIN,round(avg(V_38) ,2) V_38,max(case when V38CP95 =#{condition.count} then V_38 else null end) V_38_CP95,
|
max(V_38_MAX) V_38_MAX,min(V_38_MIN) V_38_MIN,round(avg(V_38) ,2) V_38,max(case when V38CP95 =#{condition.count} then V_38_CP95 else null end) V_38_CP95,
|
||||||
max(V_39_MAX) V_39_MAX,min(V_39_MIN) V_39_MIN,round(avg(V_39) ,2) V_39,max(case when V39CP95 =#{condition.count} then V_39 else null end) V_39_CP95,
|
max(V_39_MAX) V_39_MAX,min(V_39_MIN) V_39_MIN,round(avg(V_39) ,2) V_39,max(case when V39CP95 =#{condition.count} then V_39_CP95 else null end) V_39_CP95,
|
||||||
max(V_40_MAX) V_40_MAX,min(V_40_MIN) V_40_MIN,round(avg(V_40) ,2) V_40,max(case when V40CP95 =#{condition.count} then V_40 else null end) V_40_CP95,
|
max(V_40_MAX) V_40_MAX,min(V_40_MIN) V_40_MIN,round(avg(V_40) ,2) V_40,max(case when V40CP95 =#{condition.count} then V_40_CP95 else null end) V_40_CP95,
|
||||||
max(V_41_MAX) V_41_MAX,min(V_41_MIN) V_41_MIN,round(avg(V_41) ,2) V_41,max(case when V41CP95 =#{condition.count} then V_41 else null end) V_41_CP95,
|
max(V_41_MAX) V_41_MAX,min(V_41_MIN) V_41_MIN,round(avg(V_41) ,2) V_41,max(case when V41CP95 =#{condition.count} then V_41_CP95 else null end) V_41_CP95,
|
||||||
max(V_42_MAX) V_42_MAX,min(V_42_MIN) V_42_MIN,round(avg(V_42) ,2) V_42,max(case when V42CP95 =#{condition.count} then V_42 else null end) V_42_CP95,
|
max(V_42_MAX) V_42_MAX,min(V_42_MIN) V_42_MIN,round(avg(V_42) ,2) V_42,max(case when V42CP95 =#{condition.count} then V_42_CP95 else null end) V_42_CP95,
|
||||||
max(V_43_MAX) V_43_MAX,min(V_43_MIN) V_43_MIN,round(avg(V_43) ,2) V_43,max(case when V43CP95 =#{condition.count} then V_43 else null end) V_43_CP95,
|
max(V_43_MAX) V_43_MAX,min(V_43_MIN) V_43_MIN,round(avg(V_43) ,2) V_43,max(case when V43CP95 =#{condition.count} then V_43_CP95 else null end) V_43_CP95,
|
||||||
max(V_44_MAX) V_44_MAX,min(V_44_MIN) V_44_MIN,round(avg(V_44) ,2) V_44,max(case when V44CP95 =#{condition.count} then V_44 else null end) V_44_CP95,
|
max(V_44_MAX) V_44_MAX,min(V_44_MIN) V_44_MIN,round(avg(V_44) ,2) V_44,max(case when V44CP95 =#{condition.count} then V_44_CP95 else null end) V_44_CP95,
|
||||||
max(V_45_MAX) V_45_MAX,min(V_45_MIN) V_45_MIN,round(avg(V_45) ,2) V_45,max(case when V45CP95 =#{condition.count} then V_45 else null end) V_45_CP95,
|
max(V_45_MAX) V_45_MAX,min(V_45_MIN) V_45_MIN,round(avg(V_45) ,2) V_45,max(case when V45CP95 =#{condition.count} then V_45_CP95 else null end) V_45_CP95,
|
||||||
max(V_46_MAX) V_46_MAX,min(V_46_MIN) V_46_MIN,round(avg(V_46) ,2) V_46,max(case when V46CP95 =#{condition.count} then V_46 else null end) V_46_CP95,
|
max(V_46_MAX) V_46_MAX,min(V_46_MIN) V_46_MIN,round(avg(V_46) ,2) V_46,max(case when V46CP95 =#{condition.count} then V_46_CP95 else null end) V_46_CP95,
|
||||||
max(V_47_MAX) V_47_MAX,min(V_47_MIN) V_47_MIN,round(avg(V_47) ,2) V_47,max(case when V47CP95 =#{condition.count} then V_47 else null end) V_47_CP95,
|
max(V_47_MAX) V_47_MAX,min(V_47_MIN) V_47_MIN,round(avg(V_47) ,2) V_47,max(case when V47CP95 =#{condition.count} then V_47_CP95 else null end) V_47_CP95,
|
||||||
max(V_48_MAX) V_48_MAX,min(V_48_MIN) V_48_MIN,round(avg(V_48) ,2) V_48,max(case when V48CP95 =#{condition.count} then V_48 else null end) V_48_CP95,
|
max(V_48_MAX) V_48_MAX,min(V_48_MIN) V_48_MIN,round(avg(V_48) ,2) V_48,max(case when V48CP95 =#{condition.count} then V_48_CP95 else null end) V_48_CP95,
|
||||||
max(V_49_MAX) V_49_MAX,min(V_49_MIN) V_49_MIN,round(avg(V_49) ,2) V_49,max(case when V49CP95 =#{condition.count} then V_49 else null end) V_49_CP95,
|
max(V_49_MAX) V_49_MAX,min(V_49_MIN) V_49_MIN,round(avg(V_49) ,2) V_49,max(case when V49CP95 =#{condition.count} then V_49_CP95 else null end) V_49_CP95,
|
||||||
max(V_50_MAX) V_50_MAX,min(V_50_MIN) V_50_MIN,round(avg(V_50) ,2) V_50,max(case when V50CP95 =#{condition.count} then V_50 else null end) V_50_CP95
|
max(V_50_MAX) V_50_MAX,min(V_50_MIN) V_50_MIN,round(avg(V_50) ,2) V_50,max(case when V50CP95 =#{condition.count} then V_50_CP95 else null end) V_50_CP95
|
||||||
from ( select t.*,
|
from ( select t.*,
|
||||||
row_number() over (partition by phasic_type order by V_2 desc) V2CP95,
|
row_number() over (partition by phasic_type order by V_2_CP95 desc) V2CP95,
|
||||||
row_number() over (partition by phasic_type order by V_3 desc) V3CP95,
|
row_number() over (partition by phasic_type order by V_3_CP95 desc) V3CP95,
|
||||||
row_number() over (partition by phasic_type order by V_4 desc) V4CP95,
|
row_number() over (partition by phasic_type order by V_4_CP95 desc) V4CP95,
|
||||||
row_number() over (partition by phasic_type order by V_5 desc) V5CP95,
|
row_number() over (partition by phasic_type order by V_5_CP95 desc) V5CP95,
|
||||||
row_number() over (partition by phasic_type order by V_6 desc) V6CP95,
|
row_number() over (partition by phasic_type order by V_6_CP95 desc) V6CP95,
|
||||||
row_number() over (partition by phasic_type order by V_7 desc) V7CP95,
|
row_number() over (partition by phasic_type order by V_7_CP95 desc) V7CP95,
|
||||||
row_number() over (partition by phasic_type order by V_8 desc) V8CP95,
|
row_number() over (partition by phasic_type order by V_8_CP95 desc) V8CP95,
|
||||||
row_number() over (partition by phasic_type order by V_9 desc) V9CP95,
|
row_number() over (partition by phasic_type order by V_9_CP95 desc) V9CP95,
|
||||||
row_number() over (partition by phasic_type order by V_10 desc) V10CP95,
|
row_number() over (partition by phasic_type order by V_10_CP95 desc) V10CP95,
|
||||||
row_number() over (partition by phasic_type order by V_11 desc) V11CP95,
|
row_number() over (partition by phasic_type order by V_11_CP95 desc) V11CP95,
|
||||||
row_number() over (partition by phasic_type order by V_12 desc) V12CP95,
|
row_number() over (partition by phasic_type order by V_12_CP95 desc) V12CP95,
|
||||||
row_number() over (partition by phasic_type order by V_13 desc) V13CP95,
|
row_number() over (partition by phasic_type order by V_13_CP95 desc) V13CP95,
|
||||||
row_number() over (partition by phasic_type order by V_14 desc) V14CP95,
|
row_number() over (partition by phasic_type order by V_14_CP95 desc) V14CP95,
|
||||||
row_number() over (partition by phasic_type order by V_15 desc) V15CP95,
|
row_number() over (partition by phasic_type order by V_15_CP95 desc) V15CP95,
|
||||||
row_number() over (partition by phasic_type order by V_16 desc) V16CP95,
|
row_number() over (partition by phasic_type order by V_16_CP95 desc) V16CP95,
|
||||||
row_number() over (partition by phasic_type order by V_17 desc) V17CP95,
|
row_number() over (partition by phasic_type order by V_17_CP95 desc) V17CP95,
|
||||||
row_number() over (partition by phasic_type order by V_18 desc) V18CP95,
|
row_number() over (partition by phasic_type order by V_18_CP95 desc) V18CP95,
|
||||||
row_number() over (partition by phasic_type order by V_19 desc) V19CP95,
|
row_number() over (partition by phasic_type order by V_19_CP95 desc) V19CP95,
|
||||||
row_number() over (partition by phasic_type order by V_20 desc) V20CP95,
|
row_number() over (partition by phasic_type order by V_20_CP95 desc) V20CP95,
|
||||||
row_number() over (partition by phasic_type order by V_21 desc) V21CP95,
|
row_number() over (partition by phasic_type order by V_21_CP95 desc) V21CP95,
|
||||||
row_number() over (partition by phasic_type order by V_22 desc) V22CP95,
|
row_number() over (partition by phasic_type order by V_22_CP95 desc) V22CP95,
|
||||||
row_number() over (partition by phasic_type order by V_23 desc) V23CP95,
|
row_number() over (partition by phasic_type order by V_23_CP95 desc) V23CP95,
|
||||||
row_number() over (partition by phasic_type order by V_24 desc) V24CP95,
|
row_number() over (partition by phasic_type order by V_24_CP95 desc) V24CP95,
|
||||||
row_number() over (partition by phasic_type order by V_25 desc) V25CP95,
|
row_number() over (partition by phasic_type order by V_25_CP95 desc) V25CP95,
|
||||||
row_number() over (partition by phasic_type order by V_26 desc) V26CP95,
|
row_number() over (partition by phasic_type order by V_26_CP95 desc) V26CP95,
|
||||||
row_number() over (partition by phasic_type order by V_27 desc) V27CP95,
|
row_number() over (partition by phasic_type order by V_27_CP95 desc) V27CP95,
|
||||||
row_number() over (partition by phasic_type order by V_28 desc) V28CP95,
|
row_number() over (partition by phasic_type order by V_28_CP95 desc) V28CP95,
|
||||||
row_number() over (partition by phasic_type order by V_29 desc) V29CP95,
|
row_number() over (partition by phasic_type order by V_29_CP95 desc) V29CP95,
|
||||||
row_number() over (partition by phasic_type order by V_30 desc) V30CP95,
|
row_number() over (partition by phasic_type order by V_30_CP95 desc) V30CP95,
|
||||||
row_number() over (partition by phasic_type order by V_31 desc) V31CP95,
|
row_number() over (partition by phasic_type order by V_31_CP95 desc) V31CP95,
|
||||||
row_number() over (partition by phasic_type order by V_32 desc) V32CP95,
|
row_number() over (partition by phasic_type order by V_32_CP95 desc) V32CP95,
|
||||||
row_number() over (partition by phasic_type order by V_33 desc) V33CP95,
|
row_number() over (partition by phasic_type order by V_33_CP95 desc) V33CP95,
|
||||||
row_number() over (partition by phasic_type order by V_34 desc) V34CP95,
|
row_number() over (partition by phasic_type order by V_34_CP95 desc) V34CP95,
|
||||||
row_number() over (partition by phasic_type order by V_35 desc) V35CP95,
|
row_number() over (partition by phasic_type order by V_35_CP95 desc) V35CP95,
|
||||||
row_number() over (partition by phasic_type order by V_36 desc) V36CP95,
|
row_number() over (partition by phasic_type order by V_36_CP95 desc) V36CP95,
|
||||||
row_number() over (partition by phasic_type order by V_37 desc) V37CP95,
|
row_number() over (partition by phasic_type order by V_37_CP95 desc) V37CP95,
|
||||||
row_number() over (partition by phasic_type order by V_38 desc) V38CP95,
|
row_number() over (partition by phasic_type order by V_38_CP95 desc) V38CP95,
|
||||||
row_number() over (partition by phasic_type order by V_39 desc) V39CP95,
|
row_number() over (partition by phasic_type order by V_39_CP95 desc) V39CP95,
|
||||||
row_number() over (partition by phasic_type order by V_40 desc) V40CP95,
|
row_number() over (partition by phasic_type order by V_40_CP95 desc) V40CP95,
|
||||||
row_number() over (partition by phasic_type order by V_41 desc) V41CP95,
|
row_number() over (partition by phasic_type order by V_41_CP95 desc) V41CP95,
|
||||||
row_number() over (partition by phasic_type order by V_42 desc) V42CP95,
|
row_number() over (partition by phasic_type order by V_42_CP95 desc) V42CP95,
|
||||||
row_number() over (partition by phasic_type order by V_43 desc) V43CP95,
|
row_number() over (partition by phasic_type order by V_43_CP95 desc) V43CP95,
|
||||||
row_number() over (partition by phasic_type order by V_44 desc) V44CP95,
|
row_number() over (partition by phasic_type order by V_44_CP95 desc) V44CP95,
|
||||||
row_number() over (partition by phasic_type order by V_45 desc) V45CP95,
|
row_number() over (partition by phasic_type order by V_45_CP95 desc) V45CP95,
|
||||||
row_number() over (partition by phasic_type order by V_46 desc) V46CP95,
|
row_number() over (partition by phasic_type order by V_46_CP95 desc) V46CP95,
|
||||||
row_number() over (partition by phasic_type order by V_47 desc) V47CP95,
|
row_number() over (partition by phasic_type order by V_47_CP95 desc) V47CP95,
|
||||||
row_number() over (partition by phasic_type order by V_48 desc) V48CP95,
|
row_number() over (partition by phasic_type order by V_48_CP95 desc) V48CP95,
|
||||||
row_number() over (partition by phasic_type order by V_49 desc) V49CP95,
|
row_number() over (partition by phasic_type order by V_49_CP95 desc) V49CP95,
|
||||||
row_number() over (partition by phasic_type order by V_50 desc) V50CP95
|
row_number() over (partition by phasic_type order by V_50_CP95 desc) V50CP95
|
||||||
from
|
from
|
||||||
<choose>
|
<choose>
|
||||||
<when test="condition.b == true">
|
<when test="condition.b == true">
|
||||||
@@ -126,9 +126,9 @@
|
|||||||
<select id="getFirstHarmonic" resultType="ReportValue">
|
<select id="getFirstHarmonic" resultType="ReportValue">
|
||||||
SELECT PHASIC_TYPE PHASETYPE,
|
SELECT PHASIC_TYPE PHASETYPE,
|
||||||
MAX(V_1_MAX) FMAXVALUE,MIN(V_1_MIN) MINVALUE,ROUND(AVG(V_1) ,2) MEANVALUE
|
MAX(V_1_MAX) FMAXVALUE,MIN(V_1_MIN) MINVALUE,ROUND(AVG(V_1) ,2) MEANVALUE
|
||||||
,MAX(CASE WHEN V1CP95 =#{condition.count} THEN V_1 ELSE NULL END) CP95VALUE
|
,MAX(CASE WHEN V1CP95 =#{condition.count} THEN V_1_CP95 ELSE NULL END) CP95VALUE
|
||||||
FROM ( SELECT T.*,
|
FROM ( SELECT T.*,
|
||||||
ROW_NUMBER() OVER (PARTITION BY PHASIC_TYPE ORDER BY V_1 DESC) V1CP95
|
ROW_NUMBER() OVER (PARTITION BY PHASIC_TYPE ORDER BY V_1_CP95 DESC) V1CP95
|
||||||
from
|
from
|
||||||
<choose>
|
<choose>
|
||||||
<when test="condition.b == true">
|
<when test="condition.b == true">
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
select
|
select
|
||||||
count(distinct myindex) allLine
|
count(distinct myindex) allLine
|
||||||
from
|
from
|
||||||
limit_target
|
limit_rate
|
||||||
where
|
where
|
||||||
myindex IN
|
myindex IN
|
||||||
<foreach collection="list" item="list1" open="(" close=")" separator=",">
|
<foreach collection="list" item="list1" open="(" close=")" separator=",">
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
SELECT
|
SELECT
|
||||||
COUNT(DISTINCT(MYINDEX)) overLine
|
COUNT(DISTINCT(MYINDEX)) overLine
|
||||||
FROM
|
FROM
|
||||||
limit_target b1,
|
limit_rate b1,
|
||||||
PQS_DEPTSLINE b2,
|
PQS_DEPTSLINE b2,
|
||||||
PQS_DEPTS b3
|
PQS_DEPTS b3
|
||||||
WHERE
|
WHERE
|
||||||
@@ -44,7 +44,8 @@
|
|||||||
<foreach collection="list" item="list2" open="(" close=")" separator=",">
|
<foreach collection="list" item="list2" open="(" close=")" separator=",">
|
||||||
#{list2}
|
#{list2}
|
||||||
</foreach>
|
</foreach>
|
||||||
AND b1.MYINDEX = b2.LINE_INDEX AND b2.DEPTS_INDEX = b3.DEPTS_INDEX AND b3.CUSTOM_DEPT = 0
|
AND b1.MYINDEX = b2.LINE_INDEX AND b2.DEPTS_INDEX = b3.DEPTS_INDEX
|
||||||
|
-- AND b3.CUSTOM_DEPT = 0
|
||||||
AND (b1.flicker_overtime >0 or b1.ubalance_overtime >0 or b1.freq_dev_overtime >0 or b1.uaberrance_overtime >0 or b1.voltage_dev_overtime >0 or b1.uharm_2_overtime >0 or b1.iharm_2_overtime >0 or b1.uharm_3_overtime >0 or b1.iharm_3_overtime >0 or b1.uharm_4_overtime >0 or b1.iharm_4_overtime >0
|
AND (b1.flicker_overtime >0 or b1.ubalance_overtime >0 or b1.freq_dev_overtime >0 or b1.uaberrance_overtime >0 or b1.voltage_dev_overtime >0 or b1.uharm_2_overtime >0 or b1.iharm_2_overtime >0 or b1.uharm_3_overtime >0 or b1.iharm_3_overtime >0 or b1.uharm_4_overtime >0 or b1.iharm_4_overtime >0
|
||||||
or b1.uharm_5_overtime >0 or b1.iharm_5_overtime >0 or b1.uharm_6_overtime >0 or b1.iharm_6_overtime >0 or b1.uharm_7_overtime >0 or b1.iharm_7_overtime >0
|
or b1.uharm_5_overtime >0 or b1.iharm_5_overtime >0 or b1.uharm_6_overtime >0 or b1.iharm_6_overtime >0 or b1.uharm_7_overtime >0 or b1.iharm_7_overtime >0
|
||||||
or b1.uharm_8_overtime >0 or b1.iharm_8_overtime >0 or b1.uharm_9_overtime >0 or b1.iharm_9_overtime >0 or b1.uharm_10_overtime >0 or b1.iharm_10_overtime >0
|
or b1.uharm_8_overtime >0 or b1.iharm_8_overtime >0 or b1.uharm_9_overtime >0 or b1.iharm_9_overtime >0 or b1.uharm_10_overtime >0 or b1.iharm_10_overtime >0
|
||||||
@@ -61,7 +62,7 @@
|
|||||||
select
|
select
|
||||||
count(distinct myindex) frequencyOverLine
|
count(distinct myindex) frequencyOverLine
|
||||||
from
|
from
|
||||||
limit_target
|
limit_rate
|
||||||
where
|
where
|
||||||
myindex IN
|
myindex IN
|
||||||
<foreach collection="list" item="list3" open="(" close=")" separator=",">
|
<foreach collection="list" item="list3" open="(" close=")" separator=",">
|
||||||
@@ -73,7 +74,7 @@
|
|||||||
(select
|
(select
|
||||||
count(distinct myindex) voltageOverLine
|
count(distinct myindex) voltageOverLine
|
||||||
from
|
from
|
||||||
limit_target
|
limit_rate
|
||||||
where
|
where
|
||||||
myindex IN
|
myindex IN
|
||||||
<foreach collection="list" item="list4" open="(" close=")" separator=",">
|
<foreach collection="list" item="list4" open="(" close=")" separator=",">
|
||||||
@@ -86,7 +87,7 @@
|
|||||||
select
|
select
|
||||||
count(distinct c.myindex) harmonicVoltageOverLine
|
count(distinct c.myindex) harmonicVoltageOverLine
|
||||||
from
|
from
|
||||||
limit_target c
|
limit_rate c
|
||||||
where
|
where
|
||||||
c.myindex in
|
c.myindex in
|
||||||
<foreach collection="list" item="harmonicVoltageList" open="(" close=")" separator=",">
|
<foreach collection="list" item="harmonicVoltageList" open="(" close=")" separator=",">
|
||||||
@@ -99,7 +100,7 @@
|
|||||||
select
|
select
|
||||||
count(distinct c.myindex) harmonicCurrentOverLine
|
count(distinct c.myindex) harmonicCurrentOverLine
|
||||||
from
|
from
|
||||||
limit_target c
|
limit_rate c
|
||||||
where
|
where
|
||||||
c.myindex in
|
c.myindex in
|
||||||
<foreach collection="list" item="harmonicCurrentList" open="(" close=")" separator=",">
|
<foreach collection="list" item="harmonicCurrentList" open="(" close=")" separator=",">
|
||||||
@@ -112,7 +113,7 @@
|
|||||||
select
|
select
|
||||||
count(distinct c.myindex) ubalanceOverLine
|
count(distinct c.myindex) ubalanceOverLine
|
||||||
from
|
from
|
||||||
limit_target c
|
limit_rate c
|
||||||
where
|
where
|
||||||
c.myindex in
|
c.myindex in
|
||||||
<foreach collection="list" item="threePhaseVoltageList" open="(" close=")" separator=",">
|
<foreach collection="list" item="threePhaseVoltageList" open="(" close=")" separator=",">
|
||||||
@@ -125,7 +126,7 @@
|
|||||||
select
|
select
|
||||||
count(distinct c.myindex) flicketOverLine
|
count(distinct c.myindex) flicketOverLine
|
||||||
from
|
from
|
||||||
limit_target c
|
limit_rate c
|
||||||
where
|
where
|
||||||
c.myindex in
|
c.myindex in
|
||||||
<foreach collection="list" item="flickerList" open="(" close=")" separator=",">
|
<foreach collection="list" item="flickerList" open="(" close=")" separator=",">
|
||||||
@@ -138,7 +139,7 @@
|
|||||||
select
|
select
|
||||||
count(distinct c.myindex) negativeOverLine
|
count(distinct c.myindex) negativeOverLine
|
||||||
from
|
from
|
||||||
limit_target c
|
limit_rate c
|
||||||
where
|
where
|
||||||
c.myindex in
|
c.myindex in
|
||||||
<foreach collection="list" item="negativeList" open="(" close=")" separator=",">
|
<foreach collection="list" item="negativeList" open="(" close=")" separator=",">
|
||||||
@@ -151,7 +152,7 @@
|
|||||||
select
|
select
|
||||||
count(distinct c.myindex) interharmonicOverLine
|
count(distinct c.myindex) interharmonicOverLine
|
||||||
from
|
from
|
||||||
limit_target c
|
limit_rate c
|
||||||
where
|
where
|
||||||
c.myindex in
|
c.myindex in
|
||||||
<foreach collection="list" item="harmonicCurrentList" open="(" close=")" separator=",">
|
<foreach collection="list" item="harmonicCurrentList" open="(" close=")" separator=",">
|
||||||
@@ -655,5 +656,11 @@
|
|||||||
ON A.TIMEID = I.TIMEID
|
ON A.TIMEID = I.TIMEID
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getMonitorNature" resultType="int">
|
||||||
|
SELECT LINE_INDEX FROM PQ_LINEDETAIL WHERE POWERID = #{powerId} AND LINE_INDEX IN
|
||||||
|
<foreach collection="list" item="totalList" open="(" close=")" separator=",">
|
||||||
|
#{totalList}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -81,6 +81,14 @@
|
|||||||
<label >干扰源类型:</label>
|
<label >干扰源类型:</label>
|
||||||
<select class="width3 form-control" id="loadtype"></select>
|
<select class="width3 form-control" id="loadtype"></select>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group has-feedback mr10" >
|
||||||
|
<label >监测性质:</label>
|
||||||
|
<select class="width3 form-control" id="monitorNature">
|
||||||
|
<option selected value="-1">全部</option>
|
||||||
|
<option value="0">电网侧</option>
|
||||||
|
<option value="1">非电网侧</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|||||||
@@ -94,6 +94,14 @@
|
|||||||
<label >干扰源类型:</label>
|
<label >干扰源类型:</label>
|
||||||
<select class="width3 form-control" id="loadtype"></select>
|
<select class="width3 form-control" id="loadtype"></select>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group has-feedback mr10" >
|
||||||
|
<label >监测性质:</label>
|
||||||
|
<select class="width3 form-control" id="monitorNature">
|
||||||
|
<option selected value="-1">全部</option>
|
||||||
|
<option value="0">电网侧</option>
|
||||||
|
<option value="1">非电网侧</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mt5">
|
<div class="row mt5">
|
||||||
<%--区域模块--%>
|
<%--区域模块--%>
|
||||||
@@ -227,52 +235,59 @@
|
|||||||
$("#scale").attr("disabled",false);
|
$("#scale").attr("disabled",false);
|
||||||
$("#manc").attr("disabled",false);
|
$("#manc").attr("disabled",false);
|
||||||
$("#loadtype").attr("disabled",false);
|
$("#loadtype").attr("disabled",false);
|
||||||
|
$("#monitorNature").attr("disabled",false);
|
||||||
|
|
||||||
showtype = 0;
|
showtype = 0;
|
||||||
var area = $area.eq(0).attr("index");
|
var area = $area.eq(0).attr("index");
|
||||||
var scale = $("#scale").val();
|
var scale = $("#scale").val();
|
||||||
var manc = $("#manc").val();
|
var manc = $("#manc").val();
|
||||||
var loadtype = $("#loadtype").val();
|
var loadtype = $("#loadtype").val();
|
||||||
refresh(startTime, endTime, area,scale,manc,loadtype)
|
var monitorNature = $("#monitorNature").val();
|
||||||
|
refresh(startTime, endTime, area,scale,manc,loadtype,monitorNature)
|
||||||
}else if($("option:selected",this).val() == 1){
|
}else if($("option:selected",this).val() == 1){
|
||||||
loadselect("电压等级","scale");
|
loadselect("电压等级","scale");
|
||||||
$("#area").attr("disabled",false);
|
$("#area").attr("disabled",false);
|
||||||
$("#scale").attr("disabled",true);
|
$("#scale").attr("disabled",true);
|
||||||
$("#manc").attr("disabled",false);
|
$("#manc").attr("disabled",false);
|
||||||
$("#loadtype").attr("disabled",false);
|
$("#loadtype").attr("disabled",false);
|
||||||
|
$("#monitorNature").attr("disabled",false);
|
||||||
$("#area").css("background-color","#fff");
|
$("#area").css("background-color","#fff");
|
||||||
showtype = 1;
|
showtype = 1;
|
||||||
var area = $area.eq(0).attr("index");
|
var area = $area.eq(0).attr("index");
|
||||||
var scale = $("#scale").val();
|
var scale = $("#scale").val();
|
||||||
var manc = $("#manc").val();
|
var manc = $("#manc").val();
|
||||||
var loadtype = $("#loadtype").val();
|
var loadtype = $("#loadtype").val();
|
||||||
refresh(startTime, endTime, area,scale,manc,loadtype);
|
var monitorNature = $("#monitorNature").val();
|
||||||
|
refresh(startTime, endTime, area,scale,manc,loadtype,monitorNature);
|
||||||
}else if($("option:selected",this).val() == 2){
|
}else if($("option:selected",this).val() == 2){
|
||||||
loadselect("制造厂商","manc");
|
loadselect("制造厂商","manc");
|
||||||
$("#area").attr("disabled",false);
|
$("#area").attr("disabled",false);
|
||||||
$("#scale").attr("disabled",false);
|
$("#scale").attr("disabled",false);
|
||||||
$("#manc").attr("disabled",true);
|
$("#manc").attr("disabled",true);
|
||||||
$("#loadtype").attr("disabled",false);
|
$("#loadtype").attr("disabled",false);
|
||||||
|
$("#monitorNature").attr("disabled",false);
|
||||||
$("#area").css("background-color","#fff");
|
$("#area").css("background-color","#fff");
|
||||||
showtype = 2;
|
showtype = 2;
|
||||||
var scale = $("#scale").val();
|
var scale = $("#scale").val();
|
||||||
var manc = $("#manc").val();
|
var manc = $("#manc").val();
|
||||||
var loadtype = $("#loadtype").val();
|
var loadtype = $("#loadtype").val();
|
||||||
refresh(startTime, endTime, area,scale,manc,loadtype);
|
var monitorNature = $("#monitorNature").val();
|
||||||
|
refresh(startTime, endTime, area,scale,manc,loadtype,monitorNature);
|
||||||
}else if($("option:selected",this).val() == 3){
|
}else if($("option:selected",this).val() == 3){
|
||||||
loadselect("干扰源类型","loadtype");
|
loadselect("干扰源类型","loadtype");
|
||||||
$("#area").attr("disabled",false);
|
$("#area").attr("disabled",false);
|
||||||
$("#scale").attr("disabled",false);
|
$("#scale").attr("disabled",false);
|
||||||
$("#manc").attr("disabled",false);
|
$("#manc").attr("disabled",false);
|
||||||
$("#loadtype").attr("disabled",true);
|
$("#loadtype").attr("disabled",true);
|
||||||
|
$("#monitorNature").attr("disabled",false);
|
||||||
$("#area").css("background-color","#fff");
|
$("#area").css("background-color","#fff");
|
||||||
showtype = 3;
|
showtype = 3;
|
||||||
var area = $area.eq(0).attr("index");
|
var area = $area.eq(0).attr("index");
|
||||||
var scale = $("#scale").val();
|
var scale = $("#scale").val();
|
||||||
var manc = $("#manc").val();
|
var manc = $("#manc").val();
|
||||||
var loadtype = $("#loadtype").val();
|
var loadtype = $("#loadtype").val();
|
||||||
refresh(startTime, endTime, area,scale,manc,loadtype);
|
var monitorNature = $("#monitorNature").val();
|
||||||
|
refresh(startTime, endTime, area,scale,manc,loadtype,monitorNature);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -343,6 +358,7 @@
|
|||||||
$("#scale").attr("disabled",false);
|
$("#scale").attr("disabled",false);
|
||||||
$("#manc").attr("disabled",false);
|
$("#manc").attr("disabled",false);
|
||||||
$("#loadtype").attr("disabled",false);
|
$("#loadtype").attr("disabled",false);
|
||||||
|
$("#monitorNature").attr("disabled",false);
|
||||||
//初始化页面内容
|
//初始化页面内容
|
||||||
var area = $area.eq(0).attr("index");
|
var area = $area.eq(0).attr("index");
|
||||||
var startTime = $startTime.eq(0).val();
|
var startTime = $startTime.eq(0).val();
|
||||||
@@ -359,10 +375,11 @@
|
|||||||
var scale = $("#scale").val();
|
var scale = $("#scale").val();
|
||||||
var manc = $("#manc").val();
|
var manc = $("#manc").val();
|
||||||
var loadtype = $("#loadtype").val();
|
var loadtype = $("#loadtype").val();
|
||||||
refresh(startTime, endTime, area,scale,manc,loadtype);
|
var monitorNature = $("#monitorNature").val();
|
||||||
|
refresh(startTime, endTime, area,scale,manc,loadtype,monitorNature);
|
||||||
});
|
});
|
||||||
|
|
||||||
function refresh(startTime, endTime,area,scale,manc,loadtype) {
|
function refresh(startTime, endTime,area,scale,manc,loadtype,monitorNature) {
|
||||||
var i;
|
var i;
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/pqs9000/area/deviceStatus',
|
url: '/pqs9000/area/deviceStatus',
|
||||||
@@ -373,7 +390,8 @@
|
|||||||
area: area,
|
area: area,
|
||||||
scale:scale,
|
scale:scale,
|
||||||
manc:manc,
|
manc:manc,
|
||||||
loadtype:loadtype
|
loadtype:loadtype,
|
||||||
|
monitorNature: monitorNature
|
||||||
},
|
},
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
beforeSend: function () {
|
beforeSend: function () {
|
||||||
|
|||||||
@@ -79,6 +79,13 @@
|
|||||||
<option value="2">退运</option>
|
<option value="2">退运</option>
|
||||||
</select> <label class="form-group">
|
</select> <label class="form-group">
|
||||||
|
|
||||||
|
<label class="form-group">通讯状态:</label>
|
||||||
|
<select class="form-control" id="runFlag">
|
||||||
|
<option value="">全部</option>
|
||||||
|
<option value="0">中断</option>
|
||||||
|
<option value="1">正常</option>
|
||||||
|
</select> <label class="form-group">
|
||||||
|
|
||||||
<div class="form-inline disinlineb wanzhengdiv">
|
<div class="form-inline disinlineb wanzhengdiv">
|
||||||
<div class="form-group has-feedback mr10">
|
<div class="form-group has-feedback mr10">
|
||||||
<label>统计类型:</label>
|
<label>统计类型:</label>
|
||||||
@@ -101,10 +108,22 @@
|
|||||||
<button id="helper" type="button" class="btn btn-primary tip tip-bottom" data-tip="数据完整性详解">
|
<button id="helper" type="button" class="btn btn-primary tip tip-bottom" data-tip="数据完整性详解">
|
||||||
<i class="glyphicon glyphicon-info-sign" style="margin-left: -3px;margin-right: -3px;"></i>
|
<i class="glyphicon glyphicon-info-sign" style="margin-left: -3px;margin-right: -3px;"></i>
|
||||||
</button>
|
</button>
|
||||||
|
<div id="onlineNumber" type="button" class="btn themeBGColor">
|
||||||
|
在线数:
|
||||||
|
<div style="float: right" id="online"></div>
|
||||||
|
</div>
|
||||||
|
<div id="offlineNumber" type="button" class="btn themeBGColor">
|
||||||
|
离线数:
|
||||||
|
<div style="float: right" id="offline"></div>
|
||||||
|
</div>
|
||||||
|
<div id="analysis" type="button" class="btn themeBGColor" onclick="showAnalysis()">
|
||||||
|
<i class="glyphicon glyphicon-info-sign"></i>
|
||||||
|
<div style="float: right;margin-left: 5px">统计分析</div>
|
||||||
|
</div>
|
||||||
<div class="form-group fr mr10" id="fliteData">
|
<div class="form-group fr mr10" id="fliteData">
|
||||||
<label>筛选数据:</label>
|
<label>筛选数据:</label>
|
||||||
<input type="text" class="form-control" onkeyup="searchResult(this.value)"
|
<input type="text" class="form-control" onkeyup="searchResult(this.value)"
|
||||||
placeholder="空格分开多条件筛选数据">
|
placeholder="多条件筛选数据" style="width: 120px">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<table id="integritylist" class="table table-striped table-bordered dataTable no-footer width100">
|
<table id="integritylist" class="table table-striped table-bordered dataTable no-footer width100">
|
||||||
@@ -115,6 +134,7 @@
|
|||||||
<th>变电站</th>
|
<th>变电站</th>
|
||||||
<th>监测点名称</th>
|
<th>监测点名称</th>
|
||||||
<th>终端IP</th>
|
<th>终端IP</th>
|
||||||
|
<th>所属前置机</th>
|
||||||
<th>终端状态</th>
|
<th>终端状态</th>
|
||||||
<th>通讯状态</th>
|
<th>通讯状态</th>
|
||||||
<th>最新数据时间</th>
|
<th>最新数据时间</th>
|
||||||
|
|||||||
@@ -0,0 +1,99 @@
|
|||||||
|
<%--
|
||||||
|
Created by IntelliJ IDEA.
|
||||||
|
User: 徐扬
|
||||||
|
Date: 2024/7/25
|
||||||
|
Time: 18:50
|
||||||
|
To change this template use File | Settings | File Templates.
|
||||||
|
--%>
|
||||||
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||||
|
pageEncoding="UTF-8" %>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||||
|
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
|
||||||
|
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="zh-CN">
|
||||||
|
<head>
|
||||||
|
<title>监测点分类统计</title>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport"
|
||||||
|
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
|
||||||
|
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
|
||||||
|
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
|
||||||
|
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
|
||||||
|
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
|
||||||
|
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
|
||||||
|
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
|
||||||
|
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
|
||||||
|
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
|
||||||
|
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||||
|
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/bootstrap-select.css"/>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
html, body {
|
||||||
|
background-color: #F9F9F9 !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="form-inline header mt10">
|
||||||
|
<label class="form-group">区域:</label>
|
||||||
|
<div class="form-group has-feedback mr10">
|
||||||
|
<div class="disinlineb">
|
||||||
|
<input id="area" class="form-control" style="width: 140px" readonly>
|
||||||
|
<i class="fa fa-caret-down areaicon"></i>
|
||||||
|
<i class="fa fa-caret-up treeUpIcon disnone"
|
||||||
|
style="color: #C9CBCE;position: absolute;left: 60px;font-size: 18px;z-index: 9999;top: 20px"></i>
|
||||||
|
<div class=" ztree treeUpDiv disnone " id="areaTree"
|
||||||
|
style="position: absolute;width: 140px;height: 147px;border: 2px solid #C9CBCE;overflow: auto;top: 32px;background: #fff;z-index: 100;border-radius: 2px">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<%@include file="../../include/time.jsp"%>
|
||||||
|
<label class="form-group">上报类型:</label>
|
||||||
|
<select class="form-control" id="postType">
|
||||||
|
<option value="">全部</option>
|
||||||
|
<option value="0">国网上报</option>
|
||||||
|
<option value="1">非国网上报</option>
|
||||||
|
</select>
|
||||||
|
<label class="form-group">监测点性质:</label>
|
||||||
|
<select class="form-control" id="powerId">
|
||||||
|
<option value="">全部</option>
|
||||||
|
<option value="0">电网侧</option>
|
||||||
|
<option value="1">非电网侧</option>
|
||||||
|
</select>
|
||||||
|
<label class="form-group">
|
||||||
|
<button id="query" type="button" class="btn btn-primary ml5">
|
||||||
|
<i class="glyphicon glyphicon-search"></i>
|
||||||
|
</button>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-inline mt5">
|
||||||
|
<table id="tongji" style="text-align: center" class="table table-striped table-bordered dataTable no-footer">
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
|
||||||
|
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
|
||||||
|
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
|
||||||
|
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
|
||||||
|
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
|
||||||
|
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
|
||||||
|
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
|
||||||
|
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
|
||||||
|
<script src="${ctx}/js/plugin/layui/layer.js"></script>
|
||||||
|
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||||
|
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
|
||||||
|
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||||
|
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
|
||||||
|
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
|
||||||
|
<script src="${ctx}/js/area.js"></script>
|
||||||
|
<script src="${ctx}/js/color.js"></script>
|
||||||
|
<script src="${ctx}/jspJS/area/statisticalAnalysis.js"></script>
|
||||||
|
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
|
||||||
|
<script src="${ctx}/js/plugin/bootstrap/3.3.7/bootstrap.min.js"></script>
|
||||||
|
<script src="${ctx}/js/plugin/bootstrap/bootstrap-select.js"></script>
|
||||||
|
</html>
|
||||||
|
|
||||||
@@ -78,6 +78,14 @@
|
|||||||
<label>监测点:</label>
|
<label>监测点:</label>
|
||||||
<input type="checkbox" checked class="checkbox"/>
|
<input type="checkbox" checked class="checkbox"/>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group has-feedback mr10" >
|
||||||
|
<label >监测性质:</label>
|
||||||
|
<select class="width3 form-control" id="monitorNature">
|
||||||
|
<option selected value="-1">全部</option>
|
||||||
|
<option value="0">电网侧</option>
|
||||||
|
<option value="1">非电网侧</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
<div class="form-group has-feedback ml10">
|
<div class="form-group has-feedback ml10">
|
||||||
<label style="margin-top: 3px">全部监测点:</label>
|
<label style="margin-top: 3px">全部监测点:</label>
|
||||||
<input type="checkbox" id="allLineCheck"/>
|
<input type="checkbox" id="allLineCheck"/>
|
||||||
|
|||||||
@@ -146,11 +146,13 @@
|
|||||||
<th style="line-height: 90px" rowspan="3">供电设备容量</th>
|
<th style="line-height: 90px" rowspan="3">供电设备容量</th>
|
||||||
<th style="line-height: 90px" rowspan="3">用户协议容量</th>
|
<th style="line-height: 90px" rowspan="3">用户协议容量</th>
|
||||||
<th style="line-height: 90px" rowspan="3">超标天数</th>
|
<th style="line-height: 90px" rowspan="3">超标天数</th>
|
||||||
<th colspan="57">各项指标超标明细</th>
|
<th colspan="56">各项指标超标明细</th>
|
||||||
|
<th style="line-height: 90px" rowspan="3">监测点编号</th>
|
||||||
|
<th style="line-height: 90px" rowspan="3">监测装置安装位置</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="4">电压偏差</th>
|
<th colspan="4">电压偏差</th>
|
||||||
<th colspan="4">谐波电流</th>+
|
<th colspan="4">谐波电流</th>
|
||||||
<th colspan="4">谐波电压</th>
|
<th colspan="4">谐波电压</th>
|
||||||
<th colspan="4">电压总谐波畸变率</th>
|
<th colspan="4">电压总谐波畸变率</th>
|
||||||
<th colspan="4">谐波电压含有率</th>
|
<th colspan="4">谐波电压含有率</th>
|
||||||
@@ -161,11 +163,10 @@
|
|||||||
<th colspan="4">闪变</th>
|
<th colspan="4">闪变</th>
|
||||||
<th colspan="8">各次谐波电压含有率超标天数</th>
|
<th colspan="8">各次谐波电压含有率超标天数</th>
|
||||||
<th colspan="8">各次谐波电流含量超标天数</th>
|
<th colspan="8">各次谐波电流含量超标天数</th>
|
||||||
<th style="line-height: 50px" rowspan="2">监测点编号</th>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>超标天数</th>
|
<th>超标天数</th>
|
||||||
<th>最大幅值(绝对值)</th>
|
<th>最大幅值</th>
|
||||||
<th>限值</th>
|
<th>限值</th>
|
||||||
<th>差值</th>
|
<th>差值</th>
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
var $startTime=$("#startTime");
|
var $startTime=$("#startTime");
|
||||||
var $endTime=$("#endTime");
|
var $endTime=$("#endTime");
|
||||||
var $statistic=$("#statistic");
|
var $statistic=$("#statistic");
|
||||||
|
var $monitorNature = $("#monitorNature")
|
||||||
var tiggleValue;
|
var tiggleValue;
|
||||||
var buttonname;
|
var buttonname;
|
||||||
var companyname;
|
var companyname;
|
||||||
@@ -11,6 +12,7 @@ $(function () {
|
|||||||
var startTime = $startTime.eq(0).val();
|
var startTime = $startTime.eq(0).val();
|
||||||
var endTime = $endTime.eq(0).val();
|
var endTime = $endTime.eq(0).val();
|
||||||
var statistic = $statistic.eq(0).val();
|
var statistic = $statistic.eq(0).val();
|
||||||
|
var monitorNature = $monitorNature.eq(0).val();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
data:{
|
data:{
|
||||||
@@ -71,6 +73,9 @@ function refresh(tiggleValue) {
|
|||||||
var endTime = $endTime.eq(0).val();
|
var endTime = $endTime.eq(0).val();
|
||||||
var statistic = $statistic.eq(0).val();
|
var statistic = $statistic.eq(0).val();
|
||||||
let statFlag = $('#allLineCheck').is(":checked")
|
let statFlag = $('#allLineCheck').is(":checked")
|
||||||
|
var monitorNature = $monitorNature.eq(0).val();
|
||||||
|
console.log(statistic)
|
||||||
|
console.log(monitorNature)
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: "/pqs9000/responsibility/overLimitData",
|
url: "/pqs9000/responsibility/overLimitData",
|
||||||
@@ -80,7 +85,8 @@ function refresh(tiggleValue) {
|
|||||||
endTime : endTime,
|
endTime : endTime,
|
||||||
type: tiggleValue,
|
type: tiggleValue,
|
||||||
statistic: statistic,
|
statistic: statistic,
|
||||||
statFlag:statFlag
|
statFlag:statFlag,
|
||||||
|
monitorNature: monitorNature
|
||||||
},
|
},
|
||||||
beforeSend: function () {
|
beforeSend: function () {
|
||||||
i = ityzl_SHOW_LOAD_LAYER();
|
i = ityzl_SHOW_LOAD_LAYER();
|
||||||
|
|||||||
@@ -34,51 +34,59 @@ $("#datatype").on("change",function() {
|
|||||||
$("#scale").attr("disabled",false);
|
$("#scale").attr("disabled",false);
|
||||||
$("#manc").attr("disabled",false);
|
$("#manc").attr("disabled",false);
|
||||||
$("#loadtype").attr("disabled",false);
|
$("#loadtype").attr("disabled",false);
|
||||||
|
$("#monitorNature").attr("disabled",false);
|
||||||
type = 0;
|
type = 0;
|
||||||
var area = $area.eq(0).attr("index");
|
var area = $area.eq(0).attr("index");
|
||||||
var scale = $("#scale").val();
|
var scale = $("#scale").val();
|
||||||
var manc = $("#manc").val();
|
var manc = $("#manc").val();
|
||||||
var loadtype = $("#loadtype").val();
|
var loadtype = $("#loadtype").val();
|
||||||
refresh(startTime, endTime, area,scale,manc,loadtype)
|
var monitorNature = $("#monitorNature").val();
|
||||||
|
refresh(startTime, endTime, area,scale,manc,loadtype,monitorNature)
|
||||||
}else if($("option:selected",this).val() == 1){
|
}else if($("option:selected",this).val() == 1){
|
||||||
loadselect("电压等级","scale");
|
loadselect("电压等级","scale");
|
||||||
$("#area").attr("disabled",false);
|
$("#area").attr("disabled",false);
|
||||||
$("#scale").attr("disabled",true);
|
$("#scale").attr("disabled",true);
|
||||||
$("#manc").attr("disabled",false);
|
$("#manc").attr("disabled",false);
|
||||||
$("#loadtype").attr("disabled",false);
|
$("#loadtype").attr("disabled",false);
|
||||||
|
$("#monitorNature").attr("disabled",false);
|
||||||
$("#area").css("background-color","#fff");
|
$("#area").css("background-color","#fff");
|
||||||
type = 1;
|
type = 1;
|
||||||
var area = $area.eq(0).attr("index");
|
var area = $area.eq(0).attr("index");
|
||||||
var scale = $("#scale").val();
|
var scale = $("#scale").val();
|
||||||
var manc = $("#manc").val();
|
var manc = $("#manc").val();
|
||||||
var loadtype = $("#loadtype").val();
|
var loadtype = $("#loadtype").val();
|
||||||
refresh(startTime, endTime, area,scale,manc,loadtype);
|
var monitorNature = $("#monitorNature").val();
|
||||||
|
refresh(startTime, endTime, area,scale,manc,loadtype,monitorNature);
|
||||||
}else if($("option:selected",this).val() == 2){
|
}else if($("option:selected",this).val() == 2){
|
||||||
loadselect("制造厂商","manc");
|
loadselect("制造厂商","manc");
|
||||||
$("#area").attr("disabled",false);
|
$("#area").attr("disabled",false);
|
||||||
$("#scale").attr("disabled",false);
|
$("#scale").attr("disabled",false);
|
||||||
$("#manc").attr("disabled",true);
|
$("#manc").attr("disabled",true);
|
||||||
$("#loadtype").attr("disabled",false);
|
$("#loadtype").attr("disabled",false);
|
||||||
|
$("#monitorNature").attr("disabled",false);
|
||||||
$("#area").css("background-color","#fff");
|
$("#area").css("background-color","#fff");
|
||||||
type = 2;
|
type = 2;
|
||||||
var area = $area.eq(0).attr("index");
|
var area = $area.eq(0).attr("index");
|
||||||
var scale = $("#scale").val();
|
var scale = $("#scale").val();
|
||||||
var manc = $("#manc").val();
|
var manc = $("#manc").val();
|
||||||
var loadtype = $("#loadtype").val();
|
var loadtype = $("#loadtype").val();
|
||||||
refresh(startTime, endTime, area,scale,manc,loadtype);
|
var monitorNature = $("#monitorNature").val();
|
||||||
|
refresh(startTime, endTime, area,scale,manc,loadtype,monitorNature);
|
||||||
}else if($("option:selected",this).val() == 3){
|
}else if($("option:selected",this).val() == 3){
|
||||||
loadselect("干扰源类型","loadtype");
|
loadselect("干扰源类型","loadtype");
|
||||||
$("#area").attr("disabled",false);
|
$("#area").attr("disabled",false);
|
||||||
$("#scale").attr("disabled",false);
|
$("#scale").attr("disabled",false);
|
||||||
$("#manc").attr("disabled",false);
|
$("#manc").attr("disabled",false);
|
||||||
$("#loadtype").attr("disabled",true);
|
$("#loadtype").attr("disabled",true);
|
||||||
|
$("#monitorNature").attr("disabled",false);
|
||||||
$("#area").css("background-color","#fff");
|
$("#area").css("background-color","#fff");
|
||||||
type = 3;
|
type = 3;
|
||||||
var area = $area.eq(0).attr("index");
|
var area = $area.eq(0).attr("index");
|
||||||
var scale = $("#scale").val();
|
var scale = $("#scale").val();
|
||||||
var manc = $("#manc").val();
|
var manc = $("#manc").val();
|
||||||
var loadtype = $("#loadtype").val();
|
var loadtype = $("#loadtype").val();
|
||||||
refresh(startTime, endTime, area,scale,manc,loadtype);
|
var monitorNature = $("#monitorNature").val();
|
||||||
|
refresh(startTime, endTime, area,scale,manc,loadtype,monitorNature);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -150,6 +158,7 @@ $(function () {
|
|||||||
$("#scale").attr("disabled",false);
|
$("#scale").attr("disabled",false);
|
||||||
$("#manc").attr("disabled",false);
|
$("#manc").attr("disabled",false);
|
||||||
$("#loadtype").attr("disabled",false);
|
$("#loadtype").attr("disabled",false);
|
||||||
|
$("#monitorNature").attr("disabled",false);
|
||||||
//初始化页面内容
|
//初始化页面内容
|
||||||
var area = $area.eq(0).attr("index");
|
var area = $area.eq(0).attr("index");
|
||||||
var startTime = $startTime.eq(0).val();
|
var startTime = $startTime.eq(0).val();
|
||||||
@@ -167,11 +176,14 @@ $("#query").click(function () {
|
|||||||
var scale = $("#scale").val();
|
var scale = $("#scale").val();
|
||||||
var manc = $("#manc").val();
|
var manc = $("#manc").val();
|
||||||
var loadtype = $("#loadtype").val();
|
var loadtype = $("#loadtype").val();
|
||||||
refresh(startTime, endTime, area,scale,manc,loadtype);
|
var monitorNature = $("#monitorNature").val();
|
||||||
|
console.log(loadtype)
|
||||||
|
console.log(monitorNature)
|
||||||
|
refresh(startTime, endTime, area,scale,manc,loadtype,monitorNature);
|
||||||
});
|
});
|
||||||
|
|
||||||
//请求后台刷新页面数据
|
//请求后台刷新页面数据
|
||||||
function refresh(startTime, endTime, area,scale,manc,loadtype) {
|
function refresh(startTime, endTime, area,scale,manc,loadtype,monitorNature) {
|
||||||
var i;
|
var i;
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/pqs9000/area/dataIntegrality',
|
url: '/pqs9000/area/dataIntegrality',
|
||||||
@@ -181,7 +193,8 @@ function refresh(startTime, endTime, area,scale,manc,loadtype) {
|
|||||||
area: area,
|
area: area,
|
||||||
scale:scale,
|
scale:scale,
|
||||||
manc:manc,
|
manc:manc,
|
||||||
loadtype:loadtype
|
loadtype:loadtype,
|
||||||
|
monitorNature: monitorNature
|
||||||
},
|
},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
|
|||||||
@@ -279,7 +279,8 @@ function initTable(data){
|
|||||||
{width: "1%",data:"overCurrentTwentyThirdTimes"},
|
{width: "1%",data:"overCurrentTwentyThirdTimes"},
|
||||||
{width: "1%",data:"overCurrentTwentyFiveTimes"},
|
{width: "1%",data:"overCurrentTwentyFiveTimes"},
|
||||||
{width: "1%",data:"overCurrentOtherTimes"},
|
{width: "1%",data:"overCurrentOtherTimes"},
|
||||||
{width: "2%",data:"monitorNumber"}
|
{width: "2%",data:"monitorNumber"},
|
||||||
|
{width: "2%",data:"devLocation"}
|
||||||
],
|
],
|
||||||
bAutoWidth:false,
|
bAutoWidth:false,
|
||||||
serverSide : false,
|
serverSide : false,
|
||||||
|
|||||||
279
pqs9000/src/main/webapp/jspJS/area/statisticalAnalysis.js
Normal file
279
pqs9000/src/main/webapp/jspJS/area/statisticalAnalysis.js
Normal file
@@ -0,0 +1,279 @@
|
|||||||
|
var $area=$("#area");
|
||||||
|
var $startTime=$("#startTime");
|
||||||
|
var $endTime=$("#endTime");
|
||||||
|
var $postType = $("#postType")
|
||||||
|
var $powerId = $("#powerId")
|
||||||
|
$("#interval").val("月份");
|
||||||
|
|
||||||
|
var buttonname;
|
||||||
|
var companyname;
|
||||||
|
var tigName;
|
||||||
|
var volData;
|
||||||
|
var dataTable=null;
|
||||||
|
var startTime,endTime,area,postType,powerId;
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
startTime = $startTime.eq(0).val();
|
||||||
|
endTime = $endTime.eq(0).val();
|
||||||
|
area = $area.eq(0).val();
|
||||||
|
postType = $postType.eq(0).val();
|
||||||
|
powerId = $powerId.eq(0).val();
|
||||||
|
loadselect("电压等级","vollevel");
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
data:{
|
||||||
|
start: startTime,
|
||||||
|
end: endTime
|
||||||
|
},
|
||||||
|
async:false,
|
||||||
|
url: "/pqs9000/device/getMsgInfo",
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (data) {
|
||||||
|
buttonname = data.body.name;
|
||||||
|
tigName = data.body.name;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "/pqs9000/theme/getThemeInfo",
|
||||||
|
async: false,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (data) {
|
||||||
|
companyname = data.body.name;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
//初始化按钮开关
|
||||||
|
$(".checkbox").bootstrapSwitch({
|
||||||
|
onText: buttonname, // 设置ON文本
|
||||||
|
offText: companyname, // 设置OFF文本
|
||||||
|
onColor: "primary",// 设置ON文本颜色 (info/success/warning/danger/primary)
|
||||||
|
offColor: "primary", // 设置OFF文本颜色 (info/success/warning/danger/primary)
|
||||||
|
size: "small", // 设置控件大小,从小到大 (mini/small/normal/large)
|
||||||
|
handleWidth: "60",//设置控件宽度
|
||||||
|
// 当开关状态改变时触发
|
||||||
|
onSwitchChange: function (event, state) {
|
||||||
|
if (state === true) {
|
||||||
|
tigName = buttonname;
|
||||||
|
refresh(area, startTime, endTime,postType,powerId);
|
||||||
|
} else {
|
||||||
|
tigName = companyname;
|
||||||
|
refresh(area, startTime, endTime,postType,powerId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//初始化区域
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "/pqs9000/user/getAreasInfo",
|
||||||
|
dataType:'json',
|
||||||
|
success:function (data) {
|
||||||
|
$("#area").val(data[0].name);
|
||||||
|
$("#area").attr("index", data[0].id);
|
||||||
|
areaTree = $.fn.zTree.init($("#areaTree"), settingAreaTree, data);
|
||||||
|
//初始化页面内容
|
||||||
|
area = $area.eq(0).attr("index");
|
||||||
|
startTime = $startTime.eq(0).val();
|
||||||
|
endTime = $endTime.eq(0).val();
|
||||||
|
postType = $postType.eq(0).val();
|
||||||
|
powerId = $powerId.eq(0).val();
|
||||||
|
refresh(area, startTime, endTime,postType,powerId);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
//点击确定,去后台请求参数
|
||||||
|
$("#query").click(function() {
|
||||||
|
area = $area.eq(0).attr("index");
|
||||||
|
startTime = $startTime.eq(0).val();
|
||||||
|
endTime = $endTime.eq(0).val();
|
||||||
|
postType = $postType.eq(0).val();
|
||||||
|
powerId = $powerId.eq(0).val();
|
||||||
|
refresh(area,startTime,endTime,postType,powerId);
|
||||||
|
});
|
||||||
|
|
||||||
|
//获取表格数据
|
||||||
|
function refresh(area,startTime,endTime,postType,powerId){
|
||||||
|
var i ;
|
||||||
|
$.ajax({
|
||||||
|
type : "POST",
|
||||||
|
url : "/pqs9000/area/statisticalAnalysis",
|
||||||
|
dataType : "json",
|
||||||
|
data : {
|
||||||
|
startTime : startTime,
|
||||||
|
endTime : endTime,
|
||||||
|
area: area,
|
||||||
|
postType: postType,
|
||||||
|
powerId: powerId
|
||||||
|
},
|
||||||
|
beforeSend: function () {
|
||||||
|
i = ityzl_SHOW_LOAD_LAYER();
|
||||||
|
},
|
||||||
|
success : function(data) {
|
||||||
|
if (data.code === 500) {
|
||||||
|
layer.msg(data.message,{icon:2,time:2000})
|
||||||
|
volData=null;
|
||||||
|
} else {
|
||||||
|
translateData(data.body);
|
||||||
|
}
|
||||||
|
//***********关闭loading
|
||||||
|
ityzl_CLOSE_LOAD_LAYER(i);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function translateData(data) {
|
||||||
|
var tableData = '';
|
||||||
|
for (var i = 0; i < data.length; i++) {
|
||||||
|
for (var j = 0; j < data[i].typeLists.length; j++) {
|
||||||
|
for (var k = 0; k < data[i].typeLists[j].dataLists.length; k++) {
|
||||||
|
tableData += '["","' + data[i].deptName + '", "' + data[i].typeLists[j].name + '","'
|
||||||
|
+ data[i].typeLists[j].dataLists[k].name + '","' + data[i].typeLists[j].dataLists[k].allLineCount + '","' + data[i].typeLists[j].dataLists[k].runLineCount + '","'
|
||||||
|
+ data[i].typeLists[j].dataLists[k].checkLineCount + '","' + data[i].typeLists[j].dataLists[k].backLineCount + '","';
|
||||||
|
if (k === 0) {
|
||||||
|
var n = 0;
|
||||||
|
if (j === 0) {
|
||||||
|
for (var l = 0; l < data[i].typeLists.length; l++) {
|
||||||
|
for (var m = 0; m < data[i].typeLists[l].dataLists.length; m++) {
|
||||||
|
n++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tableData += n + '","' + data[i].typeLists[j].dataLists.length + '"],';
|
||||||
|
} else {
|
||||||
|
tableData += '0","0"],'; //前面表示所有行,后面表示自己的行
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tableData = tableData.substring(0, tableData.lastIndexOf(','));
|
||||||
|
tableData = eval('[' + tableData + ']');
|
||||||
|
console.log("tableData==:" + tableData)
|
||||||
|
initTable(tableData);
|
||||||
|
}
|
||||||
|
|
||||||
|
function initTable(data) {
|
||||||
|
$('#tongji').dataTable({
|
||||||
|
"columns": [
|
||||||
|
{"title": "序号"},
|
||||||
|
{"title": "区域"},
|
||||||
|
{"title": "类型"},
|
||||||
|
{"title": "分类型"},
|
||||||
|
{"title": "监测点总数"},
|
||||||
|
{"title": "监测点投运数"},
|
||||||
|
{"title": "监测点检修数"},
|
||||||
|
{"title": "监测点退运数"}
|
||||||
|
],
|
||||||
|
paging: false,
|
||||||
|
scrollY: ($(window).height() * 0.83),
|
||||||
|
lengthChange: false,
|
||||||
|
language: {
|
||||||
|
url: '/pqs9000/json/chine.json',
|
||||||
|
},
|
||||||
|
searching: false,
|
||||||
|
info: false,
|
||||||
|
ordering: false,
|
||||||
|
destroy: true,
|
||||||
|
data: data,
|
||||||
|
fnDrawCallback: function () {
|
||||||
|
this.api().column(0).nodes().each(function (cell, i) {
|
||||||
|
cell.innerHTML = i + 1;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
columnDefs: [{
|
||||||
|
targets: 1,
|
||||||
|
createdCell: function (td, cellData, rowData, row, col) {
|
||||||
|
var rowspan = rowData[8];
|
||||||
|
|
||||||
|
if (rowspan > 1) {
|
||||||
|
$(td).attr('rowspan', rowspan)
|
||||||
|
}
|
||||||
|
if (rowspan == 0) {
|
||||||
|
$(td).remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
targets: 2,
|
||||||
|
createdCell: function (td, cellData, rowData, row, col) {
|
||||||
|
var rowspan = rowData[9];
|
||||||
|
|
||||||
|
if (rowspan > 1) {
|
||||||
|
$(td).attr('rowspan', rowspan)
|
||||||
|
}
|
||||||
|
if (rowspan == 0) {
|
||||||
|
$(td).remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function loadselect(dictypeName,div){
|
||||||
|
var part='#'+div;
|
||||||
|
$(part).find("option").remove();
|
||||||
|
$.ajax({
|
||||||
|
method : "post",
|
||||||
|
url : "/pqs9000/device/getselect",
|
||||||
|
data : {
|
||||||
|
dictypeName:dictypeName
|
||||||
|
},
|
||||||
|
async:false,
|
||||||
|
success : function(data) {
|
||||||
|
if(data == null){
|
||||||
|
var message = dictypeName + '信息加载失败';
|
||||||
|
layer.msg(message,{icon:1,time:1000});
|
||||||
|
}else{
|
||||||
|
var option0 = $("<option selected value='"
|
||||||
|
+ null + "'>"
|
||||||
|
+ "全部" + "</option>");
|
||||||
|
$(part).append(option0);
|
||||||
|
$.each(data, function(i, item) {
|
||||||
|
var option = $("<option value='"
|
||||||
|
+ item.dicIndex + "'>"
|
||||||
|
+ item.dicName + "</option>");
|
||||||
|
$(part).append(option);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//特殊处理,表头紧缩问题--start
|
||||||
|
var it=null;
|
||||||
|
function startQuery() {
|
||||||
|
//实时刷新时间单位为毫秒
|
||||||
|
it= setInterval('refreshQuery()',100);
|
||||||
|
|
||||||
|
}
|
||||||
|
/* 刷新查询 */
|
||||||
|
function refreshQuery(){
|
||||||
|
var width=$("#vdlist").width();
|
||||||
|
if(width>100){
|
||||||
|
initTable(resultData);
|
||||||
|
window.clearInterval(it)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//特殊处理,表头紧缩问题--end
|
||||||
|
|
||||||
|
//制保留2位小数,如:2,会在2后面补上00.即2.00
|
||||||
|
function toDecimal2(x) {
|
||||||
|
var f = parseFloat(x);
|
||||||
|
if (isNaN(f)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var f = Math.round(x*100)/100;
|
||||||
|
var s = f.toString();
|
||||||
|
var rs = s.indexOf('.');
|
||||||
|
if (rs < 0) {
|
||||||
|
rs = s.length;
|
||||||
|
s += '.';
|
||||||
|
}
|
||||||
|
while (s.length <= rs + 2) {
|
||||||
|
s += '0';
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
@@ -10,6 +10,10 @@ var companyname;
|
|||||||
var tiggleValue = "";
|
var tiggleValue = "";
|
||||||
var allNetsData = [];
|
var allNetsData = [];
|
||||||
var countryNetsData = [];
|
var countryNetsData = [];
|
||||||
|
var data1;
|
||||||
|
var data2;
|
||||||
|
var data3;
|
||||||
|
var data4;
|
||||||
$("#interval").val("月份");
|
$("#interval").val("月份");
|
||||||
/**
|
/**
|
||||||
* 电压等级排序自定义比较start
|
* 电压等级排序自定义比较start
|
||||||
@@ -116,9 +120,13 @@ $(function () {
|
|||||||
if (state === true) {
|
if (state === true) {
|
||||||
tiggleValue = buttonname;
|
tiggleValue = buttonname;
|
||||||
initTable(allNetsData);
|
initTable(allNetsData);
|
||||||
|
$('#online').text(data1===null?0:data1);
|
||||||
|
$('#offline').text(data2===null?0:data2);
|
||||||
} else {
|
} else {
|
||||||
tiggleValue = companyname;
|
tiggleValue = companyname;
|
||||||
initTable(countryNetsData);
|
initTable(countryNetsData);
|
||||||
|
$('#online').text(data3===null?0:data3);
|
||||||
|
$('#offline').text(data4===null?0:data4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -132,11 +140,12 @@ $("#query").click(function () {
|
|||||||
var endTime = $endTime.eq(0).val();
|
var endTime = $endTime.eq(0).val();
|
||||||
var devflag = $("#devflag").val();
|
var devflag = $("#devflag").val();
|
||||||
var powerId = $("#powerId").val();
|
var powerId = $("#powerId").val();
|
||||||
refresh(area, startTime, endTime,devflag,powerId);
|
var runFlag = $("#runFlag").val();
|
||||||
|
refresh(area, startTime, endTime,devflag,powerId,runFlag);
|
||||||
});
|
});
|
||||||
|
|
||||||
//获取表格数据
|
//获取表格数据
|
||||||
function refresh(area, startTime, endTime,devflag,powerId) {
|
function refresh(area, startTime, endTime,devflag,powerId,runFlag) {
|
||||||
var i;
|
var i;
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
@@ -147,7 +156,8 @@ function refresh(area, startTime, endTime,devflag,powerId) {
|
|||||||
endTime: endTime,
|
endTime: endTime,
|
||||||
area: area,
|
area: area,
|
||||||
devflag:devflag,
|
devflag:devflag,
|
||||||
powerId:powerId
|
powerId:powerId,
|
||||||
|
runFlag:runFlag
|
||||||
},
|
},
|
||||||
beforeSend: function () {
|
beforeSend: function () {
|
||||||
i = ityzl_SHOW_LOAD_LAYER();
|
i = ityzl_SHOW_LOAD_LAYER();
|
||||||
@@ -158,9 +168,17 @@ function refresh(area, startTime, endTime,devflag,powerId) {
|
|||||||
//没有数据
|
//没有数据
|
||||||
allNetsData = null;
|
allNetsData = null;
|
||||||
countryNetsData = null;
|
countryNetsData = null;
|
||||||
|
data1 = null;
|
||||||
|
data2 = null;
|
||||||
|
data3 = null;
|
||||||
|
data4 = null;
|
||||||
} else {
|
} else {
|
||||||
allNetsData = data.body.allNets;
|
allNetsData = data.body.allNets;
|
||||||
countryNetsData = data.body.countryNets;
|
countryNetsData = data.body.countryNets;
|
||||||
|
data1 = data.body.allOnlineNum;
|
||||||
|
data2 = data.body.allOfflineNum;
|
||||||
|
data3 = data.body.countryOnlineNum;
|
||||||
|
data4 = data.body.countryOfflineNum;
|
||||||
}
|
}
|
||||||
startQuery();
|
startQuery();
|
||||||
//***********关闭loading
|
//***********关闭loading
|
||||||
@@ -219,8 +237,9 @@ function initTable(data) {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{width: "8%", data: "deviceIp"},
|
{width: "8%", data: "deviceIp"},
|
||||||
|
{width: "6%", data: "frontDev"},
|
||||||
{
|
{
|
||||||
width: "8%", data: "devFlag", render: function (data, type, full, meta) {
|
width: "5%", data: "devFlag", render: function (data, type, full, meta) {
|
||||||
var temp = Number(data);
|
var temp = Number(data);
|
||||||
switch (temp) {
|
switch (temp) {
|
||||||
case 0:
|
case 0:
|
||||||
@@ -233,7 +252,7 @@ function initTable(data) {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
width: "8%", data: "status", render: function (data, type, full, meta) {
|
width: "5%", data: "status", render: function (data, type, full, meta) {
|
||||||
var temp = Number(data);
|
var temp = Number(data);
|
||||||
switch (temp) {
|
switch (temp) {
|
||||||
case 0:
|
case 0:
|
||||||
@@ -243,7 +262,7 @@ function initTable(data) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{width: "8%", data: "updateTime"},
|
{width: "10%", data: "updateTime"},
|
||||||
{
|
{
|
||||||
width: "8%", data: "integrity",
|
width: "8%", data: "integrity",
|
||||||
render: function (data, type, full, meta) {
|
render: function (data, type, full, meta) {
|
||||||
@@ -258,7 +277,7 @@ function initTable(data) {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{width: "8%", data: "device"},
|
{width: "8%", data: "device"},
|
||||||
{width: "10%", data: "company"},
|
{width: "8%", data: "company"},
|
||||||
{width: "5%", data: "voltage", type: "number-fate"},
|
{width: "5%", data: "voltage", type: "number-fate"},
|
||||||
{
|
{
|
||||||
width: "12%", data: "", render: function (data, type, full, meta) {
|
width: "12%", data: "", render: function (data, type, full, meta) {
|
||||||
@@ -376,6 +395,18 @@ function showDetail(lineId) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showAnalysis() {
|
||||||
|
layer.open({
|
||||||
|
type: 2,
|
||||||
|
title: '监测点统计分析',
|
||||||
|
maxmin: false,
|
||||||
|
shadeClose: true, // 点击遮罩关闭层
|
||||||
|
area: ['100%', '100%'],
|
||||||
|
content: '/pqs9000/business/statisticalAnalysis',
|
||||||
|
scrollbar: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function modifyCss(dataTable) {
|
function modifyCss(dataTable) {
|
||||||
@@ -407,8 +438,12 @@ function refreshQuery() {
|
|||||||
if (width > 100) {
|
if (width > 100) {
|
||||||
if (tiggleValue === buttonname) {
|
if (tiggleValue === buttonname) {
|
||||||
initTable(allNetsData);
|
initTable(allNetsData);
|
||||||
|
$('#online').text(data1===null?0:data1);
|
||||||
|
$('#offline').text(data2===null?0:data2);
|
||||||
} else {
|
} else {
|
||||||
initTable(countryNetsData);
|
initTable(countryNetsData);
|
||||||
|
$('#online').text(data3===null?0:data3);
|
||||||
|
$('#offline').text(data4===null?0:data4);
|
||||||
}
|
}
|
||||||
window.clearInterval(it)
|
window.clearInterval(it)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,13 +96,17 @@
|
|||||||
f.longitude
|
f.longitude
|
||||||
longitude,f.latitude latitude
|
longitude,f.latitude latitude
|
||||||
from
|
from
|
||||||
pq_line a,pq_substation
|
pq_line a,
|
||||||
c,pq_subvoltage d,pq_device e,pqs_map
|
pq_substation c,
|
||||||
f,pq_devicedetail g
|
pq_subvoltage d,
|
||||||
|
pq_device e,
|
||||||
|
pqs_map f,
|
||||||
|
pq_devicedetail g
|
||||||
where
|
where
|
||||||
a.sub_index=c.sub_index and a.subv_index=d.subv_index and
|
a.sub_index=c.sub_index and
|
||||||
a.dev_index=e.dev_index
|
a.subv_index=d.subv_index and
|
||||||
and a.sub_index=f.sub_index and
|
a.dev_index=e.dev_index and
|
||||||
|
a.sub_index=f.sub_index and
|
||||||
e.dev_index=g.dev_index and f.state =1
|
e.dev_index=g.dev_index and f.state =1
|
||||||
and e.devmodel=1
|
and e.devmodel=1
|
||||||
and e.datatype
|
and e.datatype
|
||||||
|
|||||||
@@ -260,7 +260,7 @@
|
|||||||
extend: 'csv',
|
extend: 'csv',
|
||||||
title: name + '暂降事件列表',//导出csv名称
|
title: name + '暂降事件列表',//导出csv名称
|
||||||
exportOptions: {
|
exportOptions: {
|
||||||
columns: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14],
|
columns: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15],
|
||||||
format: {
|
format: {
|
||||||
body: function (data, rID, cID) {
|
body: function (data, rID, cID) {
|
||||||
if (cID === 0) {
|
if (cID === 0) {
|
||||||
|
|||||||
@@ -687,6 +687,7 @@ function eventTip() {
|
|||||||
scrollbar: false,
|
scrollbar: false,
|
||||||
content: 'tipwindow',
|
content: 'tipwindow',
|
||||||
shadeClose: false,
|
shadeClose: false,
|
||||||
|
shade: false,
|
||||||
yes: function () {
|
yes: function () {
|
||||||
layer.closeAll();
|
layer.closeAll();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -798,6 +798,20 @@ public class DeviceController {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "findMaxDeviceName", method = RequestMethod.POST)
|
||||||
|
@ResponseBody
|
||||||
|
public String findMaxDeviceName(HttpServletRequest request, Long gdIndex) {
|
||||||
|
String result;
|
||||||
|
try {
|
||||||
|
result = manaDevice.findMaxDeviceName(gdIndex);
|
||||||
|
userLog.getLog("查询当前供电公司下面最大的设备名称", "成功", result, LogTypeEnum.SYSTEM.toString(), 0);
|
||||||
|
} catch (Exception e) {
|
||||||
|
result = null;
|
||||||
|
userLog.getLog("查询当前供电公司下面最大的设备名称", "失败", result, LogTypeEnum.SYSTEM.toString(), 0);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "addDevice", method = RequestMethod.POST)
|
@RequestMapping(value = "addDevice", method = RequestMethod.POST)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public HttpResult addDevice(HttpServletRequest request, HttpSession session, String devName, Long gdIndex,
|
public HttpResult addDevice(HttpServletRequest request, HttpSession session, String devName, Long gdIndex,
|
||||||
|
|||||||
@@ -123,4 +123,6 @@ public interface ManaDeviceService {
|
|||||||
*/
|
*/
|
||||||
int addMonitor(String monitorId);
|
int addMonitor(String monitorId);
|
||||||
|
|
||||||
|
String findMaxDeviceName(Long gdIndex);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2488,4 +2488,31 @@ public class ManaDeviceServiceImpl implements ManaDeviceService {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String findMaxDeviceName(Long gdIndex) {
|
||||||
|
String name = deviceMapper.findMaxDeviceName(gdIndex);
|
||||||
|
return incrementString(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String incrementString(String str) {
|
||||||
|
// 查找最后一个非数字字符的位置
|
||||||
|
int lastIndex = str.length() - 1;
|
||||||
|
while (lastIndex >= 0 && Character.isDigit(str.charAt(lastIndex))) {
|
||||||
|
lastIndex--;
|
||||||
|
}
|
||||||
|
// 如果没有找到非数字字符,说明整个字符串都是数字
|
||||||
|
if (lastIndex == -1) {
|
||||||
|
// 直接将字符串转换为整数,递增,再转回字符串
|
||||||
|
return String.valueOf(Long.parseLong(str) + 1);
|
||||||
|
}
|
||||||
|
// 提取出数字部分
|
||||||
|
String numberPart = str.substring(lastIndex + 1);
|
||||||
|
// 将数字部分转换为整数,递增,再转回字符串
|
||||||
|
long number = Long.parseLong(numberPart) + 1;
|
||||||
|
String incrementedNumberPart = String.format("%0" + numberPart.length() + "d", number);
|
||||||
|
// 将递增后的数字部分拼接到原字符串的非数字部分
|
||||||
|
return str.substring(0, lastIndex + 1) + incrementedNumberPart;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -171,4 +171,8 @@ FROM
|
|||||||
WHERE
|
WHERE
|
||||||
a.dev_index = #{devIndex}
|
a.dev_index = #{devIndex}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="findMaxDeviceName" resultType="String">
|
||||||
|
SELECT MAX(NAME) FROM PQ_DEVICE WHERE GD_INDEX = #{gdIndex}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -49,6 +49,20 @@
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$("html").css("height", "100px");
|
$("html").css("height", "100px");
|
||||||
|
|
||||||
|
//获取默认装置名称
|
||||||
|
var gdIndex = $("#gdIndex").val();
|
||||||
|
$.ajax({
|
||||||
|
url: '/pqs9900/device/findMaxDeviceName',
|
||||||
|
type: 'POST',
|
||||||
|
dataType: "text",
|
||||||
|
data: {
|
||||||
|
gdIndex: gdIndex
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$('#devName').val(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
||||||
|
|||||||
@@ -178,9 +178,9 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="right" class="width1">识别码:</td>
|
<td align="right" class="width1">识别码:</td>
|
||||||
<td align="left" class="width2"><input type="password" class="width3" name="series" id="series" autocomplete="off" maxlength="255"></td>
|
<td align="left" class="width2"><input type="text" class="width3" name="series" id="series" autocomplete="off" maxlength="255"></td>
|
||||||
<td align="right" class="width1">秘钥:</td>
|
<td align="right" class="width1">秘钥:</td>
|
||||||
<td align="left" class="width2"><input type="password" class="width3" name="key" id="key" autocomplete="off" maxlength="255"></td>
|
<td align="left" class="width2"><input type="text" class="width3" name="key" id="key" autocomplete="off" maxlength="255"></td>
|
||||||
<td align="right" class="width1" id="call"></td>
|
<td align="right" class="width1" id="call"></td>
|
||||||
<td align="left" class="width2"><select class="width3" id="callflag" hidden>
|
<td align="left" class="width2"><select class="width3" id="callflag" hidden>
|
||||||
</select></td>
|
</select></td>
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ $("#addProj").click(function () {
|
|||||||
layer.tips('名称不可为空', '#projName', {
|
layer.tips('名称不可为空', '#projName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(projName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(projName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#projName', {
|
layer.tips('名称含有非汉字字符', '#projName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
@@ -98,7 +98,7 @@ $("#addProj2").click(function () {
|
|||||||
layer.tips('名称不可为空', '#projName', {
|
layer.tips('名称不可为空', '#projName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(projName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(projName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#projName', {
|
layer.tips('名称含有非汉字字符', '#projName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
@@ -174,7 +174,7 @@ $("#modProj").click(function () {
|
|||||||
layer.tips('名称不可为空', '#porjName', {
|
layer.tips('名称不可为空', '#porjName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(porjName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(porjName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#porjName', {
|
layer.tips('名称含有非汉字字符', '#porjName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
@@ -274,7 +274,7 @@ $("#addPro").click(function () {
|
|||||||
layer.tips('名称不可为空', '#proName', {
|
layer.tips('名称不可为空', '#proName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(proName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(proName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#proName', {
|
layer.tips('名称含有非汉字字符', '#proName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
@@ -354,7 +354,7 @@ $("#addPro2").click(function () {
|
|||||||
layer.tips('名称不可为空', '#proName', {
|
layer.tips('名称不可为空', '#proName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(proName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(proName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#proName', {
|
layer.tips('名称含有非汉字字符', '#proName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
@@ -435,7 +435,7 @@ $("#modPro").click(function () {
|
|||||||
layer.tips('名称不可为空', '#proName', {
|
layer.tips('名称不可为空', '#proName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(proName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(proName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#proName', {
|
layer.tips('名称含有非汉字字符', '#proName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
@@ -519,7 +519,7 @@ $("#addGd").click(function () {
|
|||||||
layer.tips('名称不可为空', '#gdName', {
|
layer.tips('名称不可为空', '#gdName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(gdName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(gdName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#gdName', {
|
layer.tips('名称含有非汉字字符', '#gdName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
@@ -553,7 +553,7 @@ $("#addGd2").click(function () {
|
|||||||
layer.tips('名称不可为空', '#gdName', {
|
layer.tips('名称不可为空', '#gdName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(gdName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(gdName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#gdName', {
|
layer.tips('名称含有非汉字字符', '#gdName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
@@ -607,7 +607,7 @@ $("#modGd").click(function () {
|
|||||||
layer.tips('名称不可为空', '#gdName', {
|
layer.tips('名称不可为空', '#gdName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(gdName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(gdName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#gdName', {
|
layer.tips('名称含有非汉字字符', '#gdName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
@@ -704,7 +704,7 @@ $("#addSub").click(function () {
|
|||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(subName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(subName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#subName', {
|
layer.tips('名称含有非汉字字符', '#subName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
@@ -787,7 +787,7 @@ $("#addSub").click(function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(subName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(subName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#subName', {
|
layer.tips('名称含有非汉字字符', '#subName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
@@ -895,7 +895,7 @@ $("#addSub2").click(function () {
|
|||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(subName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(subName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#subName', {
|
layer.tips('名称含有非汉字字符', '#subName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
@@ -978,7 +978,7 @@ $("#addSub2").click(function () {
|
|||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(subName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(subName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#subName', {
|
layer.tips('名称含有非汉字字符', '#subName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
@@ -1114,7 +1114,7 @@ $("#modSub").click(function () {
|
|||||||
layer.tips('名称不可为空', '#subName', {
|
layer.tips('名称不可为空', '#subName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(subName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(subName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#subName', {
|
layer.tips('名称含有非汉字字符', '#subName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
@@ -1212,7 +1212,7 @@ $("#modSub").click(function () {
|
|||||||
layer.tips('名称不可为空', '#subName', {
|
layer.tips('名称不可为空', '#subName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+]+$/gi.test(subName)) {
|
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_\s+±]+$/gi.test(subName)) {
|
||||||
layer.tips('名称含有非汉字字符', '#subName', {
|
layer.tips('名称含有非汉字字符', '#subName', {
|
||||||
tips: [1, 'red'] //还可配置颜色
|
tips: [1, 'red'] //还可配置颜色
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user