|
@@ -2,11 +2,8 @@ package com.hcks.cmfds.service;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
-import java.sql.ResultSet;
|
|
|
-import java.sql.SQLException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
-import java.util.Calendar;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
@@ -14,38 +11,24 @@ import java.util.Map;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.jdbc.core.RowMapper;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import com.excelsior.xFunction.xFunctionException;
|
|
|
import com.hcks.cmfds.Constant;
|
|
|
-import com.hcks.cmfds.commons.lang.QueryOrder;
|
|
|
import com.hcks.cmfds.commons.util.DateUtils;
|
|
|
-import com.hcks.cmfds.commons.util.JsonUtils;
|
|
|
import com.hcks.cmfds.commons.util.StringUtils;
|
|
|
import com.hcks.cmfds.core.persistence.GenericJdbcDao;
|
|
|
import com.hcks.cmfds.model.WindTurbineTestingPointAi;
|
|
|
-import com.hcks.cmfds.model.Windturbine;
|
|
|
-import com.hcks.cmfds.model.Windturbineanalysisday;
|
|
|
import com.hcks.cmfds.model.Windturbinegoodness;
|
|
|
-import com.hcks.cmfds.model.Windturbineinfoday;
|
|
|
-import com.hcks.cmfds.model.Windturbineinfoday3;
|
|
|
import com.hcks.cmfds.util.EdosUtil;
|
|
|
import com.hcks.cmfds.util.IEdosUtil;
|
|
|
import com.hcks.cmfds.util.edos.PointData;
|
|
|
import com.hcks.cmfds.vo.DataVo;
|
|
|
-import com.hcks.cmfds.vo.StatisticalAnalysisTopVo;
|
|
|
-import com.hcks.cmfds.vo.WindturbineanalysisdayVo;
|
|
|
|
|
|
@Service
|
|
|
public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodness> {
|
|
|
|
|
|
private IEdosUtil ednaApiUtil = new EdosUtil();
|
|
|
- @Autowired
|
|
|
- private Windturbineinfoday3Service windturbineinfoday3Service;
|
|
|
- @Autowired
|
|
|
- private WindturbineInfoDayService windturbineInfoDayService;
|
|
|
|
|
|
/**
|
|
|
* 初始化折线图数据
|
|
@@ -81,16 +64,16 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
// WindTurbineTestingPointAi fs = map.get(Constant.TPOINT_WT_PJFS);
|
|
|
|
|
|
if (null != sjgl) {
|
|
|
- List<PointData> sjglls = ednaApiUtil.getHistoryDatasSnap(sjgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) 25, 3600L);
|
|
|
+ List<PointData> sjglls = ednaApiUtil.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);
|
|
|
+ vos.get(i).setTime(sjglls.get(i ).getPointTime() * 1000);
|
|
|
|
|
|
- if (i < sjglls.size() && StringUtils.notEmp(sjglls.get(i).getPointTime())) {
|
|
|
+ if (i < sjglls.size() && StringUtils.notEmp(sjglls.get(i ).getPointTime())) {
|
|
|
|
|
|
if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
|
|
|
- temp = sjglls.get(i).getPointValueInDouble();
|
|
|
+ temp = sjglls.get(i ).getPointValueInDouble();
|
|
|
if (Math.abs(temp) < 10000) {
|
|
|
vos.get(i).setValue1(StringUtils.round(temp, 2));// 实际功率
|
|
|
}
|
|
@@ -111,10 +94,10 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
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 (i < bzglls.size() && StringUtils.notEmp(bzglls.get(i ).getPointTime())) {
|
|
|
|
|
|
if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
|
|
|
- temp = bzglls.get(i).getPointValueInDouble();
|
|
|
+ temp = bzglls.get(i ).getPointValueInDouble();
|
|
|
if (Math.abs(temp) < 10000) {
|
|
|
vos.get(i).setValue2(StringUtils.round(temp, 2));// 保证功率
|
|
|
}
|
|
@@ -135,11 +118,11 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
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())) {
|
|
|
+ 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();
|
|
|
+ temp = pjfsls.get(i ).getPointValueInDouble();
|
|
|
vos.get(i).setValue3(StringUtils.round(temp, 2));// 风速
|
|
|
count++;
|
|
|
} else {
|
|
@@ -209,24 +192,9 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
|
|
|
WindTurbineTestingPointAi fdl = map.get(Constant.TPOINT_WT_RFDL);
|
|
|
WindTurbineTestingPointAi whss = map.get(Constant.RJXSSDL);
|
|
|
- WindTurbineTestingPointAi whss3 = map.get(Constant.RJXSSDL_ZS);
|
|
|
- WindTurbineTestingPointAi whss4 = map.get(Constant.RLZSSDL_ZS);
|
|
|
WindTurbineTestingPointAi gzss = map.get(Constant.RGZSSDL);
|
|
|
- WindTurbineTestingPointAi gzss3 = map.get(Constant.RGZSSDL_ZS);
|
|
|
- WindTurbineTestingPointAi gzss4 = map.get(Constant.NSZSSDL_ZS);
|
|
|
-
|
|
|
WindTurbineTestingPointAi xdss = map.get(Constant.RXDSSDL);
|
|
|
- WindTurbineTestingPointAi xdss3 = map.get(Constant.RQFSSDL_ZS);
|
|
|
- WindTurbineTestingPointAi xdss4 = map.get(Constant.RXDSSDL_ZS);
|
|
|
-
|
|
|
-
|
|
|
WindTurbineTestingPointAi qfss = map.get(Constant.RQFSSDL);
|
|
|
- WindTurbineTestingPointAi qfss3 = map.get(Constant.RDJSSDL_ZS);
|
|
|
- WindTurbineTestingPointAi qfss4 = map.get(Constant.RSTSSDL_ZS);
|
|
|
- WindTurbineTestingPointAi qfss5 = map.get(Constant.RXNSSDL_ZS);
|
|
|
- WindTurbineTestingPointAi qfss6 = map.get(Constant.RQXSSDL_ZS);
|
|
|
-
|
|
|
-
|
|
|
WindTurbineTestingPointAi fs = map.get(Constant.TPOINT_WT_FJSSFS);
|
|
|
|
|
|
try {
|
|
@@ -279,13 +247,9 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
try {
|
|
|
if (null != whss) {
|
|
|
List<PointData> whssls = ednaApiUtil.getHistoryDatasSnap(whss, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
- List<PointData> whssls3 = ednaApiUtil.getHistoryDatasSnap(whss3, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
- List<PointData> whssls4 = ednaApiUtil.getHistoryDatasSnap(whss4, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
+
|
|
|
int count = 0;
|
|
|
double temp1 = 0;
|
|
|
- double temp3 = 0;
|
|
|
- double temp4 = 0;
|
|
|
-
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
|
|
|
if (i < whssls.size() && StringUtils.notEmp(whssls.get(i + 1).getPointTime())) {
|
|
@@ -293,14 +257,8 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
vos.get(i).setTime(whssls.get(i + 1).getPointTime() * 1000);
|
|
|
if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
|
|
|
if (i != 0) {
|
|
|
- // temp1 = whssls.get(i + 1).getPointValueInDouble();
|
|
|
- temp3 = whssls3.get(i + 1).getPointValueInDouble();
|
|
|
- temp4 = whssls4.get(i + 1).getPointValueInDouble();
|
|
|
- temp1=temp3+temp4;
|
|
|
- // double temp2 = whssls.get(i).getPointValueInDouble();
|
|
|
- double temp2 = whssls3.get(i).getPointValueInDouble()+whssls4.get(i).getPointValueInDouble();
|
|
|
-
|
|
|
-
|
|
|
+ temp1 = whssls.get(i + 1).getPointValueInDouble();
|
|
|
+ double temp2 = whssls.get(i).getPointValueInDouble();
|
|
|
temp1 = temp1 - temp2;
|
|
|
|
|
|
// temp1 = new BigDecimal(temp1).divide(new
|
|
@@ -311,10 +269,7 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
count++;
|
|
|
|
|
|
} else {
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- temp1 = whssls3.get(i + 1).getPointValueInDouble()+ whssls4.get(i + 1).getPointValueInDouble();
|
|
|
+ temp1 = whssls.get(i + 1).getPointValueInDouble();
|
|
|
vos.get(i).setValue2(StringUtils.round(temp1, 2));// 维护损失电量
|
|
|
}
|
|
|
|
|
@@ -340,8 +295,6 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
try {
|
|
|
if (null != gzss) {
|
|
|
List<PointData> gzssls = ednaApiUtil.getHistoryDatasSnap(gzss, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
- List<PointData> gzssls3 = ednaApiUtil.getHistoryDatasSnap(gzss3, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
- List<PointData> gzssls4 = ednaApiUtil.getHistoryDatasSnap(gzss4, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
|
|
|
int count = 0;
|
|
|
double temp1 = 0;
|
|
@@ -352,8 +305,8 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
vos.get(i).setTime(gzssls.get(i + 1).getPointTime() * 1000);
|
|
|
if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
|
|
|
if (i != 0) {
|
|
|
- temp1 = gzssls3.get(i + 1).getPointValueInDouble()+gzssls4.get(i + 1).getPointValueInDouble();
|
|
|
- double temp2 = gzssls3.get(i).getPointValueInDouble()+gzssls4.get(i).getPointValueInDouble();
|
|
|
+ temp1 = gzssls.get(i + 1).getPointValueInDouble();
|
|
|
+ double temp2 = gzssls.get(i).getPointValueInDouble();
|
|
|
temp1 = temp1 - temp2;
|
|
|
|
|
|
// temp1 = new BigDecimal(temp1).divide(new
|
|
@@ -370,7 +323,7 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
count++;
|
|
|
|
|
|
} else {
|
|
|
- temp1 = gzssls3.get(i + 1).getPointValueInDouble()+gzssls4.get(i + 1).getPointValueInDouble();
|
|
|
+ temp1 = gzssls.get(i + 1).getPointValueInDouble();
|
|
|
vos.get(i).setValue3(StringUtils.round(temp1, 2));// 维护损失电量
|
|
|
}
|
|
|
|
|
@@ -391,8 +344,6 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
try {
|
|
|
if (null != xdss) {
|
|
|
List<PointData> xdssls = ednaApiUtil.getHistoryDatasSnap(xdss, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
- List<PointData> xdssls3 = ednaApiUtil.getHistoryDatasSnap(xdss3, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
- List<PointData> xdssls4 = ednaApiUtil.getHistoryDatasSnap(xdss4, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
|
|
|
int count = 0;
|
|
|
double temp1 = 0;
|
|
@@ -403,8 +354,8 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
vos.get(i).setTime(xdssls.get(i + 1).getPointTime() * 1000);
|
|
|
if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
|
|
|
if (i != 0) {
|
|
|
- temp1 = xdssls3.get(i + 1).getPointValueInDouble()+xdssls4.get(i + 1).getPointValueInDouble();
|
|
|
- double temp2 = xdssls3.get(i).getPointValueInDouble()+xdssls4.get(i + 1).getPointValueInDouble();
|
|
|
+ temp1 = xdssls.get(i + 1).getPointValueInDouble();
|
|
|
+ double temp2 = xdssls.get(i).getPointValueInDouble();
|
|
|
temp1 = temp1 - temp2;
|
|
|
|
|
|
// temp1 = new BigDecimal(temp1).divide(new
|
|
@@ -421,7 +372,7 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
count++;
|
|
|
|
|
|
} else {
|
|
|
- temp1 = xdssls3.get(i + 1).getPointValueInDouble()+xdssls4.get(i + 1).getPointValueInDouble();
|
|
|
+ temp1 = xdssls.get(i + 1).getPointValueInDouble();
|
|
|
vos.get(i).setValue4(StringUtils.round(temp1, 2));// 限电损失电量
|
|
|
}
|
|
|
|
|
@@ -442,10 +393,6 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
try {
|
|
|
if (null != qfss) {
|
|
|
List<PointData> qfssls = ednaApiUtil.getHistoryDatasSnap(qfss, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
- List<PointData> qfssls3 = ednaApiUtil.getHistoryDatasSnap(qfss3, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
- List<PointData> qfssls4 = ednaApiUtil.getHistoryDatasSnap(qfss4, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
- List<PointData> qfssls5 = ednaApiUtil.getHistoryDatasSnap(qfss5, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
- List<PointData> qfssls6 = ednaApiUtil.getHistoryDatasSnap(qfss6, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
|
|
|
|
|
|
int count = 0;
|
|
|
double temp1 = 0;
|
|
@@ -456,8 +403,8 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
vos.get(i).setTime(qfssls.get(i + 1).getPointTime() * 1000);
|
|
|
if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
|
|
|
if (i != 0) {
|
|
|
- temp1 = qfssls3.get(i + 1).getPointValueInDouble()+qfssls4.get(i + 1).getPointValueInDouble()+qfssls5.get(i + 1).getPointValueInDouble()+qfssls6.get(i + 1).getPointValueInDouble();
|
|
|
- double temp2 = qfssls3.get(i).getPointValueInDouble()+qfssls4.get(i).getPointValueInDouble()+qfssls5.get(i).getPointValueInDouble()+qfssls6.get(i).getPointValueInDouble();
|
|
|
+ temp1 = qfssls.get(i + 1).getPointValueInDouble();
|
|
|
+ double temp2 = qfssls.get(i).getPointValueInDouble();
|
|
|
temp1 = temp1 - temp2;
|
|
|
|
|
|
// temp1 = new BigDecimal(temp1).divide(new
|
|
@@ -474,7 +421,7 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
count++;
|
|
|
|
|
|
} else {
|
|
|
- temp1 = qfssls3.get(i + 1).getPointValueInDouble()+qfssls4.get(i + 1).getPointValueInDouble()+qfssls5.get(i + 1).getPointValueInDouble()+qfssls6.get(i + 1).getPointValueInDouble();
|
|
|
+ temp1 = qfssls.get(i + 1).getPointValueInDouble();
|
|
|
vos.get(i).setValue5(StringUtils.round(temp1, 2));// 欠发损失电量
|
|
|
}
|
|
|
|
|
@@ -552,29 +499,28 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
List<Long> to = new ArrayList<Long>();
|
|
|
List<Integer> ztls = new ArrayList<Integer>();
|
|
|
Date endDate = sdfs.parse(sdf.format(DateUtils.addDays(recorddate, 1)) + " 00:00:00");
|
|
|
- Date beginDate = sdfs.parse(sdf.format(recorddate) + " 01:00:00");
|
|
|
+ Date beginDate = sdfs.parse(sdf.format(recorddate) + " 00:00:00");
|
|
|
|
|
|
- int length = 230;
|
|
|
+ int length = 240;
|
|
|
String plotBands = null;
|
|
|
StringBuilder sb = new StringBuilder("");
|
|
|
Map<String, WindTurbineTestingPointAi> map = CacheContext.wtpAimap.get(wpId);
|
|
|
|
|
|
WindTurbineTestingPointAi fjzt = map.get(Constant.FJZT);
|
|
|
Map<String, Map<String, Double>> plotBandMap = new HashMap<String, Map<String, Double>>();
|
|
|
-
|
|
|
+ try {
|
|
|
|
|
|
if (null != fjzt) {
|
|
|
List<PointData> fjztls = ednaApiUtil.getHistoryDatasSnap(fjzt, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 360L);
|
|
|
|
|
|
+
|
|
|
for (int i = 0; i < fjztls.size(); i++) {
|
|
|
- if (i < fjztls.size() - 1) {
|
|
|
+ if (i < fjztls.size() ) {
|
|
|
from.add(fjztls.get(i).getPointTime() * 1000);
|
|
|
ztls.add(Double.valueOf(fjztls.get(i).getPointValueInDouble()).intValue());
|
|
|
}
|
|
|
- if (i != 0) {
|
|
|
- to.add(fjztls.get(i).getPointTime() * 1000);
|
|
|
-
|
|
|
- }
|
|
|
+
|
|
|
+ to.add(fjztls.get(i).getPointTime() * 1000);
|
|
|
|
|
|
}
|
|
|
|
|
@@ -582,71 +528,69 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
|
|
|
Integer state = ztls.get(0);
|
|
|
double begin = -1;
|
|
|
- double end = 0.1;
|
|
|
int beginnum = 0;
|
|
|
int endnum = 1;
|
|
|
StringBuilder temp = new StringBuilder();
|
|
|
- int length1 = 229;
|
|
|
- for (int i = 0; i < length1; i++) {
|
|
|
+ int lastzt=0;
|
|
|
+ int finalzt=0;
|
|
|
+ double end = 0;
|
|
|
+ for (int i = 0; i < length; i++) {
|
|
|
|
|
|
Integer zt = ztls.get(i);
|
|
|
if (i < length - 1) {
|
|
|
- zt = ztls.get(i);
|
|
|
+ zt = ztls.get(i + 1);
|
|
|
}
|
|
|
|
|
|
if (StringUtils.notEmp(zt)) {
|
|
|
if (zt != state) {
|
|
|
+ lastzt=state;
|
|
|
sb.append("{");
|
|
|
sb.append("id: '").append(i).append("',");
|
|
|
sb.append(getColor(temp, state));
|
|
|
state = zt;
|
|
|
- sb.append("from: ").append(begin).append(",");
|
|
|
+ sb.append("from: ").append(StringUtils.round(begin, 2)).append(",");
|
|
|
Date begindate = new Date(from.get(beginnum));
|
|
|
if (i != 0) {
|
|
|
begin = end;
|
|
|
beginnum = endnum;
|
|
|
end = end + 0.1;
|
|
|
endnum++;
|
|
|
- if(endnum>=229){
|
|
|
- endnum=228;
|
|
|
- }
|
|
|
} else {
|
|
|
begin = 0.0;
|
|
|
}
|
|
|
- sb.append("to: ").append(end);
|
|
|
+ sb.append("to: ").append(StringUtils.round(end, 2));
|
|
|
sb.append(", events: { click: function (e) {plotBandAjax(" + i + ");}}},");
|
|
|
|
|
|
Date enddate = new Date(to.get(endnum));
|
|
|
|
|
|
- plotBandMap.put(String.valueOf(i), getPlotBand(map, begindate, enddate));
|
|
|
-
|
|
|
+ plotBandMap.put(String.valueOf(i), getPlotBand(map, begindate, enddate,lastzt));
|
|
|
+ beginnum++;
|
|
|
} else {
|
|
|
end = end + 0.1;
|
|
|
endnum++;
|
|
|
- if(endnum>=229){
|
|
|
- endnum=228;
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+ finalzt=zt;
|
|
|
|
|
|
}
|
|
|
sb.append("{");
|
|
|
- sb.append("id: '230' ,");
|
|
|
+ sb.append("id: '240' ,");
|
|
|
sb.append(getColor(temp, state));
|
|
|
- sb.append("from: ").append(begin).append(",");
|
|
|
- sb.append("to: ").append(end);
|
|
|
- sb.append(", events: { click: function (e) {plotBandAjax(230); }}},");
|
|
|
+ sb.append("from: ").append(StringUtils.round(begin, 2)).append(",");
|
|
|
+ sb.append("to: ").append(StringUtils.round(end, 2));
|
|
|
+ sb.append(", events: { click: function (e) {plotBandAjax(240); }}},");
|
|
|
Date begindate = new Date(from.get(beginnum));
|
|
|
- Long da = to.get(228);
|
|
|
- Date enddate = new Date(da);
|
|
|
- plotBandMap.put(String.valueOf(230), getPlotBand(map, begindate, enddate));
|
|
|
+ Date enddate = new Date(to.get(239));
|
|
|
+ plotBandMap.put(String.valueOf(240), getPlotBand(map, begindate, enddate,finalzt));
|
|
|
// ////////////////////////////////////////////////
|
|
|
|
|
|
if (sb.length() >= 1) {
|
|
|
plotBands = sb.substring(0, sb.length() - 1);
|
|
|
}
|
|
|
-
|
|
|
+ } catch (Exception ex) {
|
|
|
+ ex.printStackTrace();
|
|
|
+ }
|
|
|
request.getSession().setAttribute("plotBandMap", plotBandMap);
|
|
|
|
|
|
// sb.append("]");
|
|
@@ -654,7 +598,7 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
return plotBands;
|
|
|
}
|
|
|
|
|
|
- public Map<String, Double> getPlotBand(Map<String, WindTurbineTestingPointAi> map, Date begindate, Date enddate) throws Exception {
|
|
|
+ public Map<String, Double> getPlotBand(Map<String, WindTurbineTestingPointAi> map, Date begindate, Date enddate,int zt) throws Exception {
|
|
|
WindTurbineTestingPointAi fdlAi = map.get(Constant.TPOINT_WT_RFDL);
|
|
|
WindTurbineTestingPointAi fsAi = map.get(Constant.TPOINT_WT_FJSSFS);
|
|
|
WindTurbineTestingPointAi llfdlAi = map.get(Constant.TPOINT_WT_RFDLBZ);
|
|
@@ -667,11 +611,15 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
double beginfdl = 0.0;
|
|
|
double endfdl = 0.0;
|
|
|
double fdl = 0.0;
|
|
|
- List<PointData> beginfdlls = ednaApiUtil.getHistoryDatasSnap(fdlAi, begindate.getTime() / 1000, begindate.getTime() / 1000, (long) 1, 1L);
|
|
|
+ List<PointData> beginfdlls = ednaApiUtil.getHistoryDatasSnap(fdlAi,
|
|
|
+ begindate.getTime() / 1000, begindate.getTime() / 1000+10,
|
|
|
+ (long) 1, 1L);
|
|
|
if (!beginfdlls.isEmpty()) {
|
|
|
beginfdl = beginfdlls.get(0).getPointValueInDouble();
|
|
|
}
|
|
|
- List<PointData> endfdlls = ednaApiUtil.getHistoryDatasSnap(fdlAi, enddate.getTime() / 1000, enddate.getTime() / 1000, (long) 1, 1L);
|
|
|
+ List<PointData> endfdlls = ednaApiUtil.getHistoryDatasSnap(fdlAi,
|
|
|
+ enddate.getTime() / 1000, enddate.getTime() / 1000+10, (long) 1,
|
|
|
+ 1L);
|
|
|
if (!endfdlls.isEmpty()) {
|
|
|
endfdl = endfdlls.get(0).getPointValueInDouble();
|
|
|
}
|
|
@@ -682,11 +630,15 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
double beginllfdl = 0.0;
|
|
|
double endllfdl = 0.0;
|
|
|
double llfdl = 0.0;
|
|
|
- List<PointData> beginllfdls = ednaApiUtil.getHistoryDatasSnap(llfdlAi, begindate.getTime() / 1000, begindate.getTime() / 1000, (long) 1, 1L);
|
|
|
+ List<PointData> beginllfdls = ednaApiUtil.getHistoryDatasSnap(llfdlAi,
|
|
|
+ begindate.getTime() / 1000, begindate.getTime() / 1000+10,
|
|
|
+ (long) 1, 1L);
|
|
|
if (!beginllfdls.isEmpty()) {
|
|
|
beginllfdl = beginllfdls.get(0).getPointValueInDouble();
|
|
|
}
|
|
|
- List<PointData> endllfdls = ednaApiUtil.getHistoryDatasSnap(llfdlAi, enddate.getTime() / 1000, enddate.getTime() / 1000, (long) 1, 1L);
|
|
|
+ List<PointData> endllfdls = ednaApiUtil.getHistoryDatasSnap(llfdlAi,
|
|
|
+ enddate.getTime() / 1000, enddate.getTime() / 1000+10, (long) 1,
|
|
|
+ 1L);
|
|
|
if (!endllfdls.isEmpty()) {
|
|
|
endllfdl = endllfdls.get(0).getPointValueInDouble();
|
|
|
}
|
|
@@ -698,18 +650,25 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
|
|
|
// 风机状态
|
|
|
double fjzt = 0.0;
|
|
|
- List<PointData> fjztls = ednaApiUtil.getHistoryDatasSnap(fjztAi, begindate.getTime() / 1000, begindate.getTime() / 1000, (long) 1, 1L);
|
|
|
- if (!fjztls.isEmpty()) {
|
|
|
- fjzt = fjztls.get(0).getPointValueInDouble();
|
|
|
- tempmap.put("fjzt", fjzt);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
+// List<PointData> fjztls = ednaApiUtil.getHistoryDatasSnap(fjztAi,
|
|
|
+// begindate.getTime() / 1000+2, enddate.getTime() / 1000+10, (long) 1,
|
|
|
+// 3600L);
|
|
|
+// if (!fjztls.isEmpty()) {
|
|
|
+// fjzt = fjztls.get(0).getPointValueInDouble();
|
|
|
+// tempmap.put("fjzt", fjzt);
|
|
|
+//
|
|
|
+// }
|
|
|
+ fjzt=Double.valueOf(zt);
|
|
|
+ tempmap.put("fjzt", fjzt);
|
|
|
// 风速
|
|
|
double fs = 0.0;
|
|
|
- Double time1 = new BigDecimal(DateUtils.minutesDiff(begindate, enddate)).divide(new BigDecimal(6), 2, RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+ Double time1 = new BigDecimal(DateUtils.minutesDiff(begindate, enddate))
|
|
|
+ .divide(new BigDecimal(60), 2, RoundingMode.HALF_EVEN)
|
|
|
+ .doubleValue();
|
|
|
|
|
|
- List<PointData> fsls = ednaApiUtil.getHistoryDatasSnap(fsAi, begindate.getTime() / 1000, enddate.getTime() / 1000, (long) time1.longValue(), 360L);
|
|
|
+ List<PointData> fsls = ednaApiUtil.getHistoryDatasSnap(fsAi,
|
|
|
+ begindate.getTime() / 1000, enddate.getTime() / 1000,
|
|
|
+ (long) time1.longValue(), 60L);
|
|
|
if (!fsls.isEmpty()) {
|
|
|
for (PointData po : fsls) {
|
|
|
fs = fs + po.getPointValueInDouble();
|
|
@@ -717,13 +676,19 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
if (time1 == 0) {
|
|
|
time1 = 1.0;
|
|
|
}
|
|
|
- double fstemp = new BigDecimal(fs).divide(new BigDecimal(time1.intValue()), 2, RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+ double fstemp = new BigDecimal(fs).divide(
|
|
|
+ new BigDecimal(time1.doubleValue()), 2,
|
|
|
+ RoundingMode.HALF_EVEN).doubleValue();
|
|
|
tempmap.put("fs", StringUtils.round(fstemp, 2));
|
|
|
}
|
|
|
// 功率
|
|
|
double gl = 0.0;
|
|
|
- Double time2 = new BigDecimal(DateUtils.minutesDiff(begindate, enddate)).divide(new BigDecimal(6), 2, RoundingMode.HALF_EVEN).doubleValue();
|
|
|
- List<PointData> glls = ednaApiUtil.getHistoryDatasSnap(glAi, begindate.getTime() / 1000, enddate.getTime() / 1000, (long) time2.longValue(), 360L);
|
|
|
+ Double time2 = new BigDecimal(DateUtils.minutesDiff(begindate, enddate))
|
|
|
+ .divide(new BigDecimal(60), 2, RoundingMode.HALF_EVEN)
|
|
|
+ .doubleValue();
|
|
|
+ List<PointData> glls = ednaApiUtil.getHistoryDatasSnap(glAi,
|
|
|
+ begindate.getTime() / 1000, enddate.getTime() / 1000,
|
|
|
+ (long) time2.longValue(), 60L);
|
|
|
if (!glls.isEmpty()) {
|
|
|
for (PointData po : glls) {
|
|
|
gl = gl + po.getPointValueInDouble();
|
|
@@ -731,7 +696,9 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
if (time2 == 0) {
|
|
|
time2 = 1.0;
|
|
|
}
|
|
|
- double gltemp = new BigDecimal(gl).divide(new BigDecimal(time2.intValue()), 2, RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+ double gltemp = new BigDecimal(gl).divide(
|
|
|
+ new BigDecimal(time2.doubleValue()), 2,
|
|
|
+ RoundingMode.HALF_EVEN).doubleValue();
|
|
|
tempmap.put("gl", StringUtils.round(gltemp, 2));
|
|
|
}
|
|
|
// 时长
|
|
@@ -744,7 +711,17 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
tempmap.put("fdl", 0.0);
|
|
|
tempmap.put("gl", 0.0);
|
|
|
}
|
|
|
- tempmap.put("ssdl", StringUtils.round(llfdl - fdl, 2));
|
|
|
+ double ssdl=StringUtils.round(llfdl - fdl, 2);
|
|
|
+
|
|
|
+ if(llfdl<fdl)
|
|
|
+ {
|
|
|
+ ssdl=0;
|
|
|
+ }
|
|
|
+ if(ssdl<0)
|
|
|
+ {
|
|
|
+ ssdl=0;
|
|
|
+ }
|
|
|
+ tempmap.put("ssdl", ssdl);
|
|
|
tempmap.put("ks", Double.valueOf(begindate.getTime()));
|
|
|
tempmap.put("js", Double.valueOf(enddate.getTime()));
|
|
|
return tempmap;
|
|
@@ -767,7 +744,7 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
break;
|
|
|
case 3:
|
|
|
temp.setLength(0);
|
|
|
- temp.append("color: '#DDDDDD',");
|
|
|
+ temp.append("color: '#FFFFFF',");
|
|
|
break;
|
|
|
case 4:
|
|
|
temp.setLength(0);
|
|
@@ -787,206 +764,4 @@ public class WindturbinegoodnessService extends GenericJdbcDao<Windturbinegoodne
|
|
|
}
|
|
|
return String.valueOf(temp);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- public List<WindturbineanalysisdayVo> getWindturbineanalysisdayVoList(List<Windturbineanalysisday> vos,
|
|
|
- Map<String, Object> params,QueryOrder orders){
|
|
|
- List<WindturbineanalysisdayVo> vols=new ArrayList<WindturbineanalysisdayVo>();
|
|
|
- if (null != vos && !vos.isEmpty()) {
|
|
|
- double c4=0.0;
|
|
|
- double c7=0.0;
|
|
|
- double c10=0.0;
|
|
|
- double c13=0.0;
|
|
|
- double c16=0.0;
|
|
|
- double c19=0.0;
|
|
|
- double c22=0.0;
|
|
|
- double c25=0.0;
|
|
|
- double c28=0.0;
|
|
|
- double c31=0.0;
|
|
|
- double c34=0.0;
|
|
|
- double c37=0.0;
|
|
|
- double c40=0.0;
|
|
|
- double c43=0.0;
|
|
|
- double c46=0.0;
|
|
|
- double c49=0.0;
|
|
|
- double c52=0.0;
|
|
|
- double c55=0.0;
|
|
|
- double c58=0.0;
|
|
|
-
|
|
|
- for(Windturbineanalysisday po:vos)
|
|
|
- {
|
|
|
- WindturbineanalysisdayVo vo=new WindturbineanalysisdayVo();
|
|
|
- vo.setId(po.getId());
|
|
|
- vo.setWindturbineid(po.getWindturbineid());
|
|
|
- if(CacheContext.wtmap.containsKey(po.getWindturbineid()))
|
|
|
- {
|
|
|
- Windturbine wt=CacheContext.wtmap.get(po.getWindturbineid());
|
|
|
- vo.setCode(wt.getCode());
|
|
|
- }
|
|
|
- vo.setRecorddate(po.getRecorddate());
|
|
|
- vo.setC1(po.getC1());
|
|
|
- vo.setC2(po.getC2());
|
|
|
- vo.setC3(po.getC3());
|
|
|
-
|
|
|
- if(StringUtils.notEmp(po.getWindturbineid()))
|
|
|
- {
|
|
|
- params.put("windturbineid",po.getWindturbineid());
|
|
|
- }
|
|
|
-
|
|
|
- if(StringUtils.notEmp(po.getRecorddate()))
|
|
|
- {
|
|
|
- params.put("@recorddate", DateUtils.truncate(po.getRecorddate()));
|
|
|
- }
|
|
|
- if(StringUtils.notEmp(po.getRecorddate()))
|
|
|
- {
|
|
|
- params.put("$recorddate", DateUtils.truncate(po.getRecorddate()));
|
|
|
- }
|
|
|
- orders=new QueryOrder("recorddate", "desc");
|
|
|
- List<Windturbineinfoday3> vos2 = windturbineinfoday3Service.findByProperties(params, orders);
|
|
|
- vo.setC4(vos2.get(0).getDaydl2());
|
|
|
- c4+=vos2.get(0).getDaydl2();
|
|
|
- // vo.setC4(po.getC4()); //日发电量
|
|
|
- vo.setC5(po.getC5());
|
|
|
- vo.setC6(po.getC6());
|
|
|
- // vo.setC7(po.getC7()); //理论
|
|
|
- vo.setC7(vos2.get(0).getDaynhdl());
|
|
|
- c7+=vos2.get(0).getDaynhdl();
|
|
|
- vo.setC8(po.getC8());
|
|
|
- vo.setC9(po.getC9());
|
|
|
- vo.setC10(po.getC10());
|
|
|
- c10+=po.getC10();
|
|
|
- vo.setC11(po.getC11());
|
|
|
- vo.setC12(po.getC12());
|
|
|
- List<Windturbineinfoday> vos3 = windturbineInfoDayService.findByProperties(params, orders);
|
|
|
- vo.setC13(vos3.get(0).getRunhours());
|
|
|
- c13+=vos3.get(0).getRunhours();
|
|
|
- // vo.setC13(po.getC13()); //日运行小时
|
|
|
- vo.setC14(po.getC14());
|
|
|
- vo.setC15(po.getC15());
|
|
|
- vo.setC16(vos3.get(0).getStophours());
|
|
|
- c16+=vos3.get(0).getStophours();
|
|
|
- // vo.setC16(po.getC16()); //日待机小时
|
|
|
- vo.setC17(po.getC17());
|
|
|
- vo.setC18(po.getC18());
|
|
|
- vo.setC19(vos3.get(0).getFaulthours());
|
|
|
- c19+=vos3.get(0).getFaulthours();
|
|
|
- // vo.setC19(po.getC19());//日故障小时
|
|
|
- vo.setC20(po.getC20());
|
|
|
- vo.setC21(po.getC21());
|
|
|
- vo.setC22(vos3.get(0).getMaintainhours());
|
|
|
- c22+=vos3.get(0).getMaintainhours();
|
|
|
- // vo.setC22(po.getC22());//日维护小时
|
|
|
- vo.setC23(po.getC23());
|
|
|
- vo.setC24(po.getC24());
|
|
|
- vo.setC25(vos3.get(0).getInterrupthours());
|
|
|
- c25+=vos3.get(0).getInterrupthours();
|
|
|
- // vo.setC25(po.getC25());//日中断小时
|
|
|
- vo.setC26(po.getC26());
|
|
|
- vo.setC27(po.getC27());
|
|
|
- vo.setC28(po.getC28());
|
|
|
- c28+=po.getC28();
|
|
|
- vo.setC29(po.getC29());
|
|
|
- vo.setC30(po.getC30());
|
|
|
- // vo.setC31(po.getC31()); //损失
|
|
|
- vo.setC31(vos2.get(0).getDaynhgzssdl()+vos2.get(0).getDaynhwhssdl()+vos2.get(0).getDaynhxdssdl()+vos2.get(0).getDaynhqfdl()+vos2.get(0).getDaynhcfdl());
|
|
|
- c31+=vos2.get(0).getDaynhgzssdl()+vos2.get(0).getDaynhwhssdl()+vos2.get(0).getDaynhxdssdl()+vos2.get(0).getDaynhqfdl()+vos2.get(0).getDaynhcfdl();
|
|
|
- vo.setC32(po.getC32());
|
|
|
- vo.setC33(po.getC33());
|
|
|
- vo.setC34(po.getC34());
|
|
|
- c34+=po.getC34();
|
|
|
- vo.setC35(po.getC35());
|
|
|
- vo.setC36(po.getC36());
|
|
|
- vo.setC37(po.getC37());
|
|
|
- c37+=po.getC37();
|
|
|
- vo.setC38(po.getC38());
|
|
|
- vo.setC39(po.getC39());
|
|
|
- vo.setC40(po.getC40());
|
|
|
- c40+=po.getC40();
|
|
|
- vo.setC41(po.getC41());
|
|
|
- vo.setC42(po.getC42());
|
|
|
- vo.setC43(po.getC43());
|
|
|
- c43+=po.getC43();
|
|
|
- vo.setC44(po.getC44());
|
|
|
- vo.setC45(po.getC45());
|
|
|
- vo.setC46(po.getC46());
|
|
|
- c46+=po.getC46();
|
|
|
- vo.setC47(po.getC47());
|
|
|
- vo.setC48(po.getC48());
|
|
|
- vo.setC49(po.getC49());
|
|
|
- c49+=po.getC49();
|
|
|
- vo.setC50(po.getC50());
|
|
|
- vo.setC51(po.getC51());
|
|
|
- vo.setC52(po.getC52());
|
|
|
- c52+=po.getC52();
|
|
|
- vo.setC53(po.getC53());
|
|
|
- vo.setC54(po.getC54());
|
|
|
- vo.setC55(po.getC55());
|
|
|
- c55+=po.getC55();
|
|
|
- vo.setC56(po.getC56());
|
|
|
- vo.setC57(po.getC57());
|
|
|
- vo.setC58(po.getC58());
|
|
|
- c58+=po.getC58();
|
|
|
- vo.setC59(po.getC59());
|
|
|
- vo.setC60(po.getC60());
|
|
|
- vols.add(vo);
|
|
|
- }
|
|
|
- WindturbineanalysisdayVo newVo= new WindturbineanalysisdayVo();
|
|
|
- newVo.setRecorddate(null);
|
|
|
- newVo.setWindturbineid(null);
|
|
|
- newVo.setCode("合计");
|
|
|
- newVo.setC4(c4);
|
|
|
- newVo.setC7(c7);
|
|
|
- newVo.setC10(c10);
|
|
|
- newVo.setC13(c13);
|
|
|
- newVo.setC16(c16);
|
|
|
- newVo.setC19(c19);
|
|
|
- newVo.setC22(c22);
|
|
|
- newVo.setC25(c25);
|
|
|
- newVo.setC28(c28);
|
|
|
- newVo.setC31(c31);
|
|
|
- newVo.setC34(c34);
|
|
|
- newVo.setC37(c37);
|
|
|
- newVo.setC40(c40);
|
|
|
- newVo.setC43(c43);
|
|
|
- newVo.setC46(c46);
|
|
|
- newVo.setC49(c49);
|
|
|
- newVo.setC52(c52);
|
|
|
- newVo.setC55(c55);
|
|
|
- newVo.setC58(c58);
|
|
|
- vols.add(newVo);
|
|
|
- return vols;
|
|
|
- } else {
|
|
|
- return new ArrayList<WindturbineanalysisdayVo>();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- List<Object> objs = new ArrayList<Object>();
|
|
|
- public Map<String,Double> getWindturbineinfo3Speed(String windfarm,Date begin,Date end){
|
|
|
- List<Object> objs = new ArrayList<Object>();
|
|
|
- objs.add(begin);
|
|
|
- objs.add(end);
|
|
|
- objs.add(windfarm);
|
|
|
- String sql = "select sum(t1.dayspeed)/count(t1.windturbineid) speed,t1.windturbineid from windturbineinfoday3 t1 where t1.recorddate>=? " +
|
|
|
- "and t1.recorddate<=? and t1.windpowerstationid=? group by t1.windturbineid ";
|
|
|
-
|
|
|
- @SuppressWarnings("unchecked")
|
|
|
- List<StatisticalAnalysisTopVo> newVolist = operate.query(sql, objs.toArray(new Object[0]), new RowMapper() {
|
|
|
-
|
|
|
- @Override
|
|
|
- public Object mapRow(ResultSet rs, int arg1) throws SQLException {
|
|
|
- StatisticalAnalysisTopVo newVo = new StatisticalAnalysisTopVo();
|
|
|
- newVo.setSpeed(rs.getBigDecimal("speed").setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
- newVo.setWindturbine(rs.getString("windturbineid"));
|
|
|
- return newVo;
|
|
|
- }
|
|
|
- });
|
|
|
- Map<String,Double> newSpeedMap = new HashMap<String, Double>();
|
|
|
- for(int i=0;i<newVolist.size();i++){
|
|
|
- newSpeedMap.put(newVolist.get(i).getWindturbine(), newVolist.get(i).getSpeed());
|
|
|
- }
|
|
|
-
|
|
|
- return newSpeedMap;
|
|
|
- }
|
|
|
}
|