update 法规符合性排查流程-》车型项目文件模板下载:新增一个sheet页展示 车型状态的所有下拉值。
This commit is contained in:
+61
-15
@@ -6,7 +6,9 @@ import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.DictPoint;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
@@ -14,6 +16,7 @@ import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.entity.ProcessStandardComplianceCheck;
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.entity.ProcessStandardComplianceCheckDetail;
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.entity.vo.DictExcelVO;
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.entity.vo.ModelExcelVO;
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.entity.vo.ProcessSccVO;
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.entity.vo.SplitExcelVO;
|
||||
@@ -25,6 +28,8 @@ import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.jeecgframework.poi.excel.ExcelExportUtil;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
|
||||
@@ -37,10 +42,11 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.io.OutputStream;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 流程-测试流程(process_demo)表控制层
|
||||
@@ -60,6 +66,9 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
|
||||
@Resource
|
||||
private ActFlowCommonService actFlowCommonService;
|
||||
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
|
||||
@AutoLog(value = "法规符合性排查流程-发起流程")
|
||||
@ApiOperation(value = "法规符合性排查流程-发起流程", notes = "法规符合性排查流程-发起流程")
|
||||
@PostMapping(value = "/start")
|
||||
@@ -141,19 +150,56 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
|
||||
@GetMapping("/modelTemplateDownload")
|
||||
@ApiOperation(value = "法规符合性排查流程-车型导入模板下载", notes = "法规符合性排查流程-车型导入模板下载")
|
||||
@AutoLog(value = "法规符合性排查流程-车型导入模板下载")
|
||||
public ModelAndView modelTemplateDownload() {
|
||||
public void modelTemplateDownload(HttpServletResponse response) {
|
||||
// AutoPoi 导出Excel
|
||||
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
||||
String title = "车型批量导入模板";
|
||||
//此处设置的filename无效 ,前端会重更新设置一下
|
||||
mv.addObject(FILE_NAME);
|
||||
mv.addObject(CLASS, ModelExcelVO.class);
|
||||
ExportParams exportParams = new ExportParams(null, title);
|
||||
// 导出xls
|
||||
exportParams.setType(ExcelType.HSSF);
|
||||
mv.addObject(PARAMS, exportParams);
|
||||
mv.addObject(NormalExcelConstants.DATA_LIST, new ArrayList<T>());
|
||||
return mv;
|
||||
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("title",new ExportParams(null, title));
|
||||
map.put(CLASS,ModelExcelVO.class);
|
||||
map.put(NormalExcelConstants.DATA_LIST,new ArrayList<>());
|
||||
list.add(map);
|
||||
Map<String, Object> map1 = new HashMap<>();
|
||||
map1.put("title",new ExportParams(null, "字典"));
|
||||
map1.put(CLASS, DictExcelVO.class);
|
||||
List<DictModel> dictItems = sysBaseAPI.getDictItems("model_status");
|
||||
ArrayList<DictExcelVO> dictExcelVOS = new ArrayList<>();
|
||||
for (DictModel dictItem : dictItems) {
|
||||
DictExcelVO dictExcelVO = new DictExcelVO();
|
||||
dictExcelVO.setModelState(dictItem.getText());
|
||||
dictExcelVOS.add(dictExcelVO);
|
||||
}
|
||||
map1.put(NormalExcelConstants.DATA_LIST,dictExcelVOS);
|
||||
list.add(map1);
|
||||
ExcelType type = ExcelType.HSSF;
|
||||
Workbook workbook = ExcelExportUtil.exportExcel(list, type);
|
||||
// 设置HTTP响应头
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
response.setCharacterEncoding("UTF-8"); // 这行确保响应流使用UTF-8编码
|
||||
|
||||
// 处理文件名乱码问题
|
||||
String encodedFileName = null;
|
||||
try {
|
||||
encodedFileName = URLEncoder.encode("车型批量导入模板", StandardCharsets.UTF_8.name()).replace("+", "%20");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName + ".xlsx");
|
||||
|
||||
// 获取响应输出流并写入Excel
|
||||
try (OutputStream out = response.getOutputStream()) {
|
||||
workbook.write(out);
|
||||
out.flush();
|
||||
} catch (IOException e) {
|
||||
log.error("导出Excel失败", e);
|
||||
} finally {
|
||||
try {
|
||||
workbook.close();
|
||||
} catch (IOException e) {
|
||||
log.error("导出Excel失败", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package com.jero.modules.activiti.process.standardComplianceCheck.entity.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class DictExcelVO {
|
||||
|
||||
@Excel(name = "车型状态")
|
||||
private String modelState;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user