1.数据完整性列表调整

2.区域电能质量评估列表调整
3.调整监测点台账列表顺序
4.删除灿能电力字样
5.调整loge和ico图标
6.调整概览首页在线率和完整率数据
7.调整设备树的查询方式
This commit is contained in:
wr
2024-04-11 15:20:41 +08:00
parent 438c21880f
commit 051d4fc85a
43 changed files with 1169 additions and 208 deletions

View File

@@ -3,6 +3,7 @@ package com.njcn.mapper.data;
import java.util.Date;
import java.util.List;
import com.njcn.pojo.data.AssesData;
import org.apache.ibatis.annotations.Param;
import com.njcn.pojo.data.Asses;
@@ -22,4 +23,5 @@ public interface AssesMapper extends Mapper<Asses> {
//获取对应范围内综合质量
List<PqsComasses> getSynData(@Param("list")List<Integer> temp,@Param("startTime")Date startTime,@Param("endTime")Date endTime);
List<AssesData> getLineVol( @Param("list") List<Integer> lineIds,@Param("startTime") Date startTime, @Param("endTime") Date endTime);
}

View File

@@ -26,7 +26,7 @@ public interface PointBaseInfoMapper {
List<Integer> getDeptsLineIndex(@Param("deptsIndex")String deptsIndex,@Param("sysIndex")String sysIndex);
List<LineLedger> getLineLedger(@Param("lineList")List<Integer> lineList,@Param("loadTypeList")List<String> loadTypeList,@Param("scaleList")List<String> scaleList,@Param("status")Integer status,@Param("type")Integer type);
List<LineLedger> getLineLedger(@Param("lineList")List<Integer> lineList,@Param("loadTypeList")List<String> loadTypeList,@Param("scaleList")List<String> scaleList,@Param("status")Integer status,@Param("type")Integer type,@Param("powerId")Integer powerId);
DeviceUnitVO lineUnitDetail(@Param("lineId")Integer lineId);

View File

@@ -36,6 +36,16 @@ public interface DeptsLineMapper extends Mapper<DeptsLine> {
List<IndexsCount> selectIndexsByDeptRun(@Param("deptsIndex") String deptsIndex, @Param("sysType") String sysType, @Param("devModel") Integer devModel, @Param("dataType") List<Integer> dataType,@Param("devStatus") Integer devicdStatus,@Param("status")Integer status);
List<IndexsCount> selectIndexsPowerIdByDeptRun(@Param("depts") List<String> depts,
@Param("sysType") String sysType,
@Param("devModel") Integer devModel,
@Param("dataType") List<Integer> dataType,
@Param("devStatus") Integer devicdStatus,
@Param("status")Integer status,
@Param("powerId") Integer powerId
);
//扩展上面两个sql(多关联了一个pq_linedetail表)
List<IndexsCount> selectIndexsByDeptsRunForStatFlag(@Param("depts") List<Depts> depts, @Param("sysType") String sysType, @Param("devModel") Integer devModel, @Param("dataType") List<Integer> dataType, @Param("devStatus") Integer devicdStatus,@Param("status")Integer status);

View File

@@ -0,0 +1,111 @@
package com.njcn.pojo.data;
import java.io.Serializable;
/**
* @author wr
* @description
* @date 2024/4/9 16:32
*/
public class AssesData implements Serializable {
//供电公司
private String powerCompany;
//变电站
private String substation;
//监测点id
private String lineId;
//监测点名称
private String lineName;
//综合评估
private Float synData;
//电压偏差
private Float vuDevs;
//频率偏差
private Float freqDev;
//电压闪变
private Float dataPlt;
//电压不平衡度
private Float vunbalanceCp95;
//谐波含量
private Float vThdCp95;
public String getPowerCompany() {
return powerCompany;
}
public void setPowerCompany(String powerCompany) {
this.powerCompany = powerCompany;
}
public String getSubstation() {
return substation;
}
public void setSubstation(String substation) {
this.substation = substation;
}
public String getLineName() {
return lineName;
}
public void setLineName(String lineName) {
this.lineName = lineName;
}
public Float getSynData() {
return synData;
}
public void setSynData(Float synData) {
this.synData = synData;
}
public Float getVuDevs() {
return vuDevs;
}
public void setVuDevs(Float vuDevs) {
this.vuDevs = vuDevs;
}
public Float getFreqDev() {
return freqDev;
}
public void setFreqDev(Float freqDev) {
this.freqDev = freqDev;
}
public Float getDataPlt() {
return dataPlt;
}
public void setDataPlt(Float dataPlt) {
this.dataPlt = dataPlt;
}
public Float getVunbalanceCp95() {
return vunbalanceCp95;
}
public void setVunbalanceCp95(Float vunbalanceCp95) {
this.vunbalanceCp95 = vunbalanceCp95;
}
public Float getvThdCp95() {
return vThdCp95;
}
public void setvThdCp95(Float vThdCp95) {
this.vThdCp95 = vThdCp95;
}
public String getLineId() {
return lineId;
}
public void setLineId(String lineId) {
this.lineId = lineId;
}
}

View File

@@ -11,6 +11,8 @@ public class LineLedger {
private String lineIndex;
private String lineName;
//母线名称
private String busBarName;
private String electricityQualityName;
private Long devIndex;
@@ -655,4 +657,12 @@ public class LineLedger {
public void setElectricityQualityName(String electricityQualityName) {
this.electricityQualityName = electricityQualityName;
}
public String getBusBarName() {
return busBarName;
}
public void setBusBarName(String busBarName) {
this.busBarName = busBarName;
}
}

View File

@@ -18,6 +18,8 @@ public class LineLedgerVO {
private Integer status;
//上报类型(国网、非国网)
private Integer appear;
//监测点性质
private Integer powerId;
public String getDeptIndex() {
return deptIndex;
@@ -74,4 +76,12 @@ public class LineLedgerVO {
public void setAppear(Integer appear) {
this.appear = appear;
}
public Integer getPowerId() {
return powerId;
}
public void setPowerId(Integer powerId) {
this.powerId = powerId;
}
}

View File

@@ -82,7 +82,7 @@ public interface DeviceService {
List<OnlineRateData> getOnlineRate(Date startTime, Date endTime, String area);
//运行管理--》监测点数据完整性
IntergralityData getDataIntegralityTable(Date startTime, Date endTime, String area,Integer devflag);
IntergralityData getDataIntegralityTable(Date startTime, Date endTime, String area,Integer devflag,Integer powerId);
String getDeviceOnline(Date startTime, Date endTime, Long lineIndex);

View File

@@ -312,10 +312,10 @@ public class DeviceServiceImpl implements DeviceService {
* @param area 区域
*/
@Override
public IntergralityData getDataIntegralityTable(Date startTime, Date endTime, String area,Integer devflag) {
public IntergralityData getDataIntegralityTable(Date startTime, Date endTime, String area,Integer devflag,Integer powerId) {
IntergralityData intergralityData = new IntergralityData();
List<AreaGeneralData> areaGeneralDataList = userUtil.getAreaGeneralRun(devflag,area);
List<AreaGeneralData> areaGeneralDataList = userUtil.getAreaGeneralRun(devflag,area,powerId);
List<Integer> lineIndexs = areaGeneralDataList.stream().flatMap(item->item.getLineIndexs().stream()).collect(Collectors.toList());
if (CollectionUtils.isEmpty(lineIndexs)) {
return null;
@@ -6776,12 +6776,13 @@ public class DeviceServiceImpl implements DeviceService {
getGwData(tmp, gwLineList, start, end);
String onlinerate = getOnline(devList, start, end);
//在线率
deviceMapInfo.setOnline(onlinerate.equals("3.14159") ? "0" : onlinerate);
deviceMapInfo.setGwOnline(tmp.getGwonline().equals("3.14159") ? "0" : tmp.getGwonline());
String dataIntegrality = getIntegrality(lineList, start, end);
String gwdataIntegrality = getGwIntegrality(gwLineList, start, end);
//数据完整率
deviceMapInfo.setDataIntegrality(dataIntegrality.equals("3.14159") ? "0" : dataIntegrality);
deviceMapInfo.setGwDataIntegrality(gwdataIntegrality.equals("3.14159") ? "0" : gwdataIntegrality);
}

View File

@@ -1,6 +1,7 @@
package com.njcn.serviceimpl.point;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.njcn.mapper.configuration.DeviceDetailMapper;
import com.njcn.mapper.point.PointBaseInfoMapper;
@@ -17,10 +18,7 @@ import com.njcn.utils.UserUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -91,14 +89,14 @@ public class PointBaseInfoServiceImpl implements PointBaseInfoService {
} else {
list = lineIndexes;
}
List<LineLedger> rvoList = pointBaseInfoMapper.getLineLedger(list, lineLedgerVO.getLoadType(), lineLedgerVO.getVoltage(), lineLedgerVO.getStatus(), lineLedgerVO.getAppear());
List<LineLedger> rvoList = pointBaseInfoMapper.getLineLedger(list, lineLedgerVO.getLoadType(), lineLedgerVO.getVoltage(), lineLedgerVO.getStatus(), lineLedgerVO.getAppear(),lineLedgerVO.getPowerId());
if (CollectionUtil.isNotEmpty(rvoList)) {
lineLedgerList.addAll(rvoList);
}
list.clear();
}
} else {
List<LineLedger> rvoList = pointBaseInfoMapper.getLineLedger(lineIndexes, lineLedgerVO.getLoadType(), lineLedgerVO.getVoltage(), lineLedgerVO.getStatus(), lineLedgerVO.getAppear());
List<LineLedger> rvoList = pointBaseInfoMapper.getLineLedger(lineIndexes, lineLedgerVO.getLoadType(), lineLedgerVO.getVoltage(), lineLedgerVO.getStatus(), lineLedgerVO.getAppear(),lineLedgerVO.getPowerId());
lineLedgerList.addAll(rvoList);
}
@@ -122,7 +120,7 @@ public class PointBaseInfoServiceImpl implements PointBaseInfoService {
if (CollectionUtil.isEmpty(lineLedgerVO.getVoltage())) {
lineLedgerVO.setVoltage(null);
}
List<LineLedger> rvoList = pointBaseInfoMapper.getLineLedger(lineList, lineLedgerVO.getLoadType(), lineLedgerVO.getVoltage(), lineLedgerVO.getStatus(), lineLedgerVO.getAppear());
List<LineLedger> rvoList = pointBaseInfoMapper.getLineLedger(lineList, lineLedgerVO.getLoadType(), lineLedgerVO.getVoltage(), lineLedgerVO.getStatus(), lineLedgerVO.getAppear(),lineLedgerVO.getPowerId());
lineLedgerList.addAll(rvoList);
}
}
@@ -140,7 +138,6 @@ public class PointBaseInfoServiceImpl implements PointBaseInfoService {
lineLedger.setDevNo(deviceDetails.getDevNo());
lineLedger.setLineStatus(deviceDetails.getLineStatus());
}
return lineLedgerList;
}

View File

@@ -6,6 +6,7 @@ import java.util.stream.Collectors;
import javax.annotation.Resource;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ArrayUtil;
import com.njcn.pojo.configuration.*;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.session.Session;
@@ -530,14 +531,14 @@ public class UserUtil {
return ag;
}
public List<AreaGeneralData> getAreaGeneralRun(Integer devFlag,String deptId) {
public List<AreaGeneralData> getAreaGeneralRun(Integer devFlag,String deptId,Integer powerId) {
List<AreaGeneralData> ag;
Depts depts = getDeptsByIndex(deptId);
DeviceType deviceType = getOnLineDeviceType();
if (null == depts) {
return new ArrayList<>();
}
ag = getAreaDatas(depts, deviceType, devFlag);
ag = getAreaPowerIdData(depts, deviceType, devFlag,powerId);
return ag;
}
@@ -644,6 +645,63 @@ public class UserUtil {
return ag;
}
/**
* @param dept 部门 只统计在线装置 且投运状态
* 1判断该部门有没有直接子部门
* 2根据有效部门获取部门对应的各项信息
*/
private List<AreaGeneralData> getAreaPowerIdData(Depts dept, DeviceType deviceType, Integer devFlag,Integer powerId) {
List<AreaGeneralData> ag = new ArrayList<>();
try {
List<Depts> depts = getDirectDeptsByNode(dept.getDeptsIndex());
if (CollectionUtils.isEmpty(depts)) {
//则只获取当前部门下的所有信息
ag.add(getAreaPowerIdDept(dept, deviceType, devFlag,powerId));
} else {
//返回当前用户下所有子部门的信息
for (Depts deptsTemp : depts) {
ag.add(getAreaPowerIdDept(deptsTemp, deviceType, devFlag,powerId));
}
}
} catch (Exception e) {
logger.error(e.getMessage());
}
return ag;
}
/**
* 获取部门下详细信息(监测点性质)
*
* @param dept 部门
*/
private AreaGeneralData getAreaPowerIdDept(Depts dept, DeviceType deviceType, Integer devicdStatus,Integer powerId) {
AreaGeneralData areaGeneralData = new AreaGeneralData();
if (dept.getCustomDept() == 0) {
areaGeneralData.setName(dept.getArea());
} else {
areaGeneralData.setName(dept.getDeptsName());
}
areaGeneralData.setDeptIndex(dept.getDeptsIndex());
String sysType = getSysType().equals(ProjectEnum.APP.getKey()) ? null : getSysType();
List<IndexsCount> indexsCountsByDept = deptsLineMapper.selectIndexsPowerIdByDeptRun(Arrays.asList(dept.getDeptsIndex()), sysType, deviceType.getDevModel(), deviceType.getDataType(), devicdStatus,null,powerId);
if (CollectionUtils.isEmpty(indexsCountsByDept)) {
//如果该部门没有任何的监测点关联,有可能是因为其是父节点(程序默认,当存在子节点时,当前部门节点不可绑定监测点)
List<Depts> depts = getDeptsByNode(dept.getDeptsIndex());
if (CollectionUtils.isEmpty(depts)) {
areaGeneralData.setMonitors(0);
} else {
List<String> deptIds = depts.stream().map(Depts::getDeptsIndex).collect(Collectors.toList());
List<IndexsCount> indexsCountsByDepts = deptsLineMapper.selectIndexsPowerIdByDeptRun(deptIds, sysType, deviceType.getDevModel(), deviceType.getDataType(), devicdStatus,null,powerId);
if (CollectionUtils.isEmpty(indexsCountsByDepts)) {
areaGeneralData.setMonitors(0);
} else {
areaGeneralData = filtIndexData(indexsCountsByDepts, areaGeneralData);
}
}
} else {
areaGeneralData = filtIndexData(indexsCountsByDept, areaGeneralData);
}
return areaGeneralData;
}
private List<AreaGeneralData> getDeptsDatas(Depts dept, DeviceType deviceType, Integer devStatus) {
List<AreaGeneralData> ag = new ArrayList<>();
try {

View File

@@ -83,7 +83,7 @@ public class IntegralityController {
* type 统计类型(冀北省、国网)
*/
@GetMapping("integralitytable")
public ModelAndView integrityTable(String starttime, String endtime, String area, String interval) {
public ModelAndView integrityTable(String starttime, String endtime, String area, String interval, String gwtype) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("business/manage/integrityTable");
if(StringUtils.isEmpty(starttime)&&StringUtils.isEmpty(endtime)){
@@ -101,6 +101,7 @@ public class IntegralityController {
}
modelAndView.addObject("area", area);
modelAndView.addObject("interval", interval);
modelAndView.addObject("gwType", gwtype);
return modelAndView;
}
@@ -114,7 +115,7 @@ public class IntegralityController {
*/
@PostMapping("getIntegrityData")
@ResponseBody
public HttpResult getIntegrityData(String startTime, String endTime, String area,Integer devflag, HttpServletRequest request) {
public HttpResult getIntegrityData(String startTime, String endTime, String area,Integer devflag,Integer powerId, HttpServletRequest request) {
HttpResult result = PubUtils.initResult(TokenManager.getToken().getLoginName(), request, LogTypeEnum.BUSSINESS.toString(), 0);
DatePojo datePojo;
datePojo = PubUtils.validateDate(startTime, endTime, "getIntegrityData");
@@ -124,7 +125,7 @@ public class IntegralityController {
}
IntergralityData intergralityData;
try {
intergralityData = deviceService.getDataIntegralityTable(datePojo.getStartTime(), datePojo.getEndTime(), area,devflag);
intergralityData = deviceService.getDataIntegralityTable(datePojo.getStartTime(), datePojo.getEndTime(), area,devflag,powerId);
if (null == intergralityData) {
result = PubUtils.assignmentResultLog(null, 500, "获取监测点数据完整性数据为空", "查询完整性列表", "成功", result);
} else {

View File

@@ -1,5 +1,6 @@
package com.pqs9000.controller.business;
import cn.hutool.core.util.StrUtil;
import com.njcn.enums.ProjectEnum;
import com.njcn.pojo.commons.WebItem;
import com.njcn.pojo.system.SubSystem;
@@ -348,11 +349,17 @@ public class BusinessController {
// 跳转终端运行管理页面
@GetMapping(value = "runtime")
public ModelAndView runtime(String area,String type) {
public ModelAndView runtime(String area,String type, String manufacturer) {
ModelAndView modelAndView = new ModelAndView();
if(StrUtil.isNotBlank(manufacturer)){
if(manufacturer.indexOf("(")!=-1){
manufacturer=manufacturer.substring(0,manufacturer.indexOf("("));
}
}
modelAndView.setViewName("business/manage/runtime");
modelAndView.addObject("area", area);
modelAndView.addObject("type", type);
modelAndView.addObject("manufacturer", manufacturer);
return modelAndView;
}

View File

@@ -6,27 +6,25 @@ import com.njcn.pojo.commons.DatePojo;
import com.njcn.pojo.commons.HttpResult;
import com.njcn.pojo.commons.SimpleValue;
import com.njcn.pojo.commons.SteadyTypeData;
import com.njcn.pojo.commons.acceptability.AcceptabilityAllData;
import com.njcn.pojo.commons.acceptability.AcceptabilityData;
import com.njcn.pojo.commons.device.DeviceGeneral;
import com.njcn.pojo.data.AssesData;
import com.njcn.service.configuration.DeviceService;
import com.njcn.service.configuration.LineService;
import com.njcn.service.log.UserLogDetailService;
import com.njcn.shiro.token.TokenManager;
import com.njcn.utils.PubUtils;
import com.pqs9000.pojo.common.OverviewData;
import com.pqs9000.pojo.common.PowerQualityData;
import com.pqs9000.service.data.AssesService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import tk.mybatis.mapper.entity.Example;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@@ -52,6 +50,51 @@ public class OverviewController {
@Autowired
UserLogDetailService userLog;
@GetMapping("/assesTable")
public ModelAndView integrityTable(String starttime, String endtime, String area, String interval) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("business/area/assesTable");
DatePojo datePojo=PubUtils.validateDate(starttime,endtime,"assesTable");
if(!StringUtils.isEmpty(datePojo.getMsg())){
modelAndView.addObject("startTime", "");
modelAndView.addObject("endTime", "");
}else{
modelAndView.addObject("startTime", starttime);
modelAndView.addObject("endTime", endtime);
}
modelAndView.addObject("area", area);
modelAndView.addObject("interval", interval);
return modelAndView;
}
/**
* 区域--》点击柱状图电能质量评估--》列表
*
* @param startTime 起始时间
* @param endTime 截止时间
*/
@PostMapping("/assesTableData")
@ResponseBody
public HttpResult getAssesTableData(String startTime, String endTime, String area, HttpServletRequest request) {
HttpResult result = PubUtils.initResult(TokenManager.getToken().getLoginName(), request, LogTypeEnum.BUSSINESS.toString(), 0);
DatePojo datePojo;
datePojo = PubUtils.validateDate(startTime, endTime, "assesTableData");
if (!StringUtils.isEmpty(datePojo.getMsg())) {
result = PubUtils.assignmentResult(null, 500, datePojo.getMsg());
return result;
}
List<AssesData> data;
try {
data = assesService.getAssesTableData(datePojo.getStartTime(), datePojo.getEndTime(), area);
result = PubUtils.assignmentResultLog(data, 200, "区域获取电能质量评估列表成功", "查询区域获取电能质量评估列表", "成功", result);
userLog.getLog("查询电能质量评估列表", "成功", PubUtils.getIpAddr(request), LogTypeEnum.BUSSINESS.toString(), 0);
} catch (Exception e) {
userLog.getLog("查询电能质量评估列表", "失败", PubUtils.getIpAddr(request), LogTypeEnum.BUSSINESS.toString(), 0);
result = PubUtils.assignmentResultLog(null, 200, "区域获取电能质量评估列表失败", "查询区域获取电能质量评估列表", "失败", result);
}
return result;
}
/**

View File

@@ -9,6 +9,7 @@ import java.io.Serializable;
*/
public class AreaPowerQualityData implements Serializable {
private String deptsIndex;
private String name;
private float data;
@@ -49,6 +50,14 @@ public class AreaPowerQualityData implements Serializable {
this.level = level;
}
public String getDeptsIndex() {
return deptsIndex;
}
public void setDeptsIndex(String deptsIndex) {
this.deptsIndex = deptsIndex;
}
@Override
public String toString() {
return "AreaPowerQualityData{" +

View File

@@ -1,8 +1,10 @@
package com.pqs9000.service.data;
import com.njcn.pojo.data.AssesData;
import com.pqs9000.pojo.common.PowerQualityData;
import java.util.Date;
import java.util.List;
/**
* @author hongawen
@@ -20,4 +22,7 @@ public interface AssesService {
PowerQualityData qualityAssess(Date startTime, Date endTime, Long lineIndex);
PowerQualityData qualityAssessTB(Date startTime, Date endTime,Date laststartTime, Date lastendTime, Long lineIndex);
//电能质量评估列表
List<AssesData> getAssesTableData(Date startTime, Date endTime, String area);
}

View File

@@ -1,10 +1,11 @@
package com.pqs9000.serviceimpl.data;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollUtil;
import com.njcn.pojo.data.AssesData;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -12,7 +13,6 @@ import org.springframework.stereotype.Service;
import com.njcn.mapper.configuration.OverLimitMapper;
import com.njcn.mapper.data.AssesMapper;
import com.njcn.mapper.user.DeptsMapper;
import com.njcn.pojo.commons.AreaGeneralData;
import com.njcn.pojo.configuration.OverLimit;
import com.njcn.pojo.data.Asses;
@@ -94,6 +94,7 @@ public class AssesServiceImpl implements AssesService {
if(CollectionUtils.isEmpty(areaGeneralData.getLineIndexs())){
//综合评分
AreaPowerQualityData areaPowerQualityData5=new AreaPowerQualityData();
areaPowerQualityData5.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData5.setName(areaGeneralData.getName());
//获取综合评分
areaPowerQualityData5.setData(3.1415f);
@@ -103,6 +104,7 @@ public class AssesServiceImpl implements AssesService {
synData.add(areaPowerQualityData5);
if(StringUtils.isBlank(overview)){
AreaPowerQualityData areaPowerQualityData=new AreaPowerQualityData();
areaPowerQualityData.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData.setName(areaGeneralData.getName());
//获取时间范围内该区域的电压偏差
areaPowerQualityData.setData(3.1415f);
@@ -110,24 +112,28 @@ public class AssesServiceImpl implements AssesService {
areaPowerQualityData.setMonitor(0);
vuDevs.add(areaPowerQualityData);
AreaPowerQualityData areaPowerQualityData1=new AreaPowerQualityData();
areaPowerQualityData1.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData1.setName(areaGeneralData.getName());
areaPowerQualityData1.setData(3.1415f);
areaPowerQualityData1.setLevel("/");
areaPowerQualityData1.setMonitor(0);
freqDev.add(areaPowerQualityData1);
AreaPowerQualityData areaPowerQualityData2=new AreaPowerQualityData();
areaPowerQualityData2.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData2.setName(areaGeneralData.getName());
areaPowerQualityData2.setData(3.1415f);
areaPowerQualityData2.setLevel("/");
areaPowerQualityData2.setMonitor(0);
dataPlt.add(areaPowerQualityData2);
AreaPowerQualityData areaPowerQualityData3=new AreaPowerQualityData();
areaPowerQualityData3.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData3.setName(areaGeneralData.getName());
areaPowerQualityData3.setData(3.1415f);
areaPowerQualityData3.setLevel("/");
areaPowerQualityData3.setMonitor(0);
vThdCp95.add(areaPowerQualityData3);
AreaPowerQualityData areaPowerQualityData4=new AreaPowerQualityData();
areaPowerQualityData4.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData4.setName(areaGeneralData.getName());
areaPowerQualityData4.setData(3.1415f);
areaPowerQualityData4.setLevel("/");
@@ -136,6 +142,7 @@ public class AssesServiceImpl implements AssesService {
}
}else{
AreaPowerQualityData areaPowerQualityData=new AreaPowerQualityData();
areaPowerQualityData.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData.setName(areaGeneralData.getName());
//获取时间范围内该区域的电压偏差
List<Integer> lineIds=areaGeneralData.getLineIndexs();
@@ -158,24 +165,28 @@ public class AssesServiceImpl implements AssesService {
areaPowerQualityData.setMonitor(lineIds.size());
vuDevs.add(areaPowerQualityData);
AreaPowerQualityData areaPowerQualityData1=new AreaPowerQualityData();
areaPowerQualityData1.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData1.setName(areaGeneralData.getName());
areaPowerQualityData1.setData(3.14159f);
areaPowerQualityData1.setLevel("(暂无数据)");
areaPowerQualityData1.setMonitor(lineIds.size());
freqDev.add(areaPowerQualityData1);
AreaPowerQualityData areaPowerQualityData2=new AreaPowerQualityData();
areaPowerQualityData2.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData2.setName(areaGeneralData.getName());
areaPowerQualityData2.setData(3.14159f);
areaPowerQualityData2.setLevel("(暂无数据)");
areaPowerQualityData2.setMonitor(lineIds.size());
dataPlt.add(areaPowerQualityData2);
AreaPowerQualityData areaPowerQualityData3=new AreaPowerQualityData();
areaPowerQualityData3.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData3.setName(areaGeneralData.getName());
areaPowerQualityData3.setData(3.14159f);
areaPowerQualityData3.setLevel("(暂无数据)");
areaPowerQualityData3.setMonitor(lineIds.size());
vThdCp95.add(areaPowerQualityData3);
AreaPowerQualityData areaPowerQualityData4=new AreaPowerQualityData();
areaPowerQualityData4.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData4.setName(areaGeneralData.getName());
areaPowerQualityData4.setData(3.14159f);
areaPowerQualityData4.setLevel("(暂无数据)");
@@ -185,6 +196,7 @@ public class AssesServiceImpl implements AssesService {
}else{
//综合评分
AreaPowerQualityData areaPowerQualityData5=new AreaPowerQualityData();
areaPowerQualityData5.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData5.setName(areaGeneralData.getName());
//获取综合评分
float synDatas=getSynData(areaGeneralData.getLineIndexs(),startTime,endTime);
@@ -199,24 +211,28 @@ public class AssesServiceImpl implements AssesService {
areaPowerQualityData.setMonitor(lineIds.size());
vuDevs.add(areaPowerQualityData);
AreaPowerQualityData areaPowerQualityData1=new AreaPowerQualityData();
areaPowerQualityData1.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData1.setName(areaGeneralData.getName());
areaPowerQualityData1.setData(FloatUtils.get2Float(asses.getFreqDev()));
areaPowerQualityData1.setLevel(getLevel(asses.getFreqDev(),0f,0.05f,0.1f,0.15f,0.2f,0.25f,0.30f,0.35f));
areaPowerQualityData1.setMonitor(lineIds.size());
freqDev.add(areaPowerQualityData1);
AreaPowerQualityData areaPowerQualityData2=new AreaPowerQualityData();
areaPowerQualityData2.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData2.setName(areaGeneralData.getName());
areaPowerQualityData2.setData(FloatUtils.get2Float(asses.getDataPlt()));
areaPowerQualityData2.setLevel(getLevel(asses.getDataPlt(),0f,0.15f,0.3f,0.45f,0.6f,0.75f,0.90f,1.05f));
areaPowerQualityData2.setMonitor(lineIds.size());
dataPlt.add(areaPowerQualityData2);
AreaPowerQualityData areaPowerQualityData3=new AreaPowerQualityData();
areaPowerQualityData3.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData3.setName(areaGeneralData.getName());
areaPowerQualityData3.setData(FloatUtils.get2Float(asses.getvThdCp95()));
areaPowerQualityData3.setLevel(getLevel(asses.getvThdCp95(),0f,0.5f,1f,1.5f,2f,2.5f,3f,3.5f));
areaPowerQualityData3.setMonitor(lineIds.size());
vThdCp95.add(areaPowerQualityData3);
AreaPowerQualityData areaPowerQualityData4=new AreaPowerQualityData();
areaPowerQualityData4.setDeptsIndex(areaGeneralData.getDeptIndex());
areaPowerQualityData4.setName(areaGeneralData.getName());
areaPowerQualityData4.setData(FloatUtils.get2Float(asses.getVunbalanceCp95()));
areaPowerQualityData4.setLevel(getLevel(asses.getVunbalanceCp95(),0f,0.5f,1f,1.5f,2f,2.5f,3f,3.5f));
@@ -240,6 +256,9 @@ public class AssesServiceImpl implements AssesService {
private String getLevel(float synDatas) {
if(synDatas==3.14159f){
return "(暂无数据)";
}
if(synDatas==3.1415f){
return "/";
}
if(0<=synDatas&&synDatas<2){
return "极差";
@@ -599,4 +618,99 @@ public class AssesServiceImpl implements AssesService {
powerQualityData.setVunbalanceCp95(vunbalanceCp95);
return powerQualityData;
}
@Override
public List<AssesData> getAssesTableData(Date startTime, Date endTime, String area) {
List<AreaGeneralData> areaGeneralDataList = userUtil.getAreaGeneralRun(null,area,null);
List<Integer> lineIndexs = areaGeneralDataList.stream().flatMap(item->item.getLineIndexs().stream()).collect(Collectors.toList());
if (org.springframework.util.CollectionUtils.isEmpty(lineIndexs)) {
return null;
}
List<AssesData> integralityTable = getIntegralityTable(startTime, endTime, lineIndexs);
if(CollUtil.isNotEmpty(integralityTable)){
Map<String, Float> assesSynData = getAssesSynData(startTime, endTime, lineIndexs);
for (AssesData assesData : integralityTable) {
if(assesSynData.containsKey(assesData.getLineId())){
assesData.setSynData(assesSynData.get(assesData.getLineId()));
}else{
assesData.setSynData(0f);
}
}
}
return integralityTable;
}
/**
* 分片处理获取
*
* @param startTime 起始时间
* @param endTime 截止时间
* @param lineIndexs 监测点索引
*/
private List<AssesData> getIntegralityTable(Date startTime, Date endTime, List<Integer> lineIndexs) {
List<AssesData> intergralityTables = new ArrayList<>();
//分片1000个监测点
if (lineIndexs.size() > 1000) {
int times = lineIndexs.size() / 1000 + 1;
for (int i = 1; i <= times; i++) {
if (lineIndexs.size() > 1000) {
List<Integer> tempIndexs = lineIndexs.subList(0, 1000);
List<AssesData> tempTables = assesMapper.getLineVol(tempIndexs, startTime, endTime);
intergralityTables.addAll(tempTables);
tempIndexs.clear();
} else {
List<AssesData> tempTables = assesMapper.getLineVol(lineIndexs, startTime, endTime);
intergralityTables.addAll(tempTables);
}
}
} else {
intergralityTables = assesMapper.getLineVol(lineIndexs, startTime, endTime);
}
return intergralityTables;
}
/**
* 分片处理获取
*
* @param startTime 起始时间
* @param endTime 截止时间
* @param lineIndexs 监测点索引
*/
private Map<String,Float> getAssesSynData(Date startTime, Date endTime, List<Integer> lineIndexs) {
Map<String,Float> map=new HashMap<>();
List<PqsComasses> intergralityTables = new ArrayList<>();
//分片1000个监测点
if (lineIndexs.size() > 1000) {
int times = lineIndexs.size() / 1000 + 1;
for (int i = 1; i <= times; i++) {
if (lineIndexs.size() > 1000) {
List<Integer> tempIndexs = lineIndexs.subList(0, 1000);
List<PqsComasses> tempTables = assesMapper.getSynData(tempIndexs, startTime, endTime);
intergralityTables.addAll(tempTables);
tempIndexs.clear();
} else {
List<PqsComasses> tempTables = assesMapper.getSynData(lineIndexs, startTime, endTime);
intergralityTables.addAll(tempTables);
}
}
} else {
intergralityTables = assesMapper.getSynData(lineIndexs, startTime, endTime);
}
if(CollUtil.isNotEmpty(intergralityTables)){
for (int i = 0; i < intergralityTables.size(); i++) {
PqsComasses tempPqs=intergralityTables.get(i);
//组合二维数组
float f1[][]={{tempPqs.getFreqDev1(),tempPqs.getFreqDev2(),tempPqs.getFreqDev3(),tempPqs.getFreqDev4(),tempPqs.getFreqDev5()}
,{tempPqs.getVThd1(),tempPqs.getVThd2(),tempPqs.getVThd3(),tempPqs.getVThd4(),tempPqs.getVThd5(),}
,{tempPqs.getDataPst1(),tempPqs.getDataPst2(),tempPqs.getDataPst3(),tempPqs.getDataPst4(),tempPqs.getDataPst5()}
,{tempPqs.getVuDev1(),tempPqs.getVuDev2(),tempPqs.getVuDev3(),tempPqs.getVuDev4(),tempPqs.getVuDev5(),}
,{tempPqs.getVUnbalance1(),tempPqs.getVUnbalance2(),tempPqs.getVUnbalance3(),tempPqs.getVUnbalance4(),tempPqs.getVUnbalance5(),}
,{tempPqs.getEvent1(),tempPqs.getEvent2(),tempPqs.getEvent3(),tempPqs.getEvent4(),tempPqs.getEvent5(),}};
//获取该值返回的数据
float temp=comAssesUtil.GetComAsses(f1);
map.put(tempPqs.getLineid(),temp);
}
}
return map;
}
}

View File

@@ -66,5 +66,44 @@
GROUP BY
LINEID
</select>
<select id="getLineVol" resultType="com.njcn.pojo.data.AssesData">
SELECT
T6.NAME powerCompany,
T7.NAME substation,
T1.LINEID lineId,
T2.NAME lineName,
VU_DEV as vuDevs,
Freq_Dev as freqDev,
Data_PLT as dataPlt,
V_Unbalance_CP95 as vunbalanceCp95,
V_THD_CP95 as vThdCp95
FROM
(
SELECT
LINEID,
ROUND(AVG( VU_DEV ),2) VU_DEV,
ROUND(AVG( Freq_Dev ),2) Freq_Dev,
ROUND(AVG( Data_PLT ),2) Data_PLT,
ROUND(AVG( V_Unbalance_CP95 ),2) V_Unbalance_CP95,
ROUND(AVG( V_THD_CP95 ),2) V_THD_CP95
FROM
PQS_ASSES
WHERE
TIMEID BETWEEN #{startTime}
AND #{endTime}
AND LINEID IN
<foreach collection="list" item="item" separator="," open="(" close=")">
#{item}
</foreach>
GROUP BY
LINEID
) T1,
PQ_LINE T2,
PQ_SUBSTATION T7,
PQ_GDINFORMATION T6
WHERE
T1.LINEID = T2.LINE_INDEX
AND T2.SUB_INDEX = T7.SUB_INDEX
AND T2.GD_INDEX = T6.GD_INDEX
</select>
</mapper>

View File

@@ -23,7 +23,7 @@
SUM (T1.real) countOnline,
SUM (T1.due) countAll
FROM
PQS_NGCPINTEGRITY T1
PQS_Integrity T1
WHERE
T1.Line_index in
<foreach collection="list" item="item" open="(" close=")" separator=",">
@@ -148,7 +148,7 @@
4
) * 100 integrity
FROM
PQS_NGCPINTEGRITY T1
PQS_Integrity T1
WHERE
T1.LINE_INDEX IN <foreach collection="list" item="item" open="(" close=")" separator=",">#{item}</foreach>
AND t1.TIMEID BETWEEN #{startTime} AND #{endTime}

View File

@@ -108,7 +108,8 @@
a.line_index lineIndex,
mod(a.line_index,10) as lineNum,
a.name as lineName,
nvl(b.POWER_SUBSTATION_NAME,e.name)||'_'||sv.NAME||'_'||a.name as electricityQualityName,
e.name||'_'||sv.NAME||'_'||a.name as electricityQualityName,
sv.NAME as busBarName,
a.dev_index devIndex,
a.status lineStatus,
b.pttype ptType,
@@ -194,10 +195,14 @@
<if test="status!=null">
and d.status = #{status}
</if>
<if test="powerId!=null">
and b.POWERID = #{powerId}
</if>
<choose>
<when test="type == 0"> and b.MONITOR_ID is not null and b.MONITOR_ID != ' '</when>
<when test="type == 1"> and (b.MONITOR_ID IS NULL or b.MONITOR_ID IN (' '))</when>
</choose>
order by province,gdName,devName,lineNum,subName,busBarName,lineName
</select>
<select id="getDeptsLineIndex" resultType="java.lang.Integer"

View File

@@ -127,7 +127,43 @@
</foreach>
</select>
<select id="selectIndexsPowerIdByDeptRun" resultType="IndexsCount">
SELECT
t2.LINE_INDEX lineIndex,
t2.SUB_INDEX subIndex,
t2.DEV_INDEX devIndex,
t2.GD_INDEX gdIndex
FROM
PQS_DEPTSLINE t1,
PQ_LINE t2,
PQ_LINEDETAIL t4,
PQ_DEVICE t3
WHERE
t1.LINE_INDEX = t2.LINE_INDEX
and t4.LINE_INDEX = t2.LINE_INDEX
AND t2.DEV_INDEX = t3.DEV_INDEX
AND t1.DEPTS_INDEX in
<foreach collection="depts" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<if test="sysType != null">
AND t1.systype=#{sysType}
</if>
AND t3.DEVMODEL = #{devModel}
<if test="devStatus!=null">
AND t3.DevFlag=#{devStatus}
</if>
<if test="status!=null">
AND t3.status = #{status}
</if>
<if test="powerId!=null">
AND t4.POWERID = #{powerId}
</if>
AND t3.DATATYPE in
<foreach collection="dataType" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="selectIndexsByDeptsRunForStatFlag" resultType="IndexsCount">
SELECT

View File

@@ -0,0 +1,131 @@
<%@ 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/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
body {
overflow: hidden;
}
#integritylist {
min-width: 2000px;
}
.tr {
text-align: center;
}
.td {
text-align: center;
height: 48px;
line-height: 48px
}
.table > tbody > tr > td {
padding: 5px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
.pagination > li > a, .pagination > li > span {
padding: 6px 12px;
}
</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" %>
<button id="query" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-search"></i>
</button>
<div class="form-group fr mr10" id="fliteData">
<label>筛选数据:</label>
<input type="text" class="form-control" onkeyup="searchResult(this.value)"
placeholder="空格分开多条件筛选数据">
</div>
</div>
<table id="integritylist" class="table table-striped table-bordered dataTable no-footer width100">
<thead>
<tr>
<th>序号</th>
<th>供电公司</th>
<th>变电站</th>
<th>监测点名称</th>
<th>综合评估</th>
<th>电压偏差(%)</th>
<th>频率偏差(Hz)</th>
<th>谐波含量(%)</th>
<th>电压闪变</th>
<th>三相电压不平衡度(%)</th>
</tr>
</thead>
</table>
</div>
<input id="_startTime" value="${startTime}" hidden>
<input id="_endTime" value="${endTime}" hidden>
<input id="_area" value="${area}" hidden>
<input id="_interval" value="${interval}" hidden>
<input id="gwType" value="${gwType}" hidden>
</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/bootstrapSwitch/bootstrap-switch.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}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/area/assesTable.js"></script>
<script src="${ctx}/jspJS/utils/helper.js"></script>
<script type="text/javascript">
$("#helper").click(function () {
toHelper("#jcdsjwzx");
});
var gwType = $("#gwType");
</script>
</html>

View File

@@ -82,9 +82,19 @@
<div class="form-inline disinlineb wanzhengdiv">
<div class="form-group has-feedback mr10">
<label>统计类型:</label>
<input type="checkbox" checked class="wanzheng"/>
<input type="checkbox" class="wanzheng" id="checkbox"/>
</div>
</div>
<label class="form-group">监测点性质:</label>
<select class="form-control" id="powerId">
<option value="">全部</option>
<option value="0">电网侧</option>
<option value="1">非电网侧</option>
<option value="2">电网侧(新能源)</option>
<option value="3">非电网侧(新能源)</option>
<option value="4">上送国网</option>
<option value="5">PCC</option>
</select><label class="form-group">
<button id="query" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-search"></i>
</button>
@@ -121,6 +131,7 @@
<input id="_endTime" value="${endTime}" hidden>
<input id="_area" value="${area}" hidden>
<input id="_interval" value="${interval}" hidden>
<input id="gwType" value="${gwType}" hidden>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
@@ -145,5 +156,6 @@
$("#helper").click(function () {
toHelper("#jcdsjwzx");
});
var gwType = $("#gwType");
</script>
</html>

View File

@@ -73,6 +73,16 @@
<option value="-1">全部</option>
</select>
</div>
<label class="form-group">监测点性质:</label>
<select class="form-control" id="powerId">
<option value="">全部</option>
<option value="0">电网侧</option>
<option value="1">非电网侧</option>
<option value="2">电网侧(新能源)</option>
<option value="3">非电网侧(新能源)</option>
<option value="4">上送国网</option>
<option value="5">PCC</option>
</select><label class="form-group">
<button id="query" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-search"></i>
</button>
@@ -88,38 +98,35 @@
<th>序号</th>
<th>省公司</th>
<th>市公司</th>
<th>监测点电压等级</th>
<th>监测点名称</th>
<th>电能质量名称</th>
<th id="devNo" title="监测终端编号(电能质量监测系统终端编号)">监测终端编号</th>
<th>所属电站</th>
<th>母线名称</th>
<th>电能质量终端装置名称</th>
<th>监测点名称</th>
<th>监测点电压等级</th>
<th>监测点序号</th>
<th>干扰源类型</th>
<th>监测对象名称</th>
<th>电网侧变电站</th>
<th>监测装置网络参数</th>
<th>监测终端状态</th>
<th>监测装置通讯状态</th>
<th>最新数据时间</th>
<th>监测装置网络参数</th>
<th>监测装置安装位置</th>
<th>监测装置投运时间</th>
<th>监测装置型号</th>
<th>所属前置机</th>
<th>监测装置厂家</th>
<th>监测装置安装位置</th>
<th>监测厂家设备编号</th>
<th>监测点状态</th>
<th>监测点运行状态</th>
<th>最新数据时间</th>
<th>最小短路容量MVA</th>
<th>供电设备容量MVA</th>
<th>用户协议容量MVA</th>
<th>监测点状态</th>
<th>监测点运行状态</th>
<th>监测点序号</th>
<th>监测终端编号(电能质量监测系统终端编号)</th>
<th>监测厂家设备编号</th>
<th>监测点编号</th>
<th>监测点性质</th>
<th>所属前置机</th>
<th>监测终端接线方式</th>
<th>电压偏差上限</th>
<th>电压偏差下限</th>

View File

@@ -137,6 +137,7 @@
<input type="hidden" id="token" value="${token}">
<input id="_area" value="${area}" hidden>
<input id="gwType" value="${type}" hidden>
<input id="facturer" value="${manufacturer}" hidden>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
@@ -166,6 +167,8 @@
});
var $area = $("#area");
var gwType = $("#gwType");
var facturer = $("#facturer").val();
</script>
</body>
</html>

View File

@@ -21,21 +21,21 @@
</form>
</div>
<div id="search">
<input style="width: 200px; height: 25px;" id="search_value"
<input style="width: 94%; height: 25px;" id="search_value"
type="text" value="" placeholder="请输入关键词" autocomplete="off"
oninput="valueChange(this.value)" />
<button type="button" id="serchB"
class="btn-primary"
onclick="javascript: searchNode(search_value.value)"
style="height: 25px; width: 55px; border-radius: 4px; border: 1px solid;">
<i class="glyphicon glyphicon-search"></i>搜索
</button>
<button type="button" id="resetB"
class="btn-primary"
onclick="resetTree()"
style="padding: 0 5px; height: 25px; width: 55px; border-radius: 4px; border: 1px solid;display:none;">
<i class="glyphicon glyphicon-refresh"></i>重置
</button>
<%-- <button type="button" id="serchB"--%>
<%-- class="btn-primary"--%>
<%-- onclick="javascript: searchNode(search_value.value)"--%>
<%-- style="height: 25px; width: 55px; border-radius: 4px; border: 1px solid;">--%>
<%-- <i class="glyphicon glyphicon-search"></i>搜索--%>
<%-- </button>--%>
<%-- <button type="button" id="resetB"--%>
<%-- class="btn-primary"--%>
<%-- onclick=""--%>
<%-- style="padding: 0 5px; height: 25px; width: 55px; border-radius: 4px; border: 1px solid;display:none;">--%>
<%-- <i class="glyphicon glyphicon-refresh"></i>重置--%>
<%-- </button>--%>
</div>
<div id="tree" class="ztree" style="overflow: auto;margin-left: -8px;"></div>
</div>

View File

@@ -185,9 +185,9 @@
<shiro:hasPermission name="/pqs9000/area/harmonicrate">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/harmonicrate','谐波总畸变率统计')">谐波总畸变率统计</a>
</shiro:hasPermission>
<%-- <shiro:hasPermission name="/pqs9000/area/onlinerate">--%>
<%-- <a href="javascript:void(0)" onclick="addTab('/pqs9000/area/onlinerate','终端在线率')">终端在线率</a>--%>
<%-- </shiro:hasPermission>--%>
<shiro:hasPermission name="/pqs9000/area/tomonitorscope">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/business/tomonitorscope','监测点信息图')">监测点信息图</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/vdlist">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/vdlist','暂态事件列表')">暂态事件列表</a>
</shiro:hasPermission>
@@ -303,7 +303,7 @@
</div>
</header>
<div class="footer-copy clearfix">
<div class="fr f13">CopyRight@2017 南京灿能电力自动化股份有限公司 版权所有</div>
<div class="fr f13"></div>
</div>
<div id="rightContent" style="position: absolute; left: 270px; right: 20px; top: 80px;">
<div id="tabs" style="width: 100%; height: 100%;">

View File

@@ -272,7 +272,7 @@
</div>
</header>
<div class="footer-copy clearfix">
<div class="fr f13">CopyRight@2017 南京灿能电力自动化股份有限公司 版权所有</div>
<div class="fr f13"></div>
</div>
<div id="rightContent" style="position: absolute; left: 270px; right: 20px; top: 80px;">
<div id="tabs" style="width: 100%; height: 100%;">

View File

@@ -394,8 +394,9 @@
district.setOption(option);
district.on('click', function (params) {
var city=params.data.areaIndex;
var gwtype= tiggleValue=="冀北省"?"0":"1";
if (getRole("/pqs9000/business/runtime") === 1) {
window.top.addTab('runtime?area='+city, '终端运行情况')
window.top.addTab('runtime?area='+city+"&type="+gwtype, '终端运行情况')
}
});
}
@@ -710,11 +711,11 @@
};
var factory = echarts.init(document.getElementById('company'));
factory.setOption(option);
factory.on('click', function () {
// var city=params.data.areaIndex;
alert(1)
factory.on('click', function (params) {
var gwtype= tiggleValue=="冀北省"?"0":"1";
var manufacturer= params.name;
if (getRole("/pqs9000/business/runtime") == 1) {
window.top.addTab('runtime', '终端运行情况')
window.top.addTab('runtime?type='+gwtype+"&manufacturer="+manufacturer, '终端运行情况')
}
});
}

View File

@@ -134,6 +134,22 @@
var companyLength;//厂家个数
var color;
var companyname;
var onlines = [];
var gwonlines = [];
var integralitys = [];
var gwintegralitys = [];
function rate(num) {
if(num.length===0){
return 0;
}
var dataNum = 0;
for (var i = 0; i < num.length; i++) {
if (!(num[i] === 3.1415)&&!(num[i] === 3.14159)) {
dataNum=dataNum+num[i];
}
}
return (dataNum/num.length).toFixed(2);
}
function initInfo() {
var endTime = getEndTime();
@@ -153,13 +169,13 @@
var str1 = "<b style='font-size: 13px;color:" + color + ";'>" + data.body.name +
":</b>\n<b style='font-size: 12px;color:" + color + ";'>&nbsp;&nbsp;监测点数:" +data.body.pointCount +
"</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;终端数:" + data.body.count +
"</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;在线率:" + data.body.online +
"%</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;数据完整性:" + data.body.dataIntegrality + "%</b>\n";
"</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;在线率:" + rate(onlines) +
"%</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;数据完整性:" + rate(integralitys) + "%</b>\n";
var str2 = "<b style='font-size: 13px;color: " + color + ";'>" + companyname +
"</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;监测点数:" + data.body.gwPointCount +
"</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;终端数:" + data.body.gwCount +
"</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;在线率:" + data.body.gwOnline +
"%</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;数据完整性:" + data.body.gwDataIntegrality + "%</b>\n";
"</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;在线率:" + rate(gwonlines) +
"%</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;数据完整性:" + rate(gwintegralitys) + "%</b>\n";
var str = str0;
str += data.body.count == 0 ? "" : str1;
str += data.body.gwCount == 0 ? "" : str2;
@@ -181,7 +197,6 @@
}
})
initInfo();
var t1 = getRole("/pqs9000/business/frequency");
var t2 = getRole("/pqs9000/business/powerquality");
var t3 = 0;
@@ -513,6 +528,8 @@
onContent(id, title + info);
}
});
initInfo();
});
//画终端状态缩略图
@@ -557,6 +574,8 @@
}
itemStyle.normal=normalData;
singleData.itemStyle=itemStyle;
onlines[i]=Number(area[i].online);
gwonlines[i]=Number(area[i].gwonline);
rate[i]=singleData;
}
}
@@ -723,6 +742,8 @@
}
singleData.itemStyle = item;
inte[i] = singleData;
integralitys[i]=Number(area[i].dataIntegrity);
gwintegralitys[i]=Number(area[i].gwdataIntegrity);
}
}
var option = {

View File

@@ -0,0 +1,285 @@
var $area = $("#area");
var $startTime = $("#startTime");
var $endTime = $("#endTime");
var $timeType = $("#interval");
var dataTable = null;
var resultData = null;
var areaInfo;
var buttonname = '';
var companyname;
var tiggleValue = "";
var allNetsData = [];
var countryNetsData = [];
$("#interval").val("月份");
/**
* 电压等级排序自定义比较end
*/
$(function () {
//初始化区域
$.ajax({
type: "POST",
url: "/pqs9000/user/getAreasInfo",
dataType: 'json',
success: function (data) {
areaInfo = data;
$("#area").val(data[0].name);
$("#area").attr("index", data[0].id);
areaTree = $.fn.zTree.init($("#areaTree"), settingAreaTree, data);
//初始化页面内容
var sTemp = $("#_startTime").val();
var eTemp = $("#_endTime").val();
var aTemp = $("#_area").val();
var iTemp = $("#_interval").val();
sTemp = filterXSS(sTemp);
eTemp = filterXSS(eTemp);
aTemp = filterXSS(aTemp);
iTemp = filterXSS(iTemp);
if (sTemp === "" | sTemp === undefined) {
var area = $area.eq(0).attr("index");
var startTime = $startTime.eq(0).val();
var endTime = $endTime.eq(0).val();
refresh(area, startTime, endTime);
} else {
//填充区域、时间输入框
$("#startTime").val(sTemp);
$("#endTime").val(eTemp);
$("#interval").val(iTemp);
judgeInterval(iTemp);
if (aTemp === "" | aTemp === undefined) {
aTemp = $area.eq(0).attr("index");
} else {
$area.eq(0).val(getDeptsName(aTemp));
$area.eq(0).attr("index", aTemp);
}
refresh(aTemp, sTemp, eTemp);
}
}
});
var start = $startTime.eq(0).val();
var end = $endTime.eq(0).val();
$.ajax({
type: "POST",
data: {
start: start,
end: end
},
async: false,
url: "/pqs9000/device/getMsgInfo",
dataType: 'json',
success: function (data) {
buttonname = data.body.name;
tiggleValue = data.body.name;
}
});
$.ajax({
type: "POST",
url: "/pqs9000/theme/getThemeInfo",
async: false,
dataType: 'json',
success: function (data) {
companyname = data.body.name;
}
});
});
//点击确定,去后台请求参数
$("#query").click(function () {
var area = $area.eq(0).attr("index");
var startTime = $startTime.eq(0).val();
var endTime = $endTime.eq(0).val();
var devflag = $("#devflag").val();
var powerId = $("#powerId").val();
refresh(area, startTime, endTime,devflag,powerId);
});
//获取表格数据
function refresh(area, startTime, endTime,devflag,powerId) {
var i;
$.ajax({
type: "POST",
url: "/pqs9000/overview/assesTableData",
dataType: "json",
data: {
startTime: startTime,
endTime: endTime,
area: area,
},
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success: function (data) {
if (data.code === 500) {
layer.msg(data.message, {icon: 2, time: 2000})
//没有数据
allNetsData = null;
} else {
allNetsData = data.body;
}
startQuery();
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
});
}
//实例化表格
function initTable(data) {
var height = $(window).height() - 155;
var length = Math.floor(height / 28);
if (length < 1) {
length = 1;
}
dataTable = $("#integritylist").DataTable();
dataTable.clear().draw();
dataTable = $('#integritylist').DataTable({
order: [1, "asc"],
columnDefs: [
{
orderable: false,
targets: 0
}
],
columns: [
{width: "2%", data: null},
{
width: "4%", data: "powerCompany", render: function (data, type, full, meta) {
var value = data;
if (data.length > 10) {
value = data.substring(0, 9) + "...";
value = "<span title=" + data + ">" + value + "</span>";
}
return value;
}
},
{
width: "4%", data: "substation", render: function (data, type, full, meta) {
var value = data;
if (data.length > 10) {
value = data.substring(0, 9) + "...";
value = "<span title=" + data + ">" + value + "</span>";
}
return value;
}
},
{
width: "4%", data: "lineName", render: function (data, type, full, meta) {
var value = data;
if (data.length > 12) {
value = data.substring(0, 11) + "...";
value = "<span title=" + data + ">" + value + "</span>";
}
return value;
}
},
{width: "2%", data: "synData"},
{width: "2%", data: "vuDevs"},
{width: "2%", data: "freqDev"},
{width: "2%", data: "dataPlt"},
{width: "2%", data: "vunbalanceCp95"},
{width: "2%", data: "vThdCp95"}
],
destroy: true,
data: data,
lengthChange: false,
searching: true,
dom: 'rtip',
scrollY: height,
scrollX: true,
lengthMenu: [length],
language: {
url: '/pqs9000/json/chine.json'
},
fnDrawCallback: function (oTable) {
$("#integritylist_info").addClass("fl");
$("#integritylist_paginate").addClass("fr");
$("#integritylist_paginate").append("<div style='float:right;padding-top:4px;padding-left:10px'>到第 <input type='text' id='changePage' class='input-text' style='width:50px;height:28px;'> 页 <button class='btn btn-primary' id='dataTable-btn'>确定</button></div>");
var table = $("#integritylist").dataTable();
$('#dataTable-btn').click(function (e) {
if ($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
table.fnPageChange(redirectpage);
});
}
});
var name = $area.find("option:selected").text();
new $.fn.dataTable.Buttons(dataTable, {
buttons: [
{
extend: 'csv',
title: name + '电能质量评估列表',//导出csv名称
exportOptions: {
columns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
format: {
body: function (data, rID, cID) {
if (cID === 0) {
return rID + 1;
} else if (cID === 1 | cID === 2 | cID === 3) {
if (data.indexOf("title") > 0) {
return data.substring(data.indexOf("=") + 1, data.indexOf(">"));
} else {
return data
}
} else {
return data;
}
}
}
}
}
]
});
modifyCss(dataTable);
dataTable.on('order.dt search.dt',
function () {
dataTable.column(0, {
search: 'applied',
order: 'applied'
}).nodes().each(function (cell, i) {
cell.innerHTML = i + 1;
});
}).draw();
}
function modifyCss(dataTable) {
dataTable.buttons().container().css("display", "inline-block");
dataTable.buttons().container().css("float", "right");
dataTable.buttons().container().css("top", "4px");
dataTable.buttons().container().find("a").prepend("<i class='glyphicon glyphicon-share'></i>");
dataTable.buttons().container().appendTo('.header');
dataTable.buttons().container().after($("#fliteData")[0]);
}
//搜索表中的数据
function searchResult(value) {
dataTable.search(value).draw();
}
//特殊处理,表头紧缩问题--start
var it = null;
function startQuery() {
//实时刷新时间单位为毫秒
it = setInterval('refreshQuery()', 100);
}
/* 刷新查询 */
function refreshQuery() {
var width = $("#integritylist").width();
if (width > 100) {
initTable(allNetsData);
window.clearInterval(it)
}
}
//特殊处理,表头紧缩问题--end

View File

@@ -348,8 +348,9 @@ function drawAreaPic(area) {
var startTime = $startTime.eq(0).val();
var endTime = $endTime.eq(0).val();
var interval = $("#interval").val();
var gwType= tiggleValue=="冀北省"?"0":"1";
if (getRole("/pqs9000/area/integralitytable")) {
window.top.addTab('/pqs9000/area/integralitytable?startTime=' + startTime + '&endTime=' + endTime + '&area=' + city + '&interval=' + interval, '数据完整性列表')
window.top.addTab('/pqs9000/area/integralitytable?startTime=' + startTime + '&endTime=' + endTime + '&area=' + city + '&interval=' + interval+'&gwtype='+ gwType, '数据完整性列表')
}
}
});

View File

@@ -215,6 +215,7 @@ function initMap(quentityData, name, max, temp, unit,lineFeed,route) {
}
singleData.itemStyle = item;
}
singleData.areaIndex = quentityData[i].deptsIndex;
inte[i] = singleData;
}
}
@@ -286,6 +287,13 @@ function initMap(quentityData, name, max, temp, unit,lineFeed,route) {
}]
};
barOption.setOption(option);
barOption.on('click', function (params) {
var city = params.data.areaIndex;
var startTime = $startTime.eq(0).val();
var endTime = $endTime.eq(0).val();
var interval = $("#interval").val();
onContent(city, startTime, endTime,interval);
});
//填充表格
var height = picHeight * 0.5 - 40;
if (quentityData == null) {
@@ -327,7 +335,19 @@ function initMap(quentityData, name, max, temp, unit,lineFeed,route) {
],
})
}
function onContent(city, startTime, endTime,interval) {
layer.open({
id: 'overview',
type: 2,
title: "电能质量评估列表",
maxmin: false,
resize: false,
shadeClose: true, //点击遮罩关闭层
area: ['100%', '100%'],
content: "/pqs9000/overview/assesTable?starttime="+startTime+"&endtime="+endTime+"&area="+city+"&interval="+interval,
scrollbar: false
});
}
function renderMapEvent(data, f1, f2, f3, f4, f5, f6, f7, f8) {
//初始化绘制全国地图配置
var optionEvent = {

View File

@@ -96,7 +96,13 @@ $(function () {
companyname = data.body.name;
}
});
//初始化页面内容(1是国网 0是全部)
if (gwType.val() == '1') {
tiggleValue="国网";
$("#checkbox").prop('checked', false);
} else {
$("#checkbox").prop('checked', true);
}
//开关初始化
$(".wanzheng").bootstrapSwitch({
onText: buttonname, // 设置ON文本
@@ -125,12 +131,12 @@ $("#query").click(function () {
var startTime = $startTime.eq(0).val();
var endTime = $endTime.eq(0).val();
var devflag = $("#devflag").val();
refresh(area, startTime, endTime,devflag);
var powerId = $("#powerId").val();
refresh(area, startTime, endTime,devflag,powerId);
});
//获取表格数据
function refresh(area, startTime, endTime,devflag) {
console.log(devflag)
function refresh(area, startTime, endTime,devflag,powerId) {
var i;
$.ajax({
type: "POST",
@@ -140,7 +146,8 @@ function refresh(area, startTime, endTime,devflag) {
startTime: startTime,
endTime: endTime,
area: area,
devflag:devflag
devflag:devflag,
powerId:powerId
},
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();

View File

@@ -66,12 +66,14 @@ function initData(type) {
voltage: null,
loadType: null,
appear: null,
powerId: null,
}
} else {
let scale = getOptions("voltage")
let type = getOptions("type")
let status = $("#status").val()
let appear = $("#appear").val()
let powerId = $("#powerId").val();
area = $area.eq(0).attr("index");
let dept = []
dept.push(area)
@@ -91,7 +93,8 @@ function initData(type) {
areaList: dept,
voltage: scale,
loadType: type,
appear: appear
appear: appear,
powerId:powerId
}
}
@@ -136,11 +139,13 @@ function initTable(data) {
{width: "0%",data:null},
{width: "6%", data: "province"},
{width: "7%", data: "gdName"},
{width: "3%", data: "scale"},
{width: "4%", data: "lineName"},
{width: "4%", data: "electricityQualityName"},
{width: "3%", data: "devName"},
{width: "4%", data: "subName"},
{width: "4%", data: "busBarName"},
{width: "4%", data: "electricityQualityName"},
{width: "4%", data: "lineName"},
{width: "3%", data: "scale"},
{width: "3%", data: "lineNum"},
{width: "5%", data: "loadType"},
{
width: "1%", data: "objName", render: function (data) {
@@ -148,14 +153,35 @@ function initTable(data) {
}
},
{width: "3%", data: "powerSubstationName"},
{width: "3%", data: "ip"},
{width: "3%", data: "devflag"},
{width: "3%", data: "devStatus"},
{width: "3%", data: "updateTime"},
{width: "3%", data: "ip"},
{width: "3%", data: "devLocation"},
{width: "3%", data: "time"},
{width: "3%", data: "devType"},
{width: "3%", data: "nodeName"},
{width: "3%", data: "manufacturer"},
{width: "3%", data: "devNo"},
{
width: "7%", data: "status", render: function (data) {
if (data == 1) {
return "正常"
} else {
return "中断"
}
}
},
{width: "3%", data: "lineStatus"},
{width: "3%", data: "updateTime"},
{width: "3%", data: "dlCmp"},
{width: "3%", data: "devCmp"},
{width: "3%", data: "xyCmp"},
{width: "3%", data: "monitorId", render: function (data, type, full, meta) {
if (data == null || data === ' '){
return "/"
}
return data;
}
},
{width: "3%", data: "powerId", render: function (data, type, full, meta) {
switch (data) {
case 0:
@@ -173,29 +199,7 @@ function initTable(data) {
}
}
},
{width: "3%", data: "dlCmp"},
{width: "3%", data: "devCmp"},
{width: "3%", data: "xyCmp"},
{
width: "7%", data: "status", render: function (data) {
if (data == 1) {
return "正常"
} else {
return "中断"
}
}
},
{width: "3%", data: "lineStatus"},
{width: "3%", data: "lineNum"},
{width: "3%", data: "devName"},
{width: "3%", data: "devNo"},
{width: "3%", data: "monitorId", render: function (data, type, full, meta) {
if (data == null || data === ' '){
return "/"
}
return data;
}
},
{width: "3%", data: "nodeName"},
{
width: "6%", data: "ptType", render: function (data, type, full, meta) {
switch (data) {
@@ -261,9 +265,9 @@ function initTable(data) {
},
createdRow: function ( row, data, index ) {
if(data.status=="1"){
$('td', row).eq(20).css('color','#00ff04')
$('td', row).eq(21).css('color','#00ff04')
}else if(data.status=="0"){
$('td', row).eq(20).css('color','#ED1C24')
$('td', row).eq(21).css('color','#ED1C24')
}

View File

@@ -39,30 +39,7 @@ var area = null;
var devTypeBefore = "";//记录之前的状态
var devTypeNow = "";//记录更改后的状态
$(document).ready(function () {
$.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);
areaInfo = data;
//初始化页面内容
var aTemp = $("#_area").val();
aTemp = filterXSS(aTemp);
if (aTemp === "" || aTemp === undefined) {
aTemp = $area.eq(0).attr("index");
} else {
$area.eq(0).val(getDeptsName(aTemp));
$area.eq(0).attr("index", aTemp);
}
area = aTemp;
load();
}
})
getGdnameG();
//load();
});
$("#query").click(function () {
area = $area.eq(0).attr("index");
@@ -93,12 +70,41 @@ function getGdnameG() {
success: function (data) {
if (data.body != null) {
for (var i = 0; i < data.body.length; i++) {
var option = $("<option style='text-align: center;' value='"
var option ;
if(data.body[i].manufacturer === facturer){
option = $("<option style='text-align: center;' value='"
+ data.body[i].manufacturer + "' selected>"
+ data.body[i].manufacturer + "</option>");
}else{
option = $("<option style='text-align: center;' value='"
+ data.body[i].manufacturer + "'>"
+ data.body[i].manufacturer + "</option>");
}
$("#manufacturer").append(option);
}
}
$.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);
areaInfo = data;
//初始化页面内容
var aTemp = $("#_area").val();
aTemp = filterXSS(aTemp);
if (aTemp === "" || aTemp === undefined) {
aTemp = $area.eq(0).attr("index");
} else {
$area.eq(0).val(getDeptsName(aTemp));
$area.eq(0).attr("index", aTemp);
}
area = aTemp;
load();
}
})
}
})
}

View File

@@ -274,59 +274,61 @@ function closeHigh() {
// 模糊搜索name满足条件的节点
function searchNode(value) {
if (value == "")
return;
// var treeObj = $.fn.zTree.getZTreeObj("tree");
// var allNodes = treeObj.getNodes();
// treeObj.hideNodes(allNodes);
// var nodes = treeObj.getNodesByParamFuzzy("name", value);// 获取搜索的节点
//
// closeHigh();
//
// treeObj.expandAll(false);// 展开第一层节点
// treeObj.expandNode(treeObj.getNodes()[0], true);
//
// // 高亮并展开搜索到的节点
// for (var i = 0; i < nodes.length; i++) {
// if(nodes[i].nodeType == 5){
// treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode());
// treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode().getParentNode());
// treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode());
// treeObj.showNode(nodes[i].getParentNode().getParentNode());
// treeObj.showNode(nodes[i].getParentNode());
// treeObj.showNode(nodes[i]);
// }else if(nodes[i].nodeType == 4){
// treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode().getParentNode());
// treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode());
// treeObj.showNode(nodes[i].getParentNode().getParentNode());
// treeObj.showNode(nodes[i].getParentNode());
// treeObj.showNode(nodes[i]);
// treeObj.showNode(nodes[i].children);
// }else if(nodes[i].nodeType == 3){
// var a = nodes[i].getParentNode().getParentNode().getParentNode();
// treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode());
// treeObj.showNode(nodes[i].getParentNode().getParentNode());
// treeObj.showNode(nodes[i].getParentNode());
// treeObj.showNode(nodes[i]);
// treeObj.showNode(nodes[i].children);
// }else if(nodes[i].nodeType == 2){
// treeObj.showNode(nodes[i].getParentNode().getParentNode());
// treeObj.showNode(nodes[i].getParentNode());
// treeObj.showNode(nodes[i]);
// treeObj.showNode(nodes[i].children);
// }else if(nodes[i].nodeType == 1){
// treeObj.showNode(nodes[i].getParentNode());
// treeObj.showNode(nodes[i]);
// treeObj.showNode(nodes[i].children);
// }else if(nodes[i].nodeType == 0){
// treeObj.showNode(nodes[i]);
// treeObj.showNode(nodes[i].children);
// }
// nodes[i].highlight = true;
// treeObj.updateNode(nodes[i]); // 更新节点,让高亮生效
// treeObj.expandNode(nodes[i].getParentNode(), true);
// }
// if (value == ""){
// resetTree()
// return;
// }
var treeObj = $.fn.zTree.getZTreeObj("tree");
var allNodes = treeObj.getNodes();
treeObj.hideNodes(allNodes);
var nodes = treeObj.getNodesByParamFuzzy("name", value);// 获取搜索的节点
closeHigh();
treeObj.expandAll(false);// 展开第一层节点
treeObj.expandNode(treeObj.getNodes()[0], true);
// 高亮并展开搜索到的节点
for (var i = 0; i < nodes.length; i++) {
if(nodes[i].nodeType == 5){
treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode());
treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode().getParentNode());
treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode());
treeObj.showNode(nodes[i].getParentNode().getParentNode());
treeObj.showNode(nodes[i].getParentNode());
treeObj.showNode(nodes[i]);
}else if(nodes[i].nodeType == 4){
treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode().getParentNode());
treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode());
treeObj.showNode(nodes[i].getParentNode().getParentNode());
treeObj.showNode(nodes[i].getParentNode());
treeObj.showNode(nodes[i]);
treeObj.showNode(nodes[i].children);
}else if(nodes[i].nodeType == 3){
var a = nodes[i].getParentNode().getParentNode().getParentNode();
treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode());
treeObj.showNode(nodes[i].getParentNode().getParentNode());
treeObj.showNode(nodes[i].getParentNode());
treeObj.showNode(nodes[i]);
treeObj.showNode(nodes[i].children);
}else if(nodes[i].nodeType == 2){
treeObj.showNode(nodes[i].getParentNode().getParentNode());
treeObj.showNode(nodes[i].getParentNode());
treeObj.showNode(nodes[i]);
treeObj.showNode(nodes[i].children);
}else if(nodes[i].nodeType == 1){
treeObj.showNode(nodes[i].getParentNode());
treeObj.showNode(nodes[i]);
treeObj.showNode(nodes[i].children);
}else if(nodes[i].nodeType == 0){
treeObj.showNode(nodes[i]);
treeObj.showNode(nodes[i].children);
}
nodes[i].highlight = true;
treeObj.updateNode(nodes[i]); // 更新节点,让高亮生效
treeObj.expandNode(nodes[i].getParentNode(), true);
}
var hiddenNodes = [];
var ztreeObj = $.fn.zTree.getZTreeObj("tree");
@@ -343,8 +345,8 @@ function searchNode(value) {
closeHigh();
// treeObj.expandAll(false);// 展开第一层节点
// treeObj.expandNode(treeObj.getNodes()[0], true);
treeObj.expandAll(false);// 展开第一层节点
treeObj.expandNode(treeObj.getNodes()[0], true);
// 高亮并展开搜索到的节点
for (var i = 0; i < nodes.length; i++) {
@@ -356,8 +358,8 @@ function searchNode(value) {
// treeObj.expandAll(true);
$("#serchB").css("display", "none");
$("#resetB").css("display", "");
// $("#serchB").css("display", "none");
// $("#resetB").css("display", "");
}
/**
* 查找子结点如果匹配模糊查询的关键字则返回false否则返回true
@@ -467,6 +469,9 @@ function getTreeSelected(type) {
function valueChange(value) {
if (value == '') {
closeHigh();
resetTree();
}else{
searchNode(value);
}
}

View File

@@ -102,14 +102,14 @@ public class WordUtil {
addParagraph(titleParagraphBigRun, "宋体", 28, "000000", "暂降事件报告", true);
addLine(titleParagraph, 17);
XWPFRun titleParagraphDateRun = titleParagraph.createRun();
addParagraph(titleParagraphDateRun, "宋体", 16, "000000", "南京灿能电力自动化股份有限公司", false);
// addParagraph(titleParagraphDateRun, "宋体", 16, "000000", "南京灿能电力自动化股份有限公司", false);
addLine(titleParagraph, 1);
titleParagraphDateRun = titleParagraph.createRun();
addParagraph(titleParagraphDateRun, "宋体", 14, "000000", "生成时间:" + getRightNow(), false);
addLine(titleParagraph, 8);
titleParagraph = getLeftParagraph(this.document);
titleParagraphDateRun = titleParagraph.createRun();
addParagraph(titleParagraphDateRun, "宋体", 10, "000000", "【申明】本公司保留对报告的修改权,恕不另行通知,敬请关注最新版本。", false);
// addParagraph(titleParagraphDateRun, "宋体", 10, "000000", "【申明】本公司保留对报告的修改权,恕不另行通知,敬请关注最新版本。", false);
for (int m = 0; m < length; m++) {
List<EventEigDetail> eventDetailEigenvaluetmp = this.eventDetailEigenvalue.get(m);

View File

@@ -23,7 +23,7 @@
SUM (T1.real) countOnline,
SUM (T1.due) countAll
FROM
PQS_NGCPINTEGRITY T1
PQS_Integrity T1
WHERE
T1.Line_index in
<foreach collection="list" item="item" open="(" close=")" separator=",">

View File

@@ -261,7 +261,7 @@
</div>
</div>
&nbsp;&nbsp;
<div class="fr f13">CopyRight@2017 南京灿能电力自动化股份有限公司 版权所有</div>
<div class="fr f13"></div>
</div>
<div id="rightContent" style="position: absolute; left: 270px; right: 20px; top: 80px;">

View File

@@ -157,7 +157,7 @@
</div>
</header>
<div class="footer-copy clearfix">
<div class="fr f13">CopyRight@2017 南京灿能电力自动化股份有限公司 版权所有</div>
<div class="fr f13"></div>
</div>
<div id="rightContent" style="position: absolute; left: 270px; right: 20px; top: 80px;">
<div id="tabs" style="width: 100%; height: 100%;">

View File

@@ -282,7 +282,7 @@
</div>
</header>
<div class="footer-copy clearfix">
<div class="fr f13">CopyRight@2017 南京灿能电力自动化股份有限公司 版权所有</div>
<div class="fr f13"></div>
</div>
<div id="rightContent" style="position: absolute; left: 270px; right: 20px; top: 80px;">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 21 KiB