xieshengjie 3 years ago
parent
commit
8982bb7c68
27 changed files with 4721 additions and 0 deletions
  1. BIN
      WebRoot/pages/system/jiaoben1454/css/back.jpg
  2. 1482 0
      WebRoot/pages/system/jiaoben1454/css/font-awesome.css
  3. 1482 0
      WebRoot/pages/system/jiaoben1454/css/font/font-awesome.css.bak
  4. BIN
      WebRoot/pages/system/jiaoben1454/css/font/fontawesome-webfont.eot
  5. BIN
      WebRoot/pages/system/jiaoben1454/css/font/fontawesome-webfont.ttf
  6. BIN
      WebRoot/pages/system/jiaoben1454/css/font/fontawesome-webfont.woff
  7. 3 0
      WebRoot/pages/system/jiaoben1454/css/maps.css
  8. 466 0
      WebRoot/pages/system/jiaoben1454/css/zzsc.css
  9. BIN
      WebRoot/pages/system/jiaoben1454/img/bb.png
  10. BIN
      WebRoot/pages/system/jiaoben1454/img/db.png
  11. BIN
      WebRoot/pages/system/jiaoben1454/img/fj.png
  12. BIN
      WebRoot/pages/system/jiaoben1454/img/fx.png
  13. BIN
      WebRoot/pages/system/jiaoben1454/img/index.png
  14. BIN
      WebRoot/pages/system/jiaoben1454/img/jk.png
  15. BIN
      WebRoot/pages/system/jiaoben1454/img/js.png
  16. BIN
      WebRoot/pages/system/jiaoben1454/img/pc1.png
  17. BIN
      WebRoot/pages/system/jiaoben1454/img/pc2.png
  18. BIN
      WebRoot/pages/system/jiaoben1454/img/qx.png
  19. BIN
      WebRoot/pages/system/jiaoben1454/img/ryaq.png
  20. BIN
      WebRoot/pages/system/jiaoben1454/img/sy.png
  21. 102 0
      WebRoot/pages/system/jiaoben1454/index.html
  22. 1 0
      WebRoot/pages/system/jiaoben1454/js/google.js
  23. 6 0
      WebRoot/pages/system/jiaoben1454/js/maps.js
  24. 218 0
      src/com/hcks/cmfds/action/mogodbexport/MogodbAction.java
  25. 67 0
      src/com/hcks/cmfds/model/Sywindturbinestatus.java
  26. 113 0
      src/com/hcks/cmfds/service/SywindturbinestatusService.java
  27. 781 0
      src/com/hcks/cmfds/util/EdosUtilold.java

BIN
WebRoot/pages/system/jiaoben1454/css/back.jpg


File diff suppressed because it is too large
+ 1482 - 0
WebRoot/pages/system/jiaoben1454/css/font-awesome.css


File diff suppressed because it is too large
+ 1482 - 0
WebRoot/pages/system/jiaoben1454/css/font/font-awesome.css.bak


BIN
WebRoot/pages/system/jiaoben1454/css/font/fontawesome-webfont.eot


BIN
WebRoot/pages/system/jiaoben1454/css/font/fontawesome-webfont.ttf


BIN
WebRoot/pages/system/jiaoben1454/css/font/fontawesome-webfont.woff


+ 3 - 0
WebRoot/pages/system/jiaoben1454/css/maps.css

