|
@@ -1,328 +1,429 @@
|
|
|
-
|
|
|
- * Project Name:nxfd2
|
|
|
- * File Name:MathsService.java
|
|
|
- * Package Name:com.hcks.cmfds.service
|
|
|
- * Date:2016-7-22上午08:43:26
|
|
|
- * Copyright (c) 2016, chenzhou1025@126.com All Rights Reserved.
|
|
|
- *
|
|
|
- */
|
|
|
-
|
|
|
-package com.hcks.cmfds.service;
|
|
|
-
|
|
|
-import java.math.BigDecimal;
|
|
|
-import java.math.RoundingMode;
|
|
|
-import java.sql.ResultSet;
|
|
|
-import java.sql.SQLException;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Calendar;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-
|
|
|
-import org.apache.struts2.components.Else;
|
|
|
-import org.springframework.jdbc.core.RowMapper;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-import com.hcks.cmfds.Constant;
|
|
|
-import com.hcks.cmfds.commons.util.StringUtils;
|
|
|
-import com.hcks.cmfds.core.persistence.GenericJdbcDao;
|
|
|
-import com.hcks.cmfds.model.Activepowerdata;
|
|
|
-import com.hcks.cmfds.model.WindPowerStationTestingPoint;
|
|
|
-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;
|
|
|
-
|
|
|
-
|
|
|
- * ClassName:MathsService <br/>
|
|
|
- * Function: TODO ADD FUNCTION. <br/>
|
|
|
- * Reason: TODO ADD REASON. <br/>
|
|
|
- * Date: 2016-7-22 上午08:43:26 <br/>
|
|
|
- *
|
|
|
- * @author 石林
|
|
|
- * @version
|
|
|
- * @since JDK 1.6
|
|
|
- * @see
|
|
|
- */
|
|
|
-@Service
|
|
|
-public class MathsService extends GenericJdbcDao<Activepowerdata> {
|
|
|
- private IEdosUtil ednaApiUtil = new EdosUtil();
|
|
|
-
|
|
|
- public Map<String,String> getResultValue(String wpid, Date begin, Date end) throws Exception
|
|
|
- {
|
|
|
- Map<String,String> resultmap=new HashMap<String, String>();
|
|
|
- Map<String, Map<String, WindPowerStationTestingPoint>> map=CacheContext.stationPointmap;
|
|
|
- double sfdl=0.0;
|
|
|
- double yffdl=0.0;
|
|
|
- double xddl=0.0;
|
|
|
- double dwsl=0.0;
|
|
|
- double tqsl=0.0;
|
|
|
-
|
|
|
- double sfdlxs=0.0;
|
|
|
- double yffdlxs=0.0;
|
|
|
- double xddlxs=0.0;
|
|
|
- double dwslxs=0.0;
|
|
|
- double tqslxs=0.0;
|
|
|
- double zjrl=0.0;
|
|
|
- double result=0.0;
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- if(map.containsKey(wpid))
|
|
|
- {
|
|
|
- if(CacheContext.wpmap.containsKey(wpid))
|
|
|
- {
|
|
|
- zjrl=CacheContext.wpmap.get(wpid).getCapacity();
|
|
|
- }
|
|
|
- Map<String, WindPowerStationTestingPoint> wpmap=map.get(wpid);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- String b =StringUtils.formatDate(begin).substring(6, 7);
|
|
|
- String y =StringUtils.formatDate(end).substring(0, 4);
|
|
|
- String bnow = StringUtils.formatDate(new Date()).substring(6, 7);
|
|
|
- String ynow = StringUtils.formatDate(new Date()).substring(0, 4);
|
|
|
- if(Integer.parseInt(b)==Integer.parseInt(bnow) && Integer.parseInt(y)==Integer.parseInt(ynow))
|
|
|
- {
|
|
|
- getRealInfo(resultmap, sfdlxs, yffdlxs, xddlxs, dwslxs, tqslxs, zjrl,
|
|
|
- result, wpmap);
|
|
|
- }else
|
|
|
- {
|
|
|
- getHistInfo(begin, end, resultmap, sfdl, yffdl, xddl, dwsl, tqsl,
|
|
|
- sfdlxs, yffdlxs, xddlxs, dwslxs, tqslxs, zjrl, result,
|
|
|
- wpmap);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- return resultmap;
|
|
|
- }
|
|
|
-
|
|
|
-private void getHistInfo(Date begin, Date end, Map<String, String> resultmap,
|
|
|
- double sfdl, double yffdl, double xddl, double dwsl, double tqsl,
|
|
|
- double sfdlxs, double yffdlxs, double xddlxs, double dwslxs,
|
|
|
- double tqslxs, double zjrl, double result,
|
|
|
- Map<String, WindPowerStationTestingPoint> wpmap) throws Exception {
|
|
|
- List<PointData> ls = ednaApiUtil.getHistoryDatasSnap(wpmap.get(
|
|
|
- Constant.TPOINT_WP_YFDL),
|
|
|
- begin.getTime() / 1000,
|
|
|
- end.getTime() / 1000, 1L, 1L);
|
|
|
- if(!ls.isEmpty())
|
|
|
- {
|
|
|
- sfdl=ls.get(0).getPointValueInDouble();
|
|
|
- }
|
|
|
-
|
|
|
- ls = ednaApiUtil.getHistoryDatasSnap(wpmap.get(
|
|
|
- Constant.TPOINT_WP_YFDLD),
|
|
|
- begin.getTime() / 1000,
|
|
|
- end.getTime() / 1000, 1L, 1L);
|
|
|
- if(!ls.isEmpty())
|
|
|
- {
|
|
|
- sfdl=ls.get(0).getPointValueInDouble();
|
|
|
- }
|
|
|
-
|
|
|
- ls = ednaApiUtil.getHistoryDatasSnap(wpmap.get(
|
|
|
- Constant.YXDSSDL),
|
|
|
- begin.getTime() / 1000,
|
|
|
- end.getTime() / 1000, 1L, 1L);
|
|
|
- if(!ls.isEmpty())
|
|
|
- {
|
|
|
- yffdl=ls.get(0).getPointValueInDouble();
|
|
|
- }
|
|
|
- ls = ednaApiUtil.getHistoryDatasSnap(wpmap.get(
|
|
|
- Constant.YWZSSDL),
|
|
|
- begin.getTime() / 1000,
|
|
|
- end.getTime() / 1000, 1L, 1L);
|
|
|
- if(!ls.isEmpty())
|
|
|
- {
|
|
|
- dwsl=ls.get(0).getPointValueInDouble();
|
|
|
- }
|
|
|
- ls = ednaApiUtil.getHistoryDatasSnap(wpmap.get(
|
|
|
- Constant.YTZSSDL),
|
|
|
- begin.getTime() / 1000,
|
|
|
- end.getTime() / 1000, 1L, 1L);
|
|
|
- if(!ls.isEmpty())
|
|
|
- {
|
|
|
- tqsl=ls.get(0).getPointValueInDouble();
|
|
|
- }
|
|
|
- sfdl = new BigDecimal(sfdl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
- yffdl = new BigDecimal(yffdl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
- xddl = new BigDecimal(xddl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
- dwsl = new BigDecimal(dwsl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
- tqsl = new BigDecimal(tqsl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
- zjrl = new BigDecimal(zjrl).divide(new BigDecimal(10), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
-
|
|
|
- if(zjrl!=0.0)
|
|
|
- {
|
|
|
- sfdlxs = new BigDecimal(sfdl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
- yffdlxs = new BigDecimal(yffdl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
- xddlxs = new BigDecimal(xddl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
- dwslxs = new BigDecimal(dwsl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
- tqslxs = new BigDecimal(tqsl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- if((yffdlxs-xddlxs-dwslxs-tqslxs)>0)
|
|
|
- {
|
|
|
- result=new BigDecimal(yffdlxs-sfdlxs-xddlxs-dwslxs-tqslxs).divide(new BigDecimal(yffdlxs-xddlxs-dwslxs-tqslxs), 2,RoundingMode.HALF_EVEN)
|
|
|
- .multiply(new BigDecimal(100)).doubleValue();
|
|
|
- }
|
|
|
-
|
|
|
- resultmap.put("sfdl", String.valueOf(sfdl));
|
|
|
- resultmap.put("yffdl", String.valueOf(yffdl));
|
|
|
- resultmap.put("xddl", String.valueOf(xddl));
|
|
|
- resultmap.put("dwsl", String.valueOf(dwsl));
|
|
|
- resultmap.put("tqsl", String.valueOf(tqsl));
|
|
|
- resultmap.put("zjrl", String.valueOf(zjrl));
|
|
|
- resultmap.put("result", String.valueOf(result));
|
|
|
-}
|
|
|
-
|
|
|
-private void getRealInfo(Map<String, String> resultmap, double sfdlxs,
|
|
|
- double yffdlxs, double xddlxs, double dwslxs, double tqslxs,
|
|
|
- double zjrl, double result,
|
|
|
- Map<String, WindPowerStationTestingPoint> wpmap) throws Exception {
|
|
|
- double sfdl;
|
|
|
- double yffdl;
|
|
|
- double xddl;
|
|
|
- double dwsl;
|
|
|
- double tqsl;
|
|
|
- sfdl = ednaApiUtil.getRealData(wpmap.get(
|
|
|
- Constant.TPOINT_WP_YFDL))
|
|
|
- .getPointValueInDouble();
|
|
|
- yffdl = ednaApiUtil.getRealData(wpmap.get(
|
|
|
- Constant.TPOINT_WP_YFDLD))
|
|
|
- .getPointValueInDouble();
|
|
|
- xddl = ednaApiUtil.getRealData(wpmap.get(
|
|
|
- Constant.YXDSSDL))
|
|
|
- .getPointValueInDouble();
|
|
|
- dwsl = ednaApiUtil.getRealData(wpmap.get(
|
|
|
- Constant.YWZSSDL))
|
|
|
- .getPointValueInDouble();
|
|
|
- tqsl = ednaApiUtil.getRealData(wpmap.get(
|
|
|
- Constant.YTZSSDL))
|
|
|
- .getPointValueInDouble();
|
|
|
- yffdl = new BigDecimal(yffdl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
- xddl = new BigDecimal(xddl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
- dwsl = new BigDecimal(dwsl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
- tqsl = new BigDecimal(tqsl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
- zjrl = new BigDecimal(zjrl).divide(new BigDecimal(10), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
-
|
|
|
- if(zjrl!=0.0)
|
|
|
- {
|
|
|
- sfdlxs = new BigDecimal(sfdl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
- yffdlxs = new BigDecimal(yffdl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
- xddlxs = new BigDecimal(xddl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
- dwslxs = new BigDecimal(dwsl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
- tqslxs = new BigDecimal(tqsl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- if((yffdlxs-xddlxs-dwslxs-tqslxs)>0)
|
|
|
- {
|
|
|
- result=new BigDecimal(yffdlxs-sfdlxs-xddlxs-dwslxs-tqslxs).divide(new BigDecimal(yffdlxs-xddlxs-dwslxs-tqslxs), 2,RoundingMode.HALF_EVEN)
|
|
|
- .multiply(new BigDecimal(100)).doubleValue();
|
|
|
- }
|
|
|
-
|
|
|
- resultmap.put("sfdl", String.valueOf(sfdl));
|
|
|
- resultmap.put("yffdl", String.valueOf(yffdl));
|
|
|
- resultmap.put("xddl", String.valueOf(xddl));
|
|
|
- resultmap.put("dwsl", String.valueOf(dwsl));
|
|
|
- resultmap.put("tqsl", String.valueOf(tqsl));
|
|
|
- resultmap.put("zjrl", String.valueOf(zjrl));
|
|
|
- resultmap.put("result", String.valueOf(result));
|
|
|
-}
|
|
|
-public Map<String, String> getResultValue1(String wpid, String year,String month) throws Exception {
|
|
|
- double sfdl=0.0;
|
|
|
- double yffdl=0.0;
|
|
|
- double xddl=0.0;
|
|
|
- double dwsl=0.0;
|
|
|
- double tqsl=0.0;
|
|
|
- double zjrl=0.0;
|
|
|
-
|
|
|
- month="0"+month;
|
|
|
- }*/
|
|
|
- Map<String,String> resultmap=new HashMap<String, String>();
|
|
|
- if(CacheContext.wpmap.containsKey(wpid))
|
|
|
- {
|
|
|
- zjrl=CacheContext.wpmap.get(wpid).getCapacity();
|
|
|
- }
|
|
|
- List<Object> objs = new ArrayList<Object>();
|
|
|
- String sql = "select SUM(t.generatingCapacity2) yfdl,SUM(t.theoryGeneration) llfdl,SUM(t.dayNHXDSSDL) xdssdl from rp_wtday t where substr(t.RQ,0,6)='"+year+month+"' ";
|
|
|
- if (null != wpid) {
|
|
|
- sql += " and t.windpowerstationid='"+wpid+"'";
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @SuppressWarnings("unchecked")
|
|
|
- List<DataVo> retValue = operate.query(sql, objs.toArray(new Object[0]), new RowMapper() {
|
|
|
- @Override
|
|
|
- public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
|
|
|
- DataVo vo = new DataVo();
|
|
|
- vo.setValue1(rs.getDouble("yfdl"));
|
|
|
- vo.setValue2(rs.getDouble("llfdl"));
|
|
|
- vo.setValue3(rs.getDouble("xdssdl"));
|
|
|
- vo.setValue4(0.0);
|
|
|
- vo.setValue5(0.0);
|
|
|
- return vo;
|
|
|
- }
|
|
|
- });
|
|
|
- sfdl = retValue.get(0).getValue1();
|
|
|
- yffdl = retValue.get(0).getValue2();
|
|
|
- xddl = retValue.get(0).getValue3();
|
|
|
- dwsl =0.0;
|
|
|
- tqsl =0.0;
|
|
|
-
|
|
|
-
|
|
|
- zjrl = new BigDecimal(zjrl).divide(new BigDecimal(10), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
- double sfdlxs;
|
|
|
- double yffdlxs;
|
|
|
- double xddlxs;
|
|
|
- double dwslxs;
|
|
|
- double tqslxs;
|
|
|
- double result = 0;
|
|
|
-
|
|
|
-
|
|
|
- sfdlxs = new BigDecimal(sfdl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
- yffdlxs = new BigDecimal(yffdl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
- xddlxs = new BigDecimal(xddl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
- dwslxs = new BigDecimal(dwsl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
- tqslxs = new BigDecimal(tqsl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- if((yffdlxs-xddlxs-dwslxs-tqslxs)>0)
|
|
|
- {
|
|
|
- result=Math.round((yffdlxs-sfdlxs-xddlxs-dwslxs-tqslxs)/(yffdlxs-xddlxs-dwslxs-tqslxs)*100);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- resultmap.put("sfdl", String.valueOf(sfdl));
|
|
|
- resultmap.put("yffdl", String.valueOf(yffdl));
|
|
|
- resultmap.put("xddl", String.valueOf(xddl));
|
|
|
- resultmap.put("dwsl", String.valueOf(dwsl));
|
|
|
- resultmap.put("tqsl", String.valueOf(tqsl));
|
|
|
- resultmap.put("zjrl", String.valueOf(zjrl));
|
|
|
- resultmap.put("result", String.valueOf(result));
|
|
|
- return resultmap;
|
|
|
-}
|
|
|
-}
|
|
|
+
|
|
|
+ * Project Name:nxfd2
|
|
|
+ * File Name:MathsService.java
|
|
|
+ * Package Name:com.hcks.cmfds.service
|
|
|
+ * Date:2016-7-22上午08:43:26
|
|
|
+ * Copyright (c) 2016, chenzhou1025@126.com All Rights Reserved.
|
|
|
+ *
|
|
|
+ */
|
|
|
+
|
|
|
+package com.hcks.cmfds.service;
|
|
|
+
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
+import java.sql.ResultSet;
|
|
|
+import java.sql.SQLException;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+import org.springframework.jdbc.core.RowMapper;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import com.hcks.cmfds.Constant;
|
|
|
+import com.hcks.cmfds.commons.util.StringUtils;
|
|
|
+import com.hcks.cmfds.core.persistence.GenericJdbcDao;
|
|
|
+import com.hcks.cmfds.model.Activepowerdata;
|
|
|
+import com.hcks.cmfds.model.WindPowerStationTestingPoint;
|
|
|
+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;
|
|
|
+
|
|
|
+
|
|
|
+ * ClassName:MathsService <br/>
|
|
|
+ * Function: TODO ADD FUNCTION. <br/>
|
|
|
+ * Reason: TODO ADD REASON. <br/>
|
|
|
+ * Date: 2016-7-22 上午08:43:26 <br/>
|
|
|
+ *
|
|
|
+ * @author 石林
|
|
|
+ * @version
|
|
|
+ * @since JDK 1.6
|
|
|
+ * @see
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class MathsService extends GenericJdbcDao<Activepowerdata> {
|
|
|
+ private IEdosUtil ednaApiUtil = new EdosUtil();
|
|
|
+
|
|
|
+ public Map<String,String> getResultValue(String wpid, Date begin, Date end) throws Exception
|
|
|
+ {
|
|
|
+ Map<String,String> resultmap=new HashMap<String, String>();
|
|
|
+ Map<String, Map<String, WindPowerStationTestingPoint>> map=CacheContext.stationPointmap;
|
|
|
+ double sfdl=0.0;
|
|
|
+ double yffdl=0.0;
|
|
|
+ double xddl=0.0;
|
|
|
+ double dwsl=0.0;
|
|
|
+ double tqsl=0.0;
|
|
|
+
|
|
|
+ double sfdlxs=0.0;
|
|
|
+ double yffdlxs=0.0;
|
|
|
+ double xddlxs=0.0;
|
|
|
+ double dwslxs=0.0;
|
|
|
+ double tqslxs=0.0;
|
|
|
+ double zjrl=0.0;
|
|
|
+ double result=0.0;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if(map.containsKey(wpid))
|
|
|
+ {
|
|
|
+ if(CacheContext.wpmap.containsKey(wpid))
|
|
|
+ {
|
|
|
+ zjrl=CacheContext.wpmap.get(wpid).getCapacity();
|
|
|
+ }
|
|
|
+ Map<String, WindPowerStationTestingPoint> wpmap=map.get(wpid);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ String b =StringUtils.formatDate(begin).substring(6, 7);
|
|
|
+ String y =StringUtils.formatDate(end).substring(0, 4);
|
|
|
+ String bnow = StringUtils.formatDate(new Date()).substring(6, 7);
|
|
|
+ String ynow = StringUtils.formatDate(new Date()).substring(0, 4);
|
|
|
+ if(Integer.parseInt(b)==Integer.parseInt(bnow) && Integer.parseInt(y)==Integer.parseInt(ynow))
|
|
|
+ {
|
|
|
+ getRealInfo(resultmap, sfdlxs, yffdlxs, xddlxs, dwslxs, tqslxs, zjrl,
|
|
|
+ result, wpmap);
|
|
|
+ }else
|
|
|
+ {
|
|
|
+ getHistInfo(begin, end, resultmap, sfdl, yffdl, xddl, dwsl, tqsl,
|
|
|
+ sfdlxs, yffdlxs, xddlxs, dwslxs, tqslxs, zjrl, result,
|
|
|
+ wpmap);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ return resultmap;
|
|
|
+ }
|
|
|
+
|
|
|
+private void getHistInfo(Date begin, Date end, Map<String, String> resultmap,
|
|
|
+ double sfdl, double yffdl, double xddl, double dwsl, double tqsl,
|
|
|
+ double sfdlxs, double yffdlxs, double xddlxs, double dwslxs,
|
|
|
+ double tqslxs, double zjrl, double result,
|
|
|
+ Map<String, WindPowerStationTestingPoint> wpmap) throws Exception {
|
|
|
+ List<PointData> ls = ednaApiUtil.getHistoryDatasSnap(wpmap.get(
|
|
|
+ Constant.TPOINT_WP_YFDL),
|
|
|
+ begin.getTime() / 1000,
|
|
|
+ end.getTime() / 1000, 1L, 1L);
|
|
|
+ List<PointData> ls1;
|
|
|
+ List<PointData> ls2;
|
|
|
+ List<PointData> ls3;
|
|
|
+ if(!ls.isEmpty())
|
|
|
+ {
|
|
|
+ sfdl=ls.get(0).getPointValueInDouble();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * ls = ednaApiUtil.getHistoryDatasSnap(wpmap.get(
|
|
|
+ * Constant.TPOINT_WP_YFDLD), begin.getTime() / 1000, end.getTime() /
|
|
|
+ * 1000, 1L, 1L); if(!ls.isEmpty()) {
|
|
|
+ * sfdl=ls.get(0).getPointValueInDouble(); }
|
|
|
+ */
|
|
|
+
|
|
|
+ * public static final String YSDJZSDL = "YSDJZSDL"; public static final
|
|
|
+ * String YSSTZSDL = "YSSTZSDL"; public static final String YXNZSDL =
|
|
|
+ * "YXNZSDL"; public static final String YSQXZSDL = "YSQXZSDL"; public
|
|
|
+ * static final String YGZZSDL = "YGZZSDL"; public static final String
|
|
|
+ * YSZZSDL = "YSZZSDL"; public static final String YJXZSDL = "YJXZSDL";
|
|
|
+ * public static final String YLZZSDL = "YLZZSDL"; public static final
|
|
|
+ * String YQFZSDL = "YQFZSDL"; public static final String YXDZSDL =
|
|
|
+ * "YXDZSDL"; public static final String YWZZSDL = "YWZZSDL"; public
|
|
|
+ * static final String YTZZSDL = "YTZZSDL";
|
|
|
+ */
|
|
|
+ double temp;
|
|
|
+ double gzdl = 0;
|
|
|
+ double whdl = 0;
|
|
|
+ double xndl = 0;
|
|
|
+ ls = ednaApiUtil.getHistoryDatasSnap(wpmap.get(
|
|
|
+Constant.YXDZSDL),
|
|
|
+ begin.getTime() / 1000, end.getTime() / 1000, 1L, 1L);
|
|
|
+ ls1 = ednaApiUtil.getHistoryDatasSnap(wpmap.get(Constant.YXDZSDL),
|
|
|
+ begin.getTime() / 1000,
|
|
|
+ end.getTime() / 1000, 1L, 1L);
|
|
|
+ if(!ls.isEmpty())
|
|
|
+ {
|
|
|
+ xddl = ls.get(0).getPointValueInDouble();
|
|
|
+ }
|
|
|
+ if (!ls1.isEmpty()) {
|
|
|
+ temp = ls1.get(0).getPointValueInDouble();
|
|
|
+ xddl = xddl + temp;
|
|
|
+ }
|
|
|
+
|
|
|
+ ls = ednaApiUtil.getHistoryDatasSnap(wpmap.get(Constant.YGZZSDL),
|
|
|
+ begin.getTime() / 1000, end.getTime() / 1000, 1L, 1L);
|
|
|
+ ls1 = ednaApiUtil.getHistoryDatasSnap(wpmap.get(Constant.YSZZSDL),
|
|
|
+ begin.getTime() / 1000, end.getTime() / 1000, 1L, 1L);
|
|
|
+ if (!ls.isEmpty()) {
|
|
|
+ gzdl = ls.get(0).getPointValueInDouble();
|
|
|
+ }
|
|
|
+ if (!ls1.isEmpty()) {
|
|
|
+ temp = ls1.get(0).getPointValueInDouble();
|
|
|
+ gzdl = gzdl + temp;
|
|
|
+ }
|
|
|
+
|
|
|
+ ls = ednaApiUtil.getHistoryDatasSnap(wpmap.get(Constant.YJXZSDL),
|
|
|
+ begin.getTime() / 1000, end.getTime() / 1000, 1L, 1L);
|
|
|
+ ls1 = ednaApiUtil.getHistoryDatasSnap(wpmap.get(Constant.YLZZSDL),
|
|
|
+ begin.getTime() / 1000, end.getTime() / 1000, 1L, 1L);
|
|
|
+ if (!ls.isEmpty()) {
|
|
|
+ whdl = ls.get(0).getPointValueInDouble();
|
|
|
+ }
|
|
|
+ if (!ls1.isEmpty()) {
|
|
|
+ temp = ls1.get(0).getPointValueInDouble();
|
|
|
+ whdl = whdl + temp;
|
|
|
+ }
|
|
|
+
|
|
|
+ ls = ednaApiUtil.getHistoryDatasSnap(wpmap.get(Constant.YSDJZSDL),
|
|
|
+ begin.getTime() / 1000, end.getTime() / 1000, 1L, 1L);
|
|
|
+ ls1 = ednaApiUtil.getHistoryDatasSnap(wpmap.get(Constant.YSSTZSDL),
|
|
|
+ begin.getTime() / 1000, end.getTime() / 1000, 1L, 1L);
|
|
|
+ ls2 = ednaApiUtil.getHistoryDatasSnap(wpmap.get(Constant.YXNZSDL),
|
|
|
+ begin.getTime() / 1000, end.getTime() / 1000, 1L, 1L);
|
|
|
+ ls3 = ednaApiUtil.getHistoryDatasSnap(wpmap.get(Constant.YSQXZSDL),
|
|
|
+ begin.getTime() / 1000, end.getTime() / 1000, 1L, 1L);
|
|
|
+ if (!ls.isEmpty()) {
|
|
|
+ xndl = ls.get(0).getPointValueInDouble();
|
|
|
+ }
|
|
|
+ if (!ls1.isEmpty()) {
|
|
|
+ temp = ls1.get(0).getPointValueInDouble();
|
|
|
+ xndl = xndl + temp;
|
|
|
+ }
|
|
|
+ if (!ls2.isEmpty()) {
|
|
|
+ temp = ls2.get(0).getPointValueInDouble();
|
|
|
+ xndl = xndl + temp;
|
|
|
+ }
|
|
|
+ if (!ls3.isEmpty()) {
|
|
|
+ temp = ls3.get(0).getPointValueInDouble();
|
|
|
+ xndl = xndl + temp;
|
|
|
+ }
|
|
|
+
|
|
|
+ ls = ednaApiUtil.getHistoryDatasSnap(wpmap.get(
|
|
|
+Constant.YWZZSDL),
|
|
|
+ begin.getTime() / 1000,
|
|
|
+ end.getTime() / 1000, 1L, 1L);
|
|
|
+ if(!ls.isEmpty())
|
|
|
+ {
|
|
|
+ dwsl=ls.get(0).getPointValueInDouble();
|
|
|
+ }
|
|
|
+ ls = ednaApiUtil.getHistoryDatasSnap(wpmap.get(
|
|
|
+Constant.YTZZSDL),
|
|
|
+ begin.getTime() / 1000,
|
|
|
+ end.getTime() / 1000, 1L, 1L);
|
|
|
+ if(!ls.isEmpty())
|
|
|
+ {
|
|
|
+ tqsl=ls.get(0).getPointValueInDouble();
|
|
|
+ }
|
|
|
+ yffdl = sfdl + gzdl + whdl + xndl + xddl + dwsl + tqsl;
|
|
|
+ sfdl = new BigDecimal(sfdl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+ yffdl = new BigDecimal(yffdl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+ xddl = new BigDecimal(xddl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+ dwsl = new BigDecimal(dwsl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+ tqsl = new BigDecimal(tqsl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+ zjrl = new BigDecimal(zjrl).divide(new BigDecimal(10), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+
|
|
|
+ if(zjrl!=0.0)
|
|
|
+ {
|
|
|
+ sfdlxs = new BigDecimal(sfdl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+ yffdlxs = new BigDecimal(yffdl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+ xddlxs = new BigDecimal(xddl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+ dwslxs = new BigDecimal(dwsl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+ tqslxs = new BigDecimal(tqsl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if((yffdlxs-xddlxs-dwslxs-tqslxs)>0)
|
|
|
+ {
|
|
|
+ result=new BigDecimal(yffdlxs-sfdlxs-xddlxs-dwslxs-tqslxs).divide(new BigDecimal(yffdlxs-xddlxs-dwslxs-tqslxs), 2,RoundingMode.HALF_EVEN)
|
|
|
+ .multiply(new BigDecimal(100)).doubleValue();
|
|
|
+ }
|
|
|
+
|
|
|
+ resultmap.put("sfdl", String.valueOf(sfdl));
|
|
|
+ resultmap.put("yffdl", String.valueOf(yffdl));
|
|
|
+ resultmap.put("xddl", String.valueOf(xddl));
|
|
|
+ resultmap.put("dwsl", String.valueOf(dwsl));
|
|
|
+ resultmap.put("tqsl", String.valueOf(tqsl));
|
|
|
+ resultmap.put("zjrl", String.valueOf(zjrl));
|
|
|
+ resultmap.put("result", String.valueOf(result));
|
|
|
+}
|
|
|
+
|
|
|
+private void getRealInfo(Map<String, String> resultmap, double sfdlxs,
|
|
|
+ double yffdlxs, double xddlxs, double dwslxs, double tqslxs,
|
|
|
+ double zjrl, double result,
|
|
|
+ Map<String, WindPowerStationTestingPoint> wpmap) throws Exception {
|
|
|
+ double sfdl;
|
|
|
+ double yffdl;
|
|
|
+ double xddl;
|
|
|
+ double dwsl;
|
|
|
+ double tqsl;
|
|
|
+ double gzdl;
|
|
|
+ double whdl;
|
|
|
+ double xndl;
|
|
|
+
|
|
|
+ double temp;
|
|
|
+ double temp1;
|
|
|
+ double temp2;
|
|
|
+
|
|
|
+ sfdl = ednaApiUtil.getRealData(wpmap.get(
|
|
|
+ Constant.TPOINT_WP_YFDL))
|
|
|
+ .getPointValueInDouble();
|
|
|
+
|
|
|
+ xddl = ednaApiUtil.getRealData(wpmap.get(
|
|
|
+Constant.YQFZSDL))
|
|
|
+ .getPointValueInDouble();
|
|
|
+ temp = ednaApiUtil.getRealData(wpmap.get(
|
|
|
+Constant.YXDZSDL))
|
|
|
+ .getPointValueInDouble();
|
|
|
+ xddl = xddl + temp;
|
|
|
+ dwsl = ednaApiUtil.getRealData(wpmap.get(
|
|
|
+Constant.YWZZSDL))
|
|
|
+ .getPointValueInDouble();
|
|
|
+ tqsl = ednaApiUtil.getRealData(wpmap.get(
|
|
|
+Constant.YTZZSDL))
|
|
|
+ .getPointValueInDouble();
|
|
|
+ gzdl = ednaApiUtil.getRealData(wpmap.get(Constant.YGZZSDL))
|
|
|
+ .getPointValueInDouble();
|
|
|
+ temp = ednaApiUtil.getRealData(wpmap.get(Constant.YSZZSDL))
|
|
|
+ .getPointValueInDouble();
|
|
|
+ gzdl = gzdl + temp;
|
|
|
+ whdl = ednaApiUtil.getRealData(wpmap.get(Constant.YJXZSDL))
|
|
|
+ .getPointValueInDouble();
|
|
|
+ temp = ednaApiUtil.getRealData(wpmap.get(Constant.YLZZSDL))
|
|
|
+ .getPointValueInDouble();
|
|
|
+ whdl = whdl + temp;
|
|
|
+ xndl = ednaApiUtil.getRealData(wpmap.get(Constant.YSDJZSDL))
|
|
|
+ .getPointValueInDouble();
|
|
|
+ temp = ednaApiUtil.getRealData(wpmap.get(Constant.YSSTZSDL))
|
|
|
+ .getPointValueInDouble();
|
|
|
+ temp1 = ednaApiUtil.getRealData(wpmap.get(Constant.YXNZSDL))
|
|
|
+ .getPointValueInDouble();
|
|
|
+ temp2 = ednaApiUtil.getRealData(wpmap.get(Constant.YSQXZSDL))
|
|
|
+ .getPointValueInDouble();
|
|
|
+ xndl = xndl + temp + temp1 + temp2;
|
|
|
+
|
|
|
+ yffdl = sfdl + gzdl + whdl + xddl + xndl + dwsl + tqsl;
|
|
|
+
|
|
|
+ yffdl = new BigDecimal(yffdl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+ xddl = new BigDecimal(xddl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+ dwsl = new BigDecimal(dwsl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+ tqsl = new BigDecimal(tqsl).divide(new BigDecimal(10000), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+ zjrl = new BigDecimal(zjrl).divide(new BigDecimal(10), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+
|
|
|
+ if(zjrl!=0.0)
|
|
|
+ {
|
|
|
+ sfdlxs = new BigDecimal(sfdl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+ yffdlxs = new BigDecimal(yffdl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+ xddlxs = new BigDecimal(xddl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+ dwslxs = new BigDecimal(dwsl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+ tqslxs = new BigDecimal(tqsl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if((yffdlxs-xddlxs-dwslxs-tqslxs)>0)
|
|
|
+ {
|
|
|
+ result=new BigDecimal(yffdlxs-sfdlxs-xddlxs-dwslxs-tqslxs).divide(new BigDecimal(yffdlxs-xddlxs-dwslxs-tqslxs), 2,RoundingMode.HALF_EVEN)
|
|
|
+ .multiply(new BigDecimal(100)).doubleValue();
|
|
|
+ }
|
|
|
+
|
|
|
+ resultmap.put("sfdl", String.valueOf(sfdl));
|
|
|
+ resultmap.put("yffdl", String.valueOf(yffdl));
|
|
|
+ resultmap.put("xddl", String.valueOf(xddl));
|
|
|
+ resultmap.put("dwsl", String.valueOf(dwsl));
|
|
|
+ resultmap.put("tqsl", String.valueOf(tqsl));
|
|
|
+ resultmap.put("zjrl", String.valueOf(zjrl));
|
|
|
+ resultmap.put("result", String.valueOf(result));
|
|
|
+}
|
|
|
+public Map<String, String> getResultValue1(String wpid, String year,String month) throws Exception {
|
|
|
+ double sfdl=0.0;
|
|
|
+ double yffdl=0.0;
|
|
|
+ double xddl=0.0;
|
|
|
+ double dwsl=0.0;
|
|
|
+ double tqsl=0.0;
|
|
|
+ double zjrl=0.0;
|
|
|
+
|
|
|
+ month="0"+month;
|
|
|
+ }*/
|
|
|
+ Map<String,String> resultmap=new HashMap<String, String>();
|
|
|
+ if(CacheContext.wpmap.containsKey(wpid))
|
|
|
+ {
|
|
|
+ zjrl=CacheContext.wpmap.get(wpid).getCapacity();
|
|
|
+ }
|
|
|
+ List<Object> objs = new ArrayList<Object>();
|
|
|
+ String sql = "select SUM(t.generatingCapacity2) yfdl,SUM(t.theoryGeneration) llfdl,SUM(t.dayNHXDSSDL) xdssdl from rp_wtday t where substr(t.RQ,0,6)='"+year+month+"' ";
|
|
|
+ if (null != wpid) {
|
|
|
+ sql += " and t.windpowerstationid='"+wpid+"'";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
+ List<DataVo> retValue = operate.query(sql, objs.toArray(new Object[0]), new RowMapper() {
|
|
|
+ @Override
|
|
|
+ public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
|
|
|
+ DataVo vo = new DataVo();
|
|
|
+ vo.setValue1(rs.getDouble("yfdl"));
|
|
|
+ vo.setValue2(rs.getDouble("llfdl"));
|
|
|
+ vo.setValue3(rs.getDouble("xdssdl"));
|
|
|
+ vo.setValue4(0.0);
|
|
|
+ vo.setValue5(0.0);
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ sfdl = retValue.get(0).getValue1();
|
|
|
+ yffdl = retValue.get(0).getValue2();
|
|
|
+ xddl = retValue.get(0).getValue3();
|
|
|
+ dwsl =0.0;
|
|
|
+ tqsl =0.0;
|
|
|
+
|
|
|
+
|
|
|
+ zjrl = new BigDecimal(zjrl).divide(new BigDecimal(10), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+ double sfdlxs;
|
|
|
+ double yffdlxs;
|
|
|
+ double xddlxs;
|
|
|
+ double dwslxs;
|
|
|
+ double tqslxs;
|
|
|
+ double result = 0;
|
|
|
+
|
|
|
+
|
|
|
+ sfdlxs = new BigDecimal(sfdl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+ yffdlxs = new BigDecimal(yffdl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+ xddlxs = new BigDecimal(xddl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+ dwslxs = new BigDecimal(dwsl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+ tqslxs = new BigDecimal(tqsl).divide(new BigDecimal(zjrl), 2,RoundingMode.HALF_EVEN).doubleValue();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if((yffdlxs-xddlxs-dwslxs-tqslxs)>0)
|
|
|
+ {
|
|
|
+ result=Math.round((yffdlxs-sfdlxs-xddlxs-dwslxs-tqslxs)/(yffdlxs-xddlxs-dwslxs-tqslxs)*100);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ resultmap.put("sfdl", String.valueOf(sfdl));
|
|
|
+ resultmap.put("yffdl", String.valueOf(yffdl));
|
|
|
+ resultmap.put("xddl", String.valueOf(xddl));
|
|
|
+ resultmap.put("dwsl", String.valueOf(dwsl));
|
|
|
+ resultmap.put("tqsl", String.valueOf(tqsl));
|
|
|
+ resultmap.put("zjrl", String.valueOf(zjrl));
|
|
|
+ resultmap.put("result", String.valueOf(result));
|
|
|
+ return resultmap;
|
|
|
+}
|
|
|
+}
|