From c568f7647e5b4965f7a93e9d8cc13d358781aafd Mon Sep 17 00:00:00 2001 From: caihaohan Date: Thu, 21 Sep 2023 14:10:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=81=E6=A0=87=E5=AE=A3=E8=B4=AF-?= =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EnterpriseStandardDeclareController.java | 10 ++++-- .../entity/dto/ESQueryCommonDTO.java | 25 +++++++++++++++ .../vo/EnterpriseStandardDeclareVo.java | 7 +++++ .../xml/EnterpriseStandardDeclareMapper.xml | 6 ++++ .../EnterpriseStandardDeclareService.java | 12 +++++++ .../EnterpriseStandardDeclareServiceImpl.java | 31 +++++++++++++++++++ 6 files changed, 89 insertions(+), 2 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardDeclareController.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardDeclareController.java index bf62eae6..62f01952 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardDeclareController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardDeclareController.java @@ -4,8 +4,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; -import com.jero.common.util.MessageUtils; -import com.jero.modules.laws.common.constant.ResultCommon; import com.jero.modules.laws.enterprise.entity.EnterpriseStandardDeclare; import com.jero.modules.laws.enterprise.entity.dto.ESQueryCommonDTO; import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardDeclareVo; @@ -17,6 +15,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; /** @@ -49,4 +48,11 @@ public class EnterpriseStandardDeclareController extends JeroController pageList= esDeclareService.queryPageList(esDeclare, pageNo, pageSize); return Result.OK(pageList); } + + @AutoLog(value = "企标宣贯-导出") + @ApiOperation(value="企标宣贯-导出", notes="企标宣贯-导出") + @GetMapping("/exportData") + public void exportData(HttpServletResponse response, ESQueryCommonDTO esQueryCommonDTO) { + esDeclareService.export(response, esQueryCommonDTO, "企标宣贯", "企标宣贯"); + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/dto/ESQueryCommonDTO.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/dto/ESQueryCommonDTO.java index 2c740855..51deb54d 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/dto/ESQueryCommonDTO.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/dto/ESQueryCommonDTO.java @@ -1,11 +1,16 @@ package com.jero.modules.laws.enterprise.entity.dto; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; +import java.util.List; /** * @author: Caihaohan @@ -13,6 +18,8 @@ import java.util.Date; */ @Data +@NoArgsConstructor +@AllArgsConstructor public class ESQueryCommonDTO { // 通用 @@ -23,6 +30,13 @@ public class ESQueryCommonDTO { @ApiModelProperty(value = "通用-标准名称") private String standardName; + @ApiModelProperty(value = "选中的主键ids") + private String selections; + + @ApiModelProperty(value = "选中的主键集合") + @JSONField(serialize = false) + private List idList; + // 宣贯 @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @@ -100,4 +114,15 @@ public class ESQueryCommonDTO { @ApiModelProperty(value = "复审计划-复审结束日期") private Date recheckEndDate; + public void transIdsToList() { + if (StrUtil.isBlank(this.selections)) { + return; + } + this.idList = StrUtil.split(this.selections, StrUtil.COMMA); + } + + public void setSelections(String selections) { + this.selections = selections; + this.transIdsToList(); + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardDeclareVo.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardDeclareVo.java index 40bf76e8..dda26580 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardDeclareVo.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardDeclareVo.java @@ -3,6 +3,7 @@ package com.jero.modules.laws.enterprise.entity.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -18,22 +19,27 @@ public class EnterpriseStandardDeclareVo { @ApiModelProperty(value = "主键id") private String id; + @Excel(name = "企标编号", width = 15, orderNum = "1") @ApiModelProperty(value = "企标编号") private String standardNo; + @Excel(name = "企标名称", width = 15, orderNum = "1") @ApiModelProperty(value = "企标名称") private String standardName; + @Excel(name = "发布日期", width = 15, orderNum = "1", format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "发布日期") private Date releaseDate; + @Excel(name = "实施日期", width = 15, orderNum = "1", format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "实施日期") private Date implementationDate; + @Excel(name = "宣贯日期", width = 15, orderNum = "1", format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "宣贯日期") @@ -42,6 +48,7 @@ public class EnterpriseStandardDeclareVo { @ApiModelProperty(value = "宣贯人id") private String declareUser; + @Excel(name = "宣贯人姓名", width = 15, orderNum = "1") @ApiModelProperty(value = "宣贯人姓名") private String declareUserName; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardDeclareMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardDeclareMapper.xml index 20a29390..36892605 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardDeclareMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardDeclareMapper.xml @@ -62,6 +62,12 @@ AND u.username LIKE CONCAT('%',#{param.declareUserName},'%') + + AND d.id IN + + #{item} + + ORDER BY d.create_time DESC diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/EnterpriseStandardDeclareService.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/EnterpriseStandardDeclareService.java index 442ea0e2..b2c2f367 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/EnterpriseStandardDeclareService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/EnterpriseStandardDeclareService.java @@ -3,9 +3,12 @@ package com.jero.modules.laws.enterprise.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.modules.laws.enterprise.entity.EnterpriseStandardDeclare; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.laws.enterprise.entity.dto.ESPlanQueryDTO; import com.jero.modules.laws.enterprise.entity.dto.ESQueryCommonDTO; import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardDeclareVo; +import javax.servlet.http.HttpServletResponse; + /** * @author ThinkBook * @description 针对表【laws_enterprise_standard_declare】的数据库操作Service @@ -21,4 +24,13 @@ public interface EnterpriseStandardDeclareService extends IService queryPageList(ESQueryCommonDTO esDeclare, Integer pageNo, Integer pageSize); + + /** + * 企标宣贯导出 + * @param response + * @param esQueryCommonDTO + * @param fileName + * @param sheetName + */ + void export(HttpServletResponse response, ESQueryCommonDTO esQueryCommonDTO, String fileName, String sheetName); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardDeclareServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardDeclareServiceImpl.java index 81c086af..486ddcf1 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardDeclareServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardDeclareServiceImpl.java @@ -5,15 +5,22 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.exception.JeroBootException; import com.jero.modules.laws.enterprise.entity.EnterpriseStandardDeclare; +import com.jero.modules.laws.enterprise.entity.dto.ESPlanQueryDTO; import com.jero.modules.laws.enterprise.entity.dto.ESQueryCommonDTO; import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardDeclareVo; +import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardPlanVo; import com.jero.modules.laws.enterprise.service.EnterpriseStandardDeclareService; import com.jero.modules.laws.enterprise.mapper.EnterpriseStandardDeclareMapper; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.Workbook; +import org.jeecgframework.poi.excel.ExcelExportUtil; +import org.jeecgframework.poi.excel.entity.ExportParams; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * @author ThinkBook @@ -34,6 +41,30 @@ public class EnterpriseStandardDeclareServiceImpl extends ServiceImpl page = new Page<>(pageNo, pageSize); return esDeclareMapper.page(page, esDeclare); } + + @Override + public void export(HttpServletResponse response, ESQueryCommonDTO esQueryCommonDTO, String fileName, String sheetName) { + try { + // 获取数据 + IPage enterpriseStandardDeclareVoIPage = this.queryPageList(esQueryCommonDTO, 1, Integer.MAX_VALUE); + List records = enterpriseStandardDeclareVoIPage.getRecords(); + + // 设置导出参数 + ExportParams exportParams = new ExportParams(null, sheetName); // 可以为标题添加更多的配置 + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, EnterpriseStandardDeclareVo.class, records); + + // 设置响应头和内容类型 + response.setContentType("application/vnd.ms-excel"); + response.setHeader("Content-Disposition", "attachment; filename=" + fileName + ".xls"); + + // 写出到响应流 + workbook.write(response.getOutputStream()); + workbook.close(); + } catch (Exception e) { + log.error("导出excel异常", e); + throw new JeroBootException("导出excel异常", e); + } + } }