|
@@ -76,7 +76,142 @@ public class WindturbinegoodnessService {
|
|
|
return pageInfo;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 初始化折线图数据
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
|
|
|
+ public List<DataVo> findWtRealPowerChar(String wtId, Date recorddate) throws Exception {
|
|
|
+ List<DataVo> vos = new ArrayList<DataVo>();
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ SimpleDateFormat sdfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+
|
|
|
+ Date endDate = sdfs.parse(sdf.format(DateUtils.addDays(recorddate, 1)) + " 00:0:00");
|
|
|
+ Date beginDate = sdfs.parse(sdf.format(recorddate) + " 00:00:00");
|
|
|
+
|
|
|
+ int length = 24;
|
|
|
+ for (int i = 0; i < length; i++) {
|
|
|
+ DataVo vo = new DataVo();
|
|
|
+
|
|
|
+ vo.setValue1(0.0);// 实发功率
|
|
|
+ vo.setValue2(0.0);// 保证功率
|
|
|
+ vo.setValue3(0.0);// 风速
|
|
|
+ vo.setValue4(0.0);// 状态
|
|
|
+ vos.add(vo);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ WindTurbineTestingPointAi2 sjgl = windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(wtId,Constant.TPOINT_WT_FJGL);
|
|
|
+ WindTurbineTestingPointAi2 bzgl = windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(wtId,Constant.TPOINT_WT_YFGL);
|
|
|
+ WindTurbineTestingPointAi2 pjfs = windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(wtId,Constant.TPOINT_WT_FJSSFS);
|
|
|
+
|
|
|
+
|
|
|
+ // WindTurbineTestingPointAi2 fs = map.get(Constant.TPOINT_WT_PJFS);
|
|
|
+
|
|
|
+ if (null != sjgl) {
|
|
|
+ List<PointData> sjglls = realApiUtil.getHistoryDatasSnap(sjgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
+ int count = 0;
|
|
|
+ double temp = 0;
|
|
|
+ for (int i = 0; i < vos.size(); i++) {
|
|
|
+ vos.get(i).setTime(sjglls.get(i ).getPointTime() * 1000);
|
|
|
+
|
|
|
+ if (i < sjglls.size() && StringUtils.notEmp(sjglls.get(i ).getPointTime())) {
|
|
|
+
|
|
|
+ if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
|
|
|
+ temp = sjglls.get(i ).getPointValueInDouble();
|
|
|
+ if (Math.abs(temp) < 10000) {
|
|
|
+ vos.get(i).setValue1(StringUtils.round(temp, 2));// 实际功率
|
|
|
+ }
|
|
|
+
|
|
|
+ count++;
|
|
|
+ } else {
|
|
|
+ vos.get(i).setValue1(0d);// 实际功率
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null != bzgl) {
|
|
|
+ List<PointData> bzglls = realApiUtil.getHistoryDatasSnap(bzgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
+ int count = 0;
|
|
|
+ double temp = 0;
|
|
|
+ for (int i = 0; i < vos.size(); i++) {
|
|
|
+ // vos.get(i).setTime(bzglls.get(i).getPointTime() * 1000);
|
|
|
+ if (i < bzglls.size() && StringUtils.notEmp(bzglls.get(i ).getPointTime())) {
|
|
|
+
|
|
|
+ if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
|
|
|
+ temp = bzglls.get(i ).getPointValueInDouble();
|
|
|
+ if (Math.abs(temp) < 10000) {
|
|
|
+ vos.get(i).setValue2(StringUtils.round(temp, 2));// 保证功率
|
|
|
+ }
|
|
|
+
|
|
|
+ count++;
|
|
|
+ } else {
|
|
|
+ vos.get(i).setValue2(0d);// 保证功率
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null != pjfs) {
|
|
|
+ List<PointData> pjfsls = realApiUtil.getHistoryDatasSnap(pjfs, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
+
|
|
|
+ int count = 0;
|
|
|
+ double temp = 0;
|
|
|
+ for (int i = 0; i < vos.size(); i++) {
|
|
|
+ vos.get(i).setTime(pjfsls.get(i ).getPointTime() * 1000);
|
|
|
+ if (i < pjfsls.size() && StringUtils.notEmp(pjfsls.get(i ).getPointTime())) {
|
|
|
+
|
|
|
+ if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
|
|
|
+ temp = pjfsls.get(i ).getPointValueInDouble();
|
|
|
+ vos.get(i).setValue3(StringUtils.round(temp, 2));// 风速
|
|
|
+ count++;
|
|
|
+ } else {
|
|
|
+ vos.get(i).setValue3(0d);// 实际功率
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // if (null != fjzt) {
|
|
|
+ // List<PointData> fjztls = ednaApiUtil.getHistoryDatasSnap(fjzt,
|
|
|
+ // beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length,
|
|
|
+ // 3600L);
|
|
|
+ // int count = 0;
|
|
|
+ // double temp = 0;
|
|
|
+ // for (int i = 0; i < vos.size(); i++) {
|
|
|
+ // vos.get(i).setTime(fjztls.get(i).getPointTime() * 1000);
|
|
|
+ // if (i < fjztls.size() &&
|
|
|
+ // StringUtils.notEmp(fjztls.get(i).getPointTime())) {
|
|
|
+ //
|
|
|
+ // if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
|
|
|
+ // temp = fjztls.get(i).getPointValueInDouble();
|
|
|
+ // if (Math.abs(temp) < 10000) {
|
|
|
+ // vos.get(i).setValue4(StringUtils.round(temp, 2));// 风机状态
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // count++;
|
|
|
+ // } else {
|
|
|
+ // vos.get(i).setValue4(0d);// 风机状态
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // }
|
|
|
+
|
|
|
+ // ////////////////////////////////////////////////
|
|
|
+
|
|
|
+ return vos;
|
|
|
+ }
|
|
|
public List<List<EchartDataVo>> getplotBands(String wtId, Date recorddate) throws Exception {
|
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
|
|
@@ -129,6 +264,7 @@ public class WindturbinegoodnessService {
|
|
|
vo.setxAxis(beginTime);
|
|
|
vo.setTime(time);
|
|
|
vo.setName(judgeSatte(zttemp));
|
|
|
+ vo.setColor(judgeColor(zttemp));
|
|
|
vos.add(vo);
|
|
|
} else {
|
|
|
if (zt != zttemp) {
|
|
@@ -149,6 +285,7 @@ public class WindturbinegoodnessService {
|
|
|
vo.setxAxis(beginTime);
|
|
|
vo.setTime(sdf2.format(resultDate));
|
|
|
vo.setName(judgeSatte(zttemp));
|
|
|
+ vo.setColor(judgeColor(zttemp));
|
|
|
vos.add(vo);
|
|
|
}
|
|
|
}
|
|
@@ -192,6 +329,37 @@ public class WindturbinegoodnessService {
|
|
|
}
|
|
|
return ztname;
|
|
|
}
|
|
|
+// 运行 #08FCF0 待机 #34A90A 维护 #FD7D1C 故障 #FD0100 限电 #D201D8 离线 #A6A6A6
|
|
|
+ private String judgeColor(int zt)
|
|
|
+ {
|
|
|
+ String ztname=null;
|
|
|
+ switch ( zt ) {
|
|
|
+ case 0:
|
|
|
+ ztname= "#34A90A";
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ ztname= "#08FCF0";
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ ztname= "#FD0100";
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ ztname= "#A6A6A6";
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ ztname= "#FD7D1C";
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ ztname= "#D201D8";
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ ztname= "#D201D8";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+
|
|
|
+ }
|
|
|
+ return ztname;
|
|
|
+ }
|
|
|
|
|
|
public Map<String, String> getPlotBand(String wtId , String begin, String end) throws Exception {
|
|
|
WindTurbineTestingPointAi2 fdlAi =windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(wtId,Constant.TPOINT_WT_RFDL);
|