@@ -0,0 +1,3 @@
+
+@import url(http://fonts.googleapis.com/css?family=Open+Sans:300);
+@import "font-awesome.css";

+ 466 - 0
WebRoot/pages/system/jiaoben1454/css/zzsc.css

@@ -0,0 +1,466 @@
+body {
+	margin: 0;
+	padding: 0;
+}
+
+.content {
+	margin: 0px 0px;
+}
+
+.venus-menu {
+	margin: 0px 0px;
+}
+
+
+.venus-menu {
+	width: 1920px;
+	margin: 0;
+	padding: 0;
+	position: relative;
+	float: left;
+	font-family: 'Open Sans', sans-serif;
+	list-style: none;
+	background: #f9f9f9;
+	box-shadow: 0 1px 3px #dedede;
+}
+
+.venus-menu li {
+	display: inline-block;
+	margin: 0;
+	padding: 0;
+	float: left;
+	line-height: 20px;
+	position: relative;
+}
+
+.venus-menu>li>a {
+	padding: 5px 10px;
+	font-size: 14px;
+	color: #000;
+	text-decoration: none;
+	display: block;
+	-webkit-transition: color 0.2s linear, background 0.2s linear;
+	-moz-transition: color 0.2s linear, background 0.2s linear;
+	-o-transition: color 0.2s linear, background 0.2s linear;
+	transition: color 0.2s linear, background 0.2s linear;
+}
+
+.venus-menu li:hover>a, .venus-menu li.active a {
+	background: #DFFFF8;
+	color: #000;
+}
+
+.venus-menu>li>a i {
+	color: #bababa;
+}
+
+.venus-menu>li:hover>a i, .venus-menu li.active a i {
+	color: #fff;
+}
+
+
+
+.venus-menu ul, .venus-menu ul li ul {
+	list-style: none;
+	margin: 0;
+	padding: 0;
+	display: none;
+	position: absolute;
+	z-index: 99;
+	width: 120px;
+}
+
+.venus-menu ul {
+	top: 40px;
+	left: 0;
+	/* padding-top: 10px; */
+	border: 1px solid #d3d3d3;
+	text-align:center;
+	border-bottom:none;
+}
+
+.venus-menu>li>ul>li:first-child a:before {
+	content: '';
+	position: absolute;
+	bottom: 48px;
+	left: 45%;
+	margin-left: -48px;
+	width: 0;
+	height: 0;
+	border-left: 8px solid rgba(255, 255, 255, 0);
+	border-right: 8px solid rgba(255, 255, 255, 0);
+	/* border-bottom: 8px solid #FFF3F5; */
+	border-bottom: 8px solid #B7B7B7;
+}
+
+
+.venus-menu>li>ul>li ul li:first-child a:before {
+	content: '';
+	position: absolute;
+	bottom: 16px;
+	left: 45%;
+	margin-left: -71px;
+	width: 0;
+	height: 0;
+	border-top: 8px solid rgba(255, 255, 255, 0);
+	border-right: 8px solid #FFF3F5;
+	border-bottom: 8px solid rgba(255, 255, 255, 0);
+}
+
+.venus-menu ul li ul {
+	top: 0;
+	left: 100%;
+	padding-left: 10px;
+}
+
+.venus-menu ul li {
+	clear: both;
+	width: 100%;
+	/* border: none; */
+	border-bottom: 1px solid #d3d3d3;
+}
+
+
+
+#portfolio-group {
+	margin: 40px 0px;
+}
+
+
+
+.overlay {
+	background: url(images/overlay-bg.png) repeat;
+	width: 150px;
+	height: 120px;
+	position: absolute;
+	display: none;
+	left: 0;
+	top: 0;
+}
+
+.venus-menu ul li a {
+	padding: 14px 20px;
+	width: 100%;
+	color: #000;
+	font-size: 14px;
+	text-decoration: none;
+	display: inline-block;
+	float: left;
+	clear: both;
+	/* background: #FFF3F5; */
+	background: #FFF;
+	box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	-webkit-box-sizing: border-box;
+	-webkit-transition: background 0.2s linear;
+	-moz-transition: background 0.2s linear;
+	-o-transition: background 0.2s linear;
+	transition: background 0.2s linear;
+}
+
+.venus-menu ul li:hover>a {
+	/* background: #f18d8f; */
+	background: #defff8;
+}
+
+.venus-menu>li>ul>li:first-child:hover a:before {
+	/* border-bottom-color: #FFF3F5; */
+	border-bottom-color: #B7B7B7;
+}
+
+.venus-menu>li>ul>li ul li:first-child:hover a:before {
+	border-right-color: #FFF3F5;
+}
+
+
+
+.venus-menu>li .indicator {
+	position: absolute;
+	color: #FFF3F5;
+	top: 5px;
+	right: 0px;
+	font-size: 20px;
+	-webkit-transition: color 0.2s linear;
+	-moz-transition: color 0.2s linear;
+	-o-transition: color 0.2s linear;
+	transition: color 0.2s linear;
+}
+
+.venus-menu>li:hover>.indicator {
+	color: #fff;
+}
+
+.venus-menu ul>li .indicator {
+	top: 10px;
+	right: 8px;
+	color: #fff;
+}
+
+
+.venus-menu i {
+	line-height: 20px !important;
+	margin-right: 6px;
+	font-size: 20px;
+	float: left;
+}
+
+
+.venus-menu>li.showhide {
+	display: none;
+	width: 100%;
+	height: 46px;
+	cursor: pointer;
+	color: #777;
+	border-bottom: solid 1px rgba(0, 0, 0, 0.1);
+	background: #fff;
+}
+
+.venus-menu>li.showhide span.title {
+	margin: 0px 0 0 20px;
+	float: left;
+}
+
+.venus-menu>li.showhide span.icon {
+	margin: 16px 20px;
+	float: right;
+}
+
+.venus-menu>li.showhide .icon em {
+	margin-bottom: 3px;
+	display: block;
+	width: 20px;
+	height: 2px;
+	background: #ccc;
+}
+
+
+
+.venus-menu li.search {
+	float: right;
+}
+
+.venus-menu li.search form {
+	margin: 13px 20px 0 0;
+}
+
+.venus-menu li.search form input.search {
+	height: 26px;
+	float: right;
+	padding-left: 5px;
+	padding-right: 5px;
+	color: #777;
+	outline: none;
+	border: solid 1px #dedede;
+	-o-transition: border .3s linear;
+	-moz-transition: border .3s linear;
+	-webkit-transition: border .3s linear;
+	transition: border .3s linear;
+}
+
+.venus-menu li.search form input.search:focus {
+	border-color: #FFF3F5;
+}
+
+
+
+.post-entry {
+	margin-bottom: 20px;
+	padding-bottom: 20px;
+	border-bottom: 1px solid #EEE;
+}
+
+
+
+.zoom-out {
+	-webkit-animation: zoomOut 600ms ease both;
+	-moz-animation: zoomOut 600ms ease both;
+	-o-animation: zoomOut 600ms ease both;
+	animation: zoomOut 600ms ease both;
+}
+
+@
+-webkit-keyframes zoomOut { 0%{
+	-webkit-transform: scale(.6);
+}
+
+100%{
+-webkit-transform
+:
+ 
+scale
+(1);
+}
+}
+@
+-moz-keyframes zoomOut { 0%{
+	-moz-transform: scale(.6);
+}
+
+100%{
+-moz-transform
+:
+ 
+scale
+(1);
+}
+}
+@
+-o-keyframes zoomOut { 0%{
+	-o-transform: scale(.6);
+}
+
+100%{
+-o-transform
+:
+ 
+scale
+(1);
+}
+}
+@
+keyframes zoomOut { 0%{
+	transform: scale(.6);
+}
+
+100%{
+transform
+:
+ 
+scale
+(1);
+}
+}
+.slide-left {
+	-webkit-animation: slide-left 600ms ease both;
+	-moz-animation: slide-left 600ms ease both;
+	-o-animation: slide-left 600ms ease both;
+	animation: slide-left 600ms ease both;
+}
+
+@
+-webkit-keyframes slide-left { 0%{
+	-webkit-transform: translateX(-2000px);
+}
+
+100%{
+-webkit-transform
+:
+ 
+translateX
+(0);
+}
+}
+@
+-moz-keyframes slide-left { 0%{
+	-moz-transform: translateX(-2000px);
+}
+
+100%{
+-moz-transform
+:
+ 
+translateX
+(0);
+}
+}
+@
+-o-keyframes slide-left { 0%{
+	-o-transform: translateX(-2000px);
+}
+
+100%{
+-o-transform
+:
+ 
+translateX
+(0);
+}
+}
+@
+keyframes slide-left { 0%{
+	transform: translateX(-2000px);
+}
+
+100%{
+transform
+:
+ 
+translateX
+(0);
+}
+}
+
+@media only screen and (max-width: 768px) {
+	.venus-menu li {
+		display: block;
+		width: 100%;
+	}
+	.venus-menu>li>a {
+		padding: 13px 0 14px 20px;
+	}
+	.venus-menu>li.brand {
+		display: none !important;
+	}
+	.venus-menu a {
+		width: 100%;
+		box-sizing: border-box;
+		-moz-box-sizing: border-box;
+		-webkit-box-sizing: border-box;
+	}
+	.venus-menu ul, .venus-menu ul li ul {
+		width: 100%;
+		padding: 0;
+		left: 0;
+		border: none;
+		position: static;
+		box-sizing: border-box;
+		-moz-box-sizing: border-box;
+		-webkit-box-sizing: border-box;
+	}
+	.venus-menu>li>ul>li:first-child a:before, .venus-menu>li>ul>li ul li:first-child a:before
+		{
+		border: none;
+	}
+	.venus-menu ul li {
+		border-left: none;
+		border-right: none;
+	}
+	.venus-menu ul li a {
+		padding-top: 10px;
+		padding-bottom: 10px;
+	}
+	.venus-menu ul>li>a {
+		padding-left: 40px !important;
+	}
+	.venus-menu>li .indicator {
+		top: 14px;
+		right: 20px;
+		font-size: 20px;
+	}
+	.venus-menu ul>li .indicator {
+		top: 10px;
+		right: 20px;
+	}
+	.venus-menu li.search form {
+		margin: 12px 18px 0 18px;
+	}
+	.venus-menu li.search form input.search {
+		width: 100%;
+		margin-bottom: 12px;
+		box-sizing: border-box;
+		-moz-box-sizing: border-box;
+		-webkit-box-sizing: border-box;
+	}
+	.venus-menu>li>ul>li>a {
+		padding-left: 40px !important;
+	}
+	.venus-menu>li>ul>li>ul>li>a {
+		padding-left: 60px !important;
+	}
+	.venus-menu>li>ul>li>ul>li>ul>li>a {
+		padding-left: 80px !important;
+	}
+}
+
+
+

