合并分支 'master' 到 'dev_third_stage'

Master

查看合并请求 laws-nio/laws-weilai!159
This commit is contained in:
高嵩
2022-08-25 23:47:47 +08:00
8 changed files with 213 additions and 42 deletions
@@ -2971,23 +2971,23 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
if (ObjectUtils.isNotEmpty(value)) {
if (ObjectUtils.isNotEmpty(valueTemp) && !value.equals(valueTemp)) {
if("1".equals(flag)){
sb.append(dbFieldTxt +" from "+ value + " to " + valueTemp + ",");
sb.append(dbFieldTxt +" from \""+ value + "\" to \"" + valueTemp + "\",");
}else{
sb.append(dbFieldTxt + "" + value + "改为" + valueTemp + ",");
sb.append(dbFieldTxt + "\"" + value + "\"改为\"" + valueTemp + "\",");
}
} else if (ObjectUtils.isEmpty(valueTemp)) {
if("1".equals(flag)){
sb.append(dbFieldTxt + " from "+value + " to null " + ",");
sb.append(dbFieldTxt + " from \""+value + "\" to null " + ",");
}else{
sb.append(dbFieldTxt + "" + value + "改为空" + ",");
sb.append(dbFieldTxt + "\"" + value + "\"改为空" + ",");
}
}
} else {
if (ObjectUtils.isNotEmpty(valueTemp)) {
if("1".equals(flag)){
sb.append(dbFieldTxt + " from null to " + valueTemp + ",");
sb.append(dbFieldTxt + " from null to \"" + valueTemp + "\",");
}else{
sb.append(dbFieldTxt + "由空改为" + valueTemp + ",");
sb.append(dbFieldTxt + "由空改为\"" + valueTemp + "\",");
}
}
@@ -3014,24 +3014,24 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
if (fileNameListTemp.size() != 0 && !checkDiffrent) {
if("1".equals(flag)){
//sysUser
sb.append(dbFieldTxt +" from "+ StringUtils.join(fileNameList, ",") + " to " + StringUtils.join(fileNameListTemp, ",") + ",");
sb.append(dbFieldTxt +" from \""+ StringUtils.join(fileNameList, ",") + "\" to \"" + StringUtils.join(fileNameListTemp, ",") + "\",");
}else{
sb.append(dbFieldTxt + "" + StringUtils.join(fileNameList, ",") + "改为" + StringUtils.join(fileNameListTemp, ",") + ",");
sb.append(dbFieldTxt + "\"" + StringUtils.join(fileNameList, ",") + "\"改为\"" + StringUtils.join(fileNameListTemp, ",") + "\",");
}
} else if (fileNameListTemp.size() == 0) {
if("1".equals(flag)){
sb.append(dbFieldTxt + " from "+StringUtils.join(fileNameList, ",") + " to null " + ",");
sb.append(dbFieldTxt + " from \""+StringUtils.join(fileNameList, ",") + "\" to null " + ",");
}else{
sb.append(dbFieldTxt + "" + StringUtils.join(fileNameList, ",") + "改为空" + ",");
sb.append(dbFieldTxt + "\"" + StringUtils.join(fileNameList, ",") + "\"改为空" + ",");
}
}
} else {
if (fileNameListTemp.size() != 0) {
if("1".equals(flag)){
sb.append(dbFieldTxt + " from null to " + StringUtils.join(fileNameListTemp, ",") + ",");
sb.append(dbFieldTxt + " from null to \"" + StringUtils.join(fileNameListTemp, ",") + "\",");
}else{
sb.append(dbFieldTxt + "由空改为" + StringUtils.join(fileNameListTemp, ",") + ",");
sb.append(dbFieldTxt + "由空改为\"" + StringUtils.join(fileNameListTemp, ",") + "\",");
}
}
@@ -3050,23 +3050,23 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
if (ObjectUtils.isNotEmpty(value)) {
if (ObjectUtils.isNotEmpty(valueTemp) && !value.equals(valueTemp)) {
if("1".equals(flag)){
sb.append(dbFieldTxt +" from "+ value + " to " + valueTemp + ",");
sb.append(dbFieldTxt +" from \""+ value + "\" to \"" + valueTemp + "\",");
}else{
sb.append(dbFieldTxt + "" + value + "改为" + valueTemp + ",");
sb.append(dbFieldTxt + "\"" + value + "\"改为\"" + valueTemp + "\",");
}
} else if (ObjectUtils.isEmpty(valueTemp)) {
if("1".equals(flag)){
sb.append(dbFieldTxt + " from "+value + " to null " + ",");
sb.append(dbFieldTxt + " from \""+value + "\" to null " + ",");
}else{
sb.append(dbFieldTxt + "" + value + "改为空" + ",");
sb.append(dbFieldTxt + "\"" + value + "\"改为空" + ",");
}
}
} else {
if (ObjectUtils.isNotEmpty(valueTemp)) {
if("1".equals(flag)){
sb.append(dbFieldTxt + " from null to " + valueTemp + ",");
sb.append(dbFieldTxt + " from null to \"" + valueTemp + "\",");
}else{
sb.append(dbFieldTxt + "由空改为" + valueTemp + ",");
sb.append(dbFieldTxt + "由空改为\"" + valueTemp + "\",");
}
}
}
@@ -3265,9 +3265,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
try {
// String contentInfoFei = "In the " + technologyTerritoryNameEn + " technical field you subscribed to, the " +
// category + " " + serialNumber+" has been updated.";
String contentInfoFei = "In the "+category + " " + serialNumber +" you subscribed to, "+sysUser.getUsername()+" changed the " + sbStr.toString();;
//跳转文档详情
String url = backUrl + "/docManage/library/detail?id=" + id;
iFeishuService.batchSendMessage(userIdListUpdateFeishu.toArray(new String[]{}), content, MessageTypeEnum.READ.getName(), url);
iFeishuService.batchSendMessage(userIdListUpdateFeishu.toArray(new String[]{}), contentInfoFei, MessageTypeEnum.READ.getName(), url);
// iFeishuService.batchSendMessage(userIdListUpdateFeishu.toArray(new String[]{}), content, MessageTypeEnum.READ.getName(), url);
} catch (IOException e) {
log.error("文档新增飞书消息推送失败");
}
@@ -220,8 +220,8 @@ public class ProjectLawsInventoryEOController extends JeroController<ProjectLaws
*/
@AutoLog(value = "项目库-法规清单表-匹配相关人员")
@ApiOperation(value="项目库-法规清单表-匹配相关人员", notes="项目库-法规清单表-匹配相关人员")
@GetMapping(value = "/matchRelevantPeople")
public Result<?> matchRelevantPeople(@RequestParam Map<String,Object> params){
@PostMapping(value = "/matchRelevantPeople")
public Result<?> matchRelevantPeople(@RequestBody Map<String,Object> params){
return this.projectLawsInventoryEOService.matchRelevantPeople(params);
}
@@ -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();
@@ -7,15 +7,26 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.enums.DictCodeEnum;
import com.jero.modules.project.entity.ConditionAssessmentEO;
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
import com.jero.modules.project.entity.ProjectLawsInventoryLogEO;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectLibraryRoleRelEO;
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
import com.jero.modules.project.entity.*;
import com.jero.modules.project.enums.*;
import com.jero.modules.project.entity.ProjectTaskPlanning;
import com.jero.modules.project.enums.CertificationProgressEnum;
import com.jero.modules.project.enums.CurrentProjectStatusEnum;
import com.jero.modules.project.enums.DesignComplianceStatusEnum;
import com.jero.modules.project.enums.InventoryAffirmStatusEnum;
import com.jero.modules.project.enums.OperatorTypeEnum;
import com.jero.modules.project.enums.ProjectRoleEnum;
import com.jero.modules.project.enums.TaskAffirmStatusEnum;
import com.jero.modules.project.mapper.ProjectLawsInventoryEOMapper;
import com.jero.modules.project.mapper.ProjectLibraryBaseMapper;
import com.jero.modules.project.mapper.ProjectNameInfoEOMapper;
import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper;
import com.jero.modules.project.mapper.ProjectTaskInventoryEOMapper;
import com.jero.modules.project.service.IConditionAssessmentEOService;
import com.jero.modules.project.service.IProjectLibraryBaseService;
@@ -41,7 +52,12 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.text.ParseException;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -92,6 +108,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
@Autowired
private ProjectLawsInventoryLogEOServiceImpl projectLawsInventoryLogEOService;
@Autowired
private ProjectRelatedPersonnelMapper projectRelatedPersonnelMapper;
/**
* 保存
*
@@ -172,6 +191,33 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
projectLibraryRoleRelEO.setUserId(projectLibraryBase.getStudioEngineer());
projectLibraryRoleRelEO.setRoleCode(ProjectRoleEnum.STUDIO_ENGINEER.getValue());
projectLibraryRoleRelEOService.add(projectLibraryRoleRelEO);
//编辑时如果认证工程师发生变化,同步修改相关人员名单中的认证工程师
List<ProjectRelatedPersonnel> result = projectRelatedPersonnelMapper.queryPageList(projectLibraryBase.getId(),
DictCodeEnum.DUTY_TERRITORY.getValue(), null, null, null, null);
//项目的认证工程师
String certificationEngineer = projectLibraryBase.getCertificationEngineer();
if(StringUtils.isNotBlank(certificationEngineer)){
for (ProjectRelatedPersonnel projectRelatedPersonnel : result) {
//相关人员名单的认证工程师
String certificationEngineerTemp = projectRelatedPersonnel.getCertificationEngineer();
if(StringUtils.isNotBlank(certificationEngineerTemp)){
StringBuilder sb = new StringBuilder();
for (String s : certificationEngineerTemp.split(",")) {
if(certificationEngineer.contains(s)){
sb.append(s + ",");
}
}
String substring = "";
if(StringUtils.isNotBlank(sb)){
substring = sb.substring(0, sb.length() - 1);
}
projectRelatedPersonnel.setCertificationEngineer(substring);
}
}
//批量修改相关人员名单信息中的认证工程师
projectRelatedPersonnelService.updateBatchById(result);
}
}
/**
@@ -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();
}
@@ -2129,7 +2129,7 @@
content: _this.$t('confirmBringInRelevantPersonnel'),
onOk() {
let selectedRowKeys = JSON.parse(JSON.stringify(_this.selectedRowKeys))
getAction(_this.url.matchRelevantPeople, {
postAction(_this.url.matchRelevantPeople, {
ids: selectedRowKeys.join(','),
projectLibraryId: _this.$route.query.id
}).then((res) => {