package appointmanager;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
//import net.sf.jasperreports.engine.*;//.jasper.engine.*;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRRuntimeException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperRunManager;
import util.*;
import java.sql.*;
/**
* <p>Title: Lims B/S版</p>
* <p>Description: Lims B/S改版</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: LabTech</p>
* @author 熊勤學
* @version 1.1
*/
public class GetAppointReport extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=gb2312";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
if (id == null) {
id = "";
}
try{
DBUtils dataSource=new DBUtils();
Connection conn=dataSource.conn_odbc();
ServletContext servletContext =this.getServletContext();
//File reportFile = new File(servletContext.getRealPath("/WEB-INF/classes/report/testContract.jasper"));//newappoint.jasper
File reportFile = new File(servletContext.getRealPath("/WEB-INF/classes/report/appointinfo.jasper"));
if (!reportFile.exists())
throw new JRRuntimeException("File dataSourceTest.jasper not found. The report design must be compiled first.");
Map parameters = new HashMap();
//parameters.put("wtbh",id); //給報表設定參數值
parameters.put("ID",id);
byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn);
System.out.println("ID========"+id+";;"+reportFile.getPath());
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
catch(Exception e){
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.print(e.getMessage());
}
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
//Clean up resources
public void destroy() {
}
}