package com.demo.view.command.impl;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.demo.biz.IApplyamountBIZ;
import com.demo.biz.impl.ApplymountBIZ;
import com.demo.view.command.ICommand;
import com.demo.view.helper.IRequestHelper;
import com.demo.vo.ApplylistId;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
public class GenerateCommand implements ICommand {
public String execute(IRequestHelper helper) {
HttpServletRequest request = helper.getRequest();
HttpServletResponse response = helper.getResponse();
HttpSession session = request.getSession();
String url = "/false.jsp";
int weekid = Integer.parseInt(request.getParameter("week"));
IApplyamountBIZ iapply = new ApplymountBIZ();
List returnlist = (ArrayList<ApplylistId>) iapply.doFindByWeek(weekid);
Map<String, List<ApplylistId>> map = new HashMap<String, List<ApplylistId>>();
map.put("returnlist", returnlist);
Configuration config=new Configuration();
config.setServletContextForTemplateLoading(session.getServletContext(),"/");
config.setClassicCompatible(true);
config.setDefaultEncoding("UTF-8");
try {
Template t = config.getTemplate("//html//tem.ftl");
t.setEncoding("UTF-8");
File file = new File(session.getServletContext().getRealPath("/")+"/html/"+weekid+".html");
file.createNewFile();
Writer out;
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"UTF-8"));
t.process(map,out);
out.flush();
out.close();
} catch (TemplateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
url = "/html/"+weekid+".html";
return url;
}
}