Commit 5eb668ff authored by tangwei's avatar tangwei

解决冲突

parents 6e5b6b4e 0729c493
...@@ -54,11 +54,11 @@ import java.net.InetAddress; ...@@ -54,11 +54,11 @@ import java.net.InetAddress;
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, DruidDataSourceAutoConfigure.class}) @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, DruidDataSourceAutoConfigure.class})
//@SpringBootApplication //@SpringBootApplication
public class AmosJxiopAnalyseApplication { public class AmosJxiopAnalyseApplication {
// @Autowired @Autowired
// private EmqKeeper emqKeeper; private EmqKeeper emqKeeper;
//
// @Autowired @Autowired
// private SyncESDataToTdengineMqttListener syncESDataToTdengineMqttListener; private SyncESDataToTdengineMqttListener syncESDataToTdengineMqttListener;
private static final Logger logger = LoggerFactory.getLogger(AmosJxiopAnalyseApplication.class); private static final Logger logger = LoggerFactory.getLogger(AmosJxiopAnalyseApplication.class);
...@@ -74,8 +74,9 @@ public class AmosJxiopAnalyseApplication { ...@@ -74,8 +74,9 @@ public class AmosJxiopAnalyseApplication {
+ path + "/doc.html\n" + "----------------------------------------------------------"); + path + "/doc.html\n" + "----------------------------------------------------------");
} }
// @Bean @Bean
// public void initMqtt() throws Exception { public void initMqtt() throws Exception {
// emqKeeper.subscript("sync_esdata_to_tdengine_notice", 2,syncESDataToTdengineMqttListener ); //订阅固化周期性数据成功的消息
// } emqKeeper.subscript("sync_esdata_to_tdengine_notice", 1,syncESDataToTdengineMqttListener );
}
} }
...@@ -53,11 +53,17 @@ import java.util.stream.Collectors; ...@@ -53,11 +53,17 @@ import java.util.stream.Collectors;
@Service("commonServiceImpl") @Service("commonServiceImpl")
@Configuration @Configuration
public class CommonServiceImpl { public class CommonServiceImpl {
private static final HashMap<String, Object> cacheExecInfo = new HashMap<>();
//utc时间格式 //utc时间格式
public static final String FORMAT_UTC = "yyyy-MM-dd'T'HH:mm:ss'Z'"; public static final String FORMAT_UTC = "yyyy-MM-dd'T'HH:mm:ss'Z'";
public static final String FORMAT_DEFAULT = "yyyy-MM-dd HH:mm:ss"; public static final String FORMAT_DEFAULT = "yyyy-MM-dd HH:mm:ss";
private static final HashMap<String, Object> cacheExecInfo = new HashMap<>();
private static final Logger logger = LoggerFactory.getLogger(CommonServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(CommonServiceImpl.class);
private static final BlockingQueue<IdxBizFanPointProcessVariableClassification> fifo = new LinkedBlockingQueue<>(5000);
/**
* 以下为相关性-光伏-方法
*/
private static final BlockingQueue<IdxBizPvPointProcessVariableClassification> fifoPv = new LinkedBlockingQueue<>(5000);
private static int threadNumber = Runtime.getRuntime().availableProcessors() * 2;
//-----------------调用算法时间间隔---------------- //-----------------调用算法时间间隔----------------
@Value("${sleep.time:10}") @Value("${sleep.time:10}")
Integer sleepTime; Integer sleepTime;
...@@ -65,13 +71,10 @@ public class CommonServiceImpl { ...@@ -65,13 +71,10 @@ public class CommonServiceImpl {
Integer zxzsleepTime; Integer zxzsleepTime;
@Value("${base.url:http://139.9.173.44:30009/maas/maas/processes/api/}") @Value("${base.url:http://139.9.173.44:30009/maas/maas/processes/api/}")
String baseUrl; String baseUrl;
String baseUrlXGX = "http://139.9.173.44:8052/intelligent-analysis/correlation"; String baseUrlXGX = "http://139.9.173.44:8052/intelligent-analysis/correlation";
//指数分析URL //指数分析URL
@Value("${base.url.zsfx:http://139.9.173.44:8052/intelligent-analysis/index-analysis}") @Value("${base.url.zsfx:http://139.9.173.44:8052/intelligent-analysis/index-analysis}")
String baseUrlZSFX; String baseUrlZSFX;
//----------------工况变量工况变量划分请求属性配置------------------------ //----------------工况变量工况变量划分请求属性配置------------------------
@Value("${gkblhffan.url:74435221-796d-43c0-ae72-319792b8f89e}") @Value("${gkblhffan.url:74435221-796d-43c0-ae72-319792b8f89e}")
String gkqjhfurlfan; String gkqjhfurlfan;
...@@ -93,18 +96,29 @@ public class CommonServiceImpl { ...@@ -93,18 +96,29 @@ public class CommonServiceImpl {
String gkzxzjsurlpv; String gkzxzjsurlpv;
@Value("${gkzxzjs.key:input 1}") @Value("${gkzxzjs.key:input 1}")
String gkzxzjskey1; String gkzxzjskey1;
@Value("${gkzxzjs.key:input 2}") @Value("${gkzxzjs.key:input 2}")
String gkzxzjskey2; String gkzxzjskey2;
//----------------健康指数值计算相关请求属性配置------------------------ //----------------健康指数值计算相关请求属性配置------------------------
@Value("${jkzsjs.url:aec8ad20-6d63-4f62-99f6-2d71756cacb6}") @Value("${jkzsjs.url:aec8ad20-6d63-4f62-99f6-2d71756cacb6}")
String jkzsjsfjurl; String jkzsjsfjurl;
@Value("${jkzsjs.url:a9a404d4-6ead-440e-9fcb-b95d5a239b10}") @Value("${jkzsjs.url:a9a404d4-6ead-440e-9fcb-b95d5a239b10}")
String jkzsgfurl; String jkzsgfurl;
@Value("${openHealth:true}") @Value("${openHealth:true}")
Boolean openHealth; Boolean openHealth;
@Autowired
IdxBizFanHealthIndexServiceImpl idxBizFanHealthIndexService;
@Autowired
IdxBizPvHealthIndexServiceImpl idxBizPvHealthIndexService;
@Autowired
IdxBizFanHealthLevelMapper idxBizFanHealthLevelMapper;
@Autowired
IdxBizPvHealthLevelMapper idxBizPvHealthLevelMapper;
@Autowired
IdxBizFanPointVarCentralValueMapper idxBizFanPointVarCentralValueMapper;
@Autowired
IdxBizPvPointVarCentralValueMapper idxBizPvPointVarCentralValueMapper;
@Autowired
HealthStatusIndicatorServiceImpl healthStatusIndicatorService;
// {"tableName": "idx_biz_fan_point_process_variable_classification"} 风机工况变量划分 // {"tableName": "idx_biz_fan_point_process_variable_classification"} 风机工况变量划分
// {"tableName": "idx_biz_pv_point_process_variable_classification"} 光伏工况变量画分 // {"tableName": "idx_biz_pv_point_process_variable_classification"} 光伏工况变量画分
// {"tableName": "idx_biz_fan_point_var_correlation"} 风机相关性 // {"tableName": "idx_biz_fan_point_var_correlation"} 风机相关性
...@@ -117,31 +131,11 @@ public class CommonServiceImpl { ...@@ -117,31 +131,11 @@ public class CommonServiceImpl {
private IdxBizFanPointVarCorrelationMapper idxBizFanPointVarCorrelationMapper; private IdxBizFanPointVarCorrelationMapper idxBizFanPointVarCorrelationMapper;
@Autowired @Autowired
private IdxBizPvPointVarCorrelationMapper idxBizPvPointVarCorrelationMapper; private IdxBizPvPointVarCorrelationMapper idxBizPvPointVarCorrelationMapper;
@Autowired @Autowired
private IndicatorDataMapper indicatorDataMapper; private IndicatorDataMapper indicatorDataMapper;
@Autowired @Autowired
IdxBizFanHealthIndexServiceImpl idxBizFanHealthIndexService;
@Autowired
IdxBizPvHealthIndexServiceImpl idxBizPvHealthIndexService;
@Autowired
IdxBizFanHealthLevelMapper idxBizFanHealthLevelMapper;
@Autowired
IdxBizPvHealthLevelMapper idxBizPvHealthLevelMapper;
@Autowired
private ElasticsearchRestTemplate elasticsearchTemplate; private ElasticsearchRestTemplate elasticsearchTemplate;
@Autowired
IdxBizFanPointVarCentralValueMapper idxBizFanPointVarCentralValueMapper;
@Autowired
IdxBizPvPointVarCentralValueMapper idxBizPvPointVarCentralValueMapper;
@Autowired
HealthStatusIndicatorServiceImpl healthStatusIndicatorService;
/** /**
* @return * @return
* @deprecated 获取工况变量列表风机 * @deprecated 获取工况变量列表风机
...@@ -153,7 +147,7 @@ public class CommonServiceImpl { ...@@ -153,7 +147,7 @@ public class CommonServiceImpl {
List<IdxBizFanPointProcessVariableClassification> IdxBizFanPointProcessVariableClassificationList = idxBizFanPointProcessVariableClassificationMapper.selectList(new QueryWrapper<IdxBizFanPointProcessVariableClassification>().isNotNull("SEQUENCE_NBR").eq("TAG_CODE", "工况变量")); List<IdxBizFanPointProcessVariableClassification> IdxBizFanPointProcessVariableClassificationList = idxBizFanPointProcessVariableClassificationMapper.selectList(new QueryWrapper<IdxBizFanPointProcessVariableClassification>().isNotNull("SEQUENCE_NBR").eq("TAG_CODE", "工况变量"));
List<IdxBizFanPointProcessVariableClassification> finalIdxBizFanPointProcessVariableClassificationList = IdxBizFanPointProcessVariableClassificationList; List<IdxBizFanPointProcessVariableClassification> finalIdxBizFanPointProcessVariableClassificationList = IdxBizFanPointProcessVariableClassificationList;
gateWayIdList.forEach(s -> { gateWayIdList.forEach(s -> {
idxBizFanPointProcessVariableClassification.put( s, finalIdxBizFanPointProcessVariableClassificationList.stream().filter(idxBizFanPointProcessVariableClassification1 -> idxBizFanPointProcessVariableClassification1.getGatewayId().toString().equals(s)).collect(Collectors.toList())); idxBizFanPointProcessVariableClassification.put(s, finalIdxBizFanPointProcessVariableClassificationList.stream().filter(idxBizFanPointProcessVariableClassification1 -> idxBizFanPointProcessVariableClassification1.getGatewayId().toString().equals(s)).collect(Collectors.toList()));
}); });
return idxBizFanPointProcessVariableClassification; return idxBizFanPointProcessVariableClassification;
} }
...@@ -204,7 +198,6 @@ public class CommonServiceImpl { ...@@ -204,7 +198,6 @@ public class CommonServiceImpl {
} }
} }
public String getPvConditionVariablesByTimeThread(String startTime, String endTime) { public String getPvConditionVariablesByTimeThread(String startTime, String endTime) {
String result = "开始计算"; String result = "开始计算";
if (!ObjectUtils.isEmpty(cacheExecInfo.get(SmartAnalyseEnum.PV_QJHF.getKey()))) { if (!ObjectUtils.isEmpty(cacheExecInfo.get(SmartAnalyseEnum.PV_QJHF.getKey()))) {
...@@ -242,8 +235,8 @@ public class CommonServiceImpl { ...@@ -242,8 +235,8 @@ public class CommonServiceImpl {
list.forEach(idxBizFanPointProcessVariableClassification -> { list.forEach(idxBizFanPointProcessVariableClassification -> {
logger.info("--------------------------------------------风机::开始查询influxdb--------------------------------"); logger.info("--------------------------------------------风机::开始查询influxdb--------------------------------");
List<Map<String, Object>> params = new ArrayList<>(); List<Map<String, Object>> params = new ArrayList<>();
// String sql = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, idxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime); // String sql = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, idxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime);
List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(idxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(idxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime, tableName);
//List<Map<String, Object>> returnList = influxdbUtil.query(sql); //List<Map<String, Object>> returnList = influxdbUtil.query(sql);
returnList.forEach((k) -> { returnList.forEach((k) -> {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
...@@ -290,7 +283,7 @@ public class CommonServiceImpl { ...@@ -290,7 +283,7 @@ public class CommonServiceImpl {
List<Map<String, Object>> params = new ArrayList<>(); List<Map<String, Object>> params = new ArrayList<>();
/* String sql = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime); /* String sql = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime);
List<Map<String, Object>> returnList = influxdbUtil.query(sql);*/ List<Map<String, Object>> returnList = influxdbUtil.query(sql);*/
List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime, tableName);
returnList.forEach((k) -> { returnList.forEach((k) -> {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
...@@ -425,9 +418,9 @@ public class CommonServiceImpl { ...@@ -425,9 +418,9 @@ public class CommonServiceImpl {
//遍历处理数据-组装风机 //遍历处理数据-组装风机
public void foreachHandlerConditionVariabAnalyseFan(String tableName, List<IdxBizFanPointVarCorrelation> list, String startTime, String endTime, IdxBizFanPointProcessVariableClassification idxBizFanPointProcessVariableClassification) { public void foreachHandlerConditionVariabAnalyseFan(String tableName, List<IdxBizFanPointVarCorrelation> list, String startTime, String endTime, IdxBizFanPointProcessVariableClassification idxBizFanPointProcessVariableClassification) {
// String sql1 = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, idxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime); // String sql1 = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, idxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime);
// List<Map<String, Object>> returnList = influxdbUtil.query(sql1); // List<Map<String, Object>> returnList = influxdbUtil.query(sql1);
List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(idxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(idxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime, tableName);
List<Map<String, Object>> params = new ArrayList<>(); List<Map<String, Object>> params = new ArrayList<>();
returnList.forEach((k) -> { returnList.forEach((k) -> {
...@@ -441,10 +434,10 @@ public class CommonServiceImpl { ...@@ -441,10 +434,10 @@ public class CommonServiceImpl {
logger.info("---------------------------------风机相关性-----------开始查询influxdb--------------------------------"); logger.info("---------------------------------风机相关性-----------开始查询influxdb--------------------------------");
List<Map<String, Object>> params1 = new ArrayList<>(); List<Map<String, Object>> params1 = new ArrayList<>();
List<Map<String, Object>> requestParams = new ArrayList<>(); List<Map<String, Object>> requestParams = new ArrayList<>();
// String sql = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, idxBizFanPointVarCorrelation.getProcessIndexAddress(), startTime, endTime); // String sql = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, idxBizFanPointVarCorrelation.getProcessIndexAddress(), startTime, endTime);
List<IndicatorData> returnList1 = indicatorDataMapper.selectDataByAddressAndtime(idxBizFanPointVarCorrelation.getProcessIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList1 = indicatorDataMapper.selectDataByAddressAndtime(idxBizFanPointVarCorrelation.getProcessIndexAddress(), startTime, endTime, tableName);
// List<Map<String, Object>> returnList1 = influxdbUtil.query(sql); // List<Map<String, Object>> returnList1 = influxdbUtil.query(sql);
returnList1.forEach((k) -> { returnList1.forEach((k) -> {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("processVariable", Double.parseDouble(k.getValue())); map.put("processVariable", Double.parseDouble(k.getValue()));
...@@ -489,7 +482,7 @@ public class CommonServiceImpl { ...@@ -489,7 +482,7 @@ public class CommonServiceImpl {
public void foreachHandlerConditionVariabAnalysePv(String tableName, List<IdxBizPvPointVarCorrelation> list, String startTime, String endTime, IdxBizPvPointProcessVariableClassification idxBizPvPointProcessVariableClassification) { public void foreachHandlerConditionVariabAnalysePv(String tableName, List<IdxBizPvPointVarCorrelation> list, String startTime, String endTime, IdxBizPvPointProcessVariableClassification idxBizPvPointProcessVariableClassification) {
// String sql1 = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime); // String sql1 = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime);
// List<Map<String, Object>> returnList = influxdbUtil.query(sql1); // List<Map<String, Object>> returnList = influxdbUtil.query(sql1);
List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime, tableName);
List<Map<String, Object>> params = new ArrayList<>(); List<Map<String, Object>> params = new ArrayList<>();
returnList.forEach((k) -> { returnList.forEach((k) -> {
...@@ -640,9 +633,9 @@ public class CommonServiceImpl { ...@@ -640,9 +633,9 @@ public class CommonServiceImpl {
//中心值参数组装-风电 //中心值参数组装-风电
public void foreachHandlerConditionVariabAnalyse1Fan(String tableName, List<IdxBizFanPointVarCorrelation> list, String startTime, String endTime, IdxBizFanPointProcessVariableClassification IdxBizFanPointProcessVariableClassification) { public void foreachHandlerConditionVariabAnalyse1Fan(String tableName, List<IdxBizFanPointVarCorrelation> list, String startTime, String endTime, IdxBizFanPointProcessVariableClassification IdxBizFanPointProcessVariableClassification) {
// String sql0 = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, IdxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime); // String sql0 = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, IdxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime);
// List<Map<String, Object>> returnList = influxdbUtil.query(sql0); // List<Map<String, Object>> returnList = influxdbUtil.query(sql0);
List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(IdxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(IdxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime, tableName);
List<Map<String, Object>> params = new ArrayList<>(); List<Map<String, Object>> params = new ArrayList<>();
returnList.forEach((k) -> { returnList.forEach((k) -> {
...@@ -691,15 +684,15 @@ public class CommonServiceImpl { ...@@ -691,15 +684,15 @@ public class CommonServiceImpl {
value5.put("processVariable2", ObjectUtils.isEmpty(idxBizFanPointProcessVariableClassificationList.get(1).getIntervalValue5()) ? 0.0 : idxBizFanPointProcessVariableClassificationList.get(1).getIntervalValue5()); value5.put("processVariable2", ObjectUtils.isEmpty(idxBizFanPointProcessVariableClassificationList.get(1).getIntervalValue5()) ? 0.0 : idxBizFanPointProcessVariableClassificationList.get(1).getIntervalValue5());
value5.put("processVariable3", ObjectUtils.isEmpty(idxBizFanPointProcessVariableClassificationList.get(0).getIntervalValue5()) ? 0.0 : idxBizFanPointProcessVariableClassificationList.get(0).getIntervalValue5()); value5.put("processVariable3", ObjectUtils.isEmpty(idxBizFanPointProcessVariableClassificationList.get(0).getIntervalValue5()) ? 0.0 : idxBizFanPointProcessVariableClassificationList.get(0).getIntervalValue5());
values.add(value5); values.add(value5);
List<IndicatorData> returnList0 = indicatorDataMapper.selectDataByAddressAndtime(list.get(0).getProcessIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList0 = indicatorDataMapper.selectDataByAddressAndtime(list.get(0).getProcessIndexAddress(), startTime, endTime, tableName);
List<IndicatorData> returnList1 = indicatorDataMapper.selectDataByAddressAndtime(list.get(1).getProcessIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList1 = indicatorDataMapper.selectDataByAddressAndtime(list.get(1).getProcessIndexAddress(), startTime, endTime, tableName);
List<IndicatorData> returnList2 = indicatorDataMapper.selectDataByAddressAndtime(list.get(2).getProcessIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList2 = indicatorDataMapper.selectDataByAddressAndtime(list.get(2).getProcessIndexAddress(), startTime, endTime, tableName);
// List<Map<String, Object>> returnList0 = influxdbUtil.query(sql); // List<Map<String, Object>> returnList0 = influxdbUtil.query(sql);
List<IndicatorData> maxList = returnList0; List<IndicatorData> maxList = returnList0;
// List<Map<String, Object>> returnList1 = influxdbUtil.query(sql); // List<Map<String, Object>> returnList1 = influxdbUtil.query(sql);
maxList = maxList.size() > returnList1.size() ? maxList : returnList1; maxList = maxList.size() > returnList1.size() ? maxList : returnList1;
// List<Map<String, Object>> returnList2 = influxdbUtil.query(sql); // List<Map<String, Object>> returnList2 = influxdbUtil.query(sql);
maxList = maxList.size() > returnList2.size() ? maxList : returnList2; maxList = maxList.size() > returnList2.size() ? maxList : returnList2;
for (int j = 0; j < maxList.size(); j++) { for (int j = 0; j < maxList.size(); j++) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
...@@ -707,7 +700,7 @@ public class CommonServiceImpl { ...@@ -707,7 +700,7 @@ public class CommonServiceImpl {
IndicatorData map2 = new IndicatorData(); IndicatorData map2 = new IndicatorData();
IndicatorData map3 = new IndicatorData(); IndicatorData map3 = new IndicatorData();
if (j < returnList0.size() - 1) { if (j < returnList0.size() - 1) {
map1 = returnList0.get(j); map1 = returnList0.get(j);
} else { } else {
map1 = returnList0.get(returnList0.size() - 1); map1 = returnList0.get(returnList0.size() - 1);
} }
...@@ -789,7 +782,7 @@ public class CommonServiceImpl { ...@@ -789,7 +782,7 @@ public class CommonServiceImpl {
//中心值参数组装-光伏 //中心值参数组装-光伏
public void foreachHandlerConditionVariabAnalyse1Pv(String tableName, List<IdxBizPvPointVarCorrelation> list, String startTime, String endTime, IdxBizPvPointProcessVariableClassification idxBizPvPointProcessVariableClassification) { public void foreachHandlerConditionVariabAnalyse1Pv(String tableName, List<IdxBizPvPointVarCorrelation> list, String startTime, String endTime, IdxBizPvPointProcessVariableClassification idxBizPvPointProcessVariableClassification) {
List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime, tableName);
//String sql0 = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime); //String sql0 = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime);
//List<Map<String, Object>> returnList = influxdbUtil.query(sql0); //List<Map<String, Object>> returnList = influxdbUtil.query(sql0);
...@@ -807,9 +800,9 @@ public class CommonServiceImpl { ...@@ -807,9 +800,9 @@ public class CommonServiceImpl {
// String sql = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, list.get(0).getProcessIndexAddress(), startTime, endTime); // String sql = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, list.get(0).getProcessIndexAddress(), startTime, endTime);
// String sql1 = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, list.get(1).getProcessIndexAddress(), startTime, endTime); // String sql1 = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, list.get(1).getProcessIndexAddress(), startTime, endTime);
// String sql2 = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, list.get(2).getProcessIndexAddress(), startTime, endTime); // String sql2 = String.format("select value from %s where address='%s' and time >= '%s' and time <= '%s' ", tableName, list.get(2).getProcessIndexAddress(), startTime, endTime);
List<IndicatorData> returnList0 = indicatorDataMapper.selectDataByAddressAndtime(list.get(0).getProcessIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList0 = indicatorDataMapper.selectDataByAddressAndtime(list.get(0).getProcessIndexAddress(), startTime, endTime, tableName);
List<IndicatorData> returnList1 = indicatorDataMapper.selectDataByAddressAndtime(list.get(1).getProcessIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList1 = indicatorDataMapper.selectDataByAddressAndtime(list.get(1).getProcessIndexAddress(), startTime, endTime, tableName);
List<IndicatorData> returnList2 = indicatorDataMapper.selectDataByAddressAndtime(list.get(2).getProcessIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList2 = indicatorDataMapper.selectDataByAddressAndtime(list.get(2).getProcessIndexAddress(), startTime, endTime, tableName);
List<HashMap<String, Object>> values = new ArrayList<>(); List<HashMap<String, Object>> values = new ArrayList<>();
List<String> processPointIds = list.stream().map(idxBizPvPointVarCorrelation -> idxBizPvPointVarCorrelation.getProcessPointId().toString()).collect(Collectors.toList()); List<String> processPointIds = list.stream().map(idxBizPvPointVarCorrelation -> idxBizPvPointVarCorrelation.getProcessPointId().toString()).collect(Collectors.toList());
...@@ -968,11 +961,11 @@ public class CommonServiceImpl { ...@@ -968,11 +961,11 @@ public class CommonServiceImpl {
String sql = ""; String sql = "";
List<IndicatorData> result = new ArrayList<>(); List<IndicatorData> result = new ArrayList<>();
if ("FD".equals(stationType)) { if ("FD".equals(stationType)) {
IdxBizFanPointProcessVariableClassification idxBizFanPointProcessVariableClassification = idxBizFanPointProcessVariableClassificationMapper.selectOne(new QueryWrapper<IdxBizFanPointProcessVariableClassification>().eq("INDEX_ADDRESS", pointId).eq("TAG_CODE","分析变量")); IdxBizFanPointProcessVariableClassification idxBizFanPointProcessVariableClassification = idxBizFanPointProcessVariableClassificationMapper.selectOne(new QueryWrapper<IdxBizFanPointProcessVariableClassification>().eq("INDEX_ADDRESS", pointId).eq("TAG_CODE", "分析变量"));
result = indicatorDataMapper.selectDataByAddressAndtimeTs(idxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime,idxBizFanPointProcessVariableClassification.getGatewayId()); result = indicatorDataMapper.selectDataByAddressAndtimeTs(idxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime, idxBizFanPointProcessVariableClassification.getGatewayId());
} else { } else {
IdxBizPvPointProcessVariableClassification idxBizPvPointProcessVariableClassification = idxBizPvPointProcessVariableClassificationMapper.selectOne(new QueryWrapper<IdxBizPvPointProcessVariableClassification>().eq("INDEX_ADDRESS", pointId).eq("TAG_CODE","分析变量")); IdxBizPvPointProcessVariableClassification idxBizPvPointProcessVariableClassification = idxBizPvPointProcessVariableClassificationMapper.selectOne(new QueryWrapper<IdxBizPvPointProcessVariableClassification>().eq("INDEX_ADDRESS", pointId).eq("TAG_CODE", "分析变量"));
result = indicatorDataMapper.selectDataByAddressAndtimeTs(idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime,idxBizPvPointProcessVariableClassification.getGatewayId()); result = indicatorDataMapper.selectDataByAddressAndtimeTs(idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime, idxBizPvPointProcessVariableClassification.getGatewayId());
} }
List<String> seriesData_valuse = new ArrayList<>(); List<String> seriesData_valuse = new ArrayList<>();
List<String> axisData_valuse = new ArrayList<>(); List<String> axisData_valuse = new ArrayList<>();
...@@ -998,8 +991,8 @@ public class CommonServiceImpl { ...@@ -998,8 +991,8 @@ public class CommonServiceImpl {
return s; return s;
} }
// @Scheduled(cron = "0 0/5 * * * ?") // @Scheduled(cron = "0 0/5 * * * ?")
public void healthWarningMinuteByFJ() { public void healthWarningMinuteByFJ() {
Date time = new Date(); Date time = new Date();
List<IdxBizFanPointProcessVariableClassificationDto> data = idxBizFanPointProcessVariableClassificationMapper.getInfluxDBData(); List<IdxBizFanPointProcessVariableClassificationDto> data = idxBizFanPointProcessVariableClassificationMapper.getInfluxDBData();
Map<String, List<IdxBizFanPointProcessVariableClassificationDto>> maps = data.stream().collect(Collectors.groupingBy(IdxBizFanPointProcessVariableClassificationDto::getGatewayId)); Map<String, List<IdxBizFanPointProcessVariableClassificationDto>> maps = data.stream().collect(Collectors.groupingBy(IdxBizFanPointProcessVariableClassificationDto::getGatewayId));
...@@ -1051,16 +1044,16 @@ public class CommonServiceImpl { ...@@ -1051,16 +1044,16 @@ public class CommonServiceImpl {
double value4 = 0.00; double value4 = 0.00;
for (IdxBizFanPointProcessVariableClassificationDto datum : data) { for (IdxBizFanPointProcessVariableClassificationDto datum : data) {
if (idxBizUhef.getProcessPoint1Id().equals(datum.getSequenceNbr())) { if (idxBizUhef.getProcessPoint1Id().equals(datum.getSequenceNbr())) {
value1 = datum.getCurrentValue() == null?0.0: datum.getCurrentValue(); value1 = datum.getCurrentValue() == null ? 0.0 : datum.getCurrentValue();
} }
if (idxBizUhef.getProcessPoint2Id().equals(datum.getSequenceNbr())) { if (idxBizUhef.getProcessPoint2Id().equals(datum.getSequenceNbr())) {
value2 = datum.getCurrentValue() == null?0.0: datum.getCurrentValue(); value2 = datum.getCurrentValue() == null ? 0.0 : datum.getCurrentValue();
} }
if (idxBizUhef.getProcessPoint3Id().equals(datum.getSequenceNbr())) { if (idxBizUhef.getProcessPoint3Id().equals(datum.getSequenceNbr())) {
value3 = datum.getCurrentValue() == null?0.0: datum.getCurrentValue(); value3 = datum.getCurrentValue() == null ? 0.0 : datum.getCurrentValue();
} }
if (idxBizUhef.getAnalysisPointId().equals(datum.getSequenceNbr())) { if (idxBizUhef.getAnalysisPointId().equals(datum.getSequenceNbr())) {
value4 = datum.getCurrentValue() == null?0.0: datum.getCurrentValue(); value4 = datum.getCurrentValue() == null ? 0.0 : datum.getCurrentValue();
} }
} }
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
...@@ -1093,7 +1086,7 @@ public class CommonServiceImpl { ...@@ -1093,7 +1086,7 @@ public class CommonServiceImpl {
for (JSONObject object : jsonObjects) { for (JSONObject object : jsonObjects) {
if (obj.getSequenceNbr().equals(object.getString("analysisVariableId"))) { if (obj.getSequenceNbr().equals(object.getString("analysisVariableId"))) {
IdxBizFanHealthIndex idxBizFanHealthIndex = new IdxBizFanHealthIndex(); IdxBizFanHealthIndex idxBizFanHealthIndex = new IdxBizFanHealthIndex();
BeanUtils.copyProperties(obj,idxBizFanHealthIndex ); BeanUtils.copyProperties(obj, idxBizFanHealthIndex);
idxBizFanHealthIndex.setHealthIndex(object.getDouble("indexValue")); idxBizFanHealthIndex.setHealthIndex(object.getDouble("indexValue"));
idxBizFanHealthIndex.setAnalysisObjSeq(obj.getSequenceNbr()); idxBizFanHealthIndex.setAnalysisObjSeq(obj.getSequenceNbr());
idxBizFanHealthIndex.setRecDate(time); idxBizFanHealthIndex.setRecDate(time);
...@@ -1126,7 +1119,7 @@ public class CommonServiceImpl { ...@@ -1126,7 +1119,7 @@ public class CommonServiceImpl {
} }
} }
// @Scheduled(cron = "0 0/10 * * * ?") // @Scheduled(cron = "0 0/10 * * * ?")
public void healthWarningMinuteByGF() { public void healthWarningMinuteByGF() {
Date time = new Date(); Date time = new Date();
List<IdxBizPvPointProcessVariableClassificationDto> data = idxBizPvPointProcessVariableClassificationMapper.getInfluxDBData(); List<IdxBizPvPointProcessVariableClassificationDto> data = idxBizPvPointProcessVariableClassificationMapper.getInfluxDBData();
...@@ -1220,7 +1213,7 @@ public class CommonServiceImpl { ...@@ -1220,7 +1213,7 @@ public class CommonServiceImpl {
for (JSONObject object : jsonObjects) { for (JSONObject object : jsonObjects) {
if (obj.getSequenceNbr().equals(object.getString("analysisVariableId"))) { if (obj.getSequenceNbr().equals(object.getString("analysisVariableId"))) {
IdxBizPvHealthIndex idxBizFanHealthIndex = new IdxBizPvHealthIndex(); IdxBizPvHealthIndex idxBizFanHealthIndex = new IdxBizPvHealthIndex();
BeanUtils.copyProperties(obj,idxBizFanHealthIndex ); BeanUtils.copyProperties(obj, idxBizFanHealthIndex);
idxBizFanHealthIndex.setHealthIndex(object.getDouble("indexValue")); idxBizFanHealthIndex.setHealthIndex(object.getDouble("indexValue"));
idxBizFanHealthIndex.setAnalysisObjSeq(obj.getSequenceNbr()); idxBizFanHealthIndex.setAnalysisObjSeq(obj.getSequenceNbr());
idxBizFanHealthIndex.setRecDate(time); idxBizFanHealthIndex.setRecDate(time);
...@@ -1286,7 +1279,6 @@ public class CommonServiceImpl { ...@@ -1286,7 +1279,6 @@ public class CommonServiceImpl {
return null; return null;
} }
public Map<String, String> getUnitByIndexAddress(String stationType, String pointId) { public Map<String, String> getUnitByIndexAddress(String stationType, String pointId) {
IndicatorData indicatorData = new IndicatorData(); IndicatorData indicatorData = new IndicatorData();
if ("FD".equals(stationType)) { if ("FD".equals(stationType)) {
...@@ -1301,22 +1293,6 @@ public class CommonServiceImpl { ...@@ -1301,22 +1293,6 @@ public class CommonServiceImpl {
return resultMap; return resultMap;
} }
private static final BlockingQueue<IdxBizFanPointProcessVariableClassification> fifo = new LinkedBlockingQueue<>(5000);
private static int threadNumber = Runtime.getRuntime().availableProcessors() * 2;
public void chuli() throws InterruptedException { public void chuli() throws InterruptedException {
this.getFanConditionVariablesByTimeAnalyseNew(null, null); this.getFanConditionVariablesByTimeAnalyseNew(null, null);
...@@ -1331,9 +1307,7 @@ public class CommonServiceImpl { ...@@ -1331,9 +1307,7 @@ public class CommonServiceImpl {
service.shutdown(); service.shutdown();
} }
public void info(String gatewayId, String startTime, String endTime, IdxBizFanPointProcessVariableClassification idxBizFanPointProcessVariableClassification) {
public void info(String gatewayId, String startTime, String endTime, IdxBizFanPointProcessVariableClassification idxBizFanPointProcessVariableClassification){
logger.info("异步执行,gatewayId:{},分析Id:{}", gatewayId, idxBizFanPointProcessVariableClassification.getSequenceNbr()); logger.info("异步执行,gatewayId:{},分析Id:{}", gatewayId, idxBizFanPointProcessVariableClassification.getSequenceNbr());
List<IdxBizFanPointVarCorrelation> gongkuangList = idxBizFanPointVarCorrelationMapper.selectList(new QueryWrapper<IdxBizFanPointVarCorrelation>().eq("ANALYSIS_GATEWAY_ID", idxBizFanPointProcessVariableClassification.getGatewayId()).eq("ANALYSIS_POINT_ID", idxBizFanPointProcessVariableClassification.getSequenceNbr())); List<IdxBizFanPointVarCorrelation> gongkuangList = idxBizFanPointVarCorrelationMapper.selectList(new QueryWrapper<IdxBizFanPointVarCorrelation>().eq("ANALYSIS_GATEWAY_ID", idxBizFanPointProcessVariableClassification.getGatewayId()).eq("ANALYSIS_POINT_ID", idxBizFanPointProcessVariableClassification.getSequenceNbr()));
if (gongkuangList.size() > 0) { if (gongkuangList.size() > 0) {
...@@ -1343,11 +1317,11 @@ public class CommonServiceImpl { ...@@ -1343,11 +1317,11 @@ public class CommonServiceImpl {
//遍历处理数据-组装风机 //遍历处理数据-组装风机
public void foreachHandlerConditionVariabAnalyseFanNew(String tableName, List<IdxBizFanPointVarCorrelation> list, String startTime, String endTime, IdxBizFanPointProcessVariableClassification idxBizFanPointProcessVariableClassification) { public void foreachHandlerConditionVariabAnalyseFanNew(String tableName, List<IdxBizFanPointVarCorrelation> list, String startTime, String endTime, IdxBizFanPointProcessVariableClassification idxBizFanPointProcessVariableClassification) {
List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(idxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(idxBizFanPointProcessVariableClassification.getIndexAddress(), startTime, endTime, tableName);
List<Double> data1 = returnList.stream().map(t -> Double.parseDouble(t.getValue())).collect(Collectors.toList()); List<Double> data1 = returnList.stream().map(t -> Double.parseDouble(t.getValue())).collect(Collectors.toList());
list.forEach(idxBizFanPointVarCorrelation -> { list.forEach(idxBizFanPointVarCorrelation -> {
logger.info("---------------------------------风机相关性-----------开始查询influxdb--------------------------------"); logger.info("---------------------------------风机相关性-----------开始查询influxdb--------------------------------");
List<IndicatorData> returnList1 = indicatorDataMapper.selectDataByAddressAndtime(idxBizFanPointVarCorrelation.getProcessIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList1 = indicatorDataMapper.selectDataByAddressAndtime(idxBizFanPointVarCorrelation.getProcessIndexAddress(), startTime, endTime, tableName);
List<Double> data2 = returnList1.stream().map(t -> Double.parseDouble(t.getValue())).collect(Collectors.toList()); List<Double> data2 = returnList1.stream().map(t -> Double.parseDouble(t.getValue())).collect(Collectors.toList());
HashMap<String, Object> map1 = new HashMap<>(); HashMap<String, Object> map1 = new HashMap<>();
map1.put("data1", data1); map1.put("data1", data1);
...@@ -1388,17 +1362,6 @@ public class CommonServiceImpl { ...@@ -1388,17 +1362,6 @@ public class CommonServiceImpl {
} }
} }
/**
* 以下为相关性-光伏-方法
*/
private static final BlockingQueue<IdxBizPvPointProcessVariableClassification> fifoPv = new LinkedBlockingQueue<>(5000);
public void chuliPv(String startTime, String endTime) throws InterruptedException { public void chuliPv(String startTime, String endTime) throws InterruptedException {
this.getPvConditionVariablesByTimeAnalyseNew(); this.getPvConditionVariablesByTimeAnalyseNew();
...@@ -1413,7 +1376,7 @@ public class CommonServiceImpl { ...@@ -1413,7 +1376,7 @@ public class CommonServiceImpl {
service.shutdown(); service.shutdown();
} }
public void infoPv(String gatewayId, String startTime, String endTime, IdxBizPvPointProcessVariableClassification idxBizPvPointProcessVariableClassification){ public void infoPv(String gatewayId, String startTime, String endTime, IdxBizPvPointProcessVariableClassification idxBizPvPointProcessVariableClassification) {
logger.info("异步执行,gatewayId:{},分析Id:{}", gatewayId, idxBizPvPointProcessVariableClassification.getSequenceNbr()); logger.info("异步执行,gatewayId:{},分析Id:{}", gatewayId, idxBizPvPointProcessVariableClassification.getSequenceNbr());
List<IdxBizPvPointVarCorrelation> gongkuangList = idxBizPvPointVarCorrelationMapper.selectList(new QueryWrapper<IdxBizPvPointVarCorrelation>().eq("ANALYSIS_GATEWAY_ID", idxBizPvPointProcessVariableClassification.getGatewayId()).eq("ANALYSIS_POINT_ID", idxBizPvPointProcessVariableClassification.getSequenceNbr())); List<IdxBizPvPointVarCorrelation> gongkuangList = idxBizPvPointVarCorrelationMapper.selectList(new QueryWrapper<IdxBizPvPointVarCorrelation>().eq("ANALYSIS_GATEWAY_ID", idxBizPvPointProcessVariableClassification.getGatewayId()).eq("ANALYSIS_POINT_ID", idxBizPvPointProcessVariableClassification.getSequenceNbr()));
if (gongkuangList.size() > 0) { if (gongkuangList.size() > 0) {
...@@ -1423,11 +1386,11 @@ public class CommonServiceImpl { ...@@ -1423,11 +1386,11 @@ public class CommonServiceImpl {
//遍历处理数据-组装风机 //遍历处理数据-组装风机
public void foreachHandlerConditionVariabAnalysePvNew(String tableName, List<IdxBizPvPointVarCorrelation> list, String startTime, String endTime, IdxBizPvPointProcessVariableClassification idxBizPvPointProcessVariableClassification) { public void foreachHandlerConditionVariabAnalysePvNew(String tableName, List<IdxBizPvPointVarCorrelation> list, String startTime, String endTime, IdxBizPvPointProcessVariableClassification idxBizPvPointProcessVariableClassification) {
List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList = indicatorDataMapper.selectDataByAddressAndtime(idxBizPvPointProcessVariableClassification.getIndexAddress(), startTime, endTime, tableName);
List<Double> data1 = returnList.stream().map(t -> Double.parseDouble(t.getValue())).collect(Collectors.toList()); List<Double> data1 = returnList.stream().map(t -> Double.parseDouble(t.getValue())).collect(Collectors.toList());
list.forEach(idxBizPvPointVarCorrelation -> { list.forEach(idxBizPvPointVarCorrelation -> {
logger.info("---------------------------------风机相关性-----------开始查询influxdb--------------------------------"); logger.info("---------------------------------风机相关性-----------开始查询influxdb--------------------------------");
List<IndicatorData> returnList1 = indicatorDataMapper.selectDataByAddressAndtime(idxBizPvPointVarCorrelation.getProcessIndexAddress(), startTime, endTime,tableName); List<IndicatorData> returnList1 = indicatorDataMapper.selectDataByAddressAndtime(idxBizPvPointVarCorrelation.getProcessIndexAddress(), startTime, endTime, tableName);
List<Double> data2 = returnList1.stream().map(t -> Double.parseDouble(t.getValue())).collect(Collectors.toList()); List<Double> data2 = returnList1.stream().map(t -> Double.parseDouble(t.getValue())).collect(Collectors.toList());
HashMap<String, Object> map1 = new HashMap<>(); HashMap<String, Object> map1 = new HashMap<>();
map1.put("data1", data1); map1.put("data1", data1);
...@@ -1453,6 +1416,7 @@ public class CommonServiceImpl { ...@@ -1453,6 +1416,7 @@ public class CommonServiceImpl {
} }
}); });
} }
//相关性分析-光伏 //相关性分析-光伏
public void getPvConditionVariablesByTimeAnalyseNew() { public void getPvConditionVariablesByTimeAnalyseNew() {
try { try {
...@@ -1468,66 +1432,74 @@ public class CommonServiceImpl { ...@@ -1468,66 +1432,74 @@ public class CommonServiceImpl {
} }
@Scheduled(cron = "0 0/10 * * * ?") // @Scheduled(cron = "0 0/10 * * * ?")
@Async("async") @Async("async")
public void healthWarningMinuteByFan() { public void healthWarningMinuteByFan() {
if (!openHealth){ if (!openHealth) {
return; return;
} }
Date time = new Date(); Date time = new Date();
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
List<IdxBizFanPointProcessVariableClassificationDto> data = idxBizFanPointProcessVariableClassificationMapper.getInfluxDBData(); List<IdxBizFanPointProcessVariableClassificationDto> data = idxBizFanPointProcessVariableClassificationMapper.getInfluxDBData();
Map<String, List<IdxBizFanPointProcessVariableClassificationDto>> maps = data.stream().collect(Collectors.groupingBy(IdxBizFanPointProcessVariableClassificationDto::getGatewayId)); Map<String, List<IdxBizFanPointProcessVariableClassificationDto>> maps = data.stream().collect(Collectors.groupingBy(IdxBizFanPointProcessVariableClassificationDto::getGatewayId));
BoolQueryBuilder boolMustAll = QueryBuilders.boolQuery(); // BoolQueryBuilder boolMustAll = QueryBuilders.boolQuery();
List<QueryBuilder> should = boolMustAll.should(); // List<QueryBuilder> should = boolMustAll.should();
List<IndicatorData> indicatorDataListAll = new LinkedList<>();
for (String s : maps.keySet()) { for (String s : maps.keySet()) {
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); // BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
List<String> address = maps.get(s).stream().map(IdxBizFanPointProcessVariableClassificationDto::getIndexAddress).collect(Collectors.toList()); // List<String> address = maps.get(s).stream().map(IdxBizFanPointProcessVariableClassificationDto::getIndexAddress).collect(Collectors.toList());
boolQueryBuilder.must(QueryBuilders.termsQuery("address.keyword", address)).must(QueryBuilders.matchQuery("gatewayId.keyword", s)); // boolQueryBuilder.must(QueryBuilders.termsQuery("address.keyword", address)).must(QueryBuilders.matchQuery("gatewayId.keyword", s));
should.add(boolQueryBuilder); // should.add(boolQueryBuilder);
} // String addressids = maps.get(s).stream().map(idxBizFanPointProcessVariableClassificationDto -> "\'" + idxBizFanPointProcessVariableClassificationDto.getIndexAddress() + "\'").collect(Collectors.joining(","));
List<IndicatorData> indicatorDataList = indicatorDataMapper.selectDataByGatewayIdAndAddress(s);
// 创建查询构造器 indicatorDataListAll.addAll(indicatorDataList);
NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder()
//过滤条件
.withQuery(boolMustAll);
List<ESEquipments> equipments = new LinkedList<>();
long totle = 0;
try {
SearchHits<ESEquipments> searchHits = elasticsearchTemplate.search(queryBuilder.build(), ESEquipments.class);
for (SearchHit searchHit : searchHits.getSearchHits()) {
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(searchHit.getContent());
ESEquipments eSAlertCalled = JSONObject.toJavaObject(jsonObject, ESEquipments.class);
equipments.add(eSAlertCalled);
}
totle = searchHits.getTotalHits();
} catch (Exception e) {
// TODO: handle exception
}
while (totle == 0){
try {
SearchHits<ESEquipments> searchHits = elasticsearchTemplate.search(queryBuilder.build(), ESEquipments.class);
for (SearchHit searchHit : searchHits.getSearchHits()) {
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(searchHit.getContent());
ESEquipments eSAlertCalled = JSONObject.toJavaObject(jsonObject, ESEquipments.class);
equipments.add(eSAlertCalled);
}
totle = searchHits.getTotalHits();
} catch (Exception e) {
// TODO: handle exception
}
} }
// // 创建查询构造器
// NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder()
// //过滤条件
// .withQuery(boolMustAll);
// List<ESEquipments> equipments = new LinkedList<>();
// long totle = 0;
// try {
// SearchHits<ESEquipments> searchHits = elasticsearchTemplate.search(queryBuilder.build(), ESEquipments.class);
//
// for (SearchHit searchHit : searchHits.getSearchHits()) {
// JSONObject jsonObject = (JSONObject) JSONObject.toJSON(searchHit.getContent());
// ESEquipments eSAlertCalled = JSONObject.toJavaObject(jsonObject, ESEquipments.class);
// equipments.add(eSAlertCalled);
// }
// totle = searchHits.getTotalHits();
// } catch (Exception e) {
// // TODO: handle exception
// }
//
//
// while (totle == 0) {
// try {
// SearchHits<ESEquipments> searchHits = elasticsearchTemplate.search(queryBuilder.build(), ESEquipments.class);
//
// for (SearchHit searchHit : searchHits.getSearchHits()) {
// JSONObject jsonObject = (JSONObject) JSONObject.toJSON(searchHit.getContent());
// ESEquipments eSAlertCalled = JSONObject.toJavaObject(jsonObject, ESEquipments.class);
// equipments.add(eSAlertCalled);
// }
// totle = searchHits.getTotalHits();
// } catch (Exception e) {
// // TODO: handle exception
// }
// }
Map<String, Float> indicatorDataListAllMap = indicatorDataListAll.stream().collect(Collectors.toMap(indicatorData -> indicatorData.getAddress() +"_"+ indicatorData.getGatewayId(), IndicatorData::getValueF));
for (IdxBizFanPointProcessVariableClassificationDto datum : data) { for (IdxBizFanPointProcessVariableClassificationDto datum : data) {
for (ESEquipments equipment : equipments) { Double currentValue = Double.valueOf(indicatorDataListAllMap.get(datum.getIndexAddress() + "_" + datum.getGatewayId()));
if (equipment.getAddress().equals(datum.getIndexAddress()) && equipment.getGatewayId().equals(datum.getGatewayId())) { if (!ObjectUtils.isEmpty(currentValue)) {
datum.setCurrentValue(equipment.getValueF()); datum.setCurrentValue(currentValue);
}
} }
// for (ESEquipments equipment : equipments) {
// if (equipment.getAddress().equals(datum.getIndexAddress()) && equipment.getGatewayId().equals(datum.getGatewayId())) {
// datum.setCurrentValue(equipment.getValueF());
// }
// }
} }
LambdaQueryWrapper<IdxBizFanPointVarCentralValue> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<IdxBizFanPointVarCentralValue> wrapper = new LambdaQueryWrapper<>();
...@@ -1538,18 +1510,18 @@ public class CommonServiceImpl { ...@@ -1538,18 +1510,18 @@ public class CommonServiceImpl {
ArrayList<Object> centerValueList = new ArrayList<>(); ArrayList<Object> centerValueList = new ArrayList<>();
ArrayList<Object> analysisVariableIdList = new ArrayList<>(); ArrayList<Object> analysisVariableIdList = new ArrayList<>();
List<Double> analysisVariable = new ArrayList<>(); List<Double> analysisVariable = new ArrayList<>();
List<Double> stdDev = new ArrayList<>(); List<Double> stdDev = new ArrayList<>();
List<Double> centerValue = new ArrayList<>(); List<Double> centerValue = new ArrayList<>();
List<String> analysisVariableId = new ArrayList<>(); List<String> analysisVariableId = new ArrayList<>();
List<Double> ProcessPoint1= new ArrayList<>(); List<Double> ProcessPoint1 = new ArrayList<>();
List<Double> ProcessPoint2 = new ArrayList<>(); List<Double> ProcessPoint2 = new ArrayList<>();
List<Double> ProcessPoint3 = new ArrayList<>(); List<Double> ProcessPoint3 = new ArrayList<>();
List<String> ProcessPoint1Id = new ArrayList<>(); List<String> ProcessPoint1Id = new ArrayList<>();
List<String> ProcessPoint2Id = new ArrayList<>(); List<String> ProcessPoint2Id = new ArrayList<>();
List<String> ProcessPoint3Id = new ArrayList<>(); List<String> ProcessPoint3Id = new ArrayList<>();
List<String> analysisVariableIds = new ArrayList<>(); List<String> analysisVariableIds = new ArrayList<>();
for (IdxBizFanPointVarCentralValue idxBizUhef : idxBizUhefs) { for (IdxBizFanPointVarCentralValue idxBizUhef : idxBizUhefs) {
double value1 = 0.00; double value1 = 0.00;
...@@ -1572,31 +1544,31 @@ public class CommonServiceImpl { ...@@ -1572,31 +1544,31 @@ public class CommonServiceImpl {
} }
if ((null == idxBizUhef.getProcess1Min() || idxBizUhef.getProcess1Min() <= value1 ) && (null == idxBizUhef.getProcess1Max()||value1 <= idxBizUhef.getProcess1Max() ) if ((null == idxBizUhef.getProcess1Min() || idxBizUhef.getProcess1Min() <= value1) && (null == idxBizUhef.getProcess1Max() || value1 <= idxBizUhef.getProcess1Max())
&&(null == idxBizUhef.getProcess2Min() || idxBizUhef.getProcess2Min() <= value2 ) && (null == idxBizUhef.getPorcess2Max() || value2 <= idxBizUhef.getPorcess2Max()) && (null == idxBizUhef.getProcess2Min() || idxBizUhef.getProcess2Min() <= value2) && (null == idxBizUhef.getPorcess2Max() || value2 <= idxBizUhef.getPorcess2Max())
&&(null == idxBizUhef.getProcess3Min() || idxBizUhef.getProcess3Min() <= value3 ) && (null ==idxBizUhef.getProcess3Max() || value3 <= idxBizUhef.getProcess3Max())) { && (null == idxBizUhef.getProcess3Min() || idxBizUhef.getProcess3Min() <= value3) && (null == idxBizUhef.getProcess3Max() || value3 <= idxBizUhef.getProcess3Max())) {
if (!analysisVariableIdList.contains(idxBizUhef.getAnalysisPointId())){ if (!analysisVariableIdList.contains(idxBizUhef.getAnalysisPointId())) {
analysisVariableList.add(value4); analysisVariableList.add(value4);
analysisVariable.add(value4); analysisVariable.add(value4);
ProcessPoint1Id.add(idxBizUhef.getProcessPoint1Id()); ProcessPoint1Id.add(idxBizUhef.getProcessPoint1Id());
ProcessPoint2Id.add(idxBizUhef.getProcessPoint2Id()); ProcessPoint2Id.add(idxBizUhef.getProcessPoint2Id());
ProcessPoint3Id.add(idxBizUhef.getProcessPoint3Id()); ProcessPoint3Id.add(idxBizUhef.getProcessPoint3Id());
analysisVariableIds.add(idxBizUhef.getAnalysisPointId()); analysisVariableIds.add(idxBizUhef.getAnalysisPointId());
ProcessPoint1.add(value1); ProcessPoint1.add(value1);
ProcessPoint2.add(value2); ProcessPoint2.add(value2);
ProcessPoint3.add(value3); ProcessPoint3.add(value3);
stdDevList.add(idxBizUhef.getAnalysisStdDev()); stdDevList.add(idxBizUhef.getAnalysisStdDev());
stdDev.add(idxBizUhef.getAnalysisStdDev()); stdDev.add(idxBizUhef.getAnalysisStdDev());
centerValueList.add(idxBizUhef.getAnalysisCenterValue()); centerValueList.add(idxBizUhef.getAnalysisCenterValue());
centerValue.add(idxBizUhef.getAnalysisCenterValue()); centerValue.add(idxBizUhef.getAnalysisCenterValue());
analysisVariableIdList.add(idxBizUhef.getAnalysisPointId()); analysisVariableIdList.add(idxBizUhef.getAnalysisPointId());
analysisVariableId.add(idxBizUhef.getAnalysisPointId()); analysisVariableId.add(idxBizUhef.getAnalysisPointId());
} }
} }
} }
...@@ -1606,16 +1578,16 @@ public class CommonServiceImpl { ...@@ -1606,16 +1578,16 @@ public class CommonServiceImpl {
requestMap.put("analysisVariableId", analysisVariableIdList); requestMap.put("analysisVariableId", analysisVariableIdList);
Table healthData = Table.create("healthData"); Table healthData = Table.create("healthData");
healthData.addColumns(DoubleColumn.create("analysisVariable",analysisVariable), healthData.addColumns(DoubleColumn.create("analysisVariable", analysisVariable),
DoubleColumn.create("stdDev",stdDev), DoubleColumn.create("stdDev", stdDev),
DoubleColumn.create("centerValue",centerValue), DoubleColumn.create("centerValue", centerValue),
StringColumn.create("ProcessPoint1Id",ProcessPoint1Id), StringColumn.create("ProcessPoint1Id", ProcessPoint1Id),
DoubleColumn.create("ProcessPoint1",ProcessPoint1), DoubleColumn.create("ProcessPoint1", ProcessPoint1),
StringColumn.create("ProcessPoint2Id",ProcessPoint2Id), StringColumn.create("ProcessPoint2Id", ProcessPoint2Id),
DoubleColumn.create("ProcessPoint2",ProcessPoint2), DoubleColumn.create("ProcessPoint2", ProcessPoint2),
StringColumn.create("ProcessPoint3Id",ProcessPoint3Id), StringColumn.create("ProcessPoint3Id", ProcessPoint3Id),
DoubleColumn.create("ProcessPoint3",ProcessPoint3), DoubleColumn.create("ProcessPoint3", ProcessPoint3),
StringColumn.create("analysisVariableId",analysisVariableIds)); StringColumn.create("analysisVariableId", analysisVariableIds));
logger.info("------------------------------------------开始调用健康指数计算算法开始----------------------------------------"); logger.info("------------------------------------------开始调用健康指数计算算法开始----------------------------------------");
String response = HttpUtil.createPost(baseUrlZSFX).body(JSON.toJSONString(requestMap)).execute().body(); String response = HttpUtil.createPost(baseUrlZSFX).body(JSON.toJSONString(requestMap)).execute().body();
...@@ -1625,17 +1597,17 @@ public class CommonServiceImpl { ...@@ -1625,17 +1597,17 @@ public class CommonServiceImpl {
JSONArray indexValueArray = jsonObject.getJSONArray("indexValue"); JSONArray indexValueArray = jsonObject.getJSONArray("indexValue");
JSONArray scoreValueArray = jsonObject.getJSONArray("scoreValue"); JSONArray scoreValueArray = jsonObject.getJSONArray("scoreValue");
JSONArray analysisVariableIdArray = jsonObject.getJSONArray("analysisVariableId"); JSONArray analysisVariableIdArray = jsonObject.getJSONArray("analysisVariableId");
List<String> jsonArrayToStringList = JSONObject.parseArray(analysisVariableIdArray.toJSONString(),String.class); List<String> jsonArrayToStringList = JSONObject.parseArray(analysisVariableIdArray.toJSONString(), String.class);
List<Double> scoreValue = JSONObject.parseArray(scoreValueArray.toJSONString(),Double.class); List<Double> scoreValue = JSONObject.parseArray(scoreValueArray.toJSONString(), Double.class);
List<Double> indexValue = JSONObject.parseArray(indexValueArray.toJSONString(),Double.class); List<Double> indexValue = JSONObject.parseArray(indexValueArray.toJSONString(), Double.class);
// Table resultTable = Table.create("healthData"); // Table resultTable = Table.create("healthData");
healthData.addColumns( StringColumn.create("analysisVariableIdResult",jsonArrayToStringList), healthData.addColumns(StringColumn.create("analysisVariableIdResult", jsonArrayToStringList),
DoubleColumn.create("indexValue",indexValue), DoubleColumn.create("scoreValue",scoreValue)); DoubleColumn.create("indexValue", indexValue), DoubleColumn.create("scoreValue", scoreValue));
System.out.println(healthData.print()); System.out.println(healthData.print());
try { try {
healthData.write().csv(new Date().getTime()+"fj.csv"); healthData.write().csv(new Date().getTime() + "fj.csv");
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
...@@ -1653,30 +1625,30 @@ public class CommonServiceImpl { ...@@ -1653,30 +1625,30 @@ public class CommonServiceImpl {
for (IdxBizFanPointProcessVariableClassification obj : list) { for (IdxBizFanPointProcessVariableClassification obj : list) {
for (int i = 0; i < analysisVariableIdArray.size(); i++) { for (int i = 0; i < analysisVariableIdArray.size(); i++) {
if (analysisVariableIdArray.get(i).toString().equals(obj.getSequenceNbr())){ if (analysisVariableIdArray.get(i).toString().equals(obj.getSequenceNbr())) {
IdxBizFanHealthIndex idxBizFanHealthIndex = new IdxBizFanHealthIndex(); IdxBizFanHealthIndex idxBizFanHealthIndex = new IdxBizFanHealthIndex();
BeanUtils.copyProperties(obj, idxBizFanHealthIndex,"sequenceNbr"); BeanUtils.copyProperties(obj, idxBizFanHealthIndex, "sequenceNbr");
//2023年10月30日10点05分 移除原来的判断 无论是否小于0都取绝对值 //2023年10月30日10点05分 移除原来的判断 无论是否小于0都取绝对值
idxBizFanHealthIndex.setHealthIndex( Math.abs(indexValueArray.getDoubleValue(i))); idxBizFanHealthIndex.setHealthIndex(Math.abs(indexValueArray.getDoubleValue(i)));
idxBizFanHealthIndex.setAnalysisObjSeq(obj.getSequenceNbr()); idxBizFanHealthIndex.setAnalysisObjSeq(obj.getSequenceNbr());
idxBizFanHealthIndex.setRecDate(time); idxBizFanHealthIndex.setRecDate(time);
// idxBizFanHealthIndex.setSequenceNbr(null); // idxBizFanHealthIndex.setSequenceNbr(null);
idxBizFanHealthIndex.setWeigth(1.0); idxBizFanHealthIndex.setWeigth(1.0);
//获取健康指数对应等级 //获取健康指数对应等级
for (IdxBizFanHealthLevel idxBizFanHealthLevel : idxBizFanHealthLevels) { for (IdxBizFanHealthLevel idxBizFanHealthLevel : idxBizFanHealthLevels) {
if (indexValueArray.getDoubleValue(i) <= idxBizFanHealthLevel.getGroupUpperLimit() if (indexValueArray.getDoubleValue(i) <= idxBizFanHealthLevel.getGroupUpperLimit()
&& indexValueArray.getDoubleValue(i) >= idxBizFanHealthLevel.getGroupLowerLimit()){ && indexValueArray.getDoubleValue(i) >= idxBizFanHealthLevel.getGroupLowerLimit()) {
idxBizFanHealthIndex.setHealthLevel(idxBizFanHealthLevel.getHealthLevel()); idxBizFanHealthIndex.setHealthLevel(idxBizFanHealthLevel.getHealthLevel());
} }
} }
idxBizFanHealthIndex.setAnalysisType("按时刻"); idxBizFanHealthIndex.setAnalysisType("按时刻");
idxBizFanHealthIndex.setAnalysisObjType("测点"); idxBizFanHealthIndex.setAnalysisObjType("测点");
if (ObjectUtils.isEmpty(scoreValueArray.getDoubleValue(i))){ if (ObjectUtils.isEmpty(scoreValueArray.getDoubleValue(i))) {
System.out.println(JSON.toJSONString(requestMap)); System.out.println(JSON.toJSONString(requestMap));
idxBizFanHealthIndex.setANOMALY(0.0); idxBizFanHealthIndex.setANOMALY(0.0);
}else { } else {
idxBizFanHealthIndex.setANOMALY(scoreValueArray.getDoubleValue(i)); idxBizFanHealthIndex.setANOMALY(scoreValueArray.getDoubleValue(i));
} }
...@@ -1693,7 +1665,7 @@ public class CommonServiceImpl { ...@@ -1693,7 +1665,7 @@ public class CommonServiceImpl {
logger.info("------------------------------------------调用健康指数计算算法结束----------------------------------------"); logger.info("------------------------------------------调用健康指数计算算法结束----------------------------------------");
logger.info("------------------------------------------开始计算预警----------------------------------------"); logger.info("------------------------------------------开始计算预警----------------------------------------");
healthStatusIndicatorService.healthWarningMinute(calendar,time); healthStatusIndicatorService.healthWarningMinute(calendar, time);
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new RuntimeException(e);
...@@ -1702,48 +1674,56 @@ public class CommonServiceImpl { ...@@ -1702,48 +1674,56 @@ public class CommonServiceImpl {
} }
@Scheduled(cron = "0 0/10 * * * ?") // @Scheduled(cron = "0 0/10 * * * ?")
@Async("async") @Async("async")
public void healthWarningMinuteByPv() { public void healthWarningMinuteByPv() {
if (!openHealth){ if (!openHealth) {
return; return;
} }
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
Date time = new Date(); Date time = new Date();
List<IdxBizPvPointProcessVariableClassificationDto> data = idxBizPvPointProcessVariableClassificationMapper.getInfluxDBData(); List<IdxBizPvPointProcessVariableClassificationDto> data = idxBizPvPointProcessVariableClassificationMapper.getInfluxDBData();
Map<String, List<IdxBizPvPointProcessVariableClassificationDto>> maps = data.stream().collect(Collectors.groupingBy(IdxBizPvPointProcessVariableClassificationDto::getGatewayId)); Map<String, List<IdxBizPvPointProcessVariableClassificationDto>> maps = data.stream().collect(Collectors.groupingBy(IdxBizPvPointProcessVariableClassificationDto::getGatewayId));
BoolQueryBuilder boolMustAll = QueryBuilders.boolQuery(); // BoolQueryBuilder boolMustAll = QueryBuilders.boolQuery();
List<QueryBuilder> should = boolMustAll.should(); // List<QueryBuilder> should = boolMustAll.should();
List<IndicatorData> indicatorDataListAll = new LinkedList<>();
for (String s : maps.keySet()) { for (String s : maps.keySet()) {
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); // BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
List<String> address = maps.get(s).stream().map(IdxBizPvPointProcessVariableClassificationDto::getIndexAddress).collect(Collectors.toList()); // String addressids = maps.get(s).stream().map(idxBizPvPointProcessVariableClassificationDto -> "\'" + idxBizPvPointProcessVariableClassificationDto.getIndexAddress() + "\'").collect(Collectors.joining(","));
boolQueryBuilder.must(QueryBuilders.termsQuery("address.keyword", address)).must(QueryBuilders.termsQuery("gatewayId.keyword", s)); List<IndicatorData> indicatorDataList = indicatorDataMapper.selectDataByGatewayIdAndAddress(s);
should.add(boolQueryBuilder); indicatorDataListAll.addAll(indicatorDataList);
// List<String> address = maps.get(s).stream().map(IdxBizPvPointProcessVariableClassificationDto::getIndexAddress).collect(Collectors.toList());
// boolQueryBuilder.must(QueryBuilders.termsQuery("address.keyword", address)).must(QueryBuilders.termsQuery("gatewayId.keyword", s));
// should.add(boolQueryBuilder);
} }
// 创建查询构造器 // 创建查询构造器
NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder() // NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder()
//过滤条件 // //过滤条件
.withQuery(boolMustAll); // .withQuery(boolMustAll);
List<ESEquipments> equipments = new LinkedList<>(); // List<ESEquipments> equipments = new LinkedList<>();
long totle = 0; // long totle = 0;
try { // try {
SearchHits<ESEquipments> searchHits = elasticsearchTemplate.search(queryBuilder.build(), ESEquipments.class); // SearchHits<ESEquipments> searchHits = elasticsearchTemplate.search(queryBuilder.build(), ESEquipments.class);
//
for (SearchHit searchHit : searchHits.getSearchHits()) { // for (SearchHit searchHit : searchHits.getSearchHits()) {
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(searchHit.getContent()); // JSONObject jsonObject = (JSONObject) JSONObject.toJSON(searchHit.getContent());
ESEquipments eSAlertCalled = JSONObject.toJavaObject(jsonObject, ESEquipments.class); // ESEquipments eSAlertCalled = JSONObject.toJavaObject(jsonObject, ESEquipments.class);
equipments.add(eSAlertCalled); // equipments.add(eSAlertCalled);
} // }
totle = searchHits.getTotalHits(); // totle = searchHits.getTotalHits();
} catch (Exception e) { // } catch (Exception e) {
// TODO: handle exception // // TODO: handle exception
} // }
Map<String, Float> indicatorDataListAllMap = indicatorDataListAll.stream().collect(Collectors.toMap(indicatorData -> indicatorData.getAddress() +"_"+indicatorData.getGatewayId(), IndicatorData::getValueF));
for (IdxBizPvPointProcessVariableClassificationDto datum : data) { for (IdxBizPvPointProcessVariableClassificationDto datum : data) {
for (ESEquipments equipment : equipments) { // for (ESEquipments equipment : equipments) {
if (equipment.getAddress().equals(datum.getIndexAddress()) && equipment.getGatewayId().equals(datum.getGatewayId())) { // if (equipment.getAddress().equals(datum.getIndexAddress()) && equipment.getGatewayId().equals(datum.getGatewayId())) {
datum.setCurrentValue(equipment.getValueF().doubleValue()); Double currentValue = Double.valueOf(indicatorDataListAllMap.get(datum.getIndexAddress() + "_" + datum.getGatewayId()));
} if (!ObjectUtils.isEmpty(currentValue)) {
datum.setCurrentValue(currentValue);
} }
// }
// }
} }
LambdaQueryWrapper<IdxBizPvPointVarCentralValue> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<IdxBizPvPointVarCentralValue> wrapper = new LambdaQueryWrapper<>();
List<IdxBizPvPointVarCentralValue> idxBizUhefs = idxBizPvPointVarCentralValueMapper.selectList(wrapper); List<IdxBizPvPointVarCentralValue> idxBizUhefs = idxBizPvPointVarCentralValueMapper.selectList(wrapper);
...@@ -1758,7 +1738,7 @@ public class CommonServiceImpl { ...@@ -1758,7 +1738,7 @@ public class CommonServiceImpl {
List<Double> centerValue = new ArrayList<>(); List<Double> centerValue = new ArrayList<>();
List<String> analysisVariableId = new ArrayList<>(); List<String> analysisVariableId = new ArrayList<>();
List<Double> ProcessPoint1= new ArrayList<>(); List<Double> ProcessPoint1 = new ArrayList<>();
List<Double> ProcessPoint2 = new ArrayList<>(); List<Double> ProcessPoint2 = new ArrayList<>();
List<Double> ProcessPoint3 = new ArrayList<>(); List<Double> ProcessPoint3 = new ArrayList<>();
List<String> ProcessPoint1Id = new ArrayList<>(); List<String> ProcessPoint1Id = new ArrayList<>();
...@@ -1785,32 +1765,32 @@ public class CommonServiceImpl { ...@@ -1785,32 +1765,32 @@ public class CommonServiceImpl {
value4 = datum.getCurrentValue(); value4 = datum.getCurrentValue();
} }
} }
if ((null == idxBizUhef.getProcess1Min() || idxBizUhef.getProcess1Min() <= value1 ) && (null == idxBizUhef.getProcess1Max()||value1 <= idxBizUhef.getProcess1Max() ) if ((null == idxBizUhef.getProcess1Min() || idxBizUhef.getProcess1Min() <= value1) && (null == idxBizUhef.getProcess1Max() || value1 <= idxBizUhef.getProcess1Max())
&&(null == idxBizUhef.getProcess2Min() || idxBizUhef.getProcess2Min() <= value2 ) && (null == idxBizUhef.getProcess2Max() || value2 <= idxBizUhef.getProcess2Max()) && (null == idxBizUhef.getProcess2Min() || idxBizUhef.getProcess2Min() <= value2) && (null == idxBizUhef.getProcess2Max() || value2 <= idxBizUhef.getProcess2Max())
&&(null == idxBizUhef.getProcess3Min() || idxBizUhef.getProcess3Min() <= value3 ) && (null ==idxBizUhef.getProcess3Max() || value3 <= idxBizUhef.getProcess3Max())) { && (null == idxBizUhef.getProcess3Min() || idxBizUhef.getProcess3Min() <= value3) && (null == idxBizUhef.getProcess3Max() || value3 <= idxBizUhef.getProcess3Max())) {
if (!analysisVariableIdList.contains(idxBizUhef.getAnalysisPointId())){ if (!analysisVariableIdList.contains(idxBizUhef.getAnalysisPointId())) {
analysisVariableList.add(value4); analysisVariableList.add(value4);
analysisVariable.add(value4); analysisVariable.add(value4);
ProcessPoint1Id.add(idxBizUhef.getProcessPoint1Id()); ProcessPoint1Id.add(idxBizUhef.getProcessPoint1Id());
ProcessPoint2Id.add(idxBizUhef.getProcessPoint2Id()); ProcessPoint2Id.add(idxBizUhef.getProcessPoint2Id());
ProcessPoint3Id.add(idxBizUhef.getProcessPoint3Id()); ProcessPoint3Id.add(idxBizUhef.getProcessPoint3Id());
analysisVariableIds.add(idxBizUhef.getAnalysisPointId()); analysisVariableIds.add(idxBizUhef.getAnalysisPointId());
ProcessPoint1.add(value1); ProcessPoint1.add(value1);
ProcessPoint2.add(value2); ProcessPoint2.add(value2);
ProcessPoint3.add(value3); ProcessPoint3.add(value3);
stdDevList.add(idxBizUhef.getAnalysisStdDev()); stdDevList.add(idxBizUhef.getAnalysisStdDev());
stdDev.add(idxBizUhef.getAnalysisStdDev()); stdDev.add(idxBizUhef.getAnalysisStdDev());
centerValueList.add(idxBizUhef.getAnalysisCenterValue()); centerValueList.add(idxBizUhef.getAnalysisCenterValue());
centerValue.add(idxBizUhef.getAnalysisCenterValue()); centerValue.add(idxBizUhef.getAnalysisCenterValue());
analysisVariableIdList.add(idxBizUhef.getAnalysisPointId()); analysisVariableIdList.add(idxBizUhef.getAnalysisPointId());
analysisVariableId.add(idxBizUhef.getAnalysisPointId()); analysisVariableId.add(idxBizUhef.getAnalysisPointId());
} }
} }
} }
requestMap.put("analysisVariable", analysisVariableList); requestMap.put("analysisVariable", analysisVariableList);
...@@ -1819,16 +1799,16 @@ public class CommonServiceImpl { ...@@ -1819,16 +1799,16 @@ public class CommonServiceImpl {
requestMap.put("analysisVariableId", analysisVariableIdList); requestMap.put("analysisVariableId", analysisVariableIdList);
Table healthData = Table.create("healthData"); Table healthData = Table.create("healthData");
healthData.addColumns(DoubleColumn.create("analysisVariable",analysisVariable), healthData.addColumns(DoubleColumn.create("analysisVariable", analysisVariable),
DoubleColumn.create("stdDev",stdDev), DoubleColumn.create("stdDev", stdDev),
DoubleColumn.create("centerValue",centerValue), DoubleColumn.create("centerValue", centerValue),
StringColumn.create("ProcessPoint1Id",ProcessPoint1Id), StringColumn.create("ProcessPoint1Id", ProcessPoint1Id),
DoubleColumn.create("ProcessPoint1",ProcessPoint1), DoubleColumn.create("ProcessPoint1", ProcessPoint1),
StringColumn.create("ProcessPoint2Id",ProcessPoint2Id), StringColumn.create("ProcessPoint2Id", ProcessPoint2Id),
DoubleColumn.create("ProcessPoint2",ProcessPoint2), DoubleColumn.create("ProcessPoint2", ProcessPoint2),
StringColumn.create("ProcessPoint3Id",ProcessPoint3Id), StringColumn.create("ProcessPoint3Id", ProcessPoint3Id),
DoubleColumn.create("ProcessPoint3",ProcessPoint3), DoubleColumn.create("ProcessPoint3", ProcessPoint3),
StringColumn.create("analysisVariableId",analysisVariableIds)); StringColumn.create("analysisVariableId", analysisVariableIds));
logger.info("------------------------------------------开始调用健康指数计算算法开始----------------------------------------"); logger.info("------------------------------------------开始调用健康指数计算算法开始----------------------------------------");
String response = HttpUtil.createPost(baseUrlZSFX).body(JSON.toJSONString(requestMap)).execute().body(); String response = HttpUtil.createPost(baseUrlZSFX).body(JSON.toJSONString(requestMap)).execute().body();
JSONObject jsonObject = JSON.parseObject(response); JSONObject jsonObject = JSON.parseObject(response);
...@@ -1836,17 +1816,17 @@ public class CommonServiceImpl { ...@@ -1836,17 +1816,17 @@ public class CommonServiceImpl {
JSONArray indexValueArray = jsonObject.getJSONArray("indexValue"); JSONArray indexValueArray = jsonObject.getJSONArray("indexValue");
JSONArray scoreValueArray = jsonObject.getJSONArray("scoreValue"); JSONArray scoreValueArray = jsonObject.getJSONArray("scoreValue");
JSONArray analysisVariableIdArray = jsonObject.getJSONArray("analysisVariableId"); JSONArray analysisVariableIdArray = jsonObject.getJSONArray("analysisVariableId");
List<String> jsonArrayToStringList = JSONObject.parseArray(analysisVariableIdArray.toJSONString(),String.class); List<String> jsonArrayToStringList = JSONObject.parseArray(analysisVariableIdArray.toJSONString(), String.class);
List<Double> scoreValue = JSONObject.parseArray(scoreValueArray.toJSONString(),Double.class); List<Double> scoreValue = JSONObject.parseArray(scoreValueArray.toJSONString(), Double.class);
List<Double> indexValue = JSONObject.parseArray(indexValueArray.toJSONString(),Double.class); List<Double> indexValue = JSONObject.parseArray(indexValueArray.toJSONString(), Double.class);
// Table resultTable = Table.create("healthData"); // Table resultTable = Table.create("healthData");
healthData.addColumns( StringColumn.create("analysisVariableIdResult",jsonArrayToStringList), healthData.addColumns(StringColumn.create("analysisVariableIdResult", jsonArrayToStringList),
DoubleColumn.create("indexValue",indexValue), DoubleColumn.create("scoreValue",scoreValue)); DoubleColumn.create("indexValue", indexValue), DoubleColumn.create("scoreValue", scoreValue));
System.out.println(healthData.print()); System.out.println(healthData.print());
try { try {
healthData.write().csv(new Date().getTime()+"gf.csv"); healthData.write().csv(new Date().getTime() + "gf.csv");
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
...@@ -1865,10 +1845,10 @@ public class CommonServiceImpl { ...@@ -1865,10 +1845,10 @@ public class CommonServiceImpl {
List<IdxBizPvHealthIndex> idxBizPvHealthIndexs = new ArrayList<>(); List<IdxBizPvHealthIndex> idxBizPvHealthIndexs = new ArrayList<>();
for (IdxBizPvPointProcessVariableClassification obj : list) { for (IdxBizPvPointProcessVariableClassification obj : list) {
for (int i = 0; i < analysisVariableIdArray.size(); i++) { for (int i = 0; i < analysisVariableIdArray.size(); i++) {
if (analysisVariableIdArray.get(i).toString().equals(obj.getSequenceNbr())){ if (analysisVariableIdArray.get(i).toString().equals(obj.getSequenceNbr())) {
IdxBizPvHealthIndex idxBizPvHealthIndex = new IdxBizPvHealthIndex(); IdxBizPvHealthIndex idxBizPvHealthIndex = new IdxBizPvHealthIndex();
BeanUtils.copyProperties(obj, idxBizPvHealthIndex, "sequenceNbr"); BeanUtils.copyProperties(obj, idxBizPvHealthIndex, "sequenceNbr");
// idxBizPvHealthIndex.setSequenceNbr(null); // idxBizPvHealthIndex.setSequenceNbr(null);
//2023年10月30日10点05分 移除原来的判断 无论是否小于0都取绝对值 //2023年10月30日10点05分 移除原来的判断 无论是否小于0都取绝对值
idxBizPvHealthIndex.setHealthIndex(Math.abs(indexValueArray.getDoubleValue(i))); idxBizPvHealthIndex.setHealthIndex(Math.abs(indexValueArray.getDoubleValue(i)));
idxBizPvHealthIndex.setAnalysisObjSeq(obj.getSequenceNbr()); idxBizPvHealthIndex.setAnalysisObjSeq(obj.getSequenceNbr());
...@@ -1878,7 +1858,7 @@ public class CommonServiceImpl { ...@@ -1878,7 +1858,7 @@ public class CommonServiceImpl {
for (IdxBizPvHealthLevel idxBizFanHealthLevel : idxBizFanHealthLevels) { for (IdxBizPvHealthLevel idxBizFanHealthLevel : idxBizFanHealthLevels) {
if (indexValueArray.getDoubleValue(i) <= idxBizFanHealthLevel.getGroupUpperLimit() if (indexValueArray.getDoubleValue(i) <= idxBizFanHealthLevel.getGroupUpperLimit()
&& indexValueArray.getDoubleValue(i) >= idxBizFanHealthLevel.getGroupLowerLimit()){ && indexValueArray.getDoubleValue(i) >= idxBizFanHealthLevel.getGroupLowerLimit()) {
idxBizPvHealthIndex.setHealthLevel(idxBizFanHealthLevel.getHealthLevel()); idxBizPvHealthIndex.setHealthLevel(idxBizFanHealthLevel.getHealthLevel());
} }
...@@ -1900,7 +1880,7 @@ public class CommonServiceImpl { ...@@ -1900,7 +1880,7 @@ public class CommonServiceImpl {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
healthStatusIndicatorService.healthWarningMinuteGF(calendar,time); healthStatusIndicatorService.healthWarningMinuteGF(calendar, time);
} }
......
...@@ -47,7 +47,7 @@ public interface IndicatorDataMapper extends BaseMapper<IndicatorData> { ...@@ -47,7 +47,7 @@ public interface IndicatorDataMapper extends BaseMapper<IndicatorData> {
@Select("select `value`, created_time from iot_data.indicator_data where id =#{id} and ts >= #{startTime} and ts <= #{endTime} ") @Select("select `value`, created_time from iot_data.indicator_data where id =#{id} and ts >= #{startTime} and ts <= #{endTime} ")
List<IndicatorData> selectDataByequipmentIndexNameAndtimeAndEquipmentNumber(@Param("id") String id, @Param("startTime") String startTime, @Param("endTime") String endTime); List<IndicatorData> selectDataByequipmentIndexNameAndtimeAndEquipmentNumber(@Param("id") String id, @Param("startTime") String startTime, @Param("endTime") String endTime);
@Select("select `value`,`value_f`, address, gateway_id from iot_data.indicator_data where ts >=NOW()-10m and gateway_id = #{gatewayId} and address in(#{addressIds})") @Select("select `value`,`value_f`, address, gateway_id from iot_data.indicator_data where ts > NOW()-10m and gateway_id = #{gatewayId}")
List<IndicatorData> selectDataByGatewayIdAndAddress(@Param("gatewayId") String gatewayId,@Param("addressIds") String addressIds); List<IndicatorData> selectDataByGatewayIdAndAddress(@Param("gatewayId") String gatewayId);
} }
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