合并分支 'fix_bug_first_stage' 到 'master'

Fix bug first stage

查看合并请求 laws-nio/laws-weilai!156
This commit is contained in:
肖文钰
2022-08-24 20:05:36 +08:00
4 changed files with 140 additions and 17 deletions
@@ -0,0 +1,97 @@
package com.jero.modules.project.enums;
import cn.hutool.core.collection.CollectionUtil;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
/**
* @Author: liyawei
* @Description:
* @Date: Created in 10:56 2022/6/11
*/
public enum CollectManifestRoleIdEnum {
// STUDIO_ID("R&H Studio","R&H Studio","studio","1534019911296118786",1),
ADMIN_ID("R&H Manager","R&H Manager","manager","1534020391015444481",2),
MANAGER_ID("系统管理员","Administrator","admin","f6817f48af4fb3af11b9e8bf182f618b",3);
String name;
String enName;
String value;
String id;
Integer order;
CollectManifestRoleIdEnum(String name, String enName, String value, String id, Integer order) {
this.name = name;
this.enName = enName;
this.value = value;
this.id = id;
this.order = order;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getEnName() {
return enName;
}
public void setEnName(String enName) {
this.enName = enName;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Integer getOrder() {
return order;
}
public void setOrder(Integer order) {
this.order = order;
}
public static List<String> getIdList() {
List<String> idList = new ArrayList<>();
CollectManifestRoleIdEnum[] values = values();
for (CollectManifestRoleIdEnum collectManifestRoleIdEnum : values) {
idList.add(collectManifestRoleIdEnum.getId());
}
return idList;
}
public static List<CollectManifestRoleIdEnum> getByIdList(List<String> idList) {
List<CollectManifestRoleIdEnum> collectManifestRoleIdEnums = new ArrayList<>();
if (CollectionUtil.isNotEmpty(idList)) {
CollectManifestRoleIdEnum[] values = values();
for (CollectManifestRoleIdEnum collectManifestRoleIdEnum : values) {
if (idList.contains(collectManifestRoleIdEnum.getId())) {
collectManifestRoleIdEnums.add(collectManifestRoleIdEnum);
}
}
}
if (CollectionUtil.isNotEmpty(collectManifestRoleIdEnums) && collectManifestRoleIdEnums.size() > 1) {
collectManifestRoleIdEnums.stream().sorted(Comparator.comparing(CollectManifestRoleIdEnum :: getOrder));
}
return collectManifestRoleIdEnums;
}
}
@@ -172,7 +172,7 @@ public class InventoryAffirmJob implements Job {
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, threeDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, threeDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.LIST_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
}
if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){
@@ -210,7 +210,7 @@ public class InventoryAffirmJob implements Job {
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, currentDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, currentDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.LIST_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
}
}
}
@@ -239,22 +239,21 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
List<DummyInventoryInfoEO> dummyInventoryInfoEOListNew = new ArrayList<>();
if(dummyInventoryInfoEOList.size() != 0){
List<ProjectLawsInventoryEO> projectLawsInventoryEOS = new ArrayList<>();
if(projectLawsInventoryEOList.size() ==0){
//责任领域如果有多个,则需要拆分成多条
for (DummyInventoryInfoEO dummyInventoryInfoEO : dummyInventoryInfoEOList) {
String dutyTerritory = dummyInventoryInfoEO.getDutyTerritory();
if(StringUtils.isNotBlank(dutyTerritory)){
for (String dutyTerritoryOne : dutyTerritory.split(",")) {
DummyInventoryInfoEO dummyInventoryInfoEONew = new DummyInventoryInfoEO();
BeanUtils.copyProperties(dummyInventoryInfoEO,dummyInventoryInfoEONew);
dummyInventoryInfoEONew.setDutyTerritory(dutyTerritoryOne);
dummyInventoryInfoEOListNew.add(dummyInventoryInfoEONew);
}
}else{
dummyInventoryInfoEOListNew.add(dummyInventoryInfoEO);
//责任领域如果有多个,则需要拆分成多条
for (DummyInventoryInfoEO dummyInventoryInfoEO : dummyInventoryInfoEOList) {
String dutyTerritory = dummyInventoryInfoEO.getDutyTerritory();
if(StringUtils.isNotBlank(dutyTerritory)){
for (String dutyTerritoryOne : dutyTerritory.split(",")) {
DummyInventoryInfoEO dummyInventoryInfoEONew = new DummyInventoryInfoEO();
BeanUtils.copyProperties(dummyInventoryInfoEO,dummyInventoryInfoEONew);
dummyInventoryInfoEONew.setDutyTerritory(dutyTerritoryOne);
dummyInventoryInfoEOListNew.add(dummyInventoryInfoEONew);
}
}else{
dummyInventoryInfoEOListNew.add(dummyInventoryInfoEO);
}
}
if(projectLawsInventoryEOList.size() ==0){
//此时法规清单中没有数据,直接将维护清单中的数据添加即可
for (DummyInventoryInfoEO dummyInventoryInfoEO : dummyInventoryInfoEOListNew) {
ProjectLawsInventoryEO projectLawsInventoryEOTemp = new ProjectLawsInventoryEO();
@@ -21,7 +21,9 @@ import com.jero.modules.project.util.SendMessageUtils;
import com.jero.modules.project.vo.ProjectTaskInventoryVO;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.entity.SysUserRole;
import com.jero.modules.system.mapper.SysUserMapper;
import com.jero.modules.system.service.ISysUserRoleService;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.wkflow.enums.DesignComplianceNodeEnum;
import com.jero.modules.wkflow.enums.FlowTypeEnum;
@@ -83,6 +85,9 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
@Autowired
private IProjectTaskInventoryEOService projectTaskInventoryEOService;
@Autowired
private ISysUserRoleService sysUserRoleService;
@Value(value = "${jero.backUrl}")
private String backUrl;
@@ -564,6 +569,28 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
LoginUser currentUser,
ProjectTaskInventoryEO projectTaskInventory)
{
//判断用户是否是管理员角色
boolean isAdministrator = false;
//2022-08-24 判断当前登录用户是否是系统管理员 或 R&H Manager角色,如果是的话,看到的数据与studio一致。
List<SysUserRole> userRoleList = this.sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, currentUser.getId())); // 查询用户所有角色
if(CollectionUtils.isNotEmpty(userRoleList)){
List<String> roleIdList = CollectManifestRoleIdEnum.getIdList();
List<SysUserRole> userRoles = userRoleList.stream().filter(userRole -> {
boolean flag = false;
for (String roleId : roleIdList) {
if (StringUtils.equals(roleId, userRole.getRoleId())) {
flag = true;
}
}
return flag;
}).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(userRoles)){
isAdministrator = true;
}
}
List<ProjectTaskInventoryEO> result = new ArrayList<>();
for (ProjectTaskInventoryEO projectTaskInventoryEO : projectTaskInventoryEOList) {
//流程实例id
@@ -575,7 +602,7 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
//是否是这条数据的认证工程师
boolean isHomologationEngineer = StringUtils.equals(projectTaskInventoryEO.getHomologationEngineerId(),currentUser.getId());
//是否是studio
boolean isStudio = StringUtils.equals(ProjectRoleEnum.STUDIO_ENGINEER.getValue(),String.valueOf(isProjectRole));
boolean isStudio = StringUtils.equals(ProjectRoleEnum.STUDIO_ENGINEER.getValue(),String.valueOf(isProjectRole)) || isAdministrator;
if(isStudio){
roleCode = ProjectRoleEnum.STUDIO_ENGINEER.getValue();
}