|
@@ -0,0 +1,781 @@
|
|
|
+package com.hcks.cmfds.util;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+import org.apache.log4j.Logger;
|
|
|
+
|
|
|
+import com.hcks.cmfds.commons.util.DateUtils;
|
|
|
+import com.hcks.cmfds.model.WindPowerStationTestingPoint;
|
|
|
+import com.hcks.cmfds.model.WindTurbineTestingPointAi;
|
|
|
+import com.hcks.cmfds.service.PropertyCacheContext;
|
|
|
+import com.hcks.cmfds.util.edos.ApiEntry;
|
|
|
+import com.hcks.cmfds.util.edos.DNAStatVal;
|
|
|
+import com.hcks.cmfds.util.edos.DNAVal;
|
|
|
+import com.hcks.cmfds.util.edos.PointData;
|
|
|
+
|
|
|
+/**
|
|
|
+ */
|
|
|
+public class EdosUtilold implements IEdosUtil {
|
|
|
+
|
|
|
+ // 获得配置文件edos ip地址 和端口号
|
|
|
+ static String ip = PropertyCacheContext.getContextProperty("ip");
|
|
|
+ static int port = Integer.valueOf(PropertyCacheContext.getContextProperty("port"));
|
|
|
+ static int time = Integer.valueOf(PropertyCacheContext.getContextProperty("time"));
|
|
|
+ private Logger logger = Logger.getLogger(this.getClass().getName());
|
|
|
+ public PointData getRealData(WindPowerStationTestingPoint point) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+
|
|
|
+ //String id = point.getCode().substring(5).replace(".", "_");
|
|
|
+ String id = point.getCode();
|
|
|
+ DNAVal[] statResult = null;
|
|
|
+ try {
|
|
|
+ statResult = entry.getRealtimeTagValues(id);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+point.getCode());
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ PointData po = new PointData();
|
|
|
+ if (statResult.length > 0) {
|
|
|
+
|
|
|
+ po.setPointTime(Long.valueOf(statResult[0].Time));
|
|
|
+ po.setPointValueInDouble(statResult[0].DValue);
|
|
|
+ }
|
|
|
+
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return po;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<PointData> getHistoryDatasSnap(WindPowerStationTestingPoint point, Long beginDate, Long endDate, Long count, Long pried) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+ // String id = point.getCode().substring(5).replace(".", "_");
|
|
|
+ String id = point.getCode();
|
|
|
+ DNAVal[] statResult = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ statResult = entry.getHistSnap(id, beginDate.intValue(), endDate.intValue(), pried.intValue());
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+point.getCode());
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ List<PointData> ls = new ArrayList<PointData>();
|
|
|
+ if (statResult.length > 0) {
|
|
|
+ for (int i = 0; i < statResult.length; i++) {
|
|
|
+ PointData po = new PointData();
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].DValue);
|
|
|
+ ls.add(po);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return ls;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<PointData> getHistoryDatasSnap(String pointid, Long beginDate, Long endDate, Long count, Long pried) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+
|
|
|
+ DNAVal[] statResult = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ statResult = entry.getHistSnap(pointid, beginDate.intValue(), endDate.intValue(), pried.intValue());
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+pointid);
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ List<PointData> ls = new ArrayList<PointData>();
|
|
|
+ if (statResult.length > 0) {
|
|
|
+ for (int i = 0; i < statResult.length; i++) {
|
|
|
+ PointData po = new PointData();
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].DValue);
|
|
|
+ ls.add(po);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return ls;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<PointData> getHistStat(WindTurbineTestingPointAi point, Long beginDate, Long endDate, Long count, Long pried, int type) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+ //String id = point.getId().substring(point.getCode().indexOf(".") + 1).replace(".", "_");
|
|
|
+ String id = point.getCode();
|
|
|
+ DNAStatVal[] statResult = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ statResult = entry.getHistStat(id, beginDate.intValue(), endDate.intValue(), pried.intValue());
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+id);
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ List<PointData> ls = new ArrayList<PointData>();
|
|
|
+ if (statResult.length > 0) {
|
|
|
+ for (int i = 0; i < statResult.length; i++) {
|
|
|
+ PointData po = new PointData();
|
|
|
+ switch (type) {
|
|
|
+ case 0:// 最大值
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].max.Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].max.DValue);
|
|
|
+ break;
|
|
|
+ case 1:// 最小值
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].min.Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].min.DValue);
|
|
|
+ break;
|
|
|
+ case 2:// 平均值
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].avg.Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].avg.DValue);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ ls.add(po);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return ls;
|
|
|
+ }
|
|
|
+
|
|
|
+ public DNAStatVal[] getHistStat(String point, Long beginDate, Long endDate, Integer pried) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+ //String id = point.substring(point.indexOf(".") + 1).replace(".", "_");
|
|
|
+ String id = point;
|
|
|
+ DNAStatVal[] statResult = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ statResult = entry.getHistStat(id, beginDate.intValue(), endDate.intValue(), pried.intValue());
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+id);
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return statResult;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<PointData> getHistStat(WindPowerStationTestingPoint point, Long beginDate, Long endDate, Long count, Long pried, int type) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+ // String id = point.getCode().substring(point.getCode().indexOf(".") + 1).replace(".", "_");
|
|
|
+ String id = point.getCode();
|
|
|
+ DNAStatVal[] statResult = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ statResult = entry.getHistStat(id, beginDate.intValue(), endDate.intValue(), pried.intValue());
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+id);
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ List<PointData> ls = new ArrayList<PointData>();
|
|
|
+ if (statResult.length > 0) {
|
|
|
+ for (int i = 0; i < statResult.length; i++) {
|
|
|
+ PointData po = new PointData();
|
|
|
+ switch (type) {
|
|
|
+ case 0:// 最大值
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].max.Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].max.DValue);
|
|
|
+ break;
|
|
|
+ case 1:// 最小值
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].min.Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].min.DValue);
|
|
|
+ break;
|
|
|
+ case 2:// 平均值
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].avg.Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].avg.DValue);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ ls.add(po);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return ls;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<PointData> getHistStat(String pointid, Long beginDate, Long endDate, Long count, Long pried, int type) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+
|
|
|
+ DNAStatVal[] statResult = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ statResult = entry.getHistStat(pointid, beginDate.intValue(), endDate.intValue(), pried.intValue());
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+pointid);
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ List<PointData> ls = new ArrayList<PointData>();
|
|
|
+ if (statResult.length > 0) {
|
|
|
+ for (int i = 0; i < statResult.length; i++) {
|
|
|
+ PointData po = new PointData();
|
|
|
+ switch (type) {
|
|
|
+ case 0:// 最大值
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].max.Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].max.DValue);
|
|
|
+ break;
|
|
|
+ case 1:// 最小值
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].min.Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].min.DValue);
|
|
|
+ break;
|
|
|
+ case 2:// 平均值
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].avg.Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].avg.DValue);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ ls.add(po);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return ls;
|
|
|
+ }
|
|
|
+
|
|
|
+ public PointData getRealData1(WindTurbineTestingPointAi point) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+
|
|
|
+ //String id = point.getId().substring(5).replace(".", "_");
|
|
|
+ String id = point.getId();
|
|
|
+
|
|
|
+ DNAVal[] statResult = null;
|
|
|
+ try {
|
|
|
+ statResult = entry.getRealtimeTagValues(id);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+point.getCode());
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ PointData po = new PointData();
|
|
|
+ if (statResult.length > 0) {
|
|
|
+
|
|
|
+ po.setPointTime(Long.valueOf(statResult[0].Time));
|
|
|
+ po.setPointValueInDouble(statResult[0].DValue);
|
|
|
+
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return po;
|
|
|
+ }
|
|
|
+
|
|
|
+ public PointData getRealData(WindTurbineTestingPointAi point) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ // Date begin = new Date();
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+
|
|
|
+ // StringBuilder sb = new StringBuilder();
|
|
|
+ // String id = point.getId().substring(5).replace(".", "_");
|
|
|
+ String id = point.getId();
|
|
|
+ DNAVal[] statResult = null;
|
|
|
+ try {
|
|
|
+ statResult = entry.getRealtimeTagValues(id);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+point.getId());
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+
|
|
|
+ // Date end = new Date();
|
|
|
+
|
|
|
+ // sb.append("测点编号: ").append(id).append(" 用时").append(DateUtils.minutesDiff2(begin,
|
|
|
+ // end)).append("分钟");
|
|
|
+ // System.out.println(sb);
|
|
|
+ PointData po = new PointData();
|
|
|
+ if (statResult.length > 0) {
|
|
|
+
|
|
|
+ po.setPointTime(Long.valueOf(statResult[0].Time));
|
|
|
+
|
|
|
+ if (DateUtils.minutesDiff(DateUtils.parseLongToDate(po.getPointTime() * 1000), new Date()) <= time) {
|
|
|
+ po.setPointValueInDouble(statResult[0].DValue);
|
|
|
+ } else {
|
|
|
+ po.setPointValueInDouble(0);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return po;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<PointData> getHistoryDatasSnap(WindTurbineTestingPointAi point, Long beginDate, Long endDate, Long count, Long pried) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+ //String id = point.getId().substring(5).replace(".", "_");
|
|
|
+ String id = point.getId();
|
|
|
+ DNAVal[] statResult = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ statResult = entry.getHistSnap(id, beginDate.intValue(), endDate.intValue(), pried.intValue());
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+id);
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ List<PointData> ls = new ArrayList<PointData>();
|
|
|
+ if (statResult.length > 0) {
|
|
|
+ for (int i = 0; i < statResult.length; i++) {
|
|
|
+ PointData po = new PointData();
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].DValue);
|
|
|
+ ls.add(po);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return ls;
|
|
|
+ }
|
|
|
+
|
|
|
+ public PointData getRealData1(String pointid) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+
|
|
|
+ DNAVal[] statResult = null;
|
|
|
+ try {
|
|
|
+ statResult = entry.getRealtimeTagValues(pointid);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+pointid);
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ PointData po = new PointData();
|
|
|
+ if (statResult.length > 0) {
|
|
|
+
|
|
|
+ po.setPointTime(Long.valueOf(statResult[0].Time));
|
|
|
+ po.setPointValueInDouble(statResult[0].DValue);
|
|
|
+
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return po;
|
|
|
+ }
|
|
|
+
|
|
|
+ public PointData getRealData(String pointid) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ // Date begin = new Date();
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+
|
|
|
+ // StringBuilder sb = new StringBuilder();
|
|
|
+
|
|
|
+ DNAVal[] statResult = null;
|
|
|
+ try {
|
|
|
+ statResult = entry.getRealtimeTagValues(pointid);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+pointid);
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ // Date end = new Date();
|
|
|
+
|
|
|
+ // sb.append("测点编号: ").append(pointid).append(" 用时").append(DateUtils.minutesDiff2(begin,
|
|
|
+ // end)).append("分钟");
|
|
|
+ // System.out.println(sb);
|
|
|
+ PointData po = new PointData();
|
|
|
+ if (statResult.length > 0) {
|
|
|
+
|
|
|
+ po.setPointTime(Long.valueOf(statResult[0].Time));
|
|
|
+ po.setPointValueInDouble(statResult[0].DValue);
|
|
|
+
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return po;
|
|
|
+ // ApiEntry entry = ApiEdos.getInstance();
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // DNAVal[] statResult = entry.getRealtimeTagValues(pointid);
|
|
|
+ //
|
|
|
+ // if (statResult.length > 0) {
|
|
|
+ // PointData po=new PointData();
|
|
|
+ // po.setPointTime(Long.valueOf(statResult[0].Time));
|
|
|
+ // if(
|
|
|
+ // DateUtils.minutesDiff(DateUtils.parseLongToDate(po.getPointTime()*1000),
|
|
|
+ // new Date())<=time)
|
|
|
+ // {
|
|
|
+ // po.setPointValueInDouble(statResult[0].DValue);
|
|
|
+ // }else
|
|
|
+ // {
|
|
|
+ // po.setPointValueInDouble(0);
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // return po;
|
|
|
+ // }
|
|
|
+ // return new PointData();
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 一次读取多个点
|
|
|
+ * @param pointids
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ public List<PointData> getRealData(String... pointids) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ List<PointData> list=new ArrayList<PointData>();
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+ DNAVal[] statResult = null;
|
|
|
+ try {
|
|
|
+ statResult = entry.getRealtimeTagValues(pointids);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+pointids);
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ if (statResult!=null&&statResult.length>0) {
|
|
|
+ for (int i = 0; i < statResult.length; i++) {
|
|
|
+ PointData po = new PointData();
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].DValue);
|
|
|
+ po.setEdnaId(pointids[i]);
|
|
|
+ list.add(po);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<PointData> getRealData(List<String> pointids) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ List<PointData> list=new ArrayList<PointData>();
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+ String[] arrpoint = new String[pointids.size()];
|
|
|
+ arrpoint =pointids.toArray(new String[]{});
|
|
|
+
|
|
|
+ DNAVal[] statResult = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ statResult = entry.getRealtimeTagValues(arrpoint);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+arrpoint);
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (statResult!=null&&statResult.length>0) {
|
|
|
+ for (int i = 0; i < statResult.length; i++) {
|
|
|
+ PointData po = new PointData();
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].DValue);
|
|
|
+ po.setEdnaId(pointids.get(i));
|
|
|
+ list.add(po);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 一次读取多个点
|
|
|
+ * @param pointids
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ public Map<String,Double> getRealDataMap(String... pointids) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ Map<String,Double> map=new HashMap<String, Double>();
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+ DNAVal[] statResult = null;
|
|
|
+ try {
|
|
|
+ statResult = entry.getRealtimeTagValues(pointids);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+pointids);
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ if (statResult!=null&&statResult.length>0) {
|
|
|
+ for (int i = 0; i < statResult.length; i++) {
|
|
|
+ map.put(pointids[i], statResult[i].DValue);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public List<PointData> getHistoryDatasRaw(WindTurbineTestingPointAi point, Long beginDate, Long endDate) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+// String id = point.getId().substring(point.getId().indexOf(".") + 1).replace(".", "_");
|
|
|
+ String id = point.getId();
|
|
|
+
|
|
|
+
|
|
|
+ DNAVal[] statResult = null;
|
|
|
+ try {
|
|
|
+ statResult =entry.getHistRaw(id, beginDate.intValue(), endDate.intValue());
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+id);
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ List<PointData> ls = new ArrayList<PointData>();
|
|
|
+ if (statResult.length > 0) {
|
|
|
+ for (int i = 0; i < statResult.length; i++) {
|
|
|
+ PointData po = new PointData();
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].DValue);
|
|
|
+ ls.add(po);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return ls;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<PointData> getHistoryDatasRaw(WindPowerStationTestingPoint point, Long beginDate, Long endDate) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+ // String id = point.getCode().substring(point.getCode().indexOf(".") + 1).replace(".", "_");
|
|
|
+ String id = point.getCode();
|
|
|
+
|
|
|
+ DNAVal[] statResult = null;
|
|
|
+ try {
|
|
|
+ statResult =entry.getHistRaw(id, beginDate.intValue(), endDate.intValue());
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+id);
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ List<PointData> ls = new ArrayList<PointData>();
|
|
|
+ if (statResult.length > 0) {
|
|
|
+ for (int i = 0; i < statResult.length; i++) {
|
|
|
+ PointData po = new PointData();
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].DValue);
|
|
|
+ ls.add(po);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return ls;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<PointData> getHistoryDatasRaw(String pointid, Long beginDate, Long endDate) throws Exception {
|
|
|
+ long startStamp = System.currentTimeMillis();
|
|
|
+ logger.info("==================开始时刻: " + DateUtils.parseLongToDate(startStamp));
|
|
|
+
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+
|
|
|
+ // DNAVal[] statResult = entry.getHistRaw(pointid, beginDate.intValue(), endDate.intValue());
|
|
|
+ DNAVal[] statResult = null;
|
|
|
+ try {
|
|
|
+ statResult =entry.getHistRaw(pointid, beginDate.intValue(), endDate.intValue());
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("测点编号"+pointid);
|
|
|
+ logger.info(e.getMessage());
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ List<PointData> ls = new ArrayList<PointData>();
|
|
|
+ if (statResult.length > 0) {
|
|
|
+ for (int i = 0; i < statResult.length; i++) {
|
|
|
+ PointData po = new PointData();
|
|
|
+ po.setPointTime(Long.valueOf(statResult[i].Time));
|
|
|
+ po.setPointValueInDouble(statResult[i].DValue);
|
|
|
+ ls.add(po);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ long endStamp = System.currentTimeMillis();
|
|
|
+ long cost = endStamp - startStamp;
|
|
|
+ logger.info("==================结束时刻: " + DateUtils.parseLongToDate(endStamp));
|
|
|
+ logger.info("调度程执行结束,耗时:" + cost / 1000 + "秒!........");
|
|
|
+ return ls;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /** 更新单点实时数据
|
|
|
+ * @param pointids
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ public void updatePoint(PointData point) throws Exception {
|
|
|
+
|
|
|
+ ApiEntry entry = ApiEdos.getInstance();
|
|
|
+ DNAVal[] dd = new DNAVal[1];
|
|
|
+ DNAVal dnaVal= new DNAVal();
|
|
|
+ dnaVal.DValue=point.getPointValueInDouble();
|
|
|
+ dnaVal.Status=(short)3;
|
|
|
+ dnaVal.Time =Integer.parseInt(point.getPointTime().toString());
|
|
|
+ dd[0]=dnaVal;
|
|
|
+ entry.sendSinglePoint(point.getEdnaId(), dd);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String, Double> getRealDataMap(List<String> pointids)
|
|
|
+ throws Exception {
|
|
|
+ // TODO Auto-generated method stub
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|