在这之前我必须说一下Birt Version 的问题,这个问题害死我了,本来很简单的问题,就是因为Version的问题我整了将近两星期。
如果你的项目是旧项目你必须要下载跟旧项目的Birt的Rumtime的Version操持一致。
你在New Data Sources 时选择 Scripted Data Source
好吧,少年如果你已经进行到这一步了,那么你就应该把你的Java类写一下了。
<span style="color:#000000;">import java.text.ParseException;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ibm.icu.text.SimpleDateFormat;
import cn.bts.action.BasicAction;
import cn.bts.action.synchronization.CardiographAction;
import cn.bts.entity.synchronization.CardiographEntity;
import cn.bts.service.synchronizaion.SynchronizationService;
import cn.bts.util.InitServlet;
import cn.bts.vo.DwrResultVO;
@Component
@Scope("request")
public class CardiographReport extends BasicAction{
/**
*
*/
private static final long serialVersionUID = 1L;
public static Logger logger=Logger.getLogger(CardiographAction.class);
private static CardiographReport instance;
private static ApplicationContext context = WebApplicationContextUtils.getRequiredWebApplicationContext(InitServlet.SERVLET_CONTEXT);
private CardiographEntity card;
//这个是你数据存放的实休类</span>
<span style="color:#000000;"> private List<CardiographEntity> cardList;
</span>
<span style="color:#000000;"> private SynchronizationService service = (SynchronizationService) context.getBean("synchronizationServiceImpl");
</span>
<span style="color:#000000;"> //由于我这使用的service是用的@也就是annotaction版本的,无法获取到Service,这就把他改成不是用@获取</span>
<span style="color:#000000;">
/**
* 获取当前对象
* @return
*/
public static CardiographReport getInstance() {
if (instance == null) {
instance = new CardiographReport();
}
return instance;
}//单例</span>
<span style="color:#000000;"></span>
<pre class="java" name="code"><span style="color:#000000;">/**
* 查询心电图周报表数据
* @return
* @throws ParseException
*/
public List<CardiographEntity> readCardList(HttpServletRequest request) throws ParseException {
String subscriberId=request.getParameter("subscriberId");
String weekStart=request.getParameter("weekStart");
String weekEnd=request.getParameter("weekEnd");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
card=new CardiographEntity();
card.setSubscriberId(subscriberId);
card.setWeekStart(sdf.parse(weekStart));//起始时间
card.setWeekEnd(sdf.parse(weekEnd));//结束时间
List<CardiographEntity> cardList=service.fetchReportList(card);
return cardList;
}</span>
<span style="color:#000000;">}</span>
//如果做过项目的,上面这个方法应该是很简单的就不解释了,如有不懂直接与我联系
我这是查询一个周的报表也就本周的起始时间跟结束时间。
java类写好了,那么开始操作我们的脚本了。
这步是添加你需要的字段。
开始写脚本:
下一步
下一步
下一步
我制作完成的报表: