package cn.com.goldenwater.dcproj.utils.export; import cn.com.goldenwater.dcproj.dao.*; import cn.com.goldenwater.dcproj.model.*; import cn.com.goldenwater.dcproj.param.*; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.List; /** * @ClassName CreateRyTables * @Description 创建关于人饮的各种表 * @Author liyz * @Date 2019/3/15 11:40 * @Version 1.0 **/ @Component public class CreateRyTables { @Autowired private ExcelFieldUtil excelFieldUtil; @Autowired private CreateExcelHelper createExcelHelper; /** * 1.暗访调研行政村统计表 */ @Autowired private BisInspSecsurveyVlgDao bisInspSecsurveyVlgDao; /** * 2.村内农村饮水工程设施运行维护情况表 */ @Autowired private BisInspVlgdrinkFacOperDao bisInspVlgdrinkFacOperDao; /** * 3.用水户情况表 */ @Autowired private BisInspWateruserInfoDao bisInspWateruserInfoDao; /** * 4.农村饮水工程运行管理情况表 */ @Autowired private BisInspVlgdrinkProjManageDao bisInspVlgdrinkProjManageDao; /** * 5.千人以上供水工程水源地保护情况表 */ @Autowired private BisInspProSourceProtectDao bisInspProSourceProtectDao; /** * 6.管理责任体系落实情况表 */ @Autowired private BisInspManageResponsibilityDao bisInspManageResponsibilityDao; /** * 1.暗访调研行政村统计表 * * @param engId * @param dir * @param fileName */ public int createBisInspSecsurveyVlgExcel(String engId, String dir, String fileName) { String tab = TableEnum.T1.toString(); OutputStream os = null; //导出 try { BisInspSecsurveyVlgParam bisInspSecsurveyVlgParam = new BisInspSecsurveyVlgParam(); bisInspSecsurveyVlgParam.setEngId(engId); // 一页查200条数据 bisInspSecsurveyVlgParam.setPageSize(200); Page page = PageHelper.startPage(0, bisInspSecsurveyVlgParam.getPageSize()); List list = bisInspSecsurveyVlgDao.findList(bisInspSecsurveyVlgParam); // 如果没有数据,则直接返回 if (list.size() == 0) { return 0; } // 如果有数据,则导出到excel File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls"); os = new FileOutputStream(outputFile); // 导出到excel ExportAbstract exportZ = createExcelHelper.export(tab, fileName, os, excelFieldUtil.getBisInspSecsurveyVlgDataList(list)); int pages = page.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspSecsurveyVlgParam.setPageNum(p); PageHelper.startPage(bisInspSecsurveyVlgParam.getPageNum(), bisInspSecsurveyVlgParam.getPageSize()); List listNext = bisInspSecsurveyVlgDao.findList(bisInspSecsurveyVlgParam); // 继续导出 exportZ.ContinueExport(excelFieldUtil.getBisInspSecsurveyVlgDataList(listNext)); } } exportZ.EndExport(); os.close(); } catch (Exception e) { try { os.close(); } catch (IOException e1) { e1.printStackTrace(); } e.printStackTrace(); } return 1; } public int createBisInspSecsurveyVlgSumExcel(List endIdsList, String dir, String fileName) { String tab = TableEnum.T1.toString(); OutputStream os = null; int zipStatusT1 = 0; //导出 try { BisInspSecsurveyVlgParam bisInspSecsurveyVlgParam = new BisInspSecsurveyVlgParam(); bisInspSecsurveyVlgParam.setEngId(endIdsList.get(0)); // 一页查200条数据 bisInspSecsurveyVlgParam.setPageSize(200); Page page = PageHelper.startPage(0, bisInspSecsurveyVlgParam.getPageSize()); List list = bisInspSecsurveyVlgDao.findList(bisInspSecsurveyVlgParam); // 如果没有数据,则直接返回(合并时不能直接返回,否则下面的数据就获取不到了) if (list.size() == 0) { zipStatusT1 = 0; } else { zipStatusT1++; } // 如果有数据,则导出到excel File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls"); os = new FileOutputStream(outputFile); // 导出到excel ExportAbstract exportZ = createExcelHelper.export(tab, fileName, os, excelFieldUtil.getBisInspSecsurveyVlgDataList(list)); int pages = page.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspSecsurveyVlgParam.setPageNum(p); PageHelper.startPage(bisInspSecsurveyVlgParam.getPageNum(), bisInspSecsurveyVlgParam.getPageSize()); List listNext = bisInspSecsurveyVlgDao.findList(bisInspSecsurveyVlgParam); // 继续导出 exportZ.ContinueExport(excelFieldUtil.getBisInspSecsurveyVlgDataList(listNext)); } } // 如果有多个engId for (int i = 1; i < endIdsList.size(); i++) { bisInspSecsurveyVlgParam.setEngId(endIdsList.get(i)); page = PageHelper.startPage(0, bisInspSecsurveyVlgParam.getPageSize()); list = bisInspSecsurveyVlgDao.findList(bisInspSecsurveyVlgParam); // 如果没有数据,则跳过 if (list.size() == 0) { continue; } zipStatusT1++; // 如果有数据,则继续填入Excel exportZ.ContinueExport(excelFieldUtil.getBisInspSecsurveyVlgDataList(list)); pages = page.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspSecsurveyVlgParam.setPageNum(p); PageHelper.startPage(bisInspSecsurveyVlgParam.getPageNum(), bisInspSecsurveyVlgParam.getPageSize()); List listNext = bisInspSecsurveyVlgDao.findList(bisInspSecsurveyVlgParam); // 继续导出 exportZ.ContinueExport(excelFieldUtil.getBisInspSecsurveyVlgDataList(listNext)); } } } // 结束导出 exportZ.EndExport(); // 关闭流 os.close(); } catch (Exception e) { try { os.close(); } catch (IOException e1) { e1.printStackTrace(); } e.printStackTrace(); } return zipStatusT1; } /** * 2.村内农村饮水工程设施运行维护情况表 * * @param engId * @param dir * @param fileName */ public int createBisInspVlgdrinkFacOperExcel(String engId, String dir, String fileName) { OutputStream os = null; //导出 try { BisInspVlgdrinkFacOperParam bisInspVlgdrinkFacOperParam = new BisInspVlgdrinkFacOperParam(); bisInspVlgdrinkFacOperParam.setEngId(engId); // 一页查200条数据 bisInspVlgdrinkFacOperParam.setPageSize(200); Page page = PageHelper.startPage(0, bisInspVlgdrinkFacOperParam.getPageSize()); List list = bisInspVlgdrinkFacOperDao.findList(bisInspVlgdrinkFacOperParam); // 如果没有数据,则直接返回 if (list.size() == 0) { return 0; } // 如果有数据,则导出到excel File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls"); os = new FileOutputStream(outputFile); // 导出到excel ExportAbstract exportZ = createExcelHelper.export(TableEnum.T2.toString(), fileName, os, excelFieldUtil.getBisInspVlgdrinkFacOperDataList(list)); int pages = page.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspVlgdrinkFacOperParam.setPageNum(p); PageHelper.startPage(bisInspVlgdrinkFacOperParam.getPageNum(), bisInspVlgdrinkFacOperParam.getPageSize()); List listNext = bisInspVlgdrinkFacOperDao.findList(bisInspVlgdrinkFacOperParam); // 继续导出 exportZ.ContinueExport(excelFieldUtil.getBisInspVlgdrinkFacOperDataList(listNext)); } } exportZ.EndExport(); os.close(); } catch (Exception e) { try { os.close(); } catch (IOException e1) { e1.printStackTrace(); } e.printStackTrace(); } return 1; } public int createBisInspVlgdrinkFacOperSumExcel(List endIdsList, String dir, String fileName) { OutputStream os = null; int zipStatusT2 = 0; //导出 try { BisInspVlgdrinkFacOperParam bisInspVlgdrinkFacOperParam = new BisInspVlgdrinkFacOperParam(); bisInspVlgdrinkFacOperParam.setEngId(endIdsList.get(0)); // 一页查200条数据 bisInspVlgdrinkFacOperParam.setPageSize(200); Page page = PageHelper.startPage(0, bisInspVlgdrinkFacOperParam.getPageSize()); List list = bisInspVlgdrinkFacOperDao.findList(bisInspVlgdrinkFacOperParam); // 如果没有数据,则直接返回(合并时不能直接返回,否则下面的数据就获取不到了) if (list.size() == 0) { zipStatusT2 = 0; } else { zipStatusT2++; } // 如果有数据,则导出到excel File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls"); os = new FileOutputStream(outputFile); // 导出到excel ExportAbstract exportZ = createExcelHelper.export(TableEnum.T2.toString(), fileName, os, excelFieldUtil.getBisInspVlgdrinkFacOperDataList(list)); int pages = page.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspVlgdrinkFacOperParam.setPageNum(p); PageHelper.startPage(bisInspVlgdrinkFacOperParam.getPageNum(), bisInspVlgdrinkFacOperParam.getPageSize()); List listNext = bisInspVlgdrinkFacOperDao.findList(bisInspVlgdrinkFacOperParam); // 继续导出 exportZ.ContinueExport(excelFieldUtil.getBisInspVlgdrinkFacOperDataList(listNext)); } } // 如果有多个engId for (int i = 1; i < endIdsList.size(); i++) { bisInspVlgdrinkFacOperParam.setEngId(endIdsList.get(i)); page = PageHelper.startPage(0, bisInspVlgdrinkFacOperParam.getPageSize()); list = bisInspVlgdrinkFacOperDao.findList(bisInspVlgdrinkFacOperParam); // 如果没有数据,则跳过 if (list.size() == 0) { continue; } zipStatusT2++; // 如果有数据,则继续填入Excel exportZ.ContinueExport(excelFieldUtil.getBisInspVlgdrinkFacOperDataList(list)); pages = page.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspVlgdrinkFacOperParam.setPageNum(p); PageHelper.startPage(bisInspVlgdrinkFacOperParam.getPageNum(), bisInspVlgdrinkFacOperParam.getPageSize()); List listNext = bisInspVlgdrinkFacOperDao.findList(bisInspVlgdrinkFacOperParam); // 继续导出 exportZ.ContinueExport(excelFieldUtil.getBisInspVlgdrinkFacOperDataList(listNext)); } } } exportZ.EndExport(); os.close(); } catch (Exception e) { try { os.close(); } catch (IOException e1) { e1.printStackTrace(); } e.printStackTrace(); } return zipStatusT2; } /** * 3.用水户情况表 * * @param engId * @param dir * @param fileName */ public int createBisInspWateruserInfoExcel(String engId, String dir, String fileName) { String tab = TableEnum.T3.toString(); OutputStream os = null; //导出 try { BisInspWateruserInfoParam bisInspWateruserInfoParam = new BisInspWateruserInfoParam(); bisInspWateruserInfoParam.setEngId(engId); // 一页查200条数据 bisInspWateruserInfoParam.setPageSize(200); Page page = PageHelper.startPage(0, bisInspWateruserInfoParam.getPageSize()); List list = bisInspWateruserInfoDao.findList(bisInspWateruserInfoParam); // 如果没有数据,则直接返回 if (list.size() == 0) { return 0; } // 如果有数据,则导出到excel File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls"); os = new FileOutputStream(outputFile); // 导出到excel ExportAbstract exportZ = createExcelHelper.export(tab, fileName, os, excelFieldUtil.getBisInspWateruserInfoDataList(list)); int pages = page.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspWateruserInfoParam.setPageNum(p); PageHelper.startPage(bisInspWateruserInfoParam.getPageNum(), bisInspWateruserInfoParam.getPageSize()); List listNext = bisInspWateruserInfoDao.findList(bisInspWateruserInfoParam); exportZ.ContinueExport(excelFieldUtil.getBisInspWateruserInfoDataList(listNext)); } } exportZ.EndExport(); os.close(); } catch (Exception e) { try { os.close(); } catch (IOException e1) { e1.printStackTrace(); } e.printStackTrace(); } return 1; } public int createBisInspWateruserInfoSumExcel(List endIdsList, String dir, String fileName) { OutputStream os = null; int zipStatusT3 = 0; //导出 try { BisInspWateruserInfoParam bisInspWateruserInfoParam = new BisInspWateruserInfoParam(); bisInspWateruserInfoParam.setEngId(endIdsList.get(0)); // 一页查200条数据 bisInspWateruserInfoParam.setPageSize(200); Page page = PageHelper.startPage(0, bisInspWateruserInfoParam.getPageSize()); List list = bisInspWateruserInfoDao.findList(bisInspWateruserInfoParam); // 如果没有数据,则直接返回(合并时不能直接返回,否则下面的数据就获取不到了) if (list.size() == 0) { zipStatusT3 = 0; } else { zipStatusT3++; } // 如果有数据,则导出到excel File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls"); os = new FileOutputStream(outputFile); // 导出到excel ExportAbstract exportZ = createExcelHelper.export(TableEnum.T3.toString(), fileName, os, excelFieldUtil.getBisInspWateruserInfoDataList(list)); int pages = page.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspWateruserInfoParam.setPageNum(p); PageHelper.startPage(bisInspWateruserInfoParam.getPageNum(), bisInspWateruserInfoParam.getPageSize()); List listNext = bisInspWateruserInfoDao.findList(bisInspWateruserInfoParam); exportZ.ContinueExport(excelFieldUtil.getBisInspWateruserInfoDataList(listNext)); } } // 如果有多个engId for (int i = 1; i < endIdsList.size(); i++) { bisInspWateruserInfoParam.setEngId(endIdsList.get(i)); page = PageHelper.startPage(0, bisInspWateruserInfoParam.getPageSize()); list = bisInspWateruserInfoDao.findList(bisInspWateruserInfoParam); // 如果没有数据,则跳过 if (list.size() == 0) { continue; } zipStatusT3++; // 如果有数据,则继续填入Excel exportZ.ContinueExport(excelFieldUtil.getBisInspWateruserInfoDataList(list)); pages = page.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspWateruserInfoParam.setPageNum(p); PageHelper.startPage(bisInspWateruserInfoParam.getPageNum(), bisInspWateruserInfoParam.getPageSize()); List listNext = bisInspWateruserInfoDao.findList(bisInspWateruserInfoParam); // 继续导出 exportZ.ContinueExport(excelFieldUtil.getBisInspWateruserInfoDataList(listNext)); } } } exportZ.EndExport(); os.close(); } catch (Exception e) { try { os.close(); } catch (IOException e1) { e1.printStackTrace(); } e.printStackTrace(); } return zipStatusT3; } /** * 4.农村饮水工程运行管理情况表 * * @param engId * @param dir * @param fileName */ public int createBisInspVlgdrinkProjManageExcel(String engId, String dir, String fileName) { String tab = TableEnum.T4.toString(); OutputStream os = null; //导出 try { BisInspVlgdrinkProjManageParam bisInspVlgdrinkProjManageParam = new BisInspVlgdrinkProjManageParam(); bisInspVlgdrinkProjManageParam.setEngId(engId); // 一页请求200条 bisInspVlgdrinkProjManageParam.setPageSize(200); Page page = PageHelper.startPage(0, bisInspVlgdrinkProjManageParam.getPageSize()); List list = bisInspVlgdrinkProjManageDao.findList(bisInspVlgdrinkProjManageParam); // 如果没有数据,则直接返回 if (list.size() == 0) { return 0; } // 如果有数据,则导出到excel File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls"); os = new FileOutputStream(outputFile); // 导出到excel ExportAbstract exportZ = createExcelHelper.export(tab, fileName, os, excelFieldUtil.getBisInspVlgdrinkProjManageDataList(list)); int pages = page.getPages(); // 如果超过一页,继续导出 if (pages > 1) { for (int p = 2; p < pages; p++) { bisInspVlgdrinkProjManageParam.setPageNum(p); PageHelper.startPage(bisInspVlgdrinkProjManageParam.getPageNum(), bisInspVlgdrinkProjManageParam.getPageSize()); List listNext = bisInspVlgdrinkProjManageDao.findList(bisInspVlgdrinkProjManageParam); exportZ.ContinueExport(excelFieldUtil.getBisInspVlgdrinkProjManageDataList(listNext)); } } exportZ.EndExport(); os.close(); } catch (Exception e) { try { os.close(); } catch (IOException e1) { e1.printStackTrace(); } e.printStackTrace(); } return 1; } public int createBisInspVlgdrinkProjManageSumExcel(List endIdsList, String dir, String fileName) { OutputStream os = null; int zipStatusT4 = 0; //导出 try { BisInspVlgdrinkProjManageParam bisInspVlgdrinkProjManageParam = new BisInspVlgdrinkProjManageParam(); bisInspVlgdrinkProjManageParam.setEngId(endIdsList.get(0)); // 一页请求200条 bisInspVlgdrinkProjManageParam.setPageSize(200); Page page = PageHelper.startPage(0, bisInspVlgdrinkProjManageParam.getPageSize()); List list = bisInspVlgdrinkProjManageDao.findList(bisInspVlgdrinkProjManageParam); // 如果没有数据,则直接返回(合并时不能直接返回,否则下面的数据就获取不到了) if (list.size() == 0) { zipStatusT4 = 0; } else { zipStatusT4++; } // 如果有数据,则导出到excel File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls"); os = new FileOutputStream(outputFile); // 导出到excel ExportAbstract exportZ = createExcelHelper.export(TableEnum.T4.toString(), fileName, os, excelFieldUtil.getBisInspVlgdrinkProjManageDataList(list)); int pages = page.getPages(); // 如果超过一页,继续导出 if (pages > 1) { for (int p = 2; p < pages; p++) { bisInspVlgdrinkProjManageParam.setPageNum(p); PageHelper.startPage(bisInspVlgdrinkProjManageParam.getPageNum(), bisInspVlgdrinkProjManageParam.getPageSize()); List listNext = bisInspVlgdrinkProjManageDao.findList(bisInspVlgdrinkProjManageParam); exportZ.ContinueExport(excelFieldUtil.getBisInspVlgdrinkProjManageDataList(listNext)); } } // 如果有多个engId for (int i = 1; i < endIdsList.size(); i++) { bisInspVlgdrinkProjManageParam.setEngId(endIdsList.get(i)); page = PageHelper.startPage(0, bisInspVlgdrinkProjManageParam.getPageSize()); list = bisInspVlgdrinkProjManageDao.findList(bisInspVlgdrinkProjManageParam); // 如果没有数据,则跳过 if (list.size() == 0) { continue; } zipStatusT4++; // 如果有数据,则继续填入Excel exportZ.ContinueExport(excelFieldUtil.getBisInspVlgdrinkProjManageDataList(list)); pages = page.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspVlgdrinkProjManageParam.setPageNum(p); PageHelper.startPage(bisInspVlgdrinkProjManageParam.getPageNum(), bisInspVlgdrinkProjManageParam.getPageSize()); List listNext = bisInspVlgdrinkProjManageDao.findList(bisInspVlgdrinkProjManageParam); // 继续导出 exportZ.ContinueExport(excelFieldUtil.getBisInspVlgdrinkProjManageDataList(listNext)); } } } exportZ.EndExport(); os.close(); } catch (Exception e) { try { os.close(); } catch (IOException e1) { e1.printStackTrace(); } e.printStackTrace(); } return zipStatusT4; } /** * 5.千人以上供水工程水源地保护情况表 * * @param engId * @param dir */ public int createBisInspProSourceProtectExcel(String engId, String dir, String fileName) { String tab = TableEnum.T5.toString(); OutputStream os = null; //导出 try { BisInspProSourceProtectParam bisInspProSourceProtectParam = new BisInspProSourceProtectParam(); bisInspProSourceProtectParam.setEngId(engId); // 一页查200条数据 bisInspProSourceProtectParam.setPageSize(200); Page page = PageHelper.startPage(0, bisInspProSourceProtectParam.getPageSize()); List list = bisInspProSourceProtectDao.findList(bisInspProSourceProtectParam); // 如果没有数据,则直接返回 if (list.size() == 0) { return 0; } File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls"); os = new FileOutputStream(outputFile); // 导出到excel ExportAbstract exportZ = createExcelHelper.export(tab, fileName, os, excelFieldUtil.getBisInspProSourceProtectDataList(list)); int pages = page.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspProSourceProtectParam.setPageNum(p); PageHelper.startPage(bisInspProSourceProtectParam.getPageNum(), bisInspProSourceProtectParam.getPageSize()); List listNext = bisInspProSourceProtectDao.findList(bisInspProSourceProtectParam); exportZ.ContinueExport(excelFieldUtil.getBisInspProSourceProtectDataList(listNext)); } } exportZ.EndExport(); os.close(); } catch (Exception e) { try { os.close(); } catch (IOException e1) { e1.printStackTrace(); } e.printStackTrace(); } return 1; } public int createBisInspProSourceProtectSumExcel(List endIdsList, String dir, String fileName) { OutputStream os = null; int zipStatusT5 = 0; //导出 try { BisInspProSourceProtectParam bisInspProSourceProtectParam = new BisInspProSourceProtectParam(); bisInspProSourceProtectParam.setEngId(endIdsList.get(0)); // 一页查200条数据 bisInspProSourceProtectParam.setPageSize(200); Page page = PageHelper.startPage(0, bisInspProSourceProtectParam.getPageSize()); List list = bisInspProSourceProtectDao.findList(bisInspProSourceProtectParam); // 如果没有数据,则直接返回(合并时不能直接返回,否则下面的数据就获取不到了) if (list.size() == 0) { zipStatusT5 = 0; } else { zipStatusT5++; } File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls"); os = new FileOutputStream(outputFile); // 导出到excel ExportAbstract exportZ = createExcelHelper.export(TableEnum.T5.toString(), fileName, os, excelFieldUtil.getBisInspProSourceProtectDataList(list)); int pages = page.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspProSourceProtectParam.setPageNum(p); PageHelper.startPage(bisInspProSourceProtectParam.getPageNum(), bisInspProSourceProtectParam.getPageSize()); List listNext = bisInspProSourceProtectDao.findList(bisInspProSourceProtectParam); exportZ.ContinueExport(excelFieldUtil.getBisInspProSourceProtectDataList(listNext)); } } // 如果有多个engId for (int i = 1; i < endIdsList.size(); i++) { bisInspProSourceProtectParam.setEngId(endIdsList.get(i)); page = PageHelper.startPage(0, bisInspProSourceProtectParam.getPageSize()); list = bisInspProSourceProtectDao.findList(bisInspProSourceProtectParam); // 如果没有数据,则跳过 if (list.size() == 0) { continue; } // 如果有数据,就加1 zipStatusT5++; // 如果有数据,则继续填入Excel exportZ.ContinueExport(excelFieldUtil.getBisInspProSourceProtectDataList(list)); pages = page.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspProSourceProtectParam.setPageNum(p); PageHelper.startPage(bisInspProSourceProtectParam.getPageNum(), bisInspProSourceProtectParam.getPageSize()); List listNext = bisInspProSourceProtectDao.findList(bisInspProSourceProtectParam); // 继续导出 exportZ.ContinueExport(excelFieldUtil.getBisInspProSourceProtectDataList(listNext)); } } } exportZ.EndExport(); os.close(); } catch (Exception e) { try { os.close(); } catch (IOException e1) { e1.printStackTrace(); } e.printStackTrace(); } return zipStatusT5; } /** * 6.管理责任体系落实情况表 * * @param engId * @param dir */ public int createBisInspManageResponsibilityExcel(String engId, String dir, String fileName) { String tab = TableEnum.T6.toString(); OutputStream os = null; //导出 try { BisInspManageResponsibilityParam bisInspManageResponsibilityParam = new BisInspManageResponsibilityParam(); bisInspManageResponsibilityParam.setEngId(engId); // 一页查200条数据 bisInspManageResponsibilityParam.setPageSize(200); Page page = PageHelper.startPage(0, bisInspManageResponsibilityParam.getPageSize()); List list = bisInspManageResponsibilityDao.findList(bisInspManageResponsibilityParam); // 如果没有数据,则直接返回 if (list.size() == 0) { return 0; } File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls"); os = new FileOutputStream(outputFile); // 导出到excel ExportAbstract exportZ = createExcelHelper.export(tab, fileName, os, excelFieldUtil.getBisInspManageResponsibilityDataList(list)); int pages = page.getPages(); // 如果大于1页,继续请求剩余页的数据 if (pages > 1) { for (int p = 2; p < pages; p++) { bisInspManageResponsibilityParam.setPageNum(p); PageHelper.startPage(bisInspManageResponsibilityParam.getPageNum(), bisInspManageResponsibilityParam.getPageSize()); List listNext = bisInspManageResponsibilityDao.findList(bisInspManageResponsibilityParam); exportZ.ContinueExport(excelFieldUtil.getBisInspManageResponsibilityDataList(listNext)); } } exportZ.EndExport(); os.close(); } catch (Exception e) { try { os.close(); } catch (IOException e1) { e1.printStackTrace(); } e.printStackTrace(); } return 1; } public int createBisInspManageResponsibilitySumExcel(List endIdsList, String dir, String fileName) { OutputStream os = null; int zipStatusT6 = 0; //导出 try { BisInspManageResponsibilityParam bisInspManageResponsibilityParam = new BisInspManageResponsibilityParam(); bisInspManageResponsibilityParam.setEngId(endIdsList.get(0)); // 一页查200条数据 bisInspManageResponsibilityParam.setPageSize(200); Page page = PageHelper.startPage(0, bisInspManageResponsibilityParam.getPageSize()); List list = bisInspManageResponsibilityDao.findList(bisInspManageResponsibilityParam); // 如果没有数据,则直接返回(合并时不能直接返回,否则下面的数据就获取不到了) if (list.size() == 0) { zipStatusT6 = 0; } else { zipStatusT6++; } File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls"); os = new FileOutputStream(outputFile); // 导出到excel ExportAbstract exportZ = createExcelHelper.export(TableEnum.T6.toString(), fileName, os, excelFieldUtil.getBisInspManageResponsibilityDataList(list)); int pages = page.getPages(); // 如果大于1页,继续请求剩余页的数据 if (pages > 1) { for (int p = 2; p < pages; p++) { bisInspManageResponsibilityParam.setPageNum(p); PageHelper.startPage(bisInspManageResponsibilityParam.getPageNum(), bisInspManageResponsibilityParam.getPageSize()); List listNext = bisInspManageResponsibilityDao.findList(bisInspManageResponsibilityParam); exportZ.ContinueExport(excelFieldUtil.getBisInspManageResponsibilityDataList(listNext)); } } // 如果有多个engId for (int i = 1; i < endIdsList.size(); i++) { bisInspManageResponsibilityParam.setEngId(endIdsList.get(i)); page = PageHelper.startPage(0, bisInspManageResponsibilityParam.getPageSize()); list = bisInspManageResponsibilityDao.findList(bisInspManageResponsibilityParam); // 如果没有数据,则跳过 if (list.size() == 0) { continue; } zipStatusT6++; // 如果有数据,则继续填入Excel exportZ.ContinueExport(excelFieldUtil.getBisInspManageResponsibilityDataList(list)); pages = page.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspManageResponsibilityParam.setPageNum(p); PageHelper.startPage(bisInspManageResponsibilityParam.getPageNum(), bisInspManageResponsibilityParam.getPageSize()); List listNext = bisInspManageResponsibilityDao.findList(bisInspManageResponsibilityParam); // 继续导出 exportZ.ContinueExport(excelFieldUtil.getBisInspManageResponsibilityDataList(listNext)); } } } exportZ.EndExport(); os.close(); } catch (Exception e) { try { os.close(); } catch (IOException e1) { e1.printStackTrace(); } e.printStackTrace(); } return zipStatusT6; } }