jasperreport的使用

	/**
	 * 打印年检单.
	 * 
	 */
	public void printCheckTasks() {
		try {
			String idString = request.getParameter("id");

			if (StringUtil.notNullorEmpty(idString)) {
				String[] ids = idString.split(",");
				InputStream is = ServletActionContext.getServletContext()
						.getResourceAsStream("/report/TaskMerYearCheck.jasper");
				JasperReport jasperReport = (JasperReport) JRLoader
						.loadObject(is);
				JasperPrint jasperPrints = JasperFillManager.fillReport(
						jasperReport, new HashMap<String, Object>());
				for (String string : ids) {
					VTaskDetailsInfo info = taskService.getTaskDetails(
							getLoginUser(), string);
					TM00Customer customer = taskService.printTask(
							getLoginUser(), string);

					String submerName = "";
					TM02Submer m02 = taskService.getSubmerEntity(getLoginUser(), info.getT01().getSubmerId());
					if(m02 != null){
						submerName = m02.getName();
					}
					submerName = (StringUtil.notNullorEmpty(submerName) ? submerName
							: info.getT01()
							.getMerchantName());
							
					Map<String, Object> parameters = new HashMap<String, Object>();
					parameters.put("taskNo", info.getT01().getTaskNo());
					parameters.put("merchantNo", info.getT01().getMerchantNo());
					parameters.put("merchantName", submerName);
					parameters.put("contactPerson", info.getT01()
							.getContactPerson());
					parameters.put("contactTel", info.getT01().getContactTel());
					parameters.put("taxNo", customer.getTaxNo());
					parameters.put("licenseNo", customer.getLicenseNo());
					parameters.put("registerAddress",
							customer.getRegisterAddress());
					parameters.put("legalName", customer.getLegalName());
					parameters.put("legalCardNo", customer.getLegalCardNo());
					parameters
							.put("officeAddress", customer.getOfficeAddress());
					parameters.put("remark", info.getT01().getRemark());
					parameters.put("terminalNos", info.getT01()
							.getTerminalNos());
					JasperPrint jasperPrint = JasperFillManager.fillReport(
							jasperReport, parameters);
					JRBasePrintPage pa = (JRBasePrintPage) jasperPrint
							.getPages().get(0);
					jasperPrints.addPage(pa);
				}
				jasperPrints.removePage(0);
				response.reset();
				response.setContentType("application/pdf");
				SimpleDateFormat dateFormat = new SimpleDateFormat(
						"yyyyMMddHHmmss");
				String name = new String("工单打印"
						+ dateFormat.format(new Date().getTime()) + ".pdf");
				String fileName = new String(name.getBytes("GBK"), "ISO8859-1");
				response.setHeader("Content-Disposition",
						"attachment; filename=\"" + fileName + "\"");
				ServletOutputStream outStream = response.getOutputStream();
				JasperExportManager.exportReportToPdfStream(jasperPrints,
						outStream);
				outStream.flush();
				outStream.close();

			} else {
				jsonData = JsonUtil.toJson(false, "工单打印错误:没有选择工单!");
			}
		} catch (BusiException e) {
			jsonData = JsonUtil.toJson(false, "工单打印错误:" + e.getMessage());
			super.writeJSON(jsonData);
			e.printStackTrace();
		} catch (Exception e) {
			jsonData = JsonUtil.toJson(false, "工单打印错误:" + e.getMessage());
			super.writeJSON(jsonData);
			e.printStackTrace();
		}
	}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值