package cn.com.goldenwater.dcproj.utils.export; import cn.com.goldenwater.dcproj.dto.BisInspWtdstDetailDto; import cn.com.goldenwater.dcproj.param.BisInspWtdstDtoListParam; import cn.com.goldenwater.dcproj.param.TypeExportParam; import cn.com.goldenwater.dcproj.service.BisInspWtdstService; import cn.com.goldenwater.dcproj.service.GeneralDownloadService; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.io.*; import java.text.SimpleDateFormat; import java.util.Date; /** * @ClassName CreateShTables * @Author liyz * @Date 2019/3/15 11:41 * @Version 1.0 **/ @Component public class CreateShTables { private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @Autowired private ExcelFieldUtil excelFieldUtil; @Autowired private CreateExcelHelper createExcelHelper; /** * 7.水毁督查情况 */ @Autowired private BisInspWtdstService bisInspWtdstService; @Autowired private GeneralDownloadService generalDownloadService; /** * 7.创建水毁工程督查情况表 * * @param * @param */ public int createBisInspWtdstDtoExcel(TypeExportParam typeExportParam, PrintWriter printWriter, String adCode, String dir) { BisInspWtdstDtoListParam bisInspWtdstDtoListParam = new BisInspWtdstDtoListParam(); bisInspWtdstDtoListParam.setPersGuid(typeExportParam.getPersGuid()); bisInspWtdstDtoListParam.setLocAd(adCode); // 一页查200条数据 bisInspWtdstDtoListParam.setPageSize(200); PageInfo data = null; try { data = generalDownloadService.findDtoListAboutExport(bisInspWtdstDtoListParam, typeExportParam); } catch (Exception e) { e.printStackTrace(); } // 如果没有数据,则直接返回 if (data.getList().size() == 0) { return 0; } String tab = TableEnum.T7.toString(); String fileName = createExcelHelper.getAdName(adCode + "0000000000") + TableEnum.T7.getName(); OutputStream os = null; //导出 try { printWriter.println(sdf.format(new Date()) + " 开始创建 " + fileName + ".xls" + "
"); printWriter.flush(); // 如果有数据,则导出到excel File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls"); os = new FileOutputStream(outputFile); // 导出到excel ExportAbstract exportZ = createExcelHelper.export(tab, fileName, os, excelFieldUtil.getBisInspWtdstDtoDataList(data.getList())); int pages = data.getPages(); // 如果超过一页 if (pages > 1) { for (int p = 2; p <= pages; p++) { bisInspWtdstDtoListParam.setPageNum(p); PageInfo dataNext = generalDownloadService.findDtoListAboutExport(bisInspWtdstDtoListParam, typeExportParam); // 继续导出 exportZ.ContinueExport(excelFieldUtil.getBisInspWtdstDtoDataList(dataNext.getList())); } } exportZ.EndExport(); os.close(); printWriter.println(sdf.format(new Date()) + " 完成创建 " + fileName + ".xls" + "
"); printWriter.flush(); } catch (Exception e) { try { os.close(); } catch (IOException e1) { e1.printStackTrace(); return 0; } e.printStackTrace(); } return 1; } }