package cn.com.goldenwater.dcproj.controller.general;
import cn.com.goldenwater.core.web.BaseController;
import cn.com.goldenwater.core.web.BaseResponse;
import cn.com.goldenwater.dcproj.dao.BisInspRsvrRgstrDao;
import cn.com.goldenwater.dcproj.dto.BisInspRsvrRgstrPcDto;
import cn.com.goldenwater.dcproj.param.TypeExportParam;
import cn.com.goldenwater.dcproj.utils.export.ExcelFieldUtil;
import cn.com.goldenwater.dcproj.utils.export.FieldFormatSkExp;
import cn.com.goldenwater.dcproj.utils.export.FieldFormatSkImp;
import cn.com.goldenwater.dcproj.utils.export.template.CreateSkExcelTemplate;
import cn.com.goldenwater.dcproj.utils.impexcel.ExpAndImpUtil;
import cn.com.goldenwater.dcproj.utils.impexcel.ImpUtil;
import cn.com.goldenwater.id.util.UuidUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.*;
/**
*
* 通用的导出导入Test Controller
*
*
* @author liyz
* @date 2019/7/19 19:24
**/
@Api(value = "通用的导出导入Test", tags = "通用的导出导入Test")
@RestController
@RequestMapping("/dc/geai")
public class GeneralExpAndImpTestController extends BaseController {
@Value("${export.templatePath}")
private String templatePath;
@Value("${impExcel.basePath}")
private String impFileCachePath;
@Autowired
private RedisTemplate redisTemplate;
@Autowired
private ExcelFieldUtil excelFieldUtil;
@Autowired
private CreateSkExcelTemplate createSkExcelTemplate;
@Autowired
private BisInspRsvrRgstrDao bisInspRsvrRgstrDao;
@ApiOperation(value = "下载")
@RequestMapping(value = "/download", method = {RequestMethod.GET})
public BaseResponse download(HttpServletResponse response) {
try {
// 参数1 HttpServletResponse
// 参数2 数据集,从库里查出来的要导出的数据集,没有给空对象,不为null
// 参数3 模板的路径
// 参数4 从模板的第几行开始写入数据 key行号 -1
// 参数5 sheet的名称,也是导出的模板的名称
// 获取数据集,具体业务根据情况来写,最终得到一个List
TypeExportParam tep = new TypeExportParam();
tep.setType("rsvr");
tep.setPresId("8C50B3937D1546B0BD7CBEB28DE84CC4");
// 水库
tep.setpType("1");
tep.setTableIds("08");
// 0未督查 1督查中 2已督查
tep.setState("1,0");
tep.setId("001041005001");
List data = bisInspRsvrRgstrDao.findPcPage(tep);
List