freemarker 循环 后台写前端代码

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");*/
		
	}
	
	
}
发布了81 篇原创文章 · 获赞 0 · 访问量 684

猜你喜欢

转载自blog.csdn.net/weixin_42699486/article/details/89553250
今日推荐