benchmarkwp.jsp 50 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243
  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
  2. <%@include file="/pages/includes/taglibs.jsp" %>
  3. <head>
  4. <script type="text/javascript" src="<%=request.getContextPath() %>/resource/js/jquery-1.8.3.js"></script>
  5. <script type="text/ecmascript" src="<%=request.getContextPath() %>/resource/plugin/jqgrid/js/jquery.jqGrid.min.js"></script>
  6. <script type="text/ecmascript" src="<%=request.getContextPath() %>/resource/plugin/jqgrid/js/i18n/grid.locale-cn.js"></script>
  7. <script type="text/ecmascript" src="<%=request.getContextPath()%>/resource/js/system/jqdatagrid.js"></script>
  8. <script src="<%=request.getContextPath()%>/resource/js/datePicker/WdatePicker.js" type="text/javascript"></script>
  9. <link rel="stylesheet" type="text/css" href="<%=request.getContextPath() %>/resource/plugin/jqueryui/css/custom-theme/jquery-ui-1.9.2.custom.css" />
  10. <link rel="stylesheet" type="text/css" media="screen" href="<%=request.getContextPath() %>/resource/plugin/jqgrid/css/ui.jqgrid.css" />
  11. <link rel="stylesheet" href="<%=request.getContextPath() %>/resource/css/ztree/zTreeStyle.css" type="text/css">
  12. <script src="<%=request.getContextPath() %>/resource/js/ztree/jquery.ztree.all.min.js" type="text/javascript"></script>
  13. <script src="<%=request.getContextPath()%>/resource/js/highcharts/highcharts.src.js" type="text/javascript"></script>
  14. <script src="<%=request.getContextPath()%>/resource/js/highcharts/highcharts-more.js"></script>
  15. <script src="<%=request.getContextPath()%>/resource/js/highcharts/modules/solid-gauge.src.js"></script>
  16. <script type="text/javascript" src="<%=request.getContextPath()%>/resource/plugin/highslide/highslide-with-html.js"></script>
  17. <link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/resource/plugin/highslide/highslide.css" />
  18. <style type="text/css">
  19. fieldset legend {
  20. color:#302A2A;
  21. font: bold 16px/2 Verdana, Geneva, sans-serif;
  22. font-weight: bold;
  23. text-align: left;
  24. text-shadow: 2px 2px 2px rgb(88, 126, 156);
  25. }
  26. </style>
  27. <script type="text/javascript">
  28. hs.graphicsDir = '<%=request.getContextPath()%>/resource/plugin/highslide/graphics/';
  29. hs.outlineType = 'rounded-white';
  30. hs.wrapperClassName = 'draggable-header';
  31. var chart1;
  32. var chart2;
  33. var chart3;
  34. var options1;
  35. var options2;
  36. var options3;
  37. function showDiv() {
  38. var hc = $("#container1");
  39. return hs.htmlExpand(hc[0], {
  40. contentId : "showDiv",
  41. width : 1100,
  42. height : 1050,
  43. align : 'center',
  44. headingText : '对标信息分析'
  45. });
  46. }
  47. function showDiv2() {
  48. var hc = $("#container5");
  49. return hs.htmlExpand(hc[0], {
  50. contentId : "showDiv2",
  51. width : 800,
  52. height : 800,
  53. align : 'center',
  54. headingText : '损失应对措施'
  55. });
  56. }
  57. function displayInfo(str)
  58. {
  59. switch (str)
  60. {
  61. case 1:
  62. $("#xdsscs").css("display","");
  63. $("#gzsscs").css("display","none");
  64. $("#jxsscs").css("display","none");
  65. $("#xnsscs").css("display","none");
  66. $("#slsscs").css("display","none");
  67. break;
  68. case 2:
  69. $("#gzsscs").css("display","");
  70. $("#jxsscs").css("display","none");
  71. $("#xnsscs").css("display","none");
  72. $("#slsscs").css("display","none");
  73. $("#xdsscs").css("display","none");
  74. break;
  75. case 3:
  76. $("#gzsscs").css("display","none");
  77. $("#jxsscs").css("display","");
  78. $("#xnsscs").css("display","none");
  79. $("#slsscs").css("display","none");
  80. $("#xdsscs").css("display","none");
  81. break;
  82. case 4:
  83. $("#gzsscs").css("display","none");
  84. $("#jxsscs").css("display","none");
  85. $("#xnsscs").css("display","");
  86. $("#slsscs").css("display","none");
  87. $("#xdsscs").css("display","none");
  88. break;
  89. case 5:
  90. $("#gzsscs").css("display","none");
  91. $("#jxsscs").css("display","none");
  92. $("#xnsscs").css("display","none");
  93. $("#slsscs").css("display","");
  94. $("#xdsscs").css("display","none");
  95. break;
  96. }
  97. showDiv2();
  98. }
  99. function contrast()
  100. {
  101. var wp1=" ";
  102. var wp2=" ";
  103. var arr=$("#gridTable").jqGrid('getGridParam', 'selarrrow');
  104. var i=0;
  105. var data1 = [];
  106. var data2 = [];
  107. var xddl = [];
  108. var gzdl = [];
  109. var whdl = [];
  110. var qfdl = [];
  111. var sldl = [];
  112. var names = [];
  113. $.each(arr,function(n,value) {
  114. var recordDate= $("#gridTable").jqGrid('getCell',value,'recordDate');
  115. var fnlylfraction= $("#gridTable").jqGrid('getCell',value,'fnlylfraction');
  116. var gzsslfraction= $("#gridTable").jqGrid('getCell',value,'gzsslfraction');
  117. var jxsslfraction= $("#gridTable").jqGrid('getCell',value,'jxsslfraction');
  118. var qflfraction= $("#gridTable").jqGrid('getCell',value,'qflfraction');
  119. var xnsslfraction= $("#gridTable").jqGrid('getCell',value,'xnsslfraction');
  120. var slsslfraction= $("#gridTable").jqGrid('getCell',value,'slsslfraction');
  121. var fwjslfraction= $("#gridTable").jqGrid('getCell',value,'fwjslfraction');
  122. var ztzhjslfraction= $("#gridTable").jqGrid('getCell',value,'ztzhjslfraction');
  123. var xqjslfraction= $("#gridTable").jqGrid('getCell',value,'xqjslfraction');
  124. var fnlyl= $("#gridTable").jqGrid('getCell',value,'fnlyl');
  125. var gzssl= $("#gridTable").jqGrid('getCell',value,'gzssl');
  126. var jxssl= $("#gridTable").jqGrid('getCell',value,'jxssl');
  127. var qfl= $("#gridTable").jqGrid('getCell',value,'qfl');
  128. var slssl= $("#gridTable").jqGrid('getCell',value,'slssl');
  129. var fwjsl= $("#gridTable").jqGrid('getCell',value,'fwjsl');
  130. var ztzhjsl= $("#gridTable").jqGrid('getCell',value,'ztzhjsl');
  131. var xqjsl= $("#gridTable").jqGrid('getCell',value,'xqjsl');
  132. var xnssl= $("#gridTable").jqGrid('getCell',value,'xnssl');
  133. var scadafdl= $("#gridTable").jqGrid('getCell',value,'scadafdl');
  134. var qfss= $("#gridTable").jqGrid('getCell',value,'qfss');
  135. var gzss= $("#gridTable").jqGrid('getCell',value,'gzss');
  136. var whss= $("#gridTable").jqGrid('getCell',value,'whss');
  137. var xdss= $("#gridTable").jqGrid('getCell',value,'xdss');
  138. var slss= $("#gridTable").jqGrid('getCell',value,'slss');
  139. if(i==0)
  140. {
  141. wp1=recordDate;
  142. data1.push(parseInt(fnlylfraction));
  143. data1.push(parseInt(gzsslfraction));
  144. data1.push(parseInt(jxsslfraction));
  145. data1.push(parseInt(qflfraction));
  146. data1.push(parseInt(xnsslfraction));
  147. data1.push(parseInt(slsslfraction));
  148. data1.push(parseInt(fwjslfraction));
  149. data1.push(parseInt(ztzhjslfraction));
  150. data1.push(parseInt(xqjslfraction));
  151. $("#wpid1").html(recordDate + "&nbsp;");
  152. $("#fnlyl1").html(fnlyl + "&nbsp;");
  153. if(gzssl>=5)
  154. {
  155. $("#gzssl1").css("background-color","red");
  156. $("#gzssl1").html("<a href='#' onclick='displayInfo(2)'>"+gzssl + "</a>");
  157. }else
  158. {
  159. $("#gzssl1").html(gzssl+ "&nbsp;");
  160. }
  161. if(jxssl>=5)
  162. {
  163. $("#jxssl1").css("background-color","red");
  164. $("#jxssl1").html("<a href='#' onclick='displayInfo(3)'>"+jxssl + "</a>");
  165. }else
  166. {
  167. $("#jxssl1").html(jxssl + "&nbsp;");
  168. }
  169. if(qfl>=5)
  170. {
  171. $("#qfl1").html("<a href='#' onclick='displayInfo(1)'>"+qfl + "</a>");
  172. $("#qfl1").css("background-color","red");
  173. }else
  174. {
  175. $("#qfl1").html(qfl + "&nbsp;");
  176. }
  177. if(slssl>=5)
  178. {
  179. $("#slssl1").html("<a href='#' onclick='displayInfo(5)'>"+slssl + "</a>");
  180. $("#slssl1").css("background-color","red");
  181. }else
  182. {
  183. $("#slssl1").html(slssl + "&nbsp;");
  184. }
  185. if(xnssl>=5)
  186. {
  187. $("#xnssl1").html("<a href='#' onclick='displayInfo(4)'>"+xnssl + "</a>");
  188. $("#xnssl1").css("background-color","red");
  189. }else
  190. {
  191. $("#xnssl1").html(slssl + "&nbsp;");
  192. }
  193. $("#fwjsl1").html(fwjsl + "&nbsp;");
  194. $("#ztzhjsl1").html(ztzhjsl + "&nbsp;");
  195. $("#xqjsl1").html(xqjsl + "&nbsp;");
  196. $("#scadafdl1").html(scadafdl + "&nbsp;");
  197. $("#gzss1").html(gzss + "&nbsp;");
  198. $("#qfss1").html(qfss + "&nbsp;");
  199. $("#whss1").html(whss + "&nbsp;");
  200. $("#xdss1").html(xdss + "&nbsp;");
  201. $("#slss1").html(slss + "&nbsp;");
  202. names.push(wp1);
  203. if (xdss != null) {
  204. xddl.push( parseFloat(xdss) );
  205. }
  206. if (gzss != null) {
  207. gzdl.push( parseFloat(gzss) );
  208. }
  209. if (whss != null) {
  210. whdl.push( parseFloat(whss) );
  211. }
  212. if (qfss != null) {
  213. qfdl.push( parseFloat(qfss) );
  214. }
  215. sldl.push(parseFloat('0'));
  216. }else if(i==1)
  217. {
  218. wp2=recordDate;
  219. data2.push(parseInt(fnlylfraction));
  220. data2.push(parseInt(gzsslfraction));
  221. data2.push(parseInt(jxsslfraction));
  222. data2.push(parseInt(qflfraction));
  223. data2.push(parseInt(xnsslfraction));
  224. data2.push(parseInt(slsslfraction));
  225. data2.push(parseInt(fwjslfraction));
  226. data2.push(parseInt(ztzhjslfraction));
  227. data2.push(parseInt(xqjslfraction));
  228. $("#wpid2").html(recordDate + "&nbsp;");
  229. $("#fnlyl2").html(fnlyl + "&nbsp;");
  230. if(gzssl>=5)
  231. {
  232. $("#gzssl2").css("background-color","red");
  233. $("#gzssl2").html("<a href='#' onclick='displayInfo(2)'>"+gzssl + "</a>");
  234. }else
  235. {
  236. $("#gzssl2").html(gzssl+ "&nbsp;");
  237. }
  238. if(jxssl>=5)
  239. {
  240. $("#jxssl2").css("background-color","red");
  241. $("#jxssl2").html("<a href='#' onclick='displayInfo(3)'>"+jxssl + "</a>");
  242. }else
  243. {
  244. $("#jxssl2").html(jxssl + "&nbsp;");
  245. }
  246. if(qfl>=5)
  247. {
  248. $("#qfl2").html("<a href='#' onclick='displayInfo(1)'>"+qfl + "</a>");
  249. $("#qfl2").css("background-color","red");
  250. }else
  251. {
  252. $("#qfl2").html(qfl + "&nbsp;");
  253. }
  254. if(slssl>=5)
  255. {
  256. $("#slssl2").html("<a href='#' onclick='displayInfo(5)'>"+slssl + "</a>");
  257. $("#slssl2").css("background-color","red");
  258. }else
  259. {
  260. $("#slssl2").html(slssl + "&nbsp;");
  261. }
  262. if(xnssl>=5)
  263. {
  264. $("#xnssl2").html("<a href='#' onclick='displayInfo(4)'>"+xnssl + "</a>");
  265. $("#xnssl2").css("background-color","red");
  266. }else
  267. {
  268. $("#xnssl2").html(xnssl + "&nbsp;");
  269. }
  270. $("#fwjsl2").html(fwjsl + "&nbsp;");
  271. $("#ztzhjsl2").html(ztzhjsl + "&nbsp;");
  272. $("#xqjsl2").html(xqjsl + "&nbsp;");
  273. $("#scadafdl2").html(scadafdl + "&nbsp;");
  274. $("#gzss2").html(gzss + "&nbsp;");
  275. $("#qfss2").html(qfss + "&nbsp;");
  276. $("#whss2").html(whss + "&nbsp;");
  277. $("#xdss2").html(xdss + "&nbsp;");
  278. $("#slss2").html(slss + "&nbsp;");
  279. names.push(wp2);
  280. if (xdss != null) {
  281. xddl.push( parseFloat(xdss) );
  282. }
  283. if (gzss != null) {
  284. gzdl.push( parseFloat(gzss) );
  285. }
  286. if (whss != null) {
  287. whdl.push( parseFloat(whss) );
  288. }
  289. if (qfss != null) {
  290. qfdl.push( parseFloat(qfss) );
  291. }
  292. sldl.push(parseFloat('0'));
  293. }
  294. i++;
  295. })
  296. options2.series[0].data = data1;
  297. options2.series[0].name = wp1;
  298. options2.series[1].data = data2;
  299. options2.series[1].name = wp2;
  300. chart2 = new Highcharts.Chart(options2);
  301. options3.series[0].data = xddl;
  302. options3.series[1].data = gzdl;
  303. options3.series[2].data = whdl;
  304. options3.series[3].data = qfdl;
  305. options3.series[4].data = sldl;
  306. options3.xAxis.categories = names;
  307. chart3 = new Highcharts.Chart(options3);
  308. if(i>2)
  309. {
  310. alert("一次最多能选择两个场站!");
  311. return false;
  312. }else if(i<2)
  313. {
  314. alert("请选择两个场站!");
  315. return false;
  316. }
  317. showDiv();
  318. }
  319. function findWpPowerChat(wpId,beginDate,endDate) {
  320. var url = "/benchmark/findWpPowerChat.action?wpId="+wpId
  321. +"&beginDate="+beginDate +"&endDate="+endDate;
  322. $.ajax({
  323. url : url,
  324. type : "post",
  325. cache : false,
  326. dataType : "json",
  327. async : false,
  328. data : {},
  329. ifModified : false,
  330. success : function(result) {
  331. var xddl = [];
  332. var gzdl = [];
  333. var whdl = [];
  334. var qfdl = [];
  335. var sldl = [];
  336. var xtime = [];
  337. $.each(result, function(m, obj) {
  338. //if(m == result.length -1){
  339. if (obj.value1 != null) {
  340. xddl.push( parseFloat(obj.value1) );
  341. }
  342. if (obj.value2 != null) {
  343. gzdl.push( parseFloat(obj.value2) );
  344. }
  345. if (obj.value3 != null) {
  346. whdl.push( parseFloat(obj.value3) );
  347. }
  348. if (obj.value4 != null) {
  349. qfdl.push( parseFloat(obj.value4) );
  350. }
  351. if (obj.value5 != null) {
  352. sldl.push( parseFloat(obj.value5) );
  353. }
  354. if(obj.time!= null )
  355. {
  356. xtime.push(parseFloat(obj.time));
  357. }
  358. });
  359. //alert(xtime.length);
  360. options1.series[0].data = xddl;
  361. options1.series[1].data = gzdl;
  362. options1.series[2].data = whdl;
  363. options1.series[3].data = qfdl;
  364. options1.series[4].data = sldl;
  365. options1.xAxis.categories = xtime;
  366. chart1 = new Highcharts.Chart(options1);
  367. }
  368. });
  369. }
  370. function changeFc(type){
  371. var url1 = "windfarmAjax.action?type="+type;
  372. $.ajax({
  373. type:"post",
  374. url:url1,
  375. dataType:"json",
  376. success: function(data){
  377. if(data.length != 0){
  378. eval(data);
  379. $("#wpId").empty();
  380. $("#wpId").append("<option value=''>请选择</option>");
  381. for(var i=0; i<data.length; i++){
  382. $("#wpId").append("<option value='"+data[i].id+"'>"+data[i].name+"</option>");
  383. }
  384. }else{
  385. $("#wpId").append("<option value=''>请选择</option>");
  386. $("#wpId").addOption("请选择","");
  387. }
  388. queryData();
  389. }
  390. });
  391. }
  392. function queryData(){
  393. if("" == $("#beginDate").val()){
  394. alert("请选择查询开始日期!");
  395. }else if("" == $("#endDate").val()){
  396. alert("请选择查询结束日期!");
  397. }
  398. else{
  399. //var type=$("#type").val();
  400. //var wpId=$("#wpId").find("option:selected").val();
  401. //var beginDate=$("#beginDate").val();
  402. //var endDate=$("#endDate").val();
  403. //var url = '<%=request.getContextPath() %>/charts/lossList.action?wpId='+wpId
  404. // +"&beginDate="+beginDate +"&endDate="+endDate+"&type="+type;
  405. //$("#gridTable").setGridParam({url:url}).trigger("reloadGrid");
  406. $("#gridTable").jqGrid('GridUnload');
  407. showJqGrid();
  408. }
  409. }
  410. function toExcel() {
  411. if("" == $("#beginDate").val()){
  412. alert("请选择查询开始日期!");
  413. }else if("" == $("#endDate").val()){
  414. alert("请选择查询结束日期!");
  415. }
  416. else{
  417. var wpId=$("#wpId").find("option:selected").val();
  418. var beginDate=$("#beginDate").val();
  419. var endDate=$("#endDate").val();
  420. var url = '<%=request.getContextPath() %>/charts/lossExcel.action?wpId='+wpId
  421. +"&beginDate="+beginDate +"&endDate="+endDate+"&type="+type;
  422. }
  423. }
  424. $(document).ready(function () {
  425. options1 = {
  426. colors: [
  427. '#D201D8', //限电
  428. '#FD0100',//故障
  429. '#FF7B16', //维护
  430. '#8085E9',//性能
  431. '#A6A6A6' //受累
  432. ],
  433. chart: {
  434. renderTo: 'container1',
  435. type: 'column',
  436. width:1568,
  437. height:308,
  438. //backgroundColor:'#BFDFFF',
  439. //plotBackgroundColor:'#BFDFFF',
  440. zoomType: 'x'
  441. },
  442. title : {
  443. text : '损失电量分析'
  444. },
  445. xAxis: {
  446. type: 'datetime',
  447. labels: {
  448. align: 'center',
  449. formatter: function() {
  450. return Highcharts.dateFormat('%Y-%m-%d', this.value);
  451. }
  452. }
  453. },
  454. yAxis: [{ // Primary yAxis
  455. labels: {
  456. format: '{value}万kw',
  457. style: {
  458. color: '#89A54E'
  459. }
  460. },
  461. title: {
  462. text: '电量',
  463. style: {
  464. color: '#89A54E'
  465. }
  466. }
  467. }],
  468. legend: {
  469. layout: 'vertical',
  470. // backgroundColor: '#FFFFFF',
  471. align: 'right',
  472. verticalAlign: 'top',
  473. x:-80,
  474. floating: true
  475. // shadow: true
  476. // layout: 'vertical',
  477. // align: 'right',
  478. // verticalAlign: 'middle',
  479. // borderWidth: 0
  480. },
  481. tooltip: {
  482. shared:true,
  483. xDateFormat:'%Y-%m-%d %H:%M'
  484. /*formatter: function() {
  485. return '<b>'+ this.series.name +'</b>:'+
  486. Highcharts.numberFormat(this.y, 2) +' 万kW<br/>时间:'+
  487. Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x);
  488. }*/
  489. },
  490. series: [{
  491. name: '限电损失电量(单位:万KWh)',
  492. yAxis:0
  493. },
  494. {name: '故障损失电量(单位:万KWh)',
  495. yAxis:0
  496. },{
  497. name: '检修损失电量(单位:万KWh)',
  498. yAxis:0
  499. },{
  500. name: '性能损失电量(单位:万KWh)',
  501. yAxis:0
  502. }
  503. ,{
  504. name: '受累损失电量(单位:万KWh)',
  505. yAxis:0
  506. }]
  507. };
  508. /******************************************玫瑰图1***********************************************/
  509. options2 = {
  510. colors: [
  511. '#7CB5EC',
  512. '#ACF19D'
  513. ],
  514. chart: {
  515. renderTo : 'fzy',
  516. polar: true,
  517. width:450,
  518. height:450,
  519. type: 'area'
  520. },
  521. title: {
  522. text: '对标排名分析',
  523. x: 0
  524. },
  525. pane: {
  526. size: '80%'
  527. },
  528. xAxis: {
  529. categories: ['风能利用率','故障损失率','检修损失率','弃风率','性能损失率','受累损失率','复位及时率','状态转换率','消缺及时率'
  530. ],
  531. tickmarkPlacement: 'on',
  532. lineWidth: 0
  533. },
  534. yAxis: {
  535. gridLineInterpolation: 'polygon',
  536. lineWidth: 0,
  537. min: 0
  538. },
  539. tooltip: {
  540. shared: true,
  541. pointFormat: '<span style="color:{series.color}"> <b>{point.y:,.0f}</b><br/>'
  542. },
  543. series: [{
  544. name: " ",
  545. data: [],
  546. pointPlacement: 'on'
  547. },{
  548. name: " ",
  549. data: [],
  550. pointPlacement: 'on'
  551. }]
  552. }
  553. /***************************************************************************************************/
  554. options3 = {
  555. colors: [
  556. '#D201D8', //限电
  557. '#FD0100',//故障
  558. '#FF7B16', //维护
  559. '#8085E9',//性能
  560. '#A6A6A6' //受累
  561. ],
  562. chart: {
  563. renderTo: 'containers',
  564. type: 'column',
  565. width:450,
  566. height:300,
  567. //backgroundColor:'#BFDFFF',
  568. //plotBackgroundColor:'#BFDFFF',
  569. zoomType: 'x'
  570. },
  571. title : {
  572. text : '损失电量分析'
  573. },
  574. xAxis: {
  575. type: 'category'
  576. },
  577. yAxis: [{ // Primary yAxis
  578. labels: {
  579. format: '{value}万kw',
  580. style: {
  581. color: '#89A54E'
  582. }
  583. },
  584. title: {
  585. text: '电量',
  586. style: {
  587. color: '#89A54E'
  588. }
  589. }
  590. }],
  591. legend: {
  592. layout: 'vertical',
  593. // backgroundColor: '#FFFFFF',
  594. verticalAlign: 'top',
  595. x:30,
  596. y:15,
  597. floating: true
  598. // shadow: true
  599. // layout: 'vertical',
  600. // align: 'right',
  601. // verticalAlign: 'middle',
  602. // borderWidth: 0
  603. },
  604. tooltip: {
  605. shared:true,
  606. xDateFormat:'%Y-%m-%d %H:%M'
  607. /*formatter: function() {
  608. return '<b>'+ this.series.name +'</b>:'+
  609. Highcharts.numberFormat(this.y, 2) +' 万kW<br/>时间:'+
  610. Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x);
  611. }*/
  612. },
  613. series: [{
  614. name: '限电损失电量(单位:万KWh)',
  615. yAxis:0
  616. },
  617. {name: '故障损失电量(单位:万KWh)',
  618. yAxis:0
  619. },{
  620. name: '检修损失电量(单位:万KWh)',
  621. yAxis:0
  622. },{
  623. name: '性能损失电量(单位:万KWh)',
  624. yAxis:0
  625. }
  626. ,{
  627. name: '受累损失电量(单位:万KWh)',
  628. yAxis:0
  629. }]
  630. };
  631. /***************************************************************************************************/
  632. showJqGrid();
  633. /***************************************************************************************************/
  634. });
  635. function displaybuttons(cellvalue, options, rawObject) {
  636. var wpId=$("#wpId").find("option:selected").val();
  637. var rdcorddate=rawObject.recordDate;
  638. var detail = "<input type='button' value='详情' onclick=detail('"
  639. + wpId + "','" +rdcorddate.substring(0,10)+ "')>";
  640. return "&nbsp;&nbsp;&nbsp;\t" + detail + "&nbsp;&nbsp;&nbsp;\t";
  641. };
  642. function detail(wpId,recordDate) {
  643. $("#beginDate").val(recordDate);
  644. $("#endDate").val(recordDate);
  645. $("#f1").attr("action", "../benchmark/benchmarkWtindex.action").submit();
  646. }
  647. function showJqGrid() {
  648. var wpId=$("#wpId").find("option:selected").val();
  649. var beginDate=$("#beginDate").val();
  650. var endDate=$("#endDate").val();
  651. findWpPowerChat(wpId,beginDate,endDate);
  652. var id = 'gridTable';
  653. var url = '<%=request.getContextPath() %>/benchmark/benchmarkWpList.action?wpId='+wpId
  654. +"&beginDate="+beginDate +"&endDate="+endDate;
  655. var datatype = 'json';
  656. var colNames = ['复位及时率分数','状态转换分数','状态转换分数','风能利用率分数','故障损失率分数','检修损失率分数'
  657. ,'弃风率分数','受累损失率分数','性能损失分数','综合排名','日期', '发电量排名', '发电量', '故障损失电量排名', '故障损失电量', '检修损失电量排名', '检修损失电量', '性能损失电量排名', '性能损失电量','限电损失电量排名', '限电损失电量', '受累损失电量排名', '受累损失电量', '风能利用率排名', '风能利用率(%)', '故障损失率排名', '故障损失率(%)','检修损失率排名',
  658. '检修损失率(%)','弃风率排名','弃风率(%)','性能损失率排名','性能损失率(%)','受累损失率排名','受累损失率(%)', '复位及时率排名', '复位及时率(%)', '状态转换率排名', '状态转换率(%)',
  659. '消缺及时率排名', '消缺及时率(%)',"操作"];
  660. var colModel = [
  661. { name: 'fwjslfraction', index: 'fwjslfraction', width: 80, align: 'center',hidden:true},
  662. { name: 'ztzhjslfraction', index: 'ztzhjslfraction', width: 80, align: 'center',hidden:true},
  663. { name: 'xqjslfraction', index: 'xqjslfraction', width: 80, align: 'center',hidden:true},
  664. { name: 'fnlylfraction', index: 'fnlylfraction', width: 80, align: 'center',hidden:true},
  665. { name: 'gzsslfraction', index: 'gzsslfraction', width: 80, align: 'center',hidden:true},
  666. { name: 'jxsslfraction', index: 'jxsslfraction', width: 80, align: 'center',hidden:true},
  667. { name: 'qflfraction', index: 'qflfraction', width: 80, align: 'center',hidden:true},
  668. { name: 'slsslfraction', index: 'slsslfraction', width: 80, align: 'center',hidden:true},
  669. { name: 'xnsslfraction', index: 'xnsslfraction', width: 80, align: 'center',hidden:true},
  670. { name: 'ordernum', index: 'ordernum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  671. { name: 'recordDate', index: 'recordDate', width: 80, align: 'center',formatter:'date',formatoptions:{srcformat: 'Y-m-d H:i:s', newformat: 'Y-m-d'}},
  672. { name: 'scadafdlnum', index: 'scadafdlnum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  673. { name: 'scadafdl', index: 'scadafdl', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 4},sorttype: 'float'},
  674. { name: 'gzssnum', index: 'gzssnum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  675. { name: 'gzss', index: 'gzss', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 4},sorttype: 'float'},
  676. { name: 'whssnum', index: 'whssnum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  677. { name: 'whss', index: 'whss', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 4},sorttype: 'float'},
  678. { name: 'qfssnum', index: 'qfssnum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  679. { name: 'qfss', index: 'qfss', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 4},sorttype: 'float'},
  680. { name: 'xdssnum', index: 'slssnum', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  681. { name: 'xdss', index: 'slss', width: 60, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 4},sorttype: 'float'},
  682. { name: 'slssnum', index: 'slssnum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  683. { name: 'slss', index: 'slss', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 4},sorttype: 'float'},
  684. { name: 'fnlylnum', index: 'fnlylnum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  685. { name: 'fnlyl', index: 'fnlyl', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  686. { name: 'gzsslnum', index: 'gzsslnum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  687. { name: 'gzssl', index: 'gzssl', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  688. { name: 'jxsslnum', index: 'jxsslnum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  689. { name: 'jxssl', index: 'jxssl', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  690. { name: 'qflnum', index: 'qflnum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  691. { name: 'qfl', index: 'qfl', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  692. { name: 'xnsslnum', index: 'xnsslnum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  693. { name: 'xnssl', index: 'xnssl', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  694. { name: 'slsslnum', index: 'slsslnum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  695. { name: 'slssl', index: 'slssl', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  696. { name: 'fwjslnum', index: 'fwjslnum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  697. { name: 'fwjsl', index: 'fwjsl', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  698. { name: 'ztzhjslnum', index: 'ztzhjslnum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  699. { name: 'ztzhjsl', index: 'ztzhjsl', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  700. { name: 'xqjslnum', index: 'xqjslnum', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 0},sorttype: 'int'},
  701. { name: 'xqjsl', index: 'xqjsl', width: 50, align: 'center', formatter:'number', formatoptions:{decimalPlaces: 2},sorttype: 'float'},
  702. { name: 'wpId', index: 'wpId', width: 80, align: 'center',formatter:displaybuttons}
  703. ];
  704. var caption = '场内对标列表';
  705. var sortname = 'total';
  706. var gridPagerID ='gridPager';
  707. var sortorder='desc';
  708. var height='auto';
  709. var width='auto';
  710. var rownumbers=true;
  711. var multiselect=true;
  712. myJqGrid(id, url, datatype, colNames, colModel, caption, sortname, gridPagerID,sortorder,height,width,
  713. multiselect,rownumbers);}
  714. </script>
  715. <style type="text/css">
  716. fieldset legend {
  717. color:#302A2A;
  718. font: bold 16px/2 Verdana, Geneva, sans-serif;
  719. font-weight: bold;
  720. text-align: left;
  721. text-shadow: 2px 2px 2px rgb(88, 126, 156);
  722. }
  723. .ui-jqgrid tr.jqgrow td {
  724. white-space: normal !important;
  725. height:auto;
  726. vertical-align:text-top;
  727. padding-top:2px;
  728. }
  729. th.ui-th-column div{
  730. white-space:normal !important;
  731. height:auto !important;
  732. padding:0px;
  733. }
  734. </style>
  735. </head>
  736. <body>
  737. <form action="lossIndex.action" method="post" id="f1">
  738. <fieldset style="height: 60px" id="fst">
  739. <legend class="item_Name">查询条件</legend>
  740. <table width="1000px" cellpadding="0" cellspacing="0" class="dataform">
  741. <tr>
  742. <th width="100px" class="item_Name">
  743. 风场:
  744. </th>
  745. <td width="200px" class="item_Name">
  746. <s:select list="wps" cssStyle="width:200px" listKey="id" listValue="name" id="wpId" name="wpId" headerKey="" headerValue="请选择" ></s:select>
  747. </td>
  748. <th width="100px" class="item_Name">
  749. 开始日期
  750. </th>
  751. <td width="100px" style="text-align: left">
  752. <s:textfield cssClass="Wdate" onFocus="WdatePicker({dateFmt:'yyyy-MM-dd',isShowWeek:true,readOnly:true})"
  753. id="beginDate" name="beginDate" title="开始日期" />
  754. </td>
  755. <th width="100px" class="item_Name">
  756. 结束日期
  757. </th>
  758. <td width="100px" style="text-align: left">
  759. <s:textfield cssClass="Wdate" onFocus="WdatePicker({dateFmt:'yyyy-MM-dd',isShowWeek:true,readOnly:true})"
  760. id="endDate" name="endDate" title="结束日期" />
  761. </td>
  762. <td width="200px" style="text-align: right">
  763. <input id="backbuttona" type="button" value="查询" onClick="queryData()" />
  764. </td>
  765. <td width="200px" style="text-align: right">
  766. <input id="backbuttona" type="button" value="对标分析" onClick="contrast()" />
  767. </td>
  768. </tr>
  769. </table>
  770. </fieldset>
  771. <br/>
  772. <table id='gridTable' >
  773. </table>
  774. <div id='gridPager'></div>
  775. <div id="container1" style="width:1570px;height:310px"></div>
  776. </form>
  777. <div class="highslide-html-content" id="showDiv" style="width: 1000">
  778. <div class="highslide-header">
  779. <ul>
  780. <li class="highslide-move">
  781. <a href="#" onclick="return false">Move</a>
  782. </li>
  783. <li class="highslide-close" >
  784. <a href="#" onclick="return hs.close(this)" ></a>
  785. </li>
  786. </ul>
  787. </div>
  788. <div class="highslide-body" id="container1" style="width: 1100;height : 1050;">
  789. <table width="1000" border="0" cellspacing="0" cellpadding="0" bgcolor="#efefef">
  790. <tr>
  791. <td width="560" rowspan="15" align="center" bgcolor="#FFFFFF"><div id="fzy"></div><div id="containers"></div></td>
  792. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span class='text_main' >指标</span></td>
  793. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span class='text_main' id="wpid1" >指标</span></td>
  794. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span class='text_main' id="wpid2">指标</span></td>
  795. </tr>
  796. <tr>
  797. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>发电量</span></td>
  798. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="scadafdl1" class='text_title'></span></td>
  799. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="scadafdl2" class='text_title'></span></td>
  800. </tr>
  801. <tr>
  802. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>故障损失电量</span></td>
  803. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="gzss1" class='text_title'></span></td>
  804. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="gzss2" class='text_title'></span></td>
  805. </tr>
  806. <tr>
  807. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>检修损失电量</span></td>
  808. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="whss1" class='text_title'></span></td>
  809. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="whss2" class='text_title'></span></td>
  810. </tr>
  811. <tr>
  812. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>性能损失电量</span></td>
  813. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="qfss1" class='text_title'></span></td>
  814. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="qfss2" class='text_title'></span></td>
  815. </tr>
  816. <tr>
  817. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>受累损失电量</span></td>
  818. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="slss1" class='text_title'></span></td>
  819. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="slss2" class='text_title'></span></td>
  820. </tr>
  821. <tr>
  822. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>风能利用率</span></td>
  823. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="fnlyl1" class='text_title'></span></td>
  824. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="fnlyl2" class='text_title'></span></td>
  825. </tr>
  826. <tr>
  827. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>故障损失率</span></td>
  828. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="gzssl1" class='text_title'></span></td>
  829. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="gzssl2" class='text_title'></span></td>
  830. </tr>
  831. <tr>
  832. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>检修损失率</span></td>
  833. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="jxssl1" class='text_title'></span></td>
  834. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="jxssl2" class='text_title'></span></td>
  835. </tr>
  836. <tr>
  837. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>弃风率</span></td>
  838. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="qfl1" class='text_title'></span></td>
  839. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="qfl2" class='text_title'></span></td>
  840. </tr>
  841. <tr>
  842. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>性能损失率</span></td>
  843. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="xnssl1" class='text_title'></span></td>
  844. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="xnssl2" class='text_title'></span></td>
  845. </tr>
  846. <tr>
  847. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>受累损失率</span></td>
  848. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="slssl1" class='text_title'></span></td>
  849. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="slssl2" class='text_title'></span></td>
  850. </tr>
  851. <tr>
  852. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>复位及时率</span></td>
  853. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="fwjsl1" class='text_title'></span></td>
  854. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="fwjsl2" class='text_title'></span></td>
  855. </tr>
  856. <tr>
  857. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>消缺及时率</span></td>
  858. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="xqjsl1" class='text_title'></span></td>
  859. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="xqjsl2" class='text_title'></span></td>
  860. </tr>
  861. <tr>
  862. <td width="140" height="50" align="center" valign="middle" bgcolor="#FFFFFF"><span id="" class='text_title'>状态转换率</span></td>
  863. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="ztzhjsl1" class='text_title'></span></td>
  864. <td width="140" height="50" align="center" bgcolor="#FFFFFF"><span id="ztzhjsl2" class='text_title'></span></td>
  865. </tr>
  866. </table>
  867. </div>
  868. </div>
  869. <!--***************************************************************************************************************************-->
  870. <div class="highslide-html-content" id="showDiv2" style="width: 1000">
  871. <div class="highslide-header">
  872. <ul>
  873. <li class="highslide-move">
  874. <a href="#" onclick="return false">Move</a>
  875. </li>
  876. <li class="highslide-close" style="width: 18px;height: 10px">
  877. <a href="#" onclick="return hs.close(this)" ></a>
  878. </li>
  879. </ul>
  880. </div>
  881. <div class="highslide-body" id="container5" style="width: 1000">
  882. <!--***************************************************************************************************************************-->
  883. <div id="gzsscs" style="display:none">
  884. <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#efefef">
  885. <tr>
  886. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >故障损失应对措施</span><span id="wtid" class='text_title'></span></td>
  887. </tr>
  888. <tr>
  889. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >1、加强风机大部件的维护、消缺工作,确保能够长周期运行。</span><span id="wtid" class='text_title'></span></td>
  890. </tr>
  891. <tr>
  892. <td width="579" height="26" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>2、定期针对风机易损件的更换、检查、维护,减少风机易损件故障的影响。</span><span id="level" class='text_title'></span></td>
  893. </tr>
  894. <tr>
  895. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>3、加强备品备件的管理;提前采购,并采购优质的备品备件;定期对备品备件进行维护。</span>
  896. </td>
  897. </tr>
  898. <tr>
  899. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>4、按期、保证质量的完成定检项目。</span>
  900. </td>
  901. </tr>
  902. <tr>
  903. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>5、加强技术力量的储备、培训,培养优秀的风机检修维护人员。</span>
  904. </td>
  905. </tr>
  906. <tr>
  907. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>6、采购适用各类型风机检修、检测的工器具、仪表。</span>
  908. </td>
  909. </tr>
  910. <tr>
  911. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>7、建立检修、维护时间定额、工艺确认、验收等管理机制。</span>
  912. </td>
  913. </tr>
  914. </table>
  915. </div>
  916. <!--***************************************************************************************************************************-->
  917. <div id="xnsscs" style="display:none">
  918. <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#efefef">
  919. <tr>
  920. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >性能损失应对措施</span><span id="wtid" class='text_title'></span></td>
  921. </tr>
  922. <tr>
  923. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >1、积极协调风机厂家技术人员,进行风机控制策略升级,提高切入风速、额定风速合格率,使风机进入最佳状态。</span><span id="wtid" class='text_title'></span></td>
  924. </tr>
  925. <tr>
  926. <td width="579" height="26" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>2、加强风机大部件的维护、消缺工作,确保能够长周期运行。</span><span id="level" class='text_title'></span></td>
  927. </tr>
  928. <tr>
  929. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>3、定期针对风机易损件的更换、检查、维护,减少风机易损件故障的影响。</span>
  930. </td>
  931. </tr>
  932. <tr>
  933. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>4、加强备品备件的管理;提前采购,并采购优质的备品备件;定期对备品备件进行维护。</span>
  934. </td>
  935. </tr>
  936. <tr>
  937. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>5、制定年度技改项目计划,及时进行风机性能优化,风能利用率。</span>
  938. </td>
  939. </tr>
  940. <tr>
  941. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>6、申请技改费用,更换风速仪、风向标为声波或激光测风,提升风机控制。</span>
  942. </td>
  943. </tr>
  944. <tr>
  945. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>7、按期、保证质量的完成定检项目。</span>
  946. </td>
  947. </tr>
  948. <tr>
  949. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>8、加强技术力量的储备、培训,培养优秀的风机检修维护人员。</span>
  950. </td>
  951. </tr>
  952. <tr>
  953. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>9、采购适用各类型风机检修、检测的工器具、仪表。</span>
  954. </td>
  955. </tr>
  956. <tr>
  957. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>10、建立风机性能优化、提效的技术团队;建立检修维护工艺确认、验收管理等机制。</span>
  958. </td>
  959. </tr>
  960. </table>
  961. </div>
  962. <!--***************************************************************************************************************************-->
  963. <div id="jxsscs" style="display:none">
  964. <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#efefef">
  965. <tr>
  966. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >检修损失应对措施</span><span id="wtid" class='text_title'></span></td>
  967. </tr>
  968. <tr>
  969. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >1、进行检修时间优化(年度计划时间的确定,检修工期的优化)。</span><span id="wtid" class='text_title'></span></td>
  970. </tr>
  971. <tr>
  972. <td width="579" height="26" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>2、季节检修向状态检修转变。</span><span id="level" class='text_title'></span></td>
  973. </tr>
  974. <tr>
  975. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>3、通过制定详细、周密的检修计划,确定检修项目,定额情况,确保按计划或提前完成检修工作。</span>
  976. </td>
  977. </tr>
  978. <tr>
  979. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>4、提前安排备品备件的采购工作,确保检修工作前,备品备件到场。</span>
  980. </td>
  981. </tr>
  982. <tr>
  983. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>5、定期检查检修工具、仪器仪表等的配置、完好。提前联系大型车辆、机械等设备到场。做好其他车辆的检查、维护工作,保证车辆不出现异常情况。</span>
  984. </td>
  985. </tr>
  986. <tr>
  987. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>6、提前做好检修队伍的落实,人员资质、技术能力的审查。</span>
  988. </td>
  989. </tr>
  990. <tr>
  991. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>7、做好检修的设备性能、状态、可靠性、缺陷(故障)情况的详查,落实检修项目。</span>
  992. </td>
  993. </tr>
  994. <tr>
  995. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>8、检修工作中严格执行检修作业指导书,标准化检修。</span>
  996. </td>
  997. </tr>
  998. <tr>
  999. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>9、合理安排检修、运行人员,缩短工期。</span>
  1000. </td>
  1001. </tr>
  1002. <tr>
  1003. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>10、加强后勤保障能力,保证人员吃住行的安全。</span>
  1004. </td>
  1005. </tr>
  1006. <tr>
  1007. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>11、进行班前思想教育、统一思想,认真完成工作交底,确保人员、设备安全。</span>
  1008. </td>
  1009. </tr>
  1010. </table>
  1011. </div>
  1012. <!--***************************************************************************************************************************-->
  1013. <div id="slsscs" style="display:none">
  1014. <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#efefef">
  1015. <tr>
  1016. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >受累损失应对措施</span><span id="wtid" class='text_title'></span></td>
  1017. </tr>
  1018. <tr>
  1019. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >1、关注电网计划检修时间,合理优化、适当建议电网检修避开大风天气、恶略天气。</span><span id="wtid" class='text_title'></span></td>
  1020. </tr>
  1021. <tr>
  1022. <td width="579" height="26" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>2、恶略天气关注电网的变化,根据实际情况适当变换运行方式,做好事故预想。</span><span id="level" class='text_title'></span></td>
  1023. </tr>
  1024. <tr>
  1025. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>3、电网出现故障后,积极联络、及时沟通、主动采取措施,尽快消除故障,恢复运行。</span>
  1026. </td>
  1027. </tr>
  1028. <tr>
  1029. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>4、电网检修时,安排专人负责联系检修人员、大客户经理、调度员等,确认检修进度,及时反馈。工作完成后,及时联系相关人员,争取提前恢复运行。安排风场做好恢复运行的准备工作。</span>
  1030. </td>
  1031. </tr>
  1032. </table>
  1033. </div>
  1034. <!--***************************************************************************************************************************-->
  1035. <div id="xdsscs" style="display:none">
  1036. <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#efefef">
  1037. <tr>
  1038. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >限电损失应对措施</span><span id="wtid" class='text_title'></span></td>
  1039. </tr>
  1040. <tr>
  1041. <td width="579" height="20" align="left" bgcolor="#FFFFFF"><span class='text_main' >1、关注国家、自治区、电网各级关于弃风限电的政策。按相关政策要求,及时应对和采取措施。</span><span id="wtid" class='text_title'></span></td>
  1042. </tr>
  1043. <tr>
  1044. <td width="579" height="26" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>2、在新能源电量与小火电置换、大用户直供、外送等方面增加营销力度。</span><span id="level" class='text_title'></span></td>
  1045. </tr>
  1046. <tr>
  1047. <td width="579" height="28" align="left" bgcolor="#FFFFFF"><span id="span" class='text_main'>3、积极与宁夏电网调度机构进行沟通,在负荷有空间时,有较高风速时,及时申请提高负荷。</span>
  1048. </td>
  1049. </tr>
  1050. </table>
  1051. </div>
  1052. <!--***************************************************************************************************************************-->
  1053. </div>
  1054. </div>
  1055. <!--***************************************************************************************************************************-->
  1056. </body>