搜索
您的当前位置:首页正文

打印或导出PDF

来源:意榕旅游网


打印或导出PDF:

JS: // 理赔通知打印

function printClaimNotify(){

if(mgrNo == \"\"){

alert(\"请选择要打印的记录!\");

return ;

}

if(clmNo==\"\"){

alert(\"此记录尚未产生赔案号,无法打印理赔通知!\");

return ;

}

var obj = document.getElementById(\"clmRsn\");

var rsn = obj.value; //obj.options[obj.selectedIndex].text;

// alert(\"理赔原因==\"+rsn);

var url =

\"<%=request.getContextPath()%>/claim/claimPrintController.do?cmd=printClaimNotify&clmNo=\"+clmNo+\"&plyNo=\"+plyNo+\"&merNo=\"+mgrNo+\"&clmRsn=\"+rsn;

window.open(url,\"打印预览\",\"toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, status=no\");

}

claimPrintController:

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.sql.Connection;

import java.sql.SQLException;

import java.util.HashMap;

import java.util.Map;

import javax.servlet.ServletContext;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import net.sf.jasperreports.engine.JRException;

import net.sf.jasperreports.engine.JasperExportManager;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import org.apache.log4j.Logger;

import org.springframework.web.servlet.ModelAndView;

import com.isoftstone.hacdx.cb.web.controller.PrintController;

import com.isoftstone.hacdx.claim.dto.UndrClaimDto;

import com.isoftstone.util.DBConnection;

import com.sinosafe.commonsuite.web.controller.BaseController;

import com.sinosafe.huafa.app.dto.ServiceRequest;

import com.sinosafe.huafa.app.dto.ServiceResponse;

public class ClaimPrintController extends BaseController {

Logger logger = Logger.getLogger(PrintController.class);

protected ModelAndView service(HttpServletRequest request,

HttpServletResponse response) throws Exception {

String cmd = request.getParameter(\"cmd\");

if (\"printPlyCopy\".equals(cmd)) {// 打印保单抄件

return printPlyCopy(request, response);

} else {

return print(request, response); // 执行printClaimNotify方法

}

}

/**

* 打印保单抄件

* @param request

* @param response

* @return

* @throws Exception

*/

public ModelAndView printPlyCopy(HttpServletRequest request,

HttpServletResponse response) throws Exception {

Map model = null;

String plyNo = request.getParameter(\"plyNo\");

String clmNo = request.getParameter(\"clmNo\");

UndrClaimDto undrClaimDto = new UndrClaimDto();

undrClaimDto.setPolNo(plyNo);

undrClaimDto.setClmNo(clmNo);

ServiceRequest serviceRequest = new ServiceRequest();

serviceRequest.setCurrentRequestObject(undrClaimDto);

serviceRequest.setRequestedServiceID(\"undrClaimAction\");

serviceRequest.setRequestedMethodID(\"printPlyCopy\");

ServiceResponse serviceResponse = this.dispatchAction(serviceRequest,

\"hacdxAC\");

model = serviceResponse.getModel();

return new ModelAndView(\"printPlyCopy\", model);

}

//执行printClaimNotify方法

public ModelAndView print(HttpServletRequest request,

HttpServletResponse response) throws Exception {

Map model = new HashMap();

Connection conn = null;

JasperPrint jasperPrint = null;

ServletOutputStream ouputStream = null;

ServletContext sct = getServletContext();

//String clmNo = request.getParameter(\"clmNo\"); // 可以传多个参数

//String merNo = request.getParameter(\"merNo\");

// 身份证号码

String certid = request.getParameter(\"certid\"); //JSP传过来的值

try {

conn = DBConnection.getDBConnection();

jasperPrint = doFill(request, sct, conn, certid);

} catch (FileNotFoundException e) {

e.printStackTrace();

model.put(\"error\", \"打印出错,找不到模板文件!\");

return new ModelAndView(\"printView\", model);

} catch (JRException e) {

e.printStackTrace();

model.put(\"error\", \"打印出错,模板填充异常!\");

return new ModelAndView(\"printView\", model);

} finally {

try {

if (conn != null) {

conn.close();

}

} catch (SQLException e) {

e.printStackTrace();

}

}

byte[] bytes = JasperExportManager.exportReportToPdf(jasperPrint);

response.setContentType(\"application/pdf\");

// response.setContentType(\"text/html\");

response.setContentLength(bytes.length);

try {

ouputStream = response.getOutputStream();

// 将字节数组bytes写到输出流ouputStream

ouputStream.write(bytes, 0, bytes.length);

ouputStream.flush();

} catch (IOException e) {

e.printStackTrace();

model.put(\"error\", \"打印出错,输出pdf字节流异常!\");

return new ModelAndView(\"printView\", model);

} finally {

try {

if (ouputStream != null) {

ouputStream.close();

}

} catch (IOException e) {

}

}

return null;

}

/**

* 填充报表

*

* @param sct

* @param conn

* @param clmNo

* @return

* @throws Exception

*/

public JasperPrint doFill(HttpServletRequest request, ServletContext sct, Connection conn, String certid) throws Exception {

File file = null;

Map map = new HashMap();

JasperPrint jasperPrint = null;

// String clmRsn = request.getParameter(\"clmRsn\");

//map.put(\"clmNo\

map.put(\"certid\", certid);

//map.put(\"clmRsn\

if (\"printClaimNotify\".equals(request.getParameter(\"cmd\"))) {

file = new File(sct.getRealPath(\"/report/ Untitled_report_1.jasper \")); 编译后生成文件的存放路径

}

// 报表

// 可以传多个参数

//else if (\"notWaterComput\".equals(request.getParameter(\"cmd\"))) {

// file = new //File(sct.getRealPath(\"/report/notWaterComput.jasper\"));

//} else if(\"replevyFee\".equals(request.getParameter(\"cmd\"))) {

// file = new //File(sct.getRealPath(\"/report/replevyFee.jasper\"));

// }

jasperPrint = JasperFillManager.fillReport(new FileInputStream(file), map, conn);

return jasperPrint;

}

}

(iReport) 报表查询语句:select * from tb_black_list where _CERT_ID = $P{certid}

写在最后:总之不难,要细心,哪里不明白的可以一起 讨论 , 谢谢!)

(

因篇幅问题不能全部显示,请点此查看更多更全内容

Top