package cn.com.goldenwater.dcproj.utils.export.template;
import cn.com.goldenwater.dcproj.dto.BisInspRsvrRgstrPcDto;
import cn.com.goldenwater.dcproj.dto.BisInspRsvrRgstrPcDtoVo;
import cn.com.goldenwater.dcproj.param.TypeExportParam;
import cn.com.goldenwater.dcproj.service.BisInspRsvrRgstrService;
import cn.com.goldenwater.dcproj.utils.export.CreateExcelHelper;
import cn.com.goldenwater.dcproj.utils.export.ExcelFieldUtil;
import cn.com.goldenwater.dcproj.utils.export.TableEnum;
import com.github.pagehelper.PageInfo;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
* 批量导出
*
*
* @author liyz
* @date 2019/4/12 10:26
**/
@Component
public class CreateSkExcelTemplate {
private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Autowired
private ExcelFieldUtil excelFieldUtil;
@Autowired
private CreateExcelHelper createExcelHelper;
@Value("${export.templatePath}")
private String templatePath;
/**
* 8.小水库督查情况Service
*/
@Autowired
private BisInspRsvrRgstrService bisInspRsvrRgstrService;
@Autowired
private CreateSkTablesByTemplate createSkTablesByTemplate;
/**
* 8.创建小水库督查情况表(合并)
*/
public int createBisInspRsvrRgstrPcDtoExcel(TypeExportParam typeExportParam, ByteArrayOutputStream os) {
// 一页查200条数据
typeExportParam.setPageNum(0);
typeExportParam.setPageSize(40000);
PageInfo data = bisInspRsvrRgstrService.findPcPage(typeExportParam);
FileInputStream fis = null;
//导出
try {
// 加载模板
fis = new FileInputStream(templatePath + File.separator + "sk-t8-q2.xls");
HSSFWorkbook workBook = new HSSFWorkbook(fis);
workBook.setSheetName(0, TableEnum.T8.getName());
HSSFSheet sheet = workBook.getSheetAt(0);
// 如果没有数据,则直接返回
if (data.getList().size() != 0) {
// 处理一下,加入5张表的数据
int n = 0;
List