diff --git a/laws-base/laws-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java b/laws-base/laws-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java index 041d14d1..d644fc9b 100644 --- a/laws-base/laws-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java +++ b/laws-base/laws-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java @@ -82,6 +82,26 @@ public class JeroController> { return mv; } + /** + * 导出excel + * + * @param + */ + protected ModelAndView exportListXls(List object, Class clazz, String title) { + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, title); + mv.addObject(NormalExcelConstants.CLASS, clazz); + ExportParams exportParams=new ExportParams(title, title); + // 导出xlsx + exportParams.setType(ExcelType.XSSF); + exportParams.setImageBasePath(upLoadPath); + mv.addObject(NormalExcelConstants.PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, object); + return mv; + } + /** * 根据每页sheet数量导出多sheet * diff --git a/laws-modules/src/main/java/com/jero/modules/projectLibrary/controller/LawsAssessController.java b/laws-modules/src/main/java/com/jero/modules/projectLibrary/controller/LawsAssessController.java index c13e056a..9b1b49fb 100644 --- a/laws-modules/src/main/java/com/jero/modules/projectLibrary/controller/LawsAssessController.java +++ b/laws-modules/src/main/java/com/jero/modules/projectLibrary/controller/LawsAssessController.java @@ -1,20 +1,15 @@ package com.jero.modules.projectLibrary.controller; -import java.io.OutputStream; import java.util.*; import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import cn.hutool.core.io.IoUtil; -import cn.hutool.poi.excel.ExcelUtil; -import cn.hutool.poi.excel.ExcelWriter; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jero.common.api.vo.Result; import com.jero.common.constant.CommonConstant; import com.jero.common.exception.JeroBootException; import com.jero.common.system.query.QueryGenerator; -import com.jero.common.util.MessageUtils; import com.jero.common.api.vo.ResultCommon; import com.jero.modules.laws.standard.entity.LawsDomesticStandard; import com.jero.modules.laws.standard.entity.LawsOverseasStandard; @@ -24,7 +19,8 @@ import com.jero.modules.projectLibrary.entity.LawsAssess; import com.jero.modules.projectLibrary.service.ILawsAssessService; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.modules.projectLibrary.vo.LawsAssessAddVo; -import java.net.URLEncoder; + +import com.jero.modules.system.vo.IdMapBody; import lombok.extern.slf4j.Slf4j; import com.jero.common.system.base.controller.JeroController; import org.springframework.beans.factory.annotation.Autowired; @@ -39,12 +35,12 @@ import org.apache.poi.ss.formula.functions.T; /** - * @Description: 项目-标准评估 + * @Description: 车型项目库-法规清单 * @Author: jero-boot * @Date: 2023-09-11 * @Version: V1.0 */ -@Api(tags="项目-标准评估") +@Api(tags="车型项目库-法规清单") @RestController @RequestMapping("/projectLibrary/lawsAssess") @Slf4j @@ -61,8 +57,8 @@ public class LawsAssessController extends JeroController> queryPageList(LawsAssess lawsAssess, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @@ -89,7 +85,8 @@ public class LawsAssessController extends JeroController retrieval(@Validated @RequestBody LawsAssessAddVo lawsAssessAddVo) { String domesticStandardId = lawsAssessAddVo.getDomesticStandardId(); @@ -139,8 +137,6 @@ public class LawsAssessController extends JeroController copy(@Validated @RequestBody LawsAssessAddVo lawsAssessAddVo) { String copyProjectId = lawsAssessAddVo.getCopyProjectId(); @@ -221,8 +211,6 @@ public class LawsAssessController extends JeroController delete(@RequestBody Map map) { - if(!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))){ + public Result delete(@RequestBody IdMapBody map) { + String id = map.getId(); + if(StringUtils.isEmpty(id)){ throw new JeroBootException(ResultCommon.PLEASE_SELECT_DATA); } - lawsAssessService.deleteById(map.get("id")); - return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); + lawsAssessService.deleteById(id); + return Result.OK(ResultCommon.OK); } /** * 导出excel */ - @AutoLog(value = "项目-标准评估-导出excel") - @ApiOperation(value="项目-标准评估-导出excel", notes="项目-标准评估-导出excel") + @AutoLog(value = "车型项目库-法规清单-导出excel") + @ApiOperation(value="车型项目库-法规清单-导出excel", notes="车型项目库-法规清单-导出excel") @GetMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, LawsAssess lawsAssess, HttpServletResponse response) { - String outFileName = "项目-标准评估" + System.currentTimeMillis() + ".xlsx"; - String ENCODING = "UTF-8"; - ExcelWriter writer = ExcelUtil.getWriter(true); - - // 通过工具类创建writer并且进行别名 - assembleWriter(writer); - //获取数据 List dos = null; String selections = request.getParameter("selections"); - if (StringUtils.isNotBlank(selections)){ + if (StringUtils.isNotBlank(selections)) { dos = lawsAssessService.listByIds(Arrays.asList(selections.split(","))); - }else { + } else { lawsAssess.setDelFlag(CommonConstant.DEL_FLAG_0.toString()); QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(lawsAssess, request.getParameterMap()); dos = lawsAssessService.list(queryWrapper); } - if (dos.isEmpty()){ + if (dos.isEmpty()) { throw new JeroBootException(ResultCommon.PLEASE_SELECT_DATA); } this.assignment(dos); + String title = "法规清单"; + return super.exportListXls(dos, LawsAssess.class, title); + } - //导出表头只保留别名中的字段 - writer.setOnlyAlias(true); - //表格高度 - writer.setDefaultRowHeight(18); - //表格宽度 - writer.setColumnWidth(-1, 20); - //放入数据 - writer.write(dos, true); - try { - // 获取我们的输出流 - final OutputStream output = response.getOutputStream(); - response.setContentType("application/vnd.ms-excel;charset=utf-8"); - response.setHeader("Content-Disposition", "attachment;filename=" + outFileName + ";filename*=utf-8" - + URLEncoder.encode(outFileName, ENCODING)); - writer.flush(output, true); - writer.close(); - // 这里可以自行关闭资源或者写一个关闭资源的工具类 - IoUtil.close(output); - } catch (Exception e) { - log.error("导出失败:", e); - } - return null; - } - private void assembleWriter(ExcelWriter writer) { - writer.addHeaderAlias("standardNumber", "标准号"); - writer.addHeaderAlias("standardName", "标准名称"); - writer.addHeaderAlias("standardState", "标准状态"); - writer.addHeaderAlias("applicableVehicle", "适用车型"); - writer.addHeaderAlias("onTheProductionDate", "在产车实施日期"); - writer.addHeaderAlias("newModelImplementationDate", "新车型实施日期"); - writer.addHeaderAlias("processStatus", "流程状态"); - writer.addHeaderAlias("evaluationResults", "评估结果"); - writer.addHeaderAlias("responsibleDepartment", "责任部门"); - } } diff --git a/laws-modules/src/main/java/com/jero/modules/projectLibrary/entity/LawsAssess.java b/laws-modules/src/main/java/com/jero/modules/projectLibrary/entity/LawsAssess.java index 7bb7bc07..d5600160 100644 --- a/laws-modules/src/main/java/com/jero/modules/projectLibrary/entity/LawsAssess.java +++ b/laws-modules/src/main/java/com/jero/modules/projectLibrary/entity/LawsAssess.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.jero.common.aspect.annotation.Dict; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.StringUtils; import org.springframework.format.annotation.DateTimeFormat; import org.jeecgframework.poi.excel.annotation.Excel; import io.swagger.annotations.ApiModel; @@ -41,18 +42,15 @@ public class LawsAssess implements Serializable { /**项目ID*/ @NotBlank(message = "projectId not null") - @Excel(name = "项目ID", width = 15) @ApiModelProperty(value = "项目ID") private String projectId; /**标准ID*/ @NotBlank(message = "standardId not null") - @Excel(name = "标准ID", width = 15) @ApiModelProperty(value = "标准ID") private String standardId; /**标准来源*/ - @Excel(name = "标准来源(1国内、2海外、3企标)", width = 15) @ApiModelProperty(value = "标准来源(1国内、2海外、3企标)") private String source; @@ -66,12 +64,49 @@ public class LawsAssess implements Serializable { @ApiModelProperty(value = "标准名称") private String standardName; - /**流程状态(1-未评估、2-评估中、3-已评估)*/ + @TableField(exist = false) + @Excel(name = "英文名称", width = 15, exportConvert = true) + @ApiModelProperty(value = "英文名称") + private String standardEnglishName; + + @TableField(exist = false) + @Excel(name = "标准状态", width = 15, dicCode = "standard_state") + @ApiModelProperty(value = "标准状态") + @Dict(dicCode = "standard_state") + private String standardState; + + @TableField(exist = false) + @Excel(name = "适用车型", width = 15, exportConvert = true) + @ApiModelProperty(value = "适用车型") + private String applicableVehicle; + + @TableField(exist = false) + @Excel(name = "在产车实施日期", width = 15, exportConvert = true) + @ApiModelProperty(value = "在产车实施日期") + private String onTheProductionDate; + + @TableField(exist = false) + @Excel(name = "新车型实施日期", width = 15, exportConvert = true) + @ApiModelProperty(value = "新车型实施日期") + private String newModelImplementationDate; + + /**流程状态(1-未评估、2-评估中、3-已评估)*/ @Dict(dicCode = "process_status") - @Excel(name = "流程状态(1-未评估、2-评估中、3-已评估)", width = 15) + @Excel(name = "流程状态", width = 15, dicCode = "process_status") @ApiModelProperty(value = "流程状态(1-未评估、2-评估中、3-已评估)") private String processStatus; + @TableField(exist = false) + @Excel(name = "评估结果", width = 15) + @ApiModelProperty(value = "评估结果") + private String evaluationResults; + + @TableField(exist = false) + @Excel(name = "责任部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id", exportConvert = true) + @ApiModelProperty(value = "责任部门") + @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id") + private String responsibleDepartment; + /**创建人*/ @ApiModelProperty(value = "创建人") private String createBy; @@ -93,7 +128,6 @@ public class LawsAssess implements Serializable { private Date updateTime; /**所属部门*/ - @Excel(name = "所属部门", width = 15) @ApiModelProperty(value = "所属部门") private String orgCode; @@ -101,33 +135,19 @@ public class LawsAssess implements Serializable { @ApiModelProperty(value = "删除状态(0-正常,1-删除)") private String delFlag; - - @TableField(exist = false) - @ApiModelProperty(value = "英文名称") - private String standardEnglishName; - - @TableField(exist = false) - @ApiModelProperty(value = "标准状态") - private String standardState; - - @TableField(exist = false) - @ApiModelProperty(value = "适用车型") - private String applicableVehicle; - - @TableField(exist = false) - @ApiModelProperty(value = "在产车实施日期") - private String onTheProductionDate; - - @TableField(exist = false) - @ApiModelProperty(value = "新车型实施日期") - private String newModelImplementationDate; - - @TableField(exist = false) - @ApiModelProperty(value = "评估结果") - private String evaluationResults; - - @TableField(exist = false) - @ApiModelProperty(value = "责任部门") - private String responsibleDepartment; - + public String convertgetStandardEnglishName(){ + return StringUtils.isNotBlank(this.standardEnglishName) ? this.standardEnglishName : "-"; + } + public String convertgetApplicableVehicle(){ + return StringUtils.isNotBlank(this.applicableVehicle) ? this.applicableVehicle : "-"; + } + public String convertgetOnTheProductionDate(){ + return StringUtils.isNotBlank(this.onTheProductionDate) ? this.onTheProductionDate : "-"; + } + public String convertgetNewModelImplementationDate(){ + return StringUtils.isNotBlank(this.newModelImplementationDate) ? this.newModelImplementationDate : "-"; + } + public String convertgetResponsibleDepartment(){ + return StringUtils.isNotBlank(this.responsibleDepartment) ? this.responsibleDepartment : "-"; + } }