StringBuffer buffer =new StringBuffer(" ");
buffer.append(" <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"> ");
buffer.append(" <html xmlns=\"http://www.w3.org/1999/xhtml\"> ");
buffer.append(" <head> ");
buffer.append(" <title></title> ");
buffer.append(" <style type=\"text/css\"> ");
buffer.append(" body { ");
buffer.append(" font-family: SimSun; ");
buffer.append(" } ");
buffer.append(" p{margin:0px;padding:0px;}" );
buffer.append(" table { border-collapse: collapse; " +
"padding: 0;" +
"table-layout: fixed;" +
"width:100%;}");
buffer.append(" table tr th, table tr td " +
"{border-collapse: collapse;" +
"border:1px solid black;" +
"word-wrap:break-word;} ");
//buffer.append(" .table1,.table1>tr>th, .table1>tr>td {width: 111px; table-layout:fixed;word-wrap:break-word;} ");
//buffer.append(" table{border-collapse: collapse;} ");
buffer.append(" </style> ");
buffer.append(" </head> ");
buffer.append(" <body > ");
buffer.append(htmlInfo);
String templateName = pk_bill; //pk_sign
try {
List<Map<String, Object>> list = vormerKungMapper.getList2(templateName);
String json ="";
int carCount = 0;
if(null != list && list.size() != 0){
for(int i =0 ;i < list.size(); i++){
json += ","+JSONObject.toJSON(list.get(i)).toString();
if("车位".equals(list.get(i).get("PROPERTY_NAME"))){
carCount++;
}
}
}
String count="0";
if(!"".equals(list.size())){
count = list.size()+"";
}
String carCounts = carCount+"";
//Map<String, Object> map = vormerKungMapper.getList2(templateName);
json = "["+json.substring(1)+"]";
/*String newjson = json.replace("\"", "\\\"");
System.out.println("json:"+newjson);*/
buffer.append("<table class=\"table1\">" +
"<tr>" +
"<th>项目</th>" +
"<th>栋号</th>" +
"<th>房号</th>" +
"<th>房产名称</th>" +
"<th>业主名</th>" +
"<th>出证日期</th>" +
"</tr>" +
/*"<#list "+"[{\"BUILDING_NUM\":\"C\",
\"HOUSE_NAME\":\"广州富力东山新天地商铺C栋商业303\",
\"PROJECT_NAME\":\"广州富力东山新天地\",
\"PROPERTY_NAME\":\"商铺\",
\"HOUSE_NUM\":\"303\"}]"
+" as vor>" +*/
"<#list "+json+" as vor>" +
"<tr>" +
"<td>${vor.PROJECT_NAME}</td>" +
"<td>${vor.BUILDING_NUM}</td>" +
"<td>${vor.HOUSE_NUM}</td>" +
"<td>${vor.HOUSE_NAME}</td>" +
"<td>${vor.CUSTOMERNAME}</td>" +
"<td>${vor.CREDENTIAL_DATE}</td>" +
"</tr>" +
"</#list> "+
"</table>");
buffer.append("<table>" +
"<tr>" +
"<td style=\"text-align:center;\">车位小计</td>"+
"<td style=\"text-align:center;\">"+carCounts+"户 (共"+count+"本)</td>"+
"</tr>"+
"<tr>"+
"<td style=\"text-align:center;\"></td>"+
"<td style=\"text-align:right;\">合计: "+count+"户 (共"+count+"本)</td>"+
"</tr>" +
"</table>"
);
package com.rf.print.service.impl;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.rf.common.utils.PdfUtils;
import com.rf.print.dao.TemplateInfoMapper;
import com.rf.print.dao.VormerKungMapper;
import com.rf.print.service.IPrintService;
/**
* 预告登记备案节点打印接口实现类
* @author dkj
*
*/
@Service
public class VormerKungPrint4ServiceImpl implements IPrintService {
@Autowired
private TemplateInfoMapper templateInfoMapper;
@Autowired
private VormerKungMapper vormerKungMapper;
@Override
public String print(String pk_template,String pk_bill,String pdfFileDir) {
Map<String,Object> params = new HashMap<String,Object>();
params.put("pk_template", pk_template);
String htmlInfo = getTemplateInfo(params);
StringBuffer buffer =new StringBuffer(" ");
buffer.append(" <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"> ");
buffer.append(" <html xmlns=\"http://www.w3.org/1999/xhtml\"> ");
buffer.append(" <head> ");
buffer.append(" <title></title> ");
buffer.append(" <style type=\"text/css\"> ");
buffer.append(" body { ");
buffer.append(" font-family: SimSun; ");
buffer.append(" } ");
buffer.append(" p{margin:0px;padding:0px;}" );
buffer.append(" table { border-collapse: collapse; " +
"padding: 0;" +
"table-layout: fixed;" +
"width:100%;}");
buffer.append(" table tr th, table tr td " +
"{border-collapse: collapse;" +
"border:1px solid black;" +
"word-wrap:break-word;} ");
//buffer.append(" .table1,.table1>tr>th, .table1>tr>td {width: 111px; table-layout:fixed;word-wrap:break-word;} ");
//buffer.append(" table{border-collapse: collapse;} ");
buffer.append(" </style> ");
buffer.append(" </head> ");
buffer.append(" <body > ");
buffer.append(htmlInfo);
String templateName = pk_bill; //pk_sign
try {
List<Map<String, Object>> list = vormerKungMapper.getList2(templateName);
String json ="";
int carCount = 0;
if(null != list && list.size() != 0){
for(int i =0 ;i < list.size(); i++){
json += ","+JSONObject.toJSON(list.get(i)).toString();
if("车位".equals(list.get(i).get("PROPERTY_NAME"))){
carCount++;
}
}
}
String count="0";
if(!"".equals(list.size())){
count = list.size()+"";
}
String carCounts = carCount+"";
//Map<String, Object> map = vormerKungMapper.getList2(templateName);
json = "["+json.substring(1)+"]";
/*String newjson = json.replace("\"", "\\\"");
System.out.println("json:"+newjson);*/
buffer.append("<table class=\"table1\">" +
"<tr>" +
"<th>项目</th>" +
"<th>栋号</th>" +
"<th>房号</th>" +
"<th>房产名称</th>" +
"<th>业主名</th>" +
"<th>出证日期</th>" +
"</tr>" +
/*"<#list "+"[{\"BUILDING_NUM\":\"C\",\"HOUSE_NAME\":\"广州富力东山新天地商铺C栋商业303\",\"PROJECT_NAME\":\"广州富力东山新天地\",\"PROPERTY_NAME\":\"商铺\",\"HOUSE_NUM\":\"303\"}]"
+" as vor>" +*/
"<#list "+json+" as vor>" +
"<tr>" +
"<td>${vor.PROJECT_NAME}</td>" +
"<td>${vor.BUILDING_NUM}</td>" +
"<td>${vor.HOUSE_NUM}</td>" +
"<td>${vor.HOUSE_NAME}</td>" +
"<td>${vor.CUSTOMERNAME}</td>" +
"<td>${vor.CREDENTIAL_DATE}</td>" +
"</tr>" +
"</#list> "+
"</table>");
buffer.append("<table>" +
"<tr>" +
"<td style=\"text-align:center;\">车位小计</td>"+
"<td style=\"text-align:center;\">"+carCounts+"户 (共"+count+"本)</td>"+
"</tr>"+
"<tr>"+
"<td style=\"text-align:center;\"></td>"+
"<td style=\"text-align:right;\">合计: "+count+"户 (共"+count+"本)</td>"+
"</tr>" +
"</table>"
);
} catch (Exception e) {
e.printStackTrace();
}
/*if(null != list && list.size() != 0){
for(int i =0 ;i < list.size(); i++){
Object json = JSONObject.toJSON(list.get(i));
//jsonArray.clear();
jsonArray.add(json);
}
}*/
/*buffer.append(" ");
buffer.append(" ");
buffer.append(" ");
buffer.append(" ");*/
buffer.append(" </body></html>");
String ftlUrl = pdfFileDir+File.separator+pk_bill+".ftl";//模板文件路径
try {
PrintWriter out = new PrintWriter(new BufferedWriter(
new FileWriter(ftlUrl)));
out.print(buffer.toString());
out.close();
} catch (Exception e) {
e.printStackTrace();
}
Map<String, Object> paramMap = new HashMap<String, Object>();
//printParam(paramMap,templateName);
String fdfUrl = "";
try {
fdfUrl = PdfUtils.printHandler(templateName, paramMap,pdfFileDir);
} catch (Exception e) {
e.printStackTrace();
}
return fdfUrl;
}
public String getTemplateInfo(Map<String,Object> params) {
String htmlInfo = "";
try {
htmlInfo = templateInfoMapper.getTemplateHtmlInfo( params);
} catch (Exception e) {
e.printStackTrace();
}
return htmlInfo;
}
private void printParam(Map<String, Object> params, String pk_sign) {
//JSONArray jsonArray = new JSONArray();
try {
//pk_sign = "'"+pk_sign+"'";
List<Map<String, Object>> list = vormerKungMapper.getList(pk_sign);
/*if(null != list && list.size() != 0){
for(int i =0 ;i < list.size(); i++){
Object json = JSONObject.toJSON(list.get(i));
jsonArray.add(json);
}
}
result.put("Rows", jsonArray);*/
params.put("customerName", list.get(0).get("CUSTOMERNAME"));
params.put("housename", list.get(0).get("HOUSENAME"));
params.put("buildarea", list.get(0).get("BUILDAREA")==null?"0":list.get(0).get("BUILDAREA"));
params.put("rinarea", list.get(0).get("RINAREA")==null?"0":list.get(0).get("RINAREA"));
System.out.println(params);
} catch (Exception e) {
e.printStackTrace();
}
/*Map<String, Object> result = vormerKungMapper.getList(pk_sign);
params.put("customerName", "李小璐");
params.put("housename", "富力星海城B栋3单元501");
params.put("buildarea", "900,600,23.00");
params.put("rinarea", "20,000.00");*/
/*params.put("outsPayment", "10,000.00");
params.put("bankMny", "20,000.00");
params.put("nrealSummny", "30,000.00");
params.put("deedTax", "55,000.00");
params.put("stampDuty", "1,000.00");
params.put("warrantFee", "2,000,00.00");
params.put("sumReceivables", "30,000.00");
params.put("maintenanceFund", "10,000.00");*/
}
}