BIN
WebRoot/pages/system/jiaoben1454/img/bb.png


BIN
WebRoot/pages/system/jiaoben1454/img/db.png


BIN
WebRoot/pages/system/jiaoben1454/img/fj.png


BIN
WebRoot/pages/system/jiaoben1454/img/fx.png


BIN
WebRoot/pages/system/jiaoben1454/img/index.png


BIN
WebRoot/pages/system/jiaoben1454/img/jk.png


BIN
WebRoot/pages/system/jiaoben1454/img/js.png


BIN
WebRoot/pages/system/jiaoben1454/img/pc1.png


BIN
WebRoot/pages/system/jiaoben1454/img/pc2.png


BIN
WebRoot/pages/system/jiaoben1454/img/qx.png


BIN
WebRoot/pages/system/jiaoben1454/img/ryaq.png


BIN
WebRoot/pages/system/jiaoben1454/img/sy.png


+ 102 - 0
WebRoot/pages/system/jiaoben1454/index.html

@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+<title>多级CSS3下拉菜单导航 - 站长素材</title>
+<link href="css/zzsc.css" rel="stylesheet">
+<link href="css/maps.css" rel="stylesheet">
+<script type="text/javascript" src="js/maps.js"></script>
+<script type="text/javascript" src="js/google.js"></script>
+<script type="text/javascript">$(document).ready(function(){$().maps();});</script>
+</head>
+
+<body>
+
+<p style="display:none">Lorem ipsum dolor dit amet</p>
+<div class="content">
+	<p style="display:none">Lorem ipsum dolor dit amet</p>
+	<p style="display:none">Lorem ipsum dolor dit amet</p>
+	<ul class="venus-menu">
+		<p style="display:none">Lorem ipsum dolor dit amet</p>
+		<li class="active"><a href="#"><i class="icon-home"></i>Home</a></li><p style="display:none">
+		Lorem ipsum dolor dit amet</p>
+		<p style="display:none">Lorem ipsum dolor dit amet</p>
+		</li>
+		<li><a href="#"><i class="icon-magic"></i>About</a></li><p style="display:none">
+		Lorem ipsum dolor dit amet</p>
+		</li>
+		<li><a href="#"><i class="icon-thumbs-up"></i>Services</a><ul>
+			<li><a href="#">Web Design</a></li><p style="display:none">Lorem ipsum 
+			dolor dit amet</p>
+			</li>
+			<li><a href="#">Hosting</a></li><p style="display:none">Lorem ipsum 
+			dolor dit amet</p>
+			</li>
+			<li><a href="#">Design</a><ul>
+				<li><a href="#">Graphics</a></li><p style="display:none">Lorem ipsum 
+				dolor dit amet</p>
+				</li>
+				<li><a href="#">Vectors</a></li><p style="display:none">Lorem ipsum 
+				dolor dit amet</p>
+				</li>
+				<li><a href="#">Photoshop</a><p style="display:none">Lorem ipsum 
+				dolor dit amet</p>
+				<ul>
+					<li><a href="#">Photo editing</a></li><p style="display:none">
+					Lorem ipsum dolor dit amet</p>
+					</li>
+					<li><a href="#">Business cards</a></li><p style="display:none">
+					Lorem ipsum dolor dit amet</p>
+					</li>
+					<li><a href="#">Websites</a></li><p style="display:none">Lorem 
+					ipsum dolor dit amet</p>
+					</li>
+					<li><a href="#">Flyers</a></li><p style="display:none">Lorem 
+					ipsum dolor dit amet</p>
+					</li>
+				</ul>
+				<p style="display:none">Lorem ipsum dolor dit amet</p>
+				</li>
+				<p style="display:none">Lorem ipsum dolor dit amet</p>
+				</li>
+				<li><a href="#">Fonts</a></li><p style="display:none">Lorem ipsum 
+				dolor dit amet</p>
+				</li>
+			</ul>
+			<p style="display:none">Lorem ipsum dolor dit amet</p>
+			</li>
+			<p style="display:none">Lorem ipsum dolor dit amet</p>
+			</li>
+			<li><a href="#">Consulting</a></li><p style="display:none">Lorem ipsum 
+			dolor dit amet</p>
+			</li>
+		</ul>
+		<p style="display:none">Lorem ipsum dolor dit amet</p>
+		</li>
+		<p style="display:none">Lorem ipsum dolor dit amet</p>
+		</li>
+		<li><a href="#"><i class="icon-quote-right"></i>Blog</a></li><p style="display:none">
+		Lorem ipsum dolor dit amet</p>
+		</li>
+		<li><a href="#"><i class="icon-envelope-alt"></i>Contact</a></li><p style="display:none">
+		Lorem ipsum dolor dit amet</p>
+		</li>
+		<li class="search">
+		<form method="get">
+			<input type="text" name="search" class="search" placeholder="Search" /></form>
+		</li>
+		<p style="display:none">Lorem ipsum dolor dit amet</p>
+		</li>
+	</ul>
+	<p style="display:none">Lorem ipsum dolor dit amet</p>
+	<p style="display:none">Lorem ipsum dolor dit amet</p>
+</div>
+<div style="text-align:center;clear:both">
+<p>适用浏览器:FireFox、Chrome、Safari、Opera、傲游、搜狗. 不支持IE8、360、世界之窗。</p>
+<p>来源:<a href="http://sc.chinaz.com/" target="_blank">站长素材</a></p>
+</div>
+</body>
+
+</html>

