9bb7af0cd6017a074131ccdb84eb321873a305c5.svn-base 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package cn.com.goldenwater.dcproj.utils.export;
  2. import cn.com.goldenwater.dcproj.dto.BisInspWtdstDetailDto;
  3. import cn.com.goldenwater.dcproj.param.BisInspWtdstDtoListParam;
  4. import cn.com.goldenwater.dcproj.param.TypeExportParam;
  5. import cn.com.goldenwater.dcproj.service.BisInspWtdstService;
  6. import cn.com.goldenwater.dcproj.service.GeneralDownloadService;
  7. import com.github.pagehelper.PageInfo;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Component;
  10. import java.io.*;
  11. import java.text.SimpleDateFormat;
  12. import java.util.Date;
  13. /**
  14. * @ClassName CreateShTables
  15. * @Author liyz
  16. * @Date 2019/3/15 11:41
  17. * @Version 1.0
  18. **/
  19. @Component
  20. public class CreateShTables {
  21. private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  22. @Autowired
  23. private ExcelFieldUtil excelFieldUtil;
  24. @Autowired
  25. private CreateExcelHelper createExcelHelper;
  26. /**
  27. * 7.水毁督查情况
  28. */
  29. @Autowired
  30. private BisInspWtdstService bisInspWtdstService;
  31. @Autowired
  32. private GeneralDownloadService generalDownloadService;
  33. /**
  34. * 7.创建水毁工程督查情况表
  35. *
  36. * @param
  37. * @param
  38. */
  39. public int createBisInspWtdstDtoExcel(TypeExportParam typeExportParam, PrintWriter printWriter, String adCode, String dir) {
  40. BisInspWtdstDtoListParam bisInspWtdstDtoListParam = new BisInspWtdstDtoListParam();
  41. bisInspWtdstDtoListParam.setPersGuid(typeExportParam.getPersGuid());
  42. bisInspWtdstDtoListParam.setLocAd(adCode);
  43. // 一页查200条数据
  44. bisInspWtdstDtoListParam.setPageSize(200);
  45. PageInfo<BisInspWtdstDetailDto> data = null;
  46. try {
  47. data = generalDownloadService.findDtoListAboutExport(bisInspWtdstDtoListParam, typeExportParam);
  48. } catch (Exception e) {
  49. e.printStackTrace();
  50. }
  51. // 如果没有数据,则直接返回
  52. if (data.getList().size() == 0) {
  53. return 0;
  54. }
  55. String tab = TableEnum.T7.toString();
  56. String fileName = createExcelHelper.getAdName(adCode + "0000000000") + TableEnum.T7.getName();
  57. OutputStream os = null;
  58. //导出
  59. try {
  60. printWriter.println(sdf.format(new Date()) + " 开始创建 " + fileName + ".xls" + "<br>");
  61. printWriter.flush();
  62. // 如果有数据,则导出到excel
  63. File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls");
  64. os = new FileOutputStream(outputFile);
  65. // 导出到excel
  66. ExportAbstract exportZ = createExcelHelper.export(tab, fileName, os, excelFieldUtil.getBisInspWtdstDtoDataList(data.getList()));
  67. int pages = data.getPages();
  68. // 如果超过一页
  69. if (pages > 1) {
  70. for (int p = 2; p <= pages; p++) {
  71. bisInspWtdstDtoListParam.setPageNum(p);
  72. PageInfo<BisInspWtdstDetailDto> dataNext = generalDownloadService.findDtoListAboutExport(bisInspWtdstDtoListParam, typeExportParam);
  73. // 继续导出
  74. exportZ.ContinueExport(excelFieldUtil.getBisInspWtdstDtoDataList(dataNext.getList()));
  75. }
  76. }
  77. exportZ.EndExport();
  78. os.close();
  79. printWriter.println(sdf.format(new Date()) + " 完成创建 " + fileName + ".xls" + "<br>");
  80. printWriter.flush();
  81. } catch (Exception e) {
  82. try {
  83. os.close();
  84. } catch (IOException e1) {
  85. e1.printStackTrace();
  86. return 0;
  87. }
  88. e.printStackTrace();
  89. }
  90. return 1;
  91. }
  92. }