EntryRegistrationHandle.java 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package com.kingdee.eas.custom.shengshen.handle;
  2. import com.kingdee.bos.BOSException;
  3. import com.kingdee.eas.custom.shengshen.utils.HttpClient3;
  4. import com.kingdee.eas.custom.shengshen.utils.PDFFillInformationUtil;
  5. import com.kingdee.shr.affair.web.handler.hrman.EmpEnrollBizBillHrManListHandler;
  6. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  7. import com.kingdee.shr.base.syssetting.web.dynamic.util.DynamicUtil;
  8. import com.kingdee.shr.base.syssetting.web.util.UserUtil;
  9. import org.apache.commons.io.FileUtils;
  10. import org.springframework.ui.ModelMap;
  11. import javax.servlet.http.HttpServletRequest;
  12. import javax.servlet.http.HttpServletResponse;
  13. import java.io.ByteArrayOutputStream;
  14. import java.io.File;
  15. import java.io.IOException;
  16. import java.util.*;
  17. import java.util.zip.GZIPOutputStream;
  18. public class EntryRegistrationHandle extends EmpEnrollBizBillHrManListHandler {
  19. public void getRegisterFileAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException{
  20. //填充数据
  21. List<Map<String,String>> dataList = new ArrayList<Map<String,String>>();
  22. Map<String,String> dataMap = new HashMap<String,String>();
  23. dataMap.put("topmostSubform[0].Page1[0].topmostSubform_0_\\.Page1_0_\\.TextField1_3_[0]", "Data1");
  24. dataMap.put("topmostSubform[0].Page1[0].topmostSubform_0_\\.Page1_0_\\.TextField1_0_[0]", "Data2");
  25. String url = "http://169.254.157.139:6888/easWebClient/download/DSF_Mod_373.pdf";
  26. dataList.add(dataMap);
  27. PDFFillInformationUtil pdfFillInformationUtil = new PDFFillInformationUtil();
  28. //填充后的文件
  29. List<File> list = new ArrayList<>();
  30. long time = new Date().getTime();
  31. //获取当前登入人的 临时存储地址
  32. String userTempDirAbsolutePath = UserUtil.getUserTempDirAbsolutePath(request.getSession());
  33. String tempFilePath = userTempDirAbsolutePath + File.separator + time + File.separator;
  34. //压缩文件名
  35. String zipName = time + File.separator + "personDocument.zip";
  36. String zipPath = UserUtil.getUserTempDirAbsolutePath(request.getSession()) + File.separator + zipName;
  37. //判断路径是否存在 如果没有创建
  38. File userTempDirAbsolute = new File(userTempDirAbsolutePath);
  39. if (!userTempDirAbsolute.exists()) {
  40. userTempDirAbsolute.mkdir();
  41. }
  42. //判断路径是否存在 如果没有创建
  43. File tempFile = new File(tempFilePath);
  44. if (!tempFile.exists()) {
  45. tempFile.mkdir();
  46. }
  47. String fileName = "刘颖";
  48. try {
  49. byte[] bytesByNetURL = HttpClient3.getBytesByNetURL(url);
  50. for (int i = 0; i < dataList.size(); i++) {
  51. File file = pdfFillInformationUtil.fillInformation(bytesByNetURL, dataList.get(i),tempFilePath,fileName+i+".pdf");
  52. list.add(file);
  53. }
  54. //创建压缩文件
  55. PDFFillInformationUtil.compress(zipPath, list);
  56. } catch (IOException e) {
  57. throw new RuntimeException(e);
  58. } catch (BOSException e) {
  59. throw new RuntimeException(e);
  60. }finally {
  61. //删除源文件
  62. for (int i = 0; i < list.size(); i++) {
  63. FileUtils.deleteQuietly(list.get(i));
  64. }
  65. }
  66. Map<String, String> param = new HashMap<String, String>();
  67. param.put("method", "tmp");
  68. param.put("file", zipName);
  69. param.put("filename", "员工档案.zip");
  70. String link = DynamicUtil.assembleUrl("/shr/downloadfile.do", param).replaceAll("\\+", "%20");
  71. try {
  72. this.writeSuccessData(link);
  73. } catch (SHRWebException e) {
  74. throw new RuntimeException(e);
  75. }
  76. }
  77. }