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 249713b3..3895b5e2 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 @@ -142,6 +142,9 @@ public class WebMvcConfig implements WebMvcConfigurer { addInterceptor.excludePathPatterns("/api/sarStandardsInfo/sar-standards-info/convertDocAll_GNW"); addInterceptor.excludePathPatterns("/api/sarStandardsInfo/sar-standards-info/convertDocAll_QB"); + // 操作日志导出 + addInterceptor.excludePathPatterns("/api/sysLog/sys-log/exportSysLogExcelVOExcelData"); + //// //测试接口使用 // addInterceptor.excludePathPatterns("/api/**"); diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index 9bbaecca..92e70f27 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -1387,7 +1387,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { if("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) ){ textStatusColor = "redClass"; }else if("参考".equals(textStatus)){ - textStatusColor = "yellowClass"; + textStatusColor = "greenClass"; } } //解析高亮字段 @@ -1523,7 +1523,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { // .addSort(new ScoreSortBuilder().order(SortOrder.DESC)) .addSort("standTypeOrder",SortOrder.ASC) .addSort("standSortOrder",SortOrder.ASC) - .addSort("numberTitle.keyword",SortOrder.ASC) +// .addSort("numberTitle.keyword",SortOrder.ASC) .addSort("yearOrder",SortOrder.DESC) .addSort("sortTitle.keyword",SortOrder.ASC) .setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize()) @@ -1545,7 +1545,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { // textStatusColor = "redClass"; // break; // }else if("参考".equals(textStatus)){ -// textStatusColor = "yellowClass"; +// textStatusColor = "greenClass"; // break; // } // } @@ -1558,7 +1558,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { if("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) ){ textStatusColor = "redClass"; }else if("参考".equals(textStatus)){ - textStatusColor = "yellowClass"; + textStatusColor = "greenClass"; } } @@ -1897,7 +1897,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { if("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) ){ textStatusColor = "redClass"; }else if("参考".equals(textStatus)){ - textStatusColor = "yellowClass"; + textStatusColor = "greenClass"; } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/controller/SysLogController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/controller/SysLogController.java index b931c101..a002a229 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/controller/SysLogController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/controller/SysLogController.java @@ -3,12 +3,20 @@ package com.adc.da.slrs.sysLog.controller; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; -import com.adc.da.slrs.sarMenu.entity.SarMenu; +import com.adc.da.slrs.sysLog.entity.SysLogExcel; import com.adc.da.slrs.sysLog.service.ISysLogService; import com.adc.da.slrs.sysLog.vo.SysLogReqDTO; +import com.adc.da.slrs.sysLog.vo.SysLogReqExportDTO; import com.adc.da.util.UUIDUtils; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.util.IOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -17,6 +25,9 @@ import io.swagger.annotations.Api; import org.springframework.web.bind.annotation.RestController; import com.adc.da.base.web.BaseController; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.net.URLEncoder; import java.util.List; /** @@ -35,6 +46,35 @@ public class SysLogController extends BaseController { @Autowired private ISysLogService sysLogService; + @ApiOperation(value = "|SysCorpEO|导出excel") + @GetMapping(value = "/exportSysLogExcelVOExcelData") + public void exportSysLogExcelVOExcelData(String exportJson, HttpServletResponse response, + HttpServletRequest request) throws Exception { + try { + + SysLogReqExportDTO sysLogExcelVO = JSONObject.parseObject(exportJson,SysLogReqExportDTO.class); + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf-8"); + if(StringUtils.isBlank(sysLogExcelVO.getExportName()) || "null".equals(sysLogExcelVO.getExportName())){ + sysLogExcelVO.setExportName("操作日志"); + } + String fileName = URLEncoder.encode(sysLogExcelVO.getExportName(), "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + List data=sysLogService.getSysLogExcelVOExcelData(sysLogExcelVO); + // 这里需要设置不关闭流 + EasyExcel.write(response.getOutputStream(), SysLogExcel.class) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) + .autoCloseStream(Boolean.FALSE).sheet("sheet1") + .doWrite(data); + } catch (Exception e) { + System.out.println(e); + // 重置response + response.reset(); + response.setContentType("application/json"); + response.setCharacterEncoding("utf-8"); + response.getWriter().println(JSON.toJSONString(Result.error())); + } + } @ApiOperation("获取操作日志") @GetMapping("/getAllLog") diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/dao/SysLogDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/dao/SysLogDao.java index ff0e6267..cca9c64d 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/dao/SysLogDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/dao/SysLogDao.java @@ -1,12 +1,13 @@ package com.adc.da.slrs.sysLog.dao; import com.adc.da.slrs.sysLog.entity.SysLog; +import com.adc.da.slrs.sysLog.entity.SysLogExcel; import com.adc.da.slrs.sysLog.vo.SysLogReqDTO; +import com.adc.da.slrs.sysLog.vo.SysLogReqExportDTO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; -import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -20,5 +21,7 @@ import java.util.List; */ public interface SysLogDao extends BaseMapper { + List getSysLogExcelVOExcelData(@Param("sysLogReqDTO") SysLogReqExportDTO sysLogReqDTO); + IPage queryAllLog(Page page,@Param("sysLogReqDTO") SysLogReqDTO sysLogReqDTO); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/entity/SysLogExcel.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/entity/SysLogExcel.java new file mode 100644 index 00000000..4aa000a2 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/entity/SysLogExcel.java @@ -0,0 +1,42 @@ +package com.adc.da.slrs.sysLog.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + *

+ * + *

+ * + * @author yzh + * @since 2022-02-15 + */ +@Data +public class SysLogExcel{ + + @ExcelProperty("操作人") + private String account; + + @ExcelProperty("所属部门") + private String dept; + + @ExcelProperty("操作时间") + private String operTime; + + @ExcelProperty("操作类型") + private String oper; + + @ExcelProperty("操作内容") + private String special; + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/service/ISysLogService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/service/ISysLogService.java index 983a72ed..9762326c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/service/ISysLogService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/service/ISysLogService.java @@ -1,11 +1,14 @@ package com.adc.da.slrs.sysLog.service; import com.adc.da.slrs.sysLog.entity.SysLog; +import com.adc.da.slrs.sysLog.entity.SysLogExcel; import com.adc.da.slrs.sysLog.vo.SysLogReqDTO; -import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.adc.da.slrs.sysLog.vo.SysLogReqExportDTO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 服务类 @@ -17,4 +20,7 @@ import com.baomidou.mybatisplus.extension.service.IService; public interface ISysLogService extends IService { IPage getAllLog(SysLogReqDTO sysLogReqDTO); + + List getSysLogExcelVOExcelData(SysLogReqExportDTO sysLogReqDTO); + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/service/impl/SysLogServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/service/impl/SysLogServiceImpl.java index b52dfdbb..d9171368 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/service/impl/SysLogServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/service/impl/SysLogServiceImpl.java @@ -2,13 +2,17 @@ package com.adc.da.slrs.sysLog.service.impl; import com.adc.da.slrs.sysLog.entity.SysLog; import com.adc.da.slrs.sysLog.dao.SysLogDao; +import com.adc.da.slrs.sysLog.entity.SysLogExcel; import com.adc.da.slrs.sysLog.service.ISysLogService; import com.adc.da.slrs.sysLog.vo.SysLogReqDTO; +import com.adc.da.slrs.sysLog.vo.SysLogReqExportDTO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.util.List; + /** *

* 服务实现类 @@ -20,6 +24,11 @@ import org.springframework.stereotype.Service; @Service public class SysLogServiceImpl extends ServiceImpl implements ISysLogService { + @Override + public List getSysLogExcelVOExcelData(SysLogReqExportDTO sysLogReqDTO) { + return this.baseMapper.getSysLogExcelVOExcelData(sysLogReqDTO); + } + @Override public IPage getAllLog(SysLogReqDTO sysLogReqDTO) { Page page = new Page<>(sysLogReqDTO.getPage(), sysLogReqDTO.getPageSize()); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/vo/SysLogReqDTO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/vo/SysLogReqDTO.java index 493d94d6..119de1ce 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/vo/SysLogReqDTO.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/vo/SysLogReqDTO.java @@ -15,4 +15,10 @@ public class SysLogReqDTO extends BasePage { private String oper; private String content; + + private String exportType; + + private String userId; + + private String exportName; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/vo/SysLogReqExportDTO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/vo/SysLogReqExportDTO.java new file mode 100644 index 00000000..36db9ae0 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/vo/SysLogReqExportDTO.java @@ -0,0 +1,24 @@ +package com.adc.da.slrs.sysLog.vo; + +import com.adc.da.base.page.BasePage; +import lombok.Data; + +@Data +public class SysLogReqExportDTO { + + private String account; + + private String sTime; + + private String eTime; + + private String oper; + + private String content; + + private String exportType; + + private String userId; + + private String exportName; +} diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sysLog/SysLogMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sysLog/SysLogMapper.xml index a30376ca..a009abfc 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sysLog/SysLogMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sysLog/SysLogMapper.xml @@ -2,6 +2,29 @@ + +