File diff suppressed because it is too large
+ 1 - 0
WebRoot/pages/system/jiaoben1454/js/google.js


File diff suppressed because it is too large
+ 6 - 0
WebRoot/pages/system/jiaoben1454/js/maps.js


+ 218 - 0
src/com/hcks/cmfds/action/mogodbexport/MogodbAction.java

@@ -0,0 +1,218 @@
+package com.hcks.cmfds.action.mogodbexport;  
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.struts2.convention.annotation.Action;
+import org.apache.struts2.convention.annotation.Namespace;
+import org.apache.struts2.convention.annotation.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.hcks.cmfds.commons.util.JsonUtils;
+import com.hcks.cmfds.commons.util.StringUtils;
+import com.hcks.cmfds.core.web.action.AjaxHandlerAction;
+import com.hcks.cmfds.model.WindPowerStationTestingPoint;
+import com.hcks.cmfds.model.WindTurbineTestingPointAi;
+import com.hcks.cmfds.service.agc.AgcShowService;
+import com.hcks.cmfds.util.DateUtils;
+import com.hcks.cmfds.util.EdosUtil;
+import com.hcks.cmfds.util.IEdosUtil;
+import com.hcks.cmfds.util.edos.PointData;
+
+import flex.messaging.io.ArrayList;
+
+/** 
+ * ClassName:AgcShowAction <br/> 
+ * Function: TODO ADD FUNCTION. <br/> 
+ * Reason:   TODO ADD REASON. <br/> 
+ * Date:     2017-3-1 上午11:00:27 <br/> 
+ * @author   石林
+ * @version   
+ * @since    JDK 1.6 
+ * @see       
+ */
+@Namespace("/mogodb")
+@Result(name = "json", type = "json", params = { "textName", "json" })
+public class MogodbAction extends AjaxHandlerAction {
+	
+	IEdosUtil edosUtil = new EdosUtil();
+	
+    private static final long serialVersionUID = 1L;
+    //风场id
+    private String point;
+    private String points;
+    private Date beginDate;
+    private Date endDate;
+    private Long count;
+    private Long pried;
+    private Long begin;
+    private Long end;
+    private int type;
+    
+    
+    
+    @Action(value = "getRealData")
+    public String getRealData() throws Exception {
+
+    	
+        PointData realData = edosUtil.getRealData(point);
+        json = JsonUtils.toJson(realData);
+
+        return JSON;
+    }
+    
+    
+   
+    @Action(value = "getHistoryDatasSnap")
+    public String getHistoryDatasSnap() throws Exception {
+    	List<PointData> historyDatasSnap = edosUtil.getHistoryDatasSnap(point, begin, end, count, pried);
+    	json = JsonUtils.toJson(historyDatasSnap);
+    	
+    	return JSON;
+    }
+    
+   
+    @Action(value = "getHistoryDatasRaw")
+    public String getHistoryDatasRaw()  throws Exception {
+    	List<PointData> historyDatasSnap = edosUtil.getHistoryDatasRaw(point, begin, end);
+    	json = JsonUtils.toJson(historyDatasSnap);
+    	
+    	return JSON;
+    }
+    
+    @Action(value = "getHistStat")
+    public String getHistStat()  throws Exception {
+    	List<PointData> historyDatasSnap = edosUtil.getHistStat(point, begin, end, count, pried, type);
+    	json = JsonUtils.toJson(historyDatasSnap);
+    	
+    	return JSON;
+    }
+    
+    
+    
+
+    @Action(value = "pointExport")
+    public String hisExport() throws Exception {
+
+    	
+//        List<PointData> historyDatasRaw = edosUtil.getHistoryDatasSnap(point, beginDate.getTime()/1000, endDate.getTime()/1000,count,pried);
+        List<PointData> historyDatasRaw2 = edosUtil.getHistoryDatasRaw(point, beginDate.getTime()/1000, endDate.getTime()/1000);
+        json = JsonUtils.toJson(historyDatasRaw2);
+
+        return JSON;
+    }
+    @Action(value = "pointsExport")
+    public String pointsExport() throws Exception {
+    	List<PointData> resultList = new ArrayList();
+    	String[] split = points.split(",");
+    	for (String point : split) {
+    		List<PointData> historyDatasRaw2 = edosUtil.getHistoryDatasRaw(point, beginDate.getTime()/1000, endDate.getTime()/1000);
+    		resultList.addAll(historyDatasRaw2);
+		}
+        
+        json = JsonUtils.toJson(resultList);
+
+        return JSON;
+    }
+
+
+
+
+
+	public int getType() {
+		return type;
+	}
+
+
+
+	public void setType(int type) {
+		this.type = type;
+	}
+
+
+
+	public String getPoints() {
+		return points;
+	}
+	public void setPoints(String points) {
+		this.points = points;
+	}
+	public Long getCount() {
+		return count;
+	}
+
+
+	public Long getBegin() {
+		return begin;
+	}
+
+
+
+	public void setBegin(Long begin) {
+		this.begin = begin;
+	}
+
+
+
+	public Long getEnd() {
+		return end;
+	}
+
+
+
+	public void setEnd(Long end) {
+		this.end = end;
+	}
+
+
+
+	public void setCount(Long count) {
+		this.count = count;
+	}
+
+
+	public Long getPried() {
+		return pried;
+	}
+
+
+	public void setPried(Long pried) {
+		this.pried = pried;
+	}
+
+
+	public String getPoint() {
+		return point;
+	}
+
+
+	public void setPoint(String point) {
+		this.point = point;
+	}
+
+
+	public Date getBeginDate() {
+		return beginDate;
+	}
+
+
+	public void setBeginDate(Date beginDate) {
+		this.beginDate = beginDate;
+	}
+
+
+	public Date getEndDate() {
+		return endDate;
+	}
+
+
+	public void setEndDate(Date endDate) {
+		this.endDate = endDate;
+	}
+	
+
+
+
+}
+  

