Commit a88e5d5f by 梁辉

优化了签章功能,给自行选择签章,检测报告详情会删除旧的下载完成的检测报告

parent 96ee6467
package me.zhengjie.modules.system.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class IdListVo {
@ApiModelProperty("id集合")
private List<Integer> ids;
}
......@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import me.zhengjie.modules.system.domain.vo.DeptVo;
import me.zhengjie.modules.system.domain.vo.SysUserVo;
import me.zhengjie.modules.system.domain.vo.signature.SignatureVo;
/**
* 车检报告签章接口请求vo
......@@ -12,12 +13,15 @@ import me.zhengjie.modules.system.domain.vo.SysUserVo;
@Data
public class CarSignatureReqVo {
@ApiModelProperty("签章部门vo")
private DeptVo deptVo;
@ApiModelProperty("检测报告vo")
private ReportPdfVo reportPdfVo;
@ApiModelProperty("签章用户vo")
private SysUserVo sysUserVo;
@ApiModelProperty("授权人签章")
private SignatureVo signature1;
@ApiModelProperty("批准人签章")
private SignatureVo signature2;
@ApiModelProperty("公章签章")
private SignatureVo signature3;
}
package me.zhengjie.modules.system.domain.vo.signature;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SignReportVo {
@ApiModelProperty("检测报告id")
private Integer reportPdfId;
@ApiModelProperty("授权人签名")
private String snName1;
@ApiModelProperty("批准人签名")
private String snName2;
@ApiModelProperty("公章名称")
private String snName3;
}
package me.zhengjie.modules.system.domain.vo.signature;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SignatureAddVo {
@ApiModelProperty("秘钥盘序号")
private String snKey;
@ApiModelProperty("签章密码")
private String snPassword;
@ApiModelProperty("章名称")
private String snName;
@ApiModelProperty("部门id")
private Integer deptId;
@ApiModelProperty("是否启用 0不启用 1启用")
private Integer state;
}
package me.zhengjie.modules.system.domain.vo.signature;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class SignaturePageReqVo {
@ApiModelProperty("页码")
private Integer page;
@ApiModelProperty("每页显示条数 默认8条")
private Integer size = 8;
@ApiModelProperty("秘钥盘序号")
private String snKey;
@ApiModelProperty("章名称")
private String snName;
@ApiModelProperty("部门id")
private Integer deptId;
@ApiModelProperty("是否启用 0不启用 1启用")
private Integer state;
@ApiModelProperty("创建起始时间")
private Date startTime;
@ApiModelProperty("创建截止时间")
private Date endTime;
}
package me.zhengjie.modules.system.domain.vo;
package me.zhengjie.modules.system.domain.vo.signature;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
......@@ -16,24 +17,34 @@ import java.util.Date;
@ApiModel("签名Vo")
@TableName("t_signature")
@Data
public class Signature {
public class SignatureVo {
@ApiModelProperty("自增ID")
@TableId(type = IdType.AUTO)
private Integer id;
@ApiModelProperty("签名名称")
private String name;
@ApiModelProperty("秘钥盘序号")
private String snKey;
@ApiModelProperty("签名文件存放根路径")
private String path;
@ApiModelProperty("签章密码")
private String snPassword;
@ApiModelProperty("用户ID")
private Integer userId;
@ApiModelProperty("章名称")
private String snName;
@ApiModelProperty("部门id")
private Long deptId;
@ApiModelProperty("是否启用 0不启用 1启用")
private Integer state;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@TableField(exist = false)
@ApiModelProperty("所属部门名称")
private String deptName;
}
package me.zhengjie.modules.system.repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import me.zhengjie.modules.system.domain.vo.signature.SignatureVo;
import org.springframework.stereotype.Repository;
/**
* t_signature mapper
*/
@Repository
public interface SignatureMapper extends BaseMapper<SignatureVo> {
}
......@@ -6,6 +6,8 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import me.zhengjie.base.ResultVo;
import me.zhengjie.modules.system.domain.vo.report.*;
import me.zhengjie.modules.system.domain.vo.signature.SignReportVo;
import me.zhengjie.modules.system.domain.vo.signature.SignatureVo;
import me.zhengjie.modules.system.service.ReportService;
import me.zhengjie.utils.AssertUtil;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -13,6 +15,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
import java.util.Map;
......@@ -32,6 +35,13 @@ public class ReportController {
this.reportService = reportService;
}
@ApiOperation("获取当前用户部门下所有启用的签章")
@GetMapping("/signatureList")
public ResultVo<List<SignatureVo>> signatureList(){
return ResultVo.success(reportService.findCurrentDeptSignature());
}
@ApiOperation("上传报告")
@PostMapping("/upload")
public ResultVo uploadReport(ReportUploadReqVo reqVo, @RequestParam(name = "files")MultipartFile[] files){
......@@ -42,10 +52,13 @@ public class ReportController {
}
@ApiOperation("签章检测报告")
@GetMapping("/signature/{reportPdfId}")
public ResultVo<ReportPdfVo> signature(@PathVariable Integer reportPdfId){
AssertUtil.isTrue(reportPdfId!=null && reportPdfId >0,"缺少参数检测报告详情Id");
return ResultVo.success(reportService.signature(reportPdfId));
@PostMapping("/signature")
public ResultVo<ReportPdfVo> signature(@RequestBody SignReportVo signReportVo){
AssertUtil.isTrue(signReportVo.getReportPdfId()!=null && signReportVo.getReportPdfId() >0,"缺少参数检测报告详情Id");
AssertUtil.isNotBlank(signReportVo.getSnName1(),"请选择授权人签名");
AssertUtil.isNotBlank(signReportVo.getSnName2(),"请选择批准人签名");
AssertUtil.isNotBlank(signReportVo.getSnName3(),"请选择公章");
return ResultVo.success(reportService.signature(signReportVo));
}
@PostMapping("/details")
......
package me.zhengjie.modules.system.rest;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import me.zhengjie.base.ResultVo;
import me.zhengjie.modules.system.domain.vo.DeptVo;
import me.zhengjie.modules.system.domain.vo.IdListVo;
import me.zhengjie.modules.system.domain.vo.signature.SignatureAddVo;
import me.zhengjie.modules.system.domain.vo.signature.SignaturePageReqVo;
import me.zhengjie.modules.system.domain.vo.signature.SignatureVo;
import me.zhengjie.modules.system.service.SignatureService;
import me.zhengjie.utils.AssertUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
@RestController
@RequestMapping("/signature")
@Api(value = "SignatureController",tags = "签章管理相关Api")
public class SignatureController {
private final SignatureService signatureService;
@Autowired
public SignatureController(SignatureService signatureService) {
this.signatureService = signatureService;
}
@ApiOperation("查询全部部门")
@GetMapping("/deptAll")
public ResultVo<List<DeptVo>> deptList(){
return ResultVo.success(signatureService.deptAllList());
}
@ApiOperation("根据id批量删除签章")
@PostMapping("/deleteByIdList")
public ResultVo deleteByIdList(@RequestBody IdListVo idListVo) {
AssertUtil.isTrue(idListVo.getIds().size()>0,"请选择至少一条记录");
signatureService.deleteByIds(idListVo.getIds());
return ResultVo.success();
}
@ApiOperation("根据id删除单个签章")
@GetMapping("/delete/{id}")
public ResultVo deleteById(@PathVariable Integer id){
AssertUtil.isNotNull(id,"缺少参数id");
signatureService.deleteByIds(Arrays.asList(id));
return ResultVo.success();
}
@PostMapping("/edit")
@ApiOperation("修改签章")
public ResultVo edit(@RequestBody SignatureVo signatureVo){
AssertUtil.isNotNull(signatureVo.getId(),"缺少参数id");
AssertUtil.isNotBlank(signatureVo.getSnKey(),"请输入秘钥盘序号");
AssertUtil.isNotBlank(signatureVo.getSnName(),"请输入章名称");
AssertUtil.isNotBlank(signatureVo.getSnPassword(),"请输入签章密码");
AssertUtil.isNotNull(signatureVo.getDeptId(),"请选择所属部门");
AssertUtil.isNotNull(signatureVo.getState(),"缺少参数state");
signatureService.update(signatureVo);
return ResultVo.success();
}
@PostMapping("/add")
@ApiOperation("添加签章")
public ResultVo add(@RequestBody SignatureAddVo addVo){
AssertUtil.isNotBlank(addVo.getSnKey(),"请输入秘钥盘序号");
AssertUtil.isNotBlank(addVo.getSnName(),"请输入章名称");
AssertUtil.isNotBlank(addVo.getSnPassword(),"请输入签章密码");
AssertUtil.isNotNull(addVo.getState(),"缺少参数state");
signatureService.add(addVo);
return ResultVo.success();
}
@PostMapping("/page")
@ApiOperation("分页查询签章列表")
public ResultVo<IPage<SignatureVo>> pageList(@RequestBody SignaturePageReqVo pageReqVo) {
return ResultVo.success(signatureService.pageList(pageReqVo));
}
}
......@@ -3,7 +3,6 @@ package me.zhengjie.modules.system.service;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
......@@ -14,12 +13,13 @@ import me.zhengjie.exception.BusinessException;
import me.zhengjie.modules.system.domain.vo.DeptVo;
import me.zhengjie.modules.system.domain.vo.SysUserVo;
import me.zhengjie.modules.system.domain.vo.report.*;
import me.zhengjie.modules.system.domain.vo.signature.SignReportVo;
import me.zhengjie.modules.system.domain.vo.signature.SignatureVo;
import me.zhengjie.modules.system.repository.DeptMapper;
import me.zhengjie.modules.system.repository.ReportPdfMapper;
import me.zhengjie.modules.system.repository.UserMapper;
import me.zhengjie.modules.system.util.CarReportUtil;
import me.zhengjie.utils.AssertUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
......@@ -30,11 +30,9 @@ import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
......@@ -58,16 +56,19 @@ public class ReportService {
private final ReportPdfMapper reportPdfMapper;
private final SignatureService signatureService;
private final RestTemplate restTemplate;
private static List<TestReportVo> reportVoList;
@Autowired
public ReportService(UserMapper userMapper, DeptMapper deptMapper, CarReportUtil carReportUtil, ReportPdfMapper reportPdfMapper,RestTemplate restTemplate) {
public ReportService(UserMapper userMapper, DeptMapper deptMapper, CarReportUtil carReportUtil, ReportPdfMapper reportPdfMapper, SignatureService signatureService, RestTemplate restTemplate) {
this.userMapper = userMapper;
this.deptMapper = deptMapper;
this.carReportUtil = carReportUtil;
this.reportPdfMapper = reportPdfMapper;
this.signatureService = signatureService;
this.restTemplate = restTemplate;
}
......@@ -85,6 +86,15 @@ public class ReportService {
);
}
/**
* 获取当前用户部门下所有签章
* @return
*/
public List<SignatureVo> findCurrentDeptSignature(){
return signatureService.findCurrentDeptSignature();
}
/**
* 上传检测报告以及其他文件到公安
......@@ -121,7 +131,7 @@ public class ReportService {
* 报告签章
* @return
*/
public ReportPdfVo signature(Integer reportPdfId){
public ReportPdfVo signature(SignReportVo signReportVo){
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
AssertUtil.isNotNull(authentication,"登录身份已失效请重新登录");
UserDetails userDetails = (UserDetails) authentication.getPrincipal();
......@@ -129,18 +139,29 @@ public class ReportService {
String username = userDetails.getUsername();
SysUserVo sysUserVo = userMapper.selectOne(new QueryWrapper<SysUserVo>().lambda().eq(SysUserVo::getUsername, username));
AssertUtil.isNotNull(sysUserVo,"登录身份已失效请重新登录");
DeptVo deptVo = deptMapper.selectById(sysUserVo.getDeptId());
AssertUtil.isNotNull(deptVo,"当前用户部门信息不存在");
DeptVo topDept = signatureService.getTopDept(deptVo);
ReportPdfVo reportPdfVo = reportPdfMapper.selectById(reportPdfId);
SignatureVo signatureVo1 = signatureService.getByDeptId(topDept.getDeptId(), signReportVo.getSnName1());
SignatureVo signatureVo2 = signatureService.getByDeptId(topDept.getDeptId(), signReportVo.getSnName2());
SignatureVo signatureVo3 = signatureService.getByDeptId(topDept.getDeptId(), signReportVo.getSnName3());
AssertUtil.isNotNull(signatureVo1,"当前部门无'"+signReportVo.getSnName1()+"'的签名");
AssertUtil.isNotNull(signatureVo2,"当前部门无'"+signReportVo.getSnName2()+"'的签名");
AssertUtil.isNotNull(signatureVo3,"当前部门无'"+signReportVo.getSnName3()+"'的公章");
ReportPdfVo reportPdfVo = reportPdfMapper.selectById(signReportVo.getReportPdfId());
AssertUtil.isNotNull(reportPdfVo,"不存在该报告详情,请刷新页面后重试");
DeptVo deptVo = deptMapper.selectById(sysUserVo.getDeptId());
AssertUtil.isNotNull(deptVo,"当前用户部门信息不存在");
//开始签章
CarSignatureReqVo carSignatureReqVo = new CarSignatureReqVo();
carSignatureReqVo.setReportPdfVo(reportPdfVo);
carSignatureReqVo.setSysUserVo(sysUserVo);
carSignatureReqVo.setDeptVo(deptVo);
carSignatureReqVo.setSignature1(signatureVo1);
carSignatureReqVo.setSignature2(signatureVo2);
carSignatureReqVo.setSignature3(signatureVo3);
//reportPdfVo = signatureUtil.electronicGM(reportPdfVo, sysUserVo);
HttpEntity<CarSignatureReqVo> httpEntity = new HttpEntity<>(carSignatureReqVo);
ResponseEntity<ResultVo> responseEntity = this.restTemplate.exchange(
......@@ -167,9 +188,9 @@ public class ReportService {
ReportPdfVo reportPdfVo = reportPdfMapper.selectOne(new QueryWrapper<ReportPdfVo>()
.lambda().eq(ReportPdfVo::getReportNum, detailsReqVo.getReportNum()));
//如果已经下载保存过PDF了则直接返回给前端
//如果已经下载保存过PDF了则删除旧的pdf
if(reportPdfVo != null && StrUtil.isNotBlank(reportPdfVo.getPath())){
return reportPdfVo;
FileUtil.del(reportPdfVo.getPath());
}
//获取当前用户的部门
......
package me.zhengjie.modules.system.service;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import me.zhengjie.modules.system.domain.vo.DeptVo;
import me.zhengjie.modules.system.domain.vo.SysUserVo;
import me.zhengjie.modules.system.domain.vo.signature.SignatureAddVo;
import me.zhengjie.modules.system.domain.vo.signature.SignaturePageReqVo;
import me.zhengjie.modules.system.domain.vo.signature.SignatureVo;
import me.zhengjie.modules.system.repository.DeptMapper;
import me.zhengjie.modules.system.repository.SignatureMapper;
import me.zhengjie.modules.system.repository.UserMapper;
import me.zhengjie.utils.AssertUtil;
import me.zhengjie.utils.SecurityUtils;
import me.zhengjie.utils.enums.DataScopeEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class SignatureService {
private final SignatureMapper signatureMapper;
private final DeptMapper deptMapper;
private final UserMapper userMapper;
@Autowired
public SignatureService(SignatureMapper signatureMapper, DeptMapper deptMapper, UserMapper userMapper) {
this.signatureMapper = signatureMapper;
this.deptMapper = deptMapper;
this.userMapper = userMapper;
}
/**
* 查询全部部门信息
* @return
*/
public List<DeptVo> deptAllList(){
return deptMapper.selectList(new QueryWrapper<DeptVo>().lambda().isNull(DeptVo::getPid));
}
/**
* 根据id批量删除签章
* @param ids
*/
public void deleteByIds(List<Integer> ids) {
signatureMapper.deleteBatchIds(ids);
}
/**
* 更改签章
* @param signatureVo
*/
public void update(SignatureVo signatureVo) {
String currentUsername = SecurityUtils.getCurrentUsername();
AssertUtil.isNotBlank(currentUsername,"登录身份已失效请重新登录");
SysUserVo sysUserVo = userMapper.selectOne(new QueryWrapper<SysUserVo>().lambda().eq(SysUserVo::getUsername, currentUsername));
AssertUtil.isNotNull(sysUserVo,"登录身份已失效请重新登录");
DeptVo deptVo = deptMapper.selectById(sysUserVo.getDeptId());
DeptVo topDept = getTopDept(deptVo);
AssertUtil.isNotNull(topDept,"没有找到当前用户所属部门");
SignatureVo oldVo = signatureMapper.selectOne(new QueryWrapper<SignatureVo>().lambda().eq(SignatureVo::getId, signatureVo.getId()));
AssertUtil.isNotNull(oldVo,"当前签章不存在请刷新后重试");
if(!signatureVo.getSnName().equals(oldVo.getSnName())){
Integer snNameCount = signatureMapper.selectCount(new QueryWrapper<SignatureVo>().lambda().eq(SignatureVo::getSnName, signatureVo.getSnName()).eq(SignatureVo::getDeptId,signatureVo.getDeptId() == null?topDept.getDeptId():signatureVo.getDeptId()));
AssertUtil.isTrue(snNameCount == 0,"已存在该章名称");
}
signatureVo.setUpdateTime(DateUtil.date());
signatureMapper.updateById(signatureVo);
}
/**
* 根据部门id和签章名称查询单个签章
* @param deptId 部门id
* @param snName 签章名称
* @return
*/
public SignatureVo getByDeptId(Long deptId,String snName){
QueryWrapper<SignatureVo> queryWrapper = new QueryWrapper<>();
queryWrapper.and(i -> {
i.lambda().eq(SignatureVo::getDeptId,deptId).eq(SignatureVo::getSnName,snName);
});
return signatureMapper.selectOne(queryWrapper);
}
/**
* 获取当前用户的所属部门下所有启用的签章
* @return
*/
public List<SignatureVo> findCurrentDeptSignature(){
UserDetails currentUser = SecurityUtils.getCurrentUser();
AssertUtil.isNotNull(currentUser,"登录身份已失效请重新登录");
SysUserVo sysUserVo = userMapper.selectOne(new QueryWrapper<SysUserVo>().lambda().eq(SysUserVo::getUsername, currentUser.getUsername()));
AssertUtil.isNotNull(sysUserVo,"登录身份已失效请重新登录");
AssertUtil.isTrue(sysUserVo.getEnabled(),"当前用户已被禁用");
DeptVo deptVo = deptMapper.getById(sysUserVo.getDeptId());
AssertUtil.isNotNull(deptVo,"未查到当前用户部门信息");
DeptVo topDept = getTopDept(deptVo);
QueryWrapper<SignatureVo> queryWrapper = new QueryWrapper<>();
queryWrapper.and(i -> {
i.lambda().eq(SignatureVo::getDeptId,topDept.getDeptId()).eq(SignatureVo::getState,1);
});
return signatureMapper.selectList(queryWrapper);
}
/**
* 获取当前顶级部门
* @param deptVo
* @return
*/
public DeptVo getTopDept(DeptVo deptVo){
if(deptVo.getPid() == null){
return deptVo;
} else {
DeptVo parentDept = deptMapper.selectById(deptVo.getPid());
if(parentDept.getPid() == null){
return parentDept;
}else {
getTopDept(parentDept);
}
}
return null;
}
/**
* 添加签章
* @param addVo
*/
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
public void add(SignatureAddVo addVo){
String currentUsername = SecurityUtils.getCurrentUsername();
AssertUtil.isNotBlank(currentUsername,"登录身份已失效请重新登录");
SysUserVo sysUserVo = userMapper.selectOne(new QueryWrapper<SysUserVo>().lambda().eq(SysUserVo::getUsername, currentUsername));
AssertUtil.isNotNull(sysUserVo,"登录身份已失效请重新登录");
DeptVo deptVo = deptMapper.selectById(sysUserVo.getDeptId());
DeptVo topDept = getTopDept(deptVo);
AssertUtil.isNotNull(topDept,"没有找到当前用户所属部门");
Integer snNameCount = signatureMapper.selectCount(new QueryWrapper<SignatureVo>().lambda().eq(SignatureVo::getSnName, addVo.getSnName()).eq(SignatureVo::getDeptId,addVo.getDeptId() == null?topDept.getDeptId():addVo.getDeptId()));
AssertUtil.isTrue(snNameCount == 0,"已存在该章名称");
SignatureVo signatureVo = new SignatureVo();
signatureVo.setDeptName(addVo.getSnName());
signatureVo.setDeptId(addVo.getDeptId() == null?topDept.getDeptId():addVo.getDeptId());
signatureVo.setSnKey(addVo.getSnKey());
signatureVo.setSnPassword(addVo.getSnPassword());
signatureVo.setSnName(addVo.getSnName());
signatureVo.setState(addVo.getState());
signatureVo.setCreateTime(DateUtil.date());
signatureVo.setUpdateTime(DateUtil.date());
signatureMapper.insert(signatureVo);
}
/**
* 分页查询签章列表
* @param pageReqVo
* @return
*/
public IPage<SignatureVo> pageList(SignaturePageReqVo pageReqVo){
UserDetails currentUser = SecurityUtils.getCurrentUser();
AssertUtil.isNotNull(currentUser,"登录身份已失效请重新登录");
SysUserVo sysUserVo = userMapper.selectOne(new QueryWrapper<SysUserVo>().lambda().eq(SysUserVo::getUsername, currentUser.getUsername()));
AssertUtil.isNotNull(sysUserVo,"登录身份已失效请重新登录");
AssertUtil.isTrue(sysUserVo.getEnabled(),"当前用户已被禁用");
DeptVo deptVo = deptMapper.getById(sysUserVo.getDeptId());
AssertUtil.isNotNull(deptVo,"未查到当前用户部门信息");
DeptVo topDept = getTopDept(deptVo);
QueryWrapper<SignatureVo> queryWrapper = new QueryWrapper<>();
//检索所属部门
if (pageReqVo.getDeptId() != null){
queryWrapper.lambda().and(i -> {
i.eq(SignatureVo::getDeptId,pageReqVo.getDeptId());
});
} else {
// 获取当前用户的所有权限
List<String> elPermissions = SecurityUtils.getCurrentUser().getAuthorities().stream().map(GrantedAuthority::getAuthority).collect(Collectors.toList());
if(!elPermissions.contains("admin")){
//非超级管理员只能查看自己部门
queryWrapper.lambda().and(i -> {
i.eq(SignatureVo::getDeptId,topDept.getDeptId());
});
}
}
//检索签章秘钥盘序号
if(StrUtil.isNotBlank(pageReqVo.getSnKey())){
queryWrapper.lambda().and(i -> {
i.eq(SignatureVo::getSnKey,pageReqVo.getSnKey());
});
}
//检索签章名称
if(StrUtil.isNotBlank(pageReqVo.getSnName())){
queryWrapper.lambda().and(i -> {
i.eq(SignatureVo::getSnName,pageReqVo.getSnName());
});
}
//是否启用
if(pageReqVo.getState() != null){
queryWrapper.lambda().and(i -> {
i.eq(SignatureVo::getState,pageReqVo.getState());
});
}
//检索创建时间段
if(pageReqVo.getStartTime() != null && pageReqVo.getEndTime() != null){
queryWrapper.lambda().and(i -> {
i.between(SignatureVo::getCreateTime,pageReqVo.getStartTime(),pageReqVo.getEndTime());
});
}
//根据创建时间降序
queryWrapper.lambda().orderByDesc(SignatureVo::getCreateTime);
Page<SignatureVo> signatureVoPage = signatureMapper.selectPage(new Page<>(pageReqVo.getPage(), pageReqVo.getSize()), queryWrapper);
signatureVoPage.getRecords().forEach(signatureVo -> {
DeptVo curDept = deptMapper.selectById(signatureVo.getDeptId());
if(curDept != null)
signatureVo.setDeptName(curDept.getName());
});
return signatureVoPage;
}
}
......@@ -5,7 +5,7 @@ spring:
freemarker:
check-template-location: false
profiles:
active: dev
active: prod
jackson:
time-zone: GMT+8
data:
......
......@@ -340,7 +340,7 @@ CREATE TABLE `sys_menu` (
`i_frame` bit(1) DEFAULT NULL COMMENT '是否外链',
`cache` bit(1) DEFAULT b'0' COMMENT '缓存',
`hidden` bit(1) DEFAULT b'0' COMMENT '隐藏',
`permission` varchar(255) DEFAULT NULL COMMENT '权限',
`permission` varchar(255) DEFAULT NULL COMMENT '',
`create_by` varchar(255) DEFAULT NULL COMMENT '创建者',
`update_by` varchar(255) DEFAULT NULL COMMENT '更新者',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment