From 3467371f6966686d922ea110f85bf4f071927f92 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Fri, 17 Nov 2023 10:16:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BD=93=E7=B3=BB=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=88=97=E8=A1=A8=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adc/da/login/security/WebMvcConfig.java | 3 ++ .../SarMenuStandardNewController.java | 36 ++++++++-------- .../entity/StandSystemDTO.java | 14 ++++++- .../service/ISarMenuStandardNewService.java | 3 +- .../SarMenuStandardNewServiceNewImpl.java | 41 +++++++++++++++++-- .../impl/SarStandardsInfoServiceImpl.java | 2 +- 6 files changed, 74 insertions(+), 25 deletions(-) diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java index ffd39451..a16dbe18 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java @@ -208,6 +208,9 @@ public class WebMvcConfig implements WebMvcConfigurer { // 政策资料模板下载 addInterceptor.excludePathPatterns("/api/lawss/sarLawsInformation/exportTemplateFile"); + // 标准体系列表导出 + addInterceptor.excludePathPatterns("/api/lawss/sarMenuStandardLimit/standardSystemListExport"); + // // 添加自定义拦截器,并拦截对应 url addInterceptor.addPathPatterns("/**"); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/controller/SarMenuStandardNewController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/controller/SarMenuStandardNewController.java index 4033213f..86e8a179 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/controller/SarMenuStandardNewController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/controller/SarMenuStandardNewController.java @@ -1,6 +1,5 @@ package com.adc.da.slrs.sarMenuStandard.controller; - import com.adc.da.base.web.BaseController; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; @@ -10,29 +9,30 @@ import com.adc.da.slrs.sarMenuStandard.service.ISarMenuStandardNewService; import com.adc.da.slrs.sarUser.service.ITsUserService; import com.adc.da.sys.sarMenuStandard.entity.SarMenuStandard; import com.adc.da.util.LoginUserUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; import java.util.List; /** -*

- * 前端控制器 - *

-* -* @author super_liu -* @since 2021-07-07 -*/ + *

+ * 前端控制器 + *

+ * + * @author super_liu + * @since 2021-07-07 + */ @RestController @Api(tags = "福田标准法规--标准法规库-菜单标准体系") @RequestMapping("/${restPath}/lawss/sarMenuStandardLimit") +@Slf4j public class SarMenuStandardNewController extends BaseController { @Autowired @@ -43,16 +43,16 @@ public class SarMenuStandardNewController extends BaseController getTopMenu(SarMenuStandardNew sarMenuStandardNew){ - String tsResources= iSarMenuStandardNewService.getTopMenu(sarMenuStandardNew); + public ResponseMessage getTopMenu(SarMenuStandardNew sarMenuStandardNew) { + String tsResources = iSarMenuStandardNewService.getTopMenu(sarMenuStandardNew); return Result.success(tsResources); } @ApiOperation("查询有权限资源") @GetMapping("/getListStandLimit") - public ResponseMessage> getListStandLimit(SarMenuStandardNew sarMenuStandardNew){ + public ResponseMessage> getListStandLimit(SarMenuStandardNew sarMenuStandardNew) { List access = tsUserService.getResourceUserId(LoginUserUtil.getUserId()); - List tsResources= iSarMenuStandardNewService.getListStandLimit(sarMenuStandardNew,access); + List tsResources = iSarMenuStandardNewService.getListStandLimit(sarMenuStandardNew, access); return Result.success(tsResources); } @@ -68,7 +68,7 @@ public class SarMenuStandardNewController extends BaseController getMenuStandardById(@RequestParam String menuId){ + public ResponseMessage getMenuStandardById(@RequestParam String menuId) { if (StringUtils.isBlank(menuId)) { return Result.error("获取失败,菜单ID为空"); } @@ -108,9 +108,9 @@ public class SarMenuStandardNewController extends BaseController standardSystemListExport(@RequestBody StandSystemDTO standSystemDTO, - HttpServletResponse response) { - iSarMenuStandardNewService.standardSystemListExport(standSystemDTO, response); + public ResponseMessage standardSystemListExport(StandSystemDTO standSystemDTO, + HttpServletResponse response, HttpServletRequest request) { + iSarMenuStandardNewService.standardSystemListExport(standSystemDTO, response, request); return Result.success(); } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandSystemDTO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandSystemDTO.java index 7a755235..7e6f6b19 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandSystemDTO.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandSystemDTO.java @@ -1,5 +1,6 @@ package com.adc.da.slrs.sarMenuStandard.entity; +import cn.afterturn.easypoi.excel.annotation.Excel; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -9,7 +10,6 @@ import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; -import java.util.Collections; import java.util.Date; import java.util.List; @@ -26,15 +26,18 @@ public class StandSystemDTO { @ApiModelProperty(value = "节点Id") private String menuId; + @Excel(name = "体系结构", width = 40, orderNum = "1") @ApiModelProperty(value = "体系结构") private String standSystem; @ApiModelProperty(value = "标准Id") private String standId; + @Excel(name = "标准编号", width = 25, orderNum = "2") @ApiModelProperty(value = "标准编号") private String standNo; + @Excel(name = "标准名称", width = 25, orderNum = "3") @ApiModelProperty(value = "标准名称") private String standName; @@ -51,6 +54,7 @@ public class StandSystemDTO { @ApiModelProperty(value = "开始发布日期字符串") private String startReleaseDateString; + @Excel(name = "发布日期", width = 25, orderNum = "4", exportFormat = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "发布日期") @@ -71,6 +75,7 @@ public class StandSystemDTO { @ApiModelProperty(value = "开始实施日期") private Date startImplementDate; + @Excel(name = "实施日期", width = 25, orderNum = "5", exportFormat = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "实施日期") @@ -81,15 +86,19 @@ public class StandSystemDTO { @ApiModelProperty(value = "结束实施日期") private Date endImplementDate; + @Excel(name = "代替标准", width = 25, orderNum = "5") @ApiModelProperty(value = "代替标准") private String replaceStandardNo; + @Excel(name = "编制单位", width = 25, orderNum = "5") @ApiModelProperty(value = "编制单位") private String dept; + @Excel(name = "起草人", width = 25, orderNum = "5") @ApiModelProperty(value = "起草人") private String draftUserName; + @Excel(name = "数据来源", width = 25, orderNum = "5") @ApiModelProperty(value = "数据来源") private String dataSource; @@ -124,6 +133,9 @@ public class StandSystemDTO { @ApiModelProperty(value = "相关联的节点ID列表(数据库查询用)") private List menuIdList; + @ApiModelProperty(value = "导出文件名称") + private String exportName; + public void setSelectIds(String selectIds) { this.selectIds = selectIds; this.selectIdList = java.util.Arrays.asList(selectIds.split(",")); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/ISarMenuStandardNewService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/ISarMenuStandardNewService.java index a206e8cf..6e2a0472 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/ISarMenuStandardNewService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/ISarMenuStandardNewService.java @@ -6,6 +6,7 @@ import com.adc.da.sys.sarMenuStandard.entity.SarMenuStandard; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -37,5 +38,5 @@ public interface ISarMenuStandardNewService extends IService IPage standardSystemList(StandSystemDTO standSystemDTO); - void standardSystemListExport(StandSystemDTO standSystemDTO, HttpServletResponse response); + void standardSystemListExport(StandSystemDTO standSystemDTO, HttpServletResponse response, HttpServletRequest request); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java index 4ecbef9f..07d16275 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java @@ -1,11 +1,17 @@ package com.adc.da.slrs.sarMenuStandard.service.impl; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import cn.hutool.core.util.StrUtil; +import com.adc.da.common.ReadExcel; import com.adc.da.exception.AdcDaBaseException; import com.adc.da.scheduled.dao.SarStandardInfoDao; import com.adc.da.slrs.sarBussStandMenu.dao.SarBussStandMenuDao; import com.adc.da.slrs.sarBussStandMenu.entity.SarBussStandMenu; import com.adc.da.slrs.sarBussStandMenu.service.ISarBussStandMenuService; import com.adc.da.slrs.sarBussionessStand.dao.SarBussionessStandDao; +import com.adc.da.slrs.sarLawsTopic.entity.SarLawsTopicVO; import com.adc.da.slrs.sarMenuStandard.dao.SarMenuStandardNewDao; import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandardNew; import com.adc.da.slrs.sarMenuStandard.entity.StandCategoryEnum; @@ -18,7 +24,6 @@ import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu; import com.adc.da.slrs.sarStandMenu.service.ISarStandMenuService; import com.adc.da.slrs.tsDictionaryType.entity.TsDicType; import com.adc.da.slrs.tsDictionaryType.service.ITsDicTypeService; -import com.adc.da.slrs.tsDictionaryType.service.ITsDictionaryService; import com.adc.da.sys.sarMenuStandard.dao.SarMenuStandardDao; import com.adc.da.sys.sarMenuStandard.entity.SarMenuStandard; import com.adc.da.sys.sarMenuStandard.entity.StandMenuRelation; @@ -32,13 +37,18 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.util.IOUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; import java.util.*; import java.util.stream.Collectors; @@ -327,9 +337,32 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl exportList = this.standardSystemList(standSystemDTO); -// // TODO 导出 + public void standardSystemListExport(StandSystemDTO standSystemDTO, HttpServletResponse response, HttpServletRequest request) { + OutputStream os = null; + Workbook workbook; + List dataList; + standSystemDTO.setPage(1); + standSystemDTO.setPageSize(Integer.MAX_VALUE); + try { + response.setHeader("Content-Disposition", + "attachment; filename=" + ReadExcel.encodeFileName(standSystemDTO.getExportName()+".xlsx", + request)); + // 导出数据,若指定了值则使用ids字段条件导出,否则根据条件导出 + IPage page = this.standardSystemList(standSystemDTO); + dataList = page.getRecords(); + ExportParams exportParams = new ExportParams(); + exportParams.setType(ExcelType.XSSF); + exportParams.setSheetName(standSystemDTO.getExportName()); + workbook = ExcelExportUtil.exportExcel(exportParams, StandSystemDTO.class, dataList); + os = response.getOutputStream(); + workbook.write(os); + os.flush(); + } catch (IOException e) { + log.error(e.getMessage(), e); + throw new AdcDaBaseException("下载文件失败,请重试"); + } finally { + IOUtils.closeQuietly(os); + } } @Override diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java index 30059b17..3284c365 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java @@ -1996,7 +1996,7 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl */ public int updateSarStandardsInfo(SarStandardsInfo sarStandardsInfoEO) throws Exception { - + // TODO 体系 /** * 加入对应"国家/地区"的清单列表 */