维修员、材料员、库管员强制维护签名
This commit is contained in:
parent
150b01d3cc
commit
deb5f9ce89
|
|
@ -575,4 +575,9 @@ public class GlobalConstants {
|
||||||
*/
|
*/
|
||||||
public static final List<String> allowedRoles = Arrays.asList("ywgly", "16", "gy");
|
public static final List<String> allowedRoles = Arrays.asList("ywgly", "16", "gy");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 角色:材料员、库管员、维修员
|
||||||
|
*/
|
||||||
|
public static final List<String> roleList = Arrays.asList("cly", "库管员", "wxy");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,18 @@ public class ArchivesController extends BaseController {
|
||||||
return archivesService.edit(archiveInfo);
|
return archivesService.edit(archiveInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据用户查询电子签名
|
||||||
|
* @param info
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "根据用户查询电子签名")
|
||||||
|
@GetMapping("/getSignatureByUser")
|
||||||
|
public AjaxResult getSignatureByUser(ElcSignatureInfo info)
|
||||||
|
{
|
||||||
|
return archivesService.getSignatureByUser(info);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电子签名 查询用户表信息
|
* 电子签名 查询用户表信息
|
||||||
* @param info
|
* @param info
|
||||||
|
|
|
||||||
|
|
@ -119,4 +119,10 @@ public interface ArchivesService {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
AjaxResult getSign(ElcSignatureInfo info);
|
AjaxResult getSign(ElcSignatureInfo info);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据用户查询电子签名
|
||||||
|
* @param info
|
||||||
|
*/
|
||||||
|
AjaxResult getSignatureByUser(ElcSignatureInfo info);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.bonus.common.biz.config.DateTimeHelper;
|
import com.bonus.common.biz.config.DateTimeHelper;
|
||||||
import com.bonus.common.biz.config.FileCompressor;
|
import com.bonus.common.biz.config.FileCompressor;
|
||||||
|
import com.bonus.common.biz.constant.GlobalConstants;
|
||||||
import com.bonus.common.biz.domain.FileInfo;
|
import com.bonus.common.biz.domain.FileInfo;
|
||||||
import com.bonus.common.biz.domain.HttpMsg;
|
import com.bonus.common.biz.domain.HttpMsg;
|
||||||
import com.bonus.common.biz.domain.TreeBuild;
|
import com.bonus.common.biz.domain.TreeBuild;
|
||||||
|
|
@ -39,10 +40,7 @@ import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
|
|
@ -618,6 +616,48 @@ public class ArchivesServiceImpl implements ArchivesService {
|
||||||
return AjaxResult.success(elcSignatureInfo);
|
return AjaxResult.success(elcSignatureInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询用户是否属于以下角色:材料员、库管员、维修员
|
||||||
|
* 1、不属于则直接返回"1"
|
||||||
|
* 2、属于,有签名返回"1",无签名返回"0"
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public AjaxResult getSignatureByUser(ElcSignatureInfo info) {
|
||||||
|
try {
|
||||||
|
Set<String> userRoles = SecurityUtils.getLoginUser().getRoles();
|
||||||
|
if (!hasSpecialRole(userRoles)) {
|
||||||
|
return AjaxResult.success("1");
|
||||||
|
} else {
|
||||||
|
info.setUserId(SecurityUtils.getLoginUser().getUserid());
|
||||||
|
ElcSignatureInfo elcSignatureInfo = archivesMapper.getSign(info);
|
||||||
|
if (elcSignatureInfo != null) {
|
||||||
|
if (StringUtils.isNotBlank(elcSignatureInfo.getSignUrl())) {
|
||||||
|
return AjaxResult.success("1");
|
||||||
|
} else {
|
||||||
|
return AjaxResult.success("0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return AjaxResult.error("签名获取失败");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return AjaxResult.error("签名获取失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检查用户是否具有特殊角色
|
||||||
|
* @param userRoles
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private boolean hasSpecialRole(Set<String> userRoles) {
|
||||||
|
if (userRoles == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
List<String> allowedRoles = GlobalConstants.roleList;
|
||||||
|
return allowedRoles.stream().anyMatch(userRoles::contains);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 从档案详情中提取文件信息
|
* 从档案详情中提取文件信息
|
||||||
* @param detailsList
|
* @param detailsList
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue