String fromdate =form1.getStartDate() == null ? null : form1.getStartDate(); //開始日期
String enddate =form1.getEndDate() == null ? null :form1.getEndDate(); //截止日期
Hashtable htPara = new Hashtable();
htPara.put("fromdate", ""+fromdate);
htPara.put("enddate", ""+enddate);
htPara.put("ReportTitle", "市政工程信息數據統計表");
htPara.put("foot","");
String reportName = "ManageRoadDigCard"; // 報表名稱Civicismproject.jasper
// reportTemplateFile = "reports/ManageRoadDigCard.jasper"; // 報表模板文件
String reportTemplateFile = "reports/Civicismproject.jasper"; // 報表模板文件
// reportURL = "/reports/ManageRoadDigCard.jasper"; // 報表url
String reportURL = "/reports/Civicismproject.jasper"; // 報表url
System.out.println(reportTemplateFile + " on loading...");
ReportTools rt = new ReportTools(reportName, reportTemplateFile,reportURL);
String sql="select dadui_popedom ,count(*) as acount,"
+"(select count(*) from t_shizheng_road_pursue a where type='SZGC' and a.dadui_popedom=c.DADUI_POPEDOM and (END_DATE<"
+" (select sysdate from dual)) group by dadui_popedom"
+" ) as bacount ,(select count(*) from t_shizheng_road_pursue b where type='SZGC' and b.dadui_popedom=c.DADUI_POPEDOM and (END_DATE>="
+" (select sysdate from dual)) group by dadui_popedom"
+" ) as cacount"
+" from t_shizheng_road_pursue c where type='"+type+"' and CREATE_DATE>=to_date('"+fromdate+"','yyyy-mm-dd') and CREATE_DATE<=to_date('"+enddate+"','yyyy-mm-dd') group by dadui_popedom";
byte rtByte[] = rt.executeQueryToReport2(reportName, sql, htPara);
servletResponse.setContentType("application/pdf");
if (!sql.equals(""))
{
servletResponse.setContentLength(rtByte.length);
}
ServletOutputStream ouputStream = servletResponse
.getOutputStream();
ouputStream.write(rtByte, 0, rtByte.length);
ouputStream.flush();
ouputStream.close();
System.out.println(reportTemplateFile + " load complete");
return null;
//executeQueryToReport2 function
public byte[] executeQueryToReport2(String ReportName, String strSql,
Hashtable ReportParameter) throws Exception
{
ResultSet rs = null;
Connection conn = null;
PreparedStatement stmt = null;
try
{
// 構造報表對象
ReportTools rt = new ReportTools(ReportName, ReportTemplateFile,
jasperURL);
// 設置報表參數
Enumeration emu = ReportParameter.keys();
while (emu.hasMoreElements())
{
String key = (String) emu.nextElement();
rt.setParameter(key, ReportParameter.get(key));
}
if (!strSql.equals(""))
{
// 從連接池得到數據庫連接
conn = ConnectionFactory.getConnection();
// 查詢SQL語句
stmt = conn.prepareStatement(strSql);
rs = stmt.executeQuery();
byte[] bytes = rt.runReportToPdfUseDBSrc2(rs);
return bytes;
}
else
{
byte[] bytes = rt.runReportToPdfNoResultSet();
return bytes;
}
}
catch (Exception ex)
{
ex.printStackTrace();
throw ex;
}
finally
{
if (!strSql.equals(""))
{
ConnectionFactory.dispose(conn, stmt, rs);
}
}
}