+ 67 - 0
src/com/hcks/cmfds/model/Sywindturbinestatus.java

@@ -0,0 +1,67 @@
+package com.hcks.cmfds.model;
+
+
+public class Sywindturbinestatus {
+
+	
+	
+	private Integer id;
+	private String wtid;
+	private String tj;
+	private String gz;
+	private String wh;
+	private String dj;
+	private String fs;
+	private String gl;
+	public Integer getId() {
+		return id;
+	}
+	public void setId(Integer id) {
+		this.id = id;
+	}
+	public String getWtid() {
+		return wtid;
+	}
+	public void setWtid(String wtid) {
+		this.wtid = wtid;
+	}
+	public String getTj() {
+		return tj;
+	}
+	public void setTj(String tj) {
+		this.tj = tj;
+	}
+	public String getGz() {
+		return gz;
+	}
+	public void setGz(String gz) {
+		this.gz = gz;
+	}
+	public String getWh() {
+		return wh;
+	}
+	public void setWh(String wh) {
+		this.wh = wh;
+	}
+	public String getDj() {
+		return dj;
+	}
+	public void setDj(String dj) {
+		this.dj = dj;
+	}
+	public String getFs() {
+		return fs;
+	}
+	public void setFs(String fs) {
+		this.fs = fs;
+	}
+	public String getGl() {
+		return gl;
+	}
+	public void setGl(String gl) {
+		this.gl = gl;
+	}
+	
+	
+
+}

+ 113 - 0
src/com/hcks/cmfds/service/SywindturbinestatusService.java

@@ -0,0 +1,113 @@
+package com.hcks.cmfds.service;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.springframework.stereotype.Service;
+
+import com.hcks.cmfds.core.persistence.GenericJdbcDao;
+import com.hcks.cmfds.model.Sywindturbinestatus;
+import com.hcks.cmfds.util.EdosUtilold;
+import com.hcks.cmfds.util.IEdosUtil;
+
+@Service
+public class SywindturbinestatusService extends GenericJdbcDao<Sywindturbinestatus> {
+	
+	private IEdosUtil ednaApiUtil = new EdosUtilold();
+	
+	public Map<String,Object> findSystatus(){
+		
+		Map<String,Object> resultMap = new HashMap<String, Object>();
+		Map<String,Sywindturbinestatus> systatusmap = CacheContext.systatusmap;
+		Set<String> keySet = systatusmap.keySet();
+		int bwts = 0;
+		int gzts = 0;
+		int whts = 0;
+		int djts = 0;
+		double fs = 0;
+		double gl = 0;
+		int count = 0;
+		
+		for (String wtid : keySet) {
+			Sywindturbinestatus sywindturbinestatus = systatusmap.get(wtid);
+			if(isOne(sywindturbinestatus.getGz())){
+				resultMap.put(wtid+"xxfjzt", 2.0);
+				resultMap.put(wtid+"|type",2);
+				gzts++;
+			}else if(isOne(sywindturbinestatus.getWh())){
+				resultMap.put(wtid+"xxfjzt", 4.0);
+				resultMap.put(wtid+"|type",4);
+				whts++;
+			}else if(isOne(sywindturbinestatus.getTj()) || isOne(sywindturbinestatus.getDj())){
+				resultMap.put(wtid+"xxfjzt", 0.0);
+				resultMap.put(wtid+"|type",0);
+				djts++;
+			}else{
+				resultMap.put(wtid+"xxfjzt", 1.0);
+				resultMap.put(wtid+"|type",1);
+				bwts++;
+			}
+			resultMap.put("SY_FDC_YXTS", bwts);
+			resultMap.put("SY_FDC_DJTS", djts);
+			resultMap.put("SY_FDC_GZTJ", gzts);
+			resultMap.put("SY_FDC_WHTS", whts);
+			double fs2 = getFs(sywindturbinestatus.getFs());
+			if (fs2!=0) {
+				fs+=fs2;
+				count++;
+			}
+			double gl2 = getGl(sywindturbinestatus.getGl());
+			gl+=gl2;
+			resultMap.put(wtid+"fs", fs2);
+			resultMap.put(wtid+"gl", gl2);
+		}
+		resultMap.put("SY_FDC_SPEED", fs/count);
+		resultMap.put("SY_FDC_POWER", gl/1000);
+		return resultMap;
+	}
+	
+	public double getFs(String pointid){
+		double fs = 0.0;
+		try {
+			fs = ednaApiUtil.getRealData(pointid).getPointValueInDouble();
+		} catch (Exception e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		return fs;
+	}
+	
+	public double getGl(String pointid){
+		double gl = 0.0;
+		try {
+			gl = ednaApiUtil.getRealData(pointid).getPointValueInDouble();
+		} catch (Exception e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		return gl;
+	}
+	
+	
+	public boolean isOne(String pointid){
+		double pointValue;
+		try {
+			pointValue = ednaApiUtil.getRealData(pointid).getPointValueInDouble();
+			if (pointValue==1.0) {
+				return true;
+			}
+		} catch (Exception e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		
+		return false;
+		
+	}
+	
+	
+}
+
+
+

+ 781 - 0
src/com/hcks/cmfds/util/EdosUtilold.java

@@ -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;
+	}
+    
+    
+}