Commit a1bec091 authored by shulidong's avatar shulidong

若干bug修复

parent 2d126f63
......@@ -54,6 +54,11 @@ public class DataPower implements Serializable {
* 颜色
*/
private String color;
/**
* 单位
*/
private String cpunit;
/**
* Y轴值集合
*/
......
......@@ -129,6 +129,9 @@ public class BtreeInspectionController {
}
if (num == 0) {
result.put("reportId", currentIndex.get());
if (grade == 0) {
grade = Math.round(100 * btreeProcesses.stream().filter(item -> item.getResult() == 0).count() / btreeProcesses.size());
}
result.put("grade", grade);
}
result.put("status", num);
......@@ -219,7 +222,11 @@ public class BtreeInspectionController {
//Constance.TASKPARAMMAP.put(Utils.getTaskPrefix(), taskjson);
try {
new Thread(() -> {
C2TreeAnalysis.INSTANCE.C2TreeDiagnose(taskjson);
C2TreeAnalysis c2TreeAnalysis = C2TreeAnalysis.INSTANCE;
String json = c2TreeAnalysis.C2TreeDiagnose(taskjson);
if (json != null) {
System.gc();
}
}).start();
} catch (RuntimeException e) {
throw e;
......
......@@ -37,8 +37,8 @@ public class RoleController {
public BaseResponse<List<Role>> interaction() {
//不能新增超级管理员
List<Role> list = roleRepository.findAllByRoleIdNotIn(CollectionUtil.newArrayList(1));
return BaseResponse.okData(list);
List<Role> lists = roleRepository.findAll();
return BaseResponse.okData(lists);
}
......
......@@ -9,6 +9,8 @@ import org.springframework.beans.BeanUtils;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.time.LocalDateTime;
......@@ -60,8 +62,9 @@ public class EventInfo extends AbstractEntity<Long> {
/**
* 监测特征唯一标识编码(KKS编码
*/
@Column(name = "kkscode")
private String kKSCode;
@OneToOne
@JoinColumn(name="kkscode",referencedColumnName="kkscode")
private CharacterParamInfo kkscode;
/**
* 实际测量值
......
package cn.wise.sc.energy.power.plant.business.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import org.springframework.context.annotation.Lazy;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
......@@ -19,10 +22,14 @@ import java.io.Serializable;
@Entity
@Table(name = "role")
@Lazy(false)
@Builder
@AllArgsConstructor
public class Role extends AbstractEntity<Integer> implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="roleid")
private Integer roleId;
private String permission;
......@@ -30,6 +37,9 @@ public class Role extends AbstractEntity<Integer> implements Serializable {
private String name;
public Role() {
}
@Override
public Integer getId() {
return null;
......
......@@ -9,9 +9,14 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Arrays;
......@@ -35,22 +40,22 @@ public class UserInfo extends AbstractEntity<String> implements UserDetails {
private String id;
private String username;
private String password;
private Integer role;
private String plantid;
private String phone;
private String name;
private String sex;
@Transient
private String permission;
@Transient
private String rolename;
@Transient
private Collection<? extends GrantedAuthority> authorities;
@Transient
private boolean enabled;
@Transient
private boolean locked;
/**
* 关联role
*/
@ManyToOne
@JoinColumn(name="role",referencedColumnName="roleid")
private Role role;
public UserInfo(
String id,
......
......@@ -32,4 +32,6 @@ public class UserInfoQuery implements Serializable {
private String name;
private String plantId;
}
private Role role;
}
\ No newline at end of file
......@@ -20,5 +20,6 @@ public interface C2TreeAnalysis extends Library {
*/
String MachineryUnitDiagnose(String jstr);
String C2TreeDiagnose(String jstr);
String WaveAnalysisModel(String jstr);
}
......@@ -16,5 +16,4 @@ import java.util.List;
public interface RoleRepository extends JpaRepository<Role, Integer>, JpaSpecificationExecutor<Role> {
List<Role> findAllByRoleIdNotIn(List<Integer> list);
}
\ No newline at end of file
......@@ -43,7 +43,7 @@ public class JWTFilter extends BasicAuthenticationFilter {
final String token = this.getToken(request);
//设置websocket 子协议头
response.setHeader("Sec-WebSocket-Protocol",request.getHeader("Sec-WebSocket-Protocol"));
/*if(true){
/* if(true){
filterChain.doFilter(request, response);
return;
}*/
......
......@@ -55,11 +55,7 @@ public class JwtUserDetailsService implements UserDetailsService {
if (!userInfo.getPlantid().equals(split[1])) {
throw new UsernameNotFoundException("user is not belong to this plant!");
}
//获取角色信息
Role role = roleRepository.getOne(userInfo.getRole());
((UserInfo) userDetails).setUsername(username);
((UserInfo) userDetails).setRolename(role.getName());
((UserInfo) userDetails).setPermission(role.getPermission());
return userDetails;
}
}
......@@ -14,7 +14,9 @@ import cn.wise.sc.energy.power.plant.business.domain.UnitInfo;
import cn.wise.sc.energy.power.plant.business.domain.eum.TendencyStatus;
import cn.wise.sc.energy.power.plant.business.domain.vo.CharacterParamInfoVo;
import cn.wise.sc.energy.power.plant.business.domain.vo.EntityVo;
import cn.wise.sc.energy.power.plant.business.jna.C2TreeAnalysis;
import cn.wise.sc.energy.power.plant.business.jna.WaveAnalysis;
import cn.wise.sc.energy.power.plant.business.jna.WaveAnalysis1;
import cn.wise.sc.energy.power.plant.business.opentsdb.OpentsdbOkHttpClient;
import cn.wise.sc.energy.power.plant.business.opentsdb.bean.QueryExt;
import cn.wise.sc.energy.power.plant.business.opentsdb.bean.QueryRequestExt;
......@@ -442,11 +444,16 @@ public class CharacterParamServiceImpl extends BaseServiceImpl<String, Character
@Override
public String getFrequency(String toJSONString) {
String a = "";
try {
String a = WaveAnalysis.INSTANCE.WaveAnalysisModel(toJSONString);
a = C2TreeAnalysis.INSTANCE.WaveAnalysisModel(toJSONString);
return a;
} catch (Exception e) {
return null;
} finally {
if (a != null) {
System.gc();
}
}
}
......@@ -463,7 +470,6 @@ public class CharacterParamServiceImpl extends BaseServiceImpl<String, Character
//拼接rowKey获取最新数据rowKey
System.out.println("============rowKey=============");
for (String kKSCode : kksCodes) {
System.out.println(getRowKey(kKSCode));
Oscillogram oscillogram = hbaseTemplate.get(tableName, kKSCode.toLowerCase(),
new RowKeyMapper());
......@@ -491,7 +497,6 @@ public class CharacterParamServiceImpl extends BaseServiceImpl<String, Character
dataOut.setPoleNum(oscillogram.getPoleNum());
frequencyQuery.getRecord().getData().getData().add(dataIn);
}
String frequency = getFrequency(JSON.toJSONString(frequencyQuery));
Map<String, String> rts = new HashMap<>(2);
System.out.println();
......@@ -499,7 +504,7 @@ public class CharacterParamServiceImpl extends BaseServiceImpl<String, Character
rts.put("frequency", frequency);
System.out.println("============rowKey=============");
System.out.println(JSON.toJSONString(rowKeys));
//System.out.println(JSON.toJSONString(rowKeys));
return rts;
//
////==================================================================================================
......@@ -671,6 +676,7 @@ public class CharacterParamServiceImpl extends BaseServiceImpl<String, Character
frequencyQuery.getRecord().getData().getData().add(dataIn);
}
return getFrequency(JSON.toJSONString(frequencyQuery));
//return WaveAnalysis1.INSTANCE.WaveAnalysisModel(JSON.toJSONString(frequencyQuery));
} catch (Exception e) {
e.printStackTrace();
return "数据文件格式不对!";
......@@ -810,12 +816,12 @@ public class CharacterParamServiceImpl extends BaseServiceImpl<String, Character
private List<QueryResult> getOpenTSDB(final List<CharacterParamInfo> list) {
//查询最后一条数据
Long lastTime = OpentsdbOkHttpClient.queryLastBykks(CollectionUtil.newArrayList(list.get(0).getKksCode()));
System.out.println("查询到hbase时间戳==============="+lastTime);
System.out.println("查询到hbase时间戳===============" + lastTime);
//构建QueryRequestExt
QueryRequestExt queryRequestExt = QueryRequestExt.builder()
.start((lastTime-1)+"")
.end(lastTime+"")
.start((lastTime - 1) + "")
.end(lastTime + "")
.build();
for (CharacterParamInfo characterParamInfo : list) {
String kksCode = characterParamInfo.getKksCode();
......
......@@ -72,11 +72,11 @@ public class EventInfoServiceImpl extends BaseServiceImpl<Long, EventInfo> imple
}
String deviceName = byId.get().getDeviceName();
AlertCount alertCount;
if (state == 2) {
if (state == 3) {
alertCount = new AlertCount("preAlert", deviceName, count);
} else if (state == 3) {
} else if (state == 4) {
alertCount = new AlertCount("tallAlert", deviceName, count);
} else if(state==4){
} else if(state==5){
alertCount = new AlertCount("tooTallAlert", deviceName, count);
}else{
//趋势报警 5,6加和
......@@ -95,7 +95,7 @@ public class EventInfoServiceImpl extends BaseServiceImpl<Long, EventInfo> imple
@Override
public List<EntityVo> listByState(Integer state) {
if (state < 2 || state > 4) {
if (state < 2 ) {
return null;
}
List<EventInfo> list = eventInfoRepository.findAll((Specification<EventInfo>) (root, query, criteriaBuilder) -> {
......@@ -141,7 +141,7 @@ public class EventInfoServiceImpl extends BaseServiceImpl<Long, EventInfo> imple
List<Predicate> list = new ArrayList<Predicate>();
//搜索
if (!StringUtils.isEmpty(page.getUnitcodeid())) {
list.add(cb.equal(root.get("unitCodeId").as(String.class), page.getUnitcodeid()));
list.add(cb.equal(root.get("deviceid").as(String.class), page.getUnitcodeid()));
}
//搜索
if (page.getAlertstat()!=null) {
......
......@@ -95,9 +95,9 @@ public class PlantInfoServiceImpl extends BaseServiceImpl<String, PlantInfo> imp
if(lastTime==0){
lastTime = System.currentTimeMillis();
}
//判断并获取最后一个时间点 7天前,每5min一个点
//判断并获取最后一个时间点 1天前,每5min一个点
QueryRequestExt queryRequestExt = QueryRequestExt.builder()
.start((lastTime - 7 * 24 * 3600 * 1000) + "")
.start((lastTime - 1 * 24 * 3600 * 1000) + "")
.end(lastTime + "")
.build();
for (CharacterParamInfoVo characterParamInfo : characterParamInfoVos) {
......
......@@ -3,6 +3,7 @@ package cn.wise.sc.energy.power.plant.business.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.util.StrUtil;
import cn.wise.sc.energy.power.plant.business.domain.Role;
import cn.wise.sc.energy.power.plant.business.domain.UserInfo;
import cn.wise.sc.energy.power.plant.business.domain.UserInfoQuery;
import cn.wise.sc.energy.power.plant.business.repository.UserInfoRepository;
......@@ -89,7 +90,6 @@ public class UserInfoServiceImpl implements IUserInfoService {
userInfoNew.setPlantid(userInfo.getPlantId());
}
userInfoNew.setId(null);
userInfoNew.setRole(0);
UserInfo save = userInfoRepository.save(userInfoNew);
if (save.getId() != null) {
return BaseResponse.okData(true);
......
......@@ -57,7 +57,8 @@ public class HydrogeSystem1Task extends ScheduleTask {
//向每个webSocket推送系统实时数据
for (String deviceId : groupMap.keySet()) {
List<CharacterParamInfoVo> characterParamInfoVos = taskCacheDataService.cacheHydrogeCha(deviceId);
Map<String, String> KKsCodes = characterParamInfoVos.stream().filter(item -> IS_CONTAINS(item.getCpName(), new String[]{"汽端冷氢温度"})).collect(Collectors.toMap(CharacterParamInfoVo::getKksCode, CharacterParamInfoVo::getCpName));
Map<String, String> KKsCodes = characterParamInfoVos.stream().filter(item -> IS_CONTAINS(item.getCpName(), new String[]{"运行中H2纯度"})).collect(Collectors.toMap(CharacterParamInfoVo::getKksCode, CharacterParamInfoVo::getCpName));
Map<String, String> KKsCodes_cunit = characterParamInfoVos.stream().filter(item -> IS_CONTAINS(item.getCpName(), new String[]{"运行中H2纯度"})).collect(Collectors.toMap(CharacterParamInfoVo::getKksCode, CharacterParamInfoVo::getCpUnit));
Long lastTime = OpentsdbOkHttpClient.queryLast(characterParamInfoVos);
QueryResponse response = iCharacterParamService
......@@ -70,12 +71,13 @@ public class HydrogeSystem1Task extends ScheduleTask {
DataPower.PowerPoints powerPoints = new DataPower.PowerPoints();
powerPoints.setKksCode(queryResult.getMetric());
powerPoints.setName(KKsCodes.get(queryResult.getMetric()));
powerPoints.setCpunit(KKsCodes_cunit.get(queryResult.getMetric()));
List<String> finalList = new ArrayList<>();
queryResult.getDps().values().stream().forEach(item -> {
finalList.add(item.toString());
});
powerPoints.setValue(finalList);
if (KKsCodes.get(queryResult.getMetric()).contains("汽端冷氢温度")) {
if (KKsCodes.get(queryResult.getMetric()).contains("运行中H2纯度")) {
DataPower dataPower = map.getOrDefault("rightBottom", new DataPower());
dataPower.setXAxis(xAxis);
dataPower.getDataList().add(powerPoints);
......
......@@ -51,7 +51,7 @@ public class HydrogeSystem3Task extends ScheduleTask {
}
//给每个deviceid分组,然后统一查询,进行推送
Map<String, List<Map.Entry<String, String>>> groupMap = deviceMap.entrySet().stream().collect(Collectors.groupingBy(c -> c.getValue()));
String[] measure_points = new String[]{"机内氢压", "机内氢气湿度", "在线漏氢"};
String[] measure_points = new String[]{"机内氢压", "机内氢气湿度", "在线漏氢","运行中H2纯度"};
//向每个webSocket推送系统实时数据
for (String deviceId : groupMap.keySet()) {
List<CharacterParamInfoVo> characterParamInfoVos = taskCacheDataService.cacheHydrogeCha(deviceId);
......@@ -59,11 +59,14 @@ public class HydrogeSystem3Task extends ScheduleTask {
Map<String, String> KKsCodes = characterParamInfoVos.stream().filter(item ->
IS_CONTAINS(item.getCpName(), measure_points))
.collect(Collectors.toMap(CharacterParamInfoVo::getKksCode, CharacterParamInfoVo::getCpName));
Map<String, String> KKsCodes_cunit = characterParamInfoVos.stream().filter(item ->
IS_CONTAINS(item.getCpName(), measure_points))
.collect(Collectors.toMap(CharacterParamInfoVo::getKksCode, CharacterParamInfoVo::getCpUnit));
//获取最后一个数据点的最近一个时间
Long lastTime = OpentsdbOkHttpClient.queryLast(characterParamInfoVos);
QueryResponse response = iCharacterParamService
.getRealTimeDataByKksCode(new ArrayList<>(KKsCodes.keySet()), (lastTime - 24 * 3600 * 1000) + "", lastTime + "", "1h-avg-zero");
.getRealTimeDataByKksCode(new ArrayList<>(KKsCodes.keySet()), (lastTime - 2 * 3600 * 1000) + "", lastTime + "", "15m-avg-zero");
//获取横坐标
List<Object> xAxis = response.getResults().get(0).getDps().keySet().stream().map(item -> item.toString()).collect(Collectors.toList());
......@@ -73,6 +76,8 @@ public class HydrogeSystem3Task extends ScheduleTask {
DataPower.PowerPoints powerPoints = new DataPower.PowerPoints();
powerPoints.setKksCode(queryResult.getMetric());
powerPoints.setName(KKsCodes.get(queryResult.getMetric()));
powerPoints.setCpunit(KKsCodes_cunit.get(queryResult.getMetric()));
List<String> finalList = new ArrayList<>();
queryResult.getDps().values().stream().forEach(item -> {
finalList.add(item.toString());
......@@ -80,23 +85,29 @@ public class HydrogeSystem3Task extends ScheduleTask {
powerPoints.setValue(finalList);
if (KKsCodes.get(queryResult.getMetric()).contains("机内氢压")) {
//左上图
DataPower dataPower = map.getOrDefault("leftTop",new DataPower());
DataPower dataPower = map.getOrDefault("leftTop", new DataPower());
dataPower.setXAxis(xAxis);
dataPower.getDataList().add(powerPoints);
map.putIfAbsent("leftTop", dataPower);
}
if (KKsCodes.get(queryResult.getMetric()).contains("机内氢气湿度")) {
DataPower dataPower = map.getOrDefault("leftBottom",new DataPower());
DataPower dataPower = map.getOrDefault("leftBottom", new DataPower());
dataPower.setXAxis(xAxis);
dataPower.getDataList().add(powerPoints);
map.putIfAbsent("leftBottom", dataPower);
}
if (KKsCodes.get(queryResult.getMetric()).contains("在线漏氢")) {
DataPower dataPower = map.getOrDefault("rightTop",new DataPower());
DataPower dataPower = map.getOrDefault("rightTop", new DataPower());
dataPower.setXAxis(xAxis);
dataPower.getDataList().add(powerPoints);
map.putIfAbsent("rightTop", dataPower);
}
if (KKsCodes.get(queryResult.getMetric()).contains("运行中H2纯度")) {
DataPower dataPower = map.getOrDefault("rightBottom", new DataPower());
dataPower.setXAxis(xAxis);
dataPower.getDataList().add(powerPoints);
map.putIfAbsent("rightBottom", dataPower);
}
}
try {
......
......@@ -43,7 +43,7 @@ public class HydrogenSystemWebSocket {
private Session session;
private String uuid;
private HydrogeSystem1Task hydrogeSystem1Task = (HydrogeSystem1Task) MyApplicationContextAware.getApplicationContext().getBean("hydrogeSystem1Task");
//private HydrogeSystem1Task hydrogeSystem1Task = (HydrogeSystem1Task) MyApplicationContextAware.getApplicationContext().getBean("hydrogeSystem1Task");
private HydrogeSystem3Task hydrogeSystem3Task = (HydrogeSystem3Task) MyApplicationContextAware.getApplicationContext().getBean("hydrogeSystem3Task");
/**
......@@ -58,11 +58,11 @@ public class HydrogenSystemWebSocket {
//加入set中
addOnlineCount();
//启动任务
ScheduleUtil.start(hydrogeSystem1Task,1000);
//ScheduleUtil.start(hydrogeSystem1Task,1000);
ScheduleUtil.start(hydrogeSystem3Task,1000*3600);
//已有用户的情况,主动推送一次
if (webSocketMap.size() > 1) {
hydrogeSystem1Task.run();
//hydrogeSystem1Task.run();
hydrogeSystem3Task.run();
}
log.info("用户连接:" + deviceId + ",当前在线人数为:" + getOnlineCount());
......@@ -80,7 +80,7 @@ public class HydrogenSystemWebSocket {
subOnlineCount();
}
if (webSocketMap.size() == 0) {
ScheduleUtil.cancel(hydrogeSystem1Task);
//ScheduleUtil.cancel(hydrogeSystem1Task);
ScheduleUtil.cancel(hydrogeSystem3Task);
}
log.info("用户退出:" + uuid + ",当前在线人数为:" + getOnlineCount());
......
......@@ -55,9 +55,8 @@ public class OilSystem1Task extends ScheduleTask {
//需要区分的测点
String[] points = new String[]{
//右上
"汽轮机备用油差压阀进口压力",
"排油烟机1号进口压力",
"排油烟机2号进口压力",
"空侧油泵出口压力",
"氢侧油泵出口压力",
};
//向每个webSocket推送系统实时数据
......@@ -67,11 +66,14 @@ public class OilSystem1Task extends ScheduleTask {
Map<String, String> KKsCodes = characterParamInfoVos.stream().filter(item ->
IS_CONTAINS(item.getCpName(), points))
.collect(Collectors.toMap(CharacterParamInfoVo::getKksCode, CharacterParamInfoVo::getCpName));
Map<String, String> KKsCodes_cunit = characterParamInfoVos.stream().filter(item ->
IS_CONTAINS(item.getCpName(), points))
.collect(Collectors.toMap(CharacterParamInfoVo::getKksCode, CharacterParamInfoVo::getCpUnit));
//获取最后一个数据点的最近一个时间
Long lastTime = OpentsdbOkHttpClient.queryLast(characterParamInfoVos);
QueryResponse response = iCharacterParamService
.getRealTimeDataByKksCode(new ArrayList<>(KKsCodes.keySet()), (lastTime - 24 * 3600 * 1000) + "", lastTime + "", "1h-avg-zero");
.getRealTimeDataByKksCode(new ArrayList<>(KKsCodes.keySet()), (lastTime - 2 * 3600 * 1000) + "", lastTime + "", "15m-avg-zero");
//获取横坐标
List<Object> xAxis = response.getResults().get(0).getDps().keySet().stream().map(item -> item.toString()).collect(Collectors.toList());
......@@ -81,6 +83,7 @@ public class OilSystem1Task extends ScheduleTask {
DataPower.PowerPoints powerPoints = new DataPower.PowerPoints();
powerPoints.setKksCode(queryResult.getMetric());
powerPoints.setName(KKsCodes.get(queryResult.getMetric()));
powerPoints.setCpunit(KKsCodes_cunit.get(queryResult.getMetric()));
List<String> finalList = new ArrayList<>();
queryResult.getDps().values().stream().forEach(item -> {
finalList.add(item.toString());
......
......@@ -56,27 +56,38 @@ public class OilSystem3Task extends ScheduleTask {
//需要区分的测点
String[] lefttop_points = new String[]{
//左上
"空侧交流密封油泵进出口压差",
"空侧直流密封油泵进出口压差",
"密封油油氢压差",
"密封油油氢压差",
"氢侧交流油泵进出口压差",
"氢侧直流油泵进出口压差",
"油氢压差",
"空侧过滤器压降",
"氢侧过滤器压降",
};
String[] leftbottom_points = new String[]{
//左下
"励端轴承氢侧密封油温度",
"汽端轴承氢侧密封油温度",
"空侧冷却器密封油出口温度",
"励端排油温度",
"汽端排油温度",
"集电环排油温度",
"空冷出口温度",
"氢冷出口温度",
};
String[] rightbottom_points = new String[]{
//右下
"密封油贮油箱液位",
"氢侧油箱液位",
"空侧过滤器压降",
"氢侧密封油过滤器压降",
"空侧交流密封油泵进出口压差",
"氢侧交流油泵进出口压差",
};
//向每个webSocket推送系统实时数据
for (String deviceId : groupMap.keySet()) {
List<CharacterParamInfoVo> characterParamInfoVos = taskCacheDataService.cacheOilCPI(deviceId);
//获取kkscode
Map<String, String> KKsCodes = characterParamInfoVos.stream().filter(item ->
IS_CONTAINS(item.getCpName(), ArrayUtil.addAll(lefttop_points, leftbottom_points)))
IS_CONTAINS(item.getCpName(), ArrayUtil.addAll(lefttop_points, leftbottom_points,rightbottom_points)))
.collect(Collectors.toMap(CharacterParamInfoVo::getKksCode, CharacterParamInfoVo::getCpName));
Map<String, String> KKsCodes_cunit = characterParamInfoVos.stream().filter(item ->
IS_CONTAINS(item.getCpName(), ArrayUtil.addAll(lefttop_points, leftbottom_points,rightbottom_points)))
.collect(Collectors.toMap(CharacterParamInfoVo::getKksCode, CharacterParamInfoVo::getCpUnit));
//获取最后一个数据点的最近一个时间
Long lastTime = OpentsdbOkHttpClient.queryLast(characterParamInfoVos);
......@@ -91,6 +102,7 @@ public class OilSystem3Task extends ScheduleTask {
DataPower.PowerPoints powerPoints = new DataPower.PowerPoints();
powerPoints.setKksCode(queryResult.getMetric());
powerPoints.setName(KKsCodes.get(queryResult.getMetric()));
powerPoints.setCpunit(KKsCodes_cunit.get(queryResult.getMetric()));
List<String> finalList = new ArrayList<>();
queryResult.getDps().values().stream().forEach(item -> {
finalList.add(item.toString());
......@@ -109,6 +121,12 @@ public class OilSystem3Task extends ScheduleTask {
dataPower.getDataList().add(powerPoints);
map.putIfAbsent("leftBottom", dataPower);
}
if (IS_CONTAINS(KKsCodes.get(queryResult.getMetric()), rightbottom_points)) {
DataPower dataPower = map.getOrDefault("rightBottom", new DataPower());
dataPower.setXAxis(xAxis);
dataPower.getDataList().add(powerPoints);
map.putIfAbsent("rightBottom", dataPower);
}
}
try {
List<Map.Entry<String, String>> deviceGroupMap = groupMap.get(deviceId);
......
......@@ -603,7 +603,7 @@ public class ScheduledModel {
powerPoints.setName(arg.getCpName());
//获取报警的条数
long count = list.stream()
.filter(opt -> opt.getKKSCode().equals(arg.getKksCode()))
.filter(opt -> opt.getKkscode().getKksCode().equals(arg.getKksCode()))
.filter(opt -> {
boolean flag = false;
if (arg.getAlertRuleMinValue() != 0) {
......
......@@ -26,7 +26,7 @@ public class TaskCacheDataService {
characterNames.add("机内氢压");
characterNames.add("机内氢气湿度");
characterNames.add("在线漏氢");
characterNames.add("汽端冷氢温度");
characterNames.add("运行中H2纯度");
List<CharacterParamInfoVo> characterParamInfoVos =
iCharacterParamService.getCharacterByName(characterNames, "", deviceId);
return characterParamInfoVos;
......@@ -37,23 +37,33 @@ public class TaskCacheDataService {
List<String> characterNames = new ArrayList<>();
//左上角
characterNames.add("油氢压差");
characterNames.add("空侧过滤器压降");
characterNames.add("氢侧过滤器压降");
/*
characterNames.add("空侧交流密封油泵进出口压差");
characterNames.add("空侧直流密封油泵进出口压差");
characterNames.add("密封油油氢压差");
characterNames.add("密封油油氢压差");
characterNames.add("氢侧交流油泵进出口压差");
characterNames.add("氢侧直流油泵进出口压差");
characterNames.add("氢侧直流油泵进出口压差");*/
//左下角
characterNames.add("励端轴承氢侧密封油温度");
characterNames.add("汽端轴承氢侧密封油温度");
characterNames.add("空侧冷却器密封油出口温度");
characterNames.add("氢侧冷却器密封油出口温度");
characterNames.add("励端排油温度");
characterNames.add("汽端排油温度");
characterNames.add("集电环排油温度");
characterNames.add("空冷出口温度");
characterNames.add("氢冷出口温度");
//右上角
characterNames.add("汽轮机备用油差压阀进口压力");
characterNames.add("排油烟机1号进口压力");
characterNames.add("排油烟机2号进口压力");
characterNames.add("空侧油泵出口压力");
characterNames.add("氢侧油泵出口压力");
//右下
characterNames.add("密封油贮油箱液位");
characterNames.add("氢侧油箱液位");
characterNames.add("空侧过滤器压降");
characterNames.add("氢侧密封油过滤器压降");
characterNames.add("空侧交流密封油泵进出口压差");
characterNames.add("氢侧交流油泵进出口压差");
List<CharacterParamInfoVo> characterParamInfoVos =
......@@ -65,16 +75,23 @@ public class TaskCacheDataService {
public List<CharacterParamInfoVo> cacheIndexCPI() {
List<String> characterNames = new ArrayList<>();
//右上
characterNames.add("定子A相电流");
characterNames.add("定子B相电流");
characterNames.add("定子C相电流");
characterNames.add("定子CA线电压");
characterNames.add("定子负序电流");
characterNames.add("定子AB线电压");
characterNames.add("定子CB线电压");
//右中
characterNames.add("汽端座振X");
//characterNames.add("汽端座振X");
characterNames.add("汽端轴振X");
characterNames.add("励端座振X");
characterNames.add("汽端轴振Y");
//characterNames.add("励端座振X");
characterNames.add("励端轴振X");
characterNames.add("励端轴振Y");
//右下
characterNames.add("排油温度");
characterNames.add("汽端轴瓦温度1");
characterNames.add("励端轴瓦温度1");
characterNames.add("集电环轴瓦温度1");
//左下
characterNames.add("层间温度");
characterNames.add("上层线圈出水温度");
......@@ -92,22 +109,21 @@ public class TaskCacheDataService {
List<String> characterNames = new ArrayList<>();
//左下 小时
characterNames.add("转子冷却水流量");
characterNames.add("定子冷却水流量");
//characterNames.add("定子冷却水流量");
//左上
characterNames.add("转子冷却水泵A出口压力");
characterNames.add("转子冷却水泵B出口压力");
characterNames.add("定子线圈进出水压差1");
characterNames.add("定子冷却水进出口差压1");
characterNames.add("定子补水进出口水差压1");
//右上
characterNames.add("定子线圈进水温度");
characterNames.add("定子线圈出水温度");
characterNames.add("转子线圈进水温度");
characterNames.add("转子线圈出水温度");
characterNames.add("冷却水泵A出口压力1");
characterNames.add("冷却水泵B出口压力1");
//右下
characterNames.add("定子线圈进水电导率");
characterNames.add("定子线圈进水pH值");
characterNames.add("转子线圈进水电导率");
characterNames.add("转子线圈进水pH值");
characterNames.add("水箱液位高");
characterNames.add("水箱液位低");
characterNames.add("氢水压差低");
characterNames.add("定子水箱压力");
List<CharacterParamInfoVo> characterParamInfoVos =
iCharacterParamService.getCharacterByName(characterNames, "", deviceId);
......
......@@ -54,7 +54,6 @@ public class WaterSystem1Task extends ScheduleTask {
//需要区分的测点
String[] points = new String[]{
//左下
"转子冷却水流量",
"定子冷却水流量",
};
//向每个webSocket推送系统实时数据
......@@ -62,13 +61,16 @@ public class WaterSystem1Task extends ScheduleTask {
List<CharacterParamInfoVo> characterParamInfoVos = taskCacheDataService.cacheWaterCPI(deviceId);
//获取kkscode
Map<String, String> KKsCodes = characterParamInfoVos.stream().filter(item ->
IS_CONTAINS(item.getCpName(),points))
IS_CONTAINS(item.getCpName(), points))
.collect(Collectors.toMap(CharacterParamInfoVo::getKksCode, CharacterParamInfoVo::getCpName));
Map<String, String> KKsCodes_cunit = characterParamInfoVos.stream().filter(item ->
IS_CONTAINS(item.getCpName(), points))
.collect(Collectors.toMap(CharacterParamInfoVo::getKksCode, CharacterParamInfoVo::getCpUnit));
//获取最后一个数据点的最近一个时间
Long lastTime = OpentsdbOkHttpClient.queryLast(characterParamInfoVos);
QueryResponse response = iCharacterParamService
.getRealTimeDataByKksCode(new ArrayList<>(KKsCodes.keySet()), (lastTime - 24 * 3600 * 1000) + "", lastTime + "", "1h-avg-zero");
.getRealTimeDataByKksCode(new ArrayList<>(KKsCodes.keySet()), (lastTime - 2 * 3600 * 1000) + "", lastTime + "", "15m-avg-zero");
//获取横坐标
List<Object> xAxis = response.getResults().get(0).getDps().keySet().stream().map(item -> item.toString()).collect(Collectors.toList());
......@@ -78,13 +80,13 @@ public class WaterSystem1Task extends ScheduleTask {
DataPower.PowerPoints powerPoints = new DataPower.PowerPoints();
powerPoints.setKksCode(queryResult.getMetric());
powerPoints.setName(KKsCodes.get(queryResult.getMetric()));
powerPoints.setCpunit(KKsCodes_cunit.get(queryResult.getMetric()));
List<String> finalList = new ArrayList<>();
queryResult.getDps().values().stream().forEach(item -> {
finalList.add(item.toString());
});
powerPoints.setValue(finalList);
if (IS_CONTAINS(KKsCodes.get(queryResult.getMetric()), new String[]{
"转子冷却水流量",
"定子冷却水流量",
})) {
//左下图
......
......@@ -56,26 +56,28 @@ public class WaterSystem3Task extends ScheduleTask {
//需要区分的测点
String[] points = new String[]{
//左上
"转子冷却水泵A出口压力",
"转子冷却水泵B出口压力",
"定子线圈进出水压差1",
"定子冷却水进出口差压1",
"定子补水进出口水差压1",
//右上
"定子线圈进水温度",
"定子线圈出水温度",
"转子线圈进水温度",
"转子线圈出水温度",
"冷却水泵A出口压力1",
"冷却水泵B出口压力1",
//右下
"定子线圈进水电导率",
"定子线圈进水pH值",
"转子线圈进水电导率",
"转子线圈进水pH值",
"水箱液位高",
"水箱液位低",
"氢水压差低",
"定子水箱压力",
};
//向每个webSocket推送系统实时数据
for (String deviceId : groupMap.keySet()) {
List<CharacterParamInfoVo> characterParamInfoVos = taskCacheDataService.cacheWaterCPI(deviceId);
//获取kkscode
Map<String, String> KKsCodes = characterParamInfoVos.stream().filter(item ->
IS_CONTAINS(item.getCpName(),points))
IS_CONTAINS(item.getCpName(), points))
.collect(Collectors.toMap(CharacterParamInfoVo::getKksCode, CharacterParamInfoVo::getCpName));
Map<String, String> KKsCodes_cunit = characterParamInfoVos.stream().filter(item ->
IS_CONTAINS(item.getCpName(), points))
.collect(Collectors.toMap(CharacterParamInfoVo::getKksCode, CharacterParamInfoVo::getCpUnit));
//获取最后一个数据点的最近一个时间
Long lastTime = OpentsdbOkHttpClient.queryLast(characterParamInfoVos);
......@@ -90,14 +92,16 @@ public class WaterSystem3Task extends ScheduleTask {
DataPower.PowerPoints powerPoints = new DataPower.PowerPoints();
powerPoints.setKksCode(queryResult.getMetric());
powerPoints.setName(KKsCodes.get(queryResult.getMetric()));
powerPoints.setCpunit(KKsCodes_cunit.get(queryResult.getMetric()));
List<String> finalList = new ArrayList<>();
queryResult.getDps().values().stream().forEach(item -> {
finalList.add(item.toString());
});
powerPoints.setValue(finalList);
if (IS_CONTAINS(KKsCodes.get(queryResult.getMetric()), new String[]{
"转子冷却水泵A出口压力",
"转子冷却水泵B出口压力",
"定子线圈进出水压差1",
"定子冷却水进出口差压1",
"定子补水进出口水差压1",
})) {
//左上图
DataPower dataPower = map.getOrDefault("leftTop", new DataPower());
......@@ -106,10 +110,10 @@ public class WaterSystem3Task extends ScheduleTask {
map.putIfAbsent("leftTop", dataPower);
}
if (IS_CONTAINS(KKsCodes.get(queryResult.getMetric()), new String[]{
"定子线圈进水电导率",
"定子线圈进水pH值",
"转子线圈进水电导率",
"转子线圈进水pH值",
"水箱液位高",
"水箱液位低",
"氢水压差低",
"定子水箱压力",
})) {
DataPower dataPower = map.getOrDefault("rightBottom", new DataPower());
dataPower.setXAxis(xAxis);
......@@ -118,10 +122,8 @@ public class WaterSystem3Task extends ScheduleTask {
}
if (IS_CONTAINS(KKsCodes.get(queryResult.getMetric()), new String[]{
//右上
"定子线圈进水温度",
"定子线圈出水温度",
"转子线圈进水温度",
"转子线圈出水温度",
"冷却水泵A出口压力1",
"冷却水泵B出口压力1",
})) {
DataPower dataPower = map.getOrDefault("rightTop", new DataPower());
dataPower.setXAxis(xAxis);
......
......@@ -3,7 +3,7 @@ spring:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
druid:
url: jdbc:mysql://39.105.38.125:3306/turbinedb?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
url: jdbc:mysql://39.105.38.125:3306/turbinedb?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
username: root
password: Qzh-1234
initial-size: 8
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment