public String monthData() {
IP_DT0023 ip_DT0023 = new IP_DT0023();
ip_DT0023.setDateType(0);
ip_DT0023.setQueryMonth(queryDate);
SessionStruct session = (SessionStruct) ActionContext.getContext()
.getSession().get(CommDataInterface.SESSIONSTRUCT);
ip_DT0023.setStationId(session.getSelectedStation().getStationId());
OPFather opFather = TradeCaptain.getInstance().doTrade(ip_DT0023);
StringBuffer monthStringBuffer = new StringBuffer();
if (opFather.isSucceed()) {
OP_DT0023 op_DT0023 = (OP_DT0023) opFather;
listInverterMonth = op_DT0023.getListMonth();
monthStringBuffer.append("[");
if (listInverterMonth == null || listInverterMonth.size() == 0) {
monthStringBuffer.append("]");
} else {
boolean isLastData = false;
for (int i = 0; i < listInverterMonth.size(); i++) {
InverterDataRecord4Day inverterMonth = listInverterMonth
.get(i);
isLastData = i == (listInverterMonth.size() - 1);
monthStringBuffer.append(FormatUtil
.formatPout(inverterMonth.getValue()));
if (isLastData) {
monthStringBuffer.append("]");
} else {
monthStringBuffer.append(",");
}
}
}
Calendar cal = new GregorianCalendar();
SimpleDateFormat monthFormat = new SimpleDateFormat("yyyy-MM");
try {
String time = new java.sql.Date(new java.util.Date().getTime())
.toString();
cal.setTime(monthFormat.parse(time));
} catch (ParseException e) {
e.printStackTrace();
}
int monthDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
StringBuffer dayStringBuffer = new StringBuffer();
boolean isLastData = false;
dayStringBuffer.append("[");
for (int i = 0; i < monthDay; i++) {
dayStringBuffer.append(i + 1);
isLastData = (i == monthDay - 1);
if (isLastData) {
dayStringBuffer.append("]");
} else {
dayStringBuffer.append(",");
}
}
ActionContext.getContext().put("monthData", monthStringBuffer.toString());
ActionContext.getContext()
.put("dayNum", dayStringBuffer.toString());
return "monthData";
}
return "errorPower";
}
<script type="text/javascript">
var chart;
$(document).ready(
function() {
chart = new Highcharts.Chart({
printButton : {
enabled : false
},
chart : {
renderTo : 'container',
defaultSeriesType : 'column',
margin : [ 50, 50, 100, 80 ]
},
title : {
text : ''
},
xAxis : {
categories : eval("${dayNum}"),
labels : {
rotation : -45,
align : 'right',
style : {
font : 'normal 13px Verdana, sans-serif'
}
},
title : {
text : 'Day'
}
},
yAxis : {
min : 0,
title : {
text : 'KWH'
}
},
legend : {
enabled : false
},
tooltip : {
formatter : function() {
return 'Energy: '+ Highcharts.numberFormat(this.y, 1)+'KWH'+'<br/>'+'Day: '+this.x;
}
},
series : [ {
name : 'Population',
data : eval("${monthData}"),
dataLabels : {
enabled : true,
rotation : -90,
color : '#FFFFFF',
align : 'right',
x : -3,
y : 10,
formatter : function() {
return this.y;
},
style : {
font : 'normal 13px Verdana, sans-serif'
}
}
} ]
});
});
</script>
<body>
<!-- 3. Add the container -->
<div id="container" style="width: 800px; height: 400px; margin: 0 auto"></div>
</body>
分享到:
相关推荐
本文介绍了Spring单元测试的2种写法,第一种写法使用AbstractDependencyInjectionSpringContextTests抽象类,第二种写法使用@RunWith(SpringJUnit4ClassRunner.class)和@ContextConfiguration注解。两种写法都可以...
除了基本的用法,还有一种可能的“另一种写法”是使用子查询或者窗口函数。例如,你可以先创建一个包含唯一组合的子查询,然后再进行分组计算。这在处理大数据量时,可能能够减少内存占用或提高效率。 ```sql SELECT...
第二种写法是使用目录路径匹配,这种方式可以匹配以指定前缀开始的所有请求。 **示例代码**: ```xml <servlet-name>testServlet <servlet-class>com.example.TestServlet</servlet-class> <servlet-name>...
android资料 单例模式的八种写法比较 单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。
"java for 循环的几种写法" 在 Java 编程语言中,for 循环是一种非常常用的循环语句,用于遍历数组、Collection 等类型的对象。在 J2SE 1.5 中,Java 引入了一种新的 for 循环语法,称为“增强的 for 循环”或...
Qt connect的几种写法
FPGA状态机的两种写法 状态机是计算机科学和电子工程中的一种基本概念,广泛应用于硬件控制电路设计和软件开发。有限状态机(Finite State Machine,FSM)是一种常用的状态机模型,能够将复杂的控制逻辑分解成有限...
本文将详细介绍`Handler`的几种常见写法,以及如何使用`Handler.Callback`进行消息处理。 1. **基本Handler使用** 基本的`Handler`使用通常涉及到创建`Handler`对象,然后在后台线程中通过`Looper`和`Message`与之...
第二种写法可能利用模块加载器,如CommonJS或ES6模块。如果你的项目使用了Webpack、Rollup等现代前端构建工具,可以按照以下方式引入ECharts: ```javascript // CommonJS const echarts = require('echarts'); //...
在探讨C#中的委托及其不同写法之前,我们先来简要回顾一下委托的基本概念...此外,还介绍了一种使用Lambda表达式的简化写法,使代码更加简洁高效。通过理解和掌握这些技术,开发者可以更好地应对复杂的多线程编程场景。
快速排序的三种写法主要指的是不同的选取“基准”(pivot)的方式: 1. **固定基准法**:通常选取序列的第一个元素或最后一个元素作为基准。这种方法简单,但在处理部分有序或者完全有序的数组时效率较低。 2. **...
懒汉式单例是一种常见的单例模式实现方式,它在第一次调用的时候实例化自己。下面是懒汉式单例的四种写法: 1、基本懒汉式单例 public class Singleton1 { private Singleton1() {} private static Singleton1 ...
在这个特定的“综合程序:学生成绩管理系统(四种写法)”中,我们能看到开发者使用C语言编写了四种不同的实现方式,旨在提供不同的功能和优化。下面我们将深入探讨这些知识点。 首先,C语言是计算机科学中一种基础...
1、此源码集合了2种写法绘制的地球仪! 2、第一种是通过opengl es绘制三角形拼成球体,图片作为纹理映射到整个球面上。支持双点触控缩放球体。...3、第二种通过3D绘制,不是帧动画,支持各个角度旋转,以及自转!
hello world 的 N 种写法 包含 批处理 汇编 vbs js c++ c# java boo 等近100种语言的HelloWorld
第二种方法是使用 `and` 和 `or` 运算符,其中 `and` 优先级高于 `or`: ```python msg = age > 18 and "已成年" or "未成年" ``` 3. **索引选择**: 第三种方式是通过条件作为索引来选择一个元组中的值: ``...
SQL常用分页的几种写法
首先,让我们来看看MVP的两种写法: 1. 接口型MVP(Interface-based MVP) 在接口型MVP中,Presenter层通过接口与View和Model进行交互。这样做的好处是提高了代码的解耦度,使得Presenter和View可以独立地进行单元...
vue main文件的三种写法