From bc514fdaf255713e8f9a8aaeb4866207ed82bbdc Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Mon, 14 Nov 2022 11:27:21 +0800 Subject: [PATCH 01/34] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=9D=83=E9=99=90(?= =?UTF-8?q?=E5=B7=AE=E4=B8=80=E4=B8=AA=E8=AE=A4=E8=AF=81=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=9D=83=E9=99=90=E6=B2=A1=E5=BC=84)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/system/mapper/SysRoleMapper.java | 2 + .../ProjectUserPermissionController.java | 38 +++ .../project/entity/ProjectUserPermission.java | 87 ++++++ .../enums/PermissionDescriptionEnum.java | 32 ++ .../project/enums/ProjectRoleEnum.java | 1 + .../enums/ProjectUserLocationEnum.java | 59 ++++ .../mapper/ProjectUserPermissionMapper.java | 19 ++ .../xml/ProjectUserPermissionMapper.xml | 23 ++ .../IProjectUserPermissionService.java | 61 ++++ .../ProjectLawsInventoryEOServiceImpl.java | 98 +++++- .../impl/ProjectLibraryBaseServiceImpl.java | 295 ++++++++++++++++-- .../ProjectRelatedPersonnelServiceImpl.java | 196 +++++++++++- .../ProjectUserPermissionServiceImpl.java | 89 ++++++ 13 files changed, 973 insertions(+), 27 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserPermissionController.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserPermission.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/PermissionDescriptionEnum.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectUserLocationEnum.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserPermissionMapper.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserPermissionMapper.xml create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserPermissionService.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserPermissionServiceImpl.java diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysRoleMapper.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysRoleMapper.java index e8aa1b369..e1765d408 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysRoleMapper.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysRoleMapper.java @@ -43,4 +43,6 @@ public interface SysRoleMapper extends BaseMapper { "where user_id = #{userId}") List getRoleByUserId(@Param("userId") String userId); + @Select("SELECT count(0) from sys_user_role ur LEFT JOIN sys_role r ON r.id = ur.role_id WHERE r.role_code = #{roleCode} and ur.user_id = #{userId}") + Integer queryUserRoleByCode(@Param("roleCode")String roleCode, @Param("userId")String userId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserPermissionController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserPermissionController.java new file mode 100644 index 000000000..f9ce32f96 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserPermissionController.java @@ -0,0 +1,38 @@ +package com.jero.modules.project.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.project.entity.ProjectUserPermission; +import com.jero.modules.project.service.IProjectUserPermissionService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 项目权限表 + * @Author: jero-boot + * @Date: 2022-11-10 + * @Version: V1.0 + */ +@Api(tags="项目权限表") +@RestController +@RequestMapping("/project/projectUserPermission") +@Slf4j +public class ProjectUserPermissionController extends JeroController { + + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserPermission.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserPermission.java new file mode 100644 index 000000000..caf7cb545 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserPermission.java @@ -0,0 +1,87 @@ +package com.jero.modules.project.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 项目权限表 + * @Author: jero-boot + * @Date: 2022-11-10 + * @Version: V1.0 + */ +@Data +@TableName("project_user_permission") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="project_user_permission对象", description="项目权限表") +public class ProjectUserPermission implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**项目id*/ + @Excel(name = "项目id", width = 15) + @ApiModelProperty(value = "项目id") + private String projectId; + + /**用户id*/ + @Excel(name = "用户id", width = 15) + @ApiModelProperty(value = "用户id") + private String userId; + + /**所属位置*/ + @Excel(name = "所属位置", width = 15) + @ApiModelProperty(value = "所属位置") + private String belong; + + /** + * 如果是相关人员名单的时候,这里填写相关人员名单id + * + * 如果是法规清单的时候,这里填写对应的法规清单id + * + * 如果是认证参数的时候,这里填写参数收集清单id + * + * */ + @Excel(name = "具体描述", width = 15) + @ApiModelProperty(value = "具体描述") + private String description; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/PermissionDescriptionEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/PermissionDescriptionEnum.java new file mode 100644 index 000000000..42644a441 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/PermissionDescriptionEnum.java @@ -0,0 +1,32 @@ +package com.jero.modules.project.enums; + +public enum PermissionDescriptionEnum { + + PROJECT_RELATED_PERSONNEL("相关人员名单","projectRelatedPersonnelId:"), + PROJECT_LAWS_INVENTORY("法规清单","projectLawsInventoryId:"), + PARAMS_COLLECT_MANIFEST("参数项","paramsCollectManifestId:"); + + String label; + String value; + + PermissionDescriptionEnum(String label, String value) { + this.label = label; + this.value = value; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectRoleEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectRoleEnum.java index e51aac31f..775fd29d1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectRoleEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectRoleEnum.java @@ -20,6 +20,7 @@ public enum ProjectRoleEnum { VERIFYDUTY("验证符合性确认-责任人","10",""), MANAGER("验证符合性确认-责任人","11",""), ADMIN("系统管理员","12",""), + VIEWER("Viewer","",""), ; String name; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectUserLocationEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectUserLocationEnum.java new file mode 100644 index 000000000..5d8cab1ec --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectUserLocationEnum.java @@ -0,0 +1,59 @@ +package com.jero.modules.project.enums; + +/** + * 项目权限相关添加人员的类型 + */ +public enum ProjectUserLocationEnum { + + PROJECT_ADD_STUDIO("PROJECT_ADD_STUDIO","项目新增时设置的Studio工程师"), + PROJECT_ADD_CERTIFICATION("PROJECT_ADD_CERTIFICATION","项目新增时设置的认证工程师"), + + PROJECT_DETAIL_RELEVANT_PERSONNEL_CERTIFICATION("PROJECT_DETAIL_RELEVANT_PERSONNEL_CERTIFICATION","相关人员名单中认证工程师"), + PROJECT_DETAIL_RELEVANT_PERSONNEL_INTERFACE("PROJECT_DETAIL_RELEVANT_PERSONNEL_INTERFACE","相关人员名单中工程接口人"), + PROJECT_DETAIL_RELEVANT_PERSONNEL_LAW("PROJECT_DETAIL_RELEVANT_PERSONNEL_LAW","相关人员名单中法规工程师"), + + PROJECT_LAWS_INVENTORY_CREATE_BY("PROJECT_LAWS_INVENTORY_CREATE_BY","法规清单创建人"), + PROJECT_LAWS_INVENTORY_REGULATION("PROJECT_LAWS_INVENTORY_REGULATION","法规清单中法规工程师"), + PROJECT_LAWS_INVENTORY_HOMOLOGATION("PROJECT_LAWS_INVENTORY_HOMOLOGATION","法规清单中认证工程师"), + PROJECT_LAWS_INVENTORY_INTERFACE("PROJECT_LAWS_INVENTORY_INTERFACE","法规清单中工程接口人"), + PROJECT_LAWS_INVENTORY_DESIGN_INITIATOR("PROJECT_LAWS_INVENTORY_DESIGN_INITIATOR","法规清单中设计符合性确认发起人"), + PROJECT_LAWS_INVENTORY_DESIGN_DUTY("PROJECT_LAWS_INVENTORY_DESIGN_DUTY","法规清单中设计符合性确认责任人"), + PROJECT_LAWS_INVENTORY_PREHOMO_INITIATOR("PROJECT_LAWS_INVENTORY_PREHOMO_INITIATOR","法规清单中prehomo确认发起人"), + PROJECT_LAWS_INVENTORY_PREHOMO_DUTY("PROJECT_LAWS_INVENTORY_PREHOMO_DUTY","法规清单中prehomo确认责任人"), + PROJECT_LAWS_INVENTORY_VERIFY_INITIATOR("PROJECT_LAWS_INVENTORY_VERIFY_INITIATOR","法规清单中验证符合性确认发起人"), + PROJECT_LAWS_INVENTORY_VERIFY_DUTY("PROJECT_LAWS_INVENTORY_VERIFY_DUTY","法规清单中验证符合性确认责任人"), + + PROJECT_LAWS_TASK_AFFIRM_INQUIRE("PROJECT_LAWS_TASK_AFFIRM_INQUIRE","法规任务确认询问人"), + + PROJECT_LAWS_DESIGN_DISTRIBUTION("PROJECT_LAWS_DESIGN_DISTRIBUTION","设计符合性确认分发工程师"), + PROJECT_LAWS_PREHOMO_DISTRIBUTION("PROJECT_LAWS_PREHOMO_DISTRIBUTION","prehomo确认分发工程师"), + PROJECT_LAWS_VERIFY_DISTRIBUTION("PROJECT_LAWS_VERIFY_DISTRIBUTION","验证符合性确认分发工程师"), + + PROJECT_PARAMS_COLLECT_MANIFEST_DRE("PROJECT_PARAMS_COLLECT_MANIFEST_DRE","认证参数收集中填写人"), + PROJECT_PARAMS_COLLECT_MANIFEST_SDT("PROJECT_PARAMS_COLLECT_MANIFEST_SDT","认证参数收集中工程接口人"); + + + String value; + String label; + + ProjectUserLocationEnum(String value, String label) { + this.value = value; + this.label = label; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserPermissionMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserPermissionMapper.java new file mode 100644 index 000000000..c07e317cf --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserPermissionMapper.java @@ -0,0 +1,19 @@ +package com.jero.modules.project.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.project.entity.ProjectUserPermission; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 项目权限表 + * @Author: jero-boot + * @Date: 2022-11-10 + * @Version: V1.0 + */ +public interface ProjectUserPermissionMapper extends BaseMapper { + + + List queryProjectIdsByUserId(@Param("userId") String userId); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserPermissionMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserPermissionMapper.xml new file mode 100644 index 000000000..c64841878 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserPermissionMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserPermissionService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserPermissionService.java new file mode 100644 index 000000000..68d27e21b --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserPermissionService.java @@ -0,0 +1,61 @@ +package com.jero.modules.project.service; + +import com.jero.modules.project.entity.ProjectUserPermission; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 项目权限表 + * @Author: jero-boot + * @Date: 2022-11-10 + * @Version: V1.0 + */ +public interface IProjectUserPermissionService extends IService { + + /** + * 保存 + * + * @param projectUserPermission + * @return + */ + void add(ProjectUserPermission projectUserPermission); + + /** + * 更新 + * + * @param projectUserPermission + * @return + */ + void editById(ProjectUserPermission projectUserPermission); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + ProjectUserPermission queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index aa83828fc..3524c7c29 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -239,6 +239,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl projectTaskInventoryEOList = new ArrayList<>(); //法规清单所有的数据 LambdaQueryWrapper wrapperTemp = new LambdaQueryWrapper<>(); @@ -317,6 +322,17 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl { ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO(); String projectTaskInventoryId = UUID.randomUUID().toString().replace("-", ""); @@ -328,7 +344,6 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImple.getProjectLibraryId()).collect(Collectors.toList()).get(0); - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String username = sysUser.getUsername(); QueryWrapper queryWrapper = new QueryWrapper<>(); String dummyInventoryBaseName = dummyInventoryBaseEOService.list(queryWrapper.eq("id", dummyInventoryBaseId)).get(0).getName();//name @@ -375,7 +390,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl list = new ArrayList<>(); - + List addPermission = new ArrayList<>(); for (BussDocumentLibraryEO bussDocumentLibraryEO : bussDocumentLibraryEOList) { String standId = bussDocumentLibraryEO.getId(); @@ -397,11 +412,23 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImple.getSerialNumber()).collect(Collectors.joining(",")); String contentLog = username+"向清单中添加了“"+serialNumber+"”"; @@ -479,11 +506,63 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl adds = new ArrayList<>(); + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getRegulationOwnerId(), projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_REGULATION.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getHomologationEngineerId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getHomologationEngineerId(),projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_HOMOLOGATION.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getEngineeringInterfacePerson())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getEngineeringInterfacePerson(),projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_INTERFACE.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getDesignInitiatorId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getDesignInitiatorId(),projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_INITIATOR.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getDesignDutyId(),projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_DUTY.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoInitiatorId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getPrehomoInitiatorId(),projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_INITIATOR.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoDutyId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getPrehomoDutyId(),projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_DUTY.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getVerifyInitiatorId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getVerifyInitiatorId(),projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_INITIATOR.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getVerifyDutyId(),projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_DUTY.getValue()); + } + if (ObjectUtils.isNotEmpty(adds)) { + projectUserPermissionService.saveBatch(adds); + } + + }else { throw new JeroBootException("该用户没有权限操作该数据!"); } } + private void setProjectLawsInventoryPermission(String userId, String projectId,String lawsInventoryId,Date now, List adds, String belong) { + QueryWrapper del = new QueryWrapper<>(); + del.eq("project_id", projectId) + .eq("belong", belong) + .eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + lawsInventoryId); + projectUserPermissionService.remove(del); + + ProjectUserPermission permission = new ProjectUserPermission(); + permission.setProjectId(projectId); + permission.setUserId(userId); + permission.setBelong(belong); + permission.setDescription(PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + lawsInventoryId); + permission.setCreateTime(now); + permission.setUpdateTime(now); + adds.add(permission); + } + private void setDateNull(ProjectLawsInventoryEO projectLawsInventoryEO, LambdaUpdateWrapper updateWrapper) { if(ObjectUtils.isEmpty(projectLawsInventoryEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1())){ updateWrapper.set(ProjectLawsInventoryEO::getXin1Che1Xing2Shi2Shi1Ri4Qi1,null); @@ -639,6 +718,10 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl rejectCauseRemoveWrapper = new QueryWrapper<>(); rejectCauseRemoveWrapper.lambda().eq(ProjectLawsInventoryRejectCauseEO::getProjectLawsInventoryId,id); this.projectLawsInventoryRejectCauseEOService.remove(rejectCauseRemoveWrapper); + //删除相关人员权限 + QueryWrapper delPermission = new QueryWrapper<>(); + delPermission.eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + id); + projectUserPermissionService.remove(delPermission); } /** @@ -689,6 +772,15 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl rejectCauseRemoveWrapper = new QueryWrapper<>(); rejectCauseRemoveWrapper.lambda().in(ProjectLawsInventoryRejectCauseEO::getProjectLawsInventoryId,ids); this.projectLawsInventoryRejectCauseEOService.remove(rejectCauseRemoveWrapper); + + //删除相关人员权限 + List description = new ArrayList<>(); + QueryWrapper delPermission = new QueryWrapper<>(); + for (String id : ids) { + description.add(PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + id); + } + delPermission.in("description", description); + projectUserPermissionService.remove(delPermission); } /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index c3678aa5f..b6cdb9ca7 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -11,34 +11,18 @@ import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.LoginUser; import com.jero.modules.cert.collect.service.IParamsManifestEOService; 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.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.enums.TopEnum; -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.entity.*; +import com.jero.modules.project.enums.*; +import com.jero.modules.project.mapper.*; import com.jero.modules.project.service.IConditionAssessmentEOService; import com.jero.modules.project.service.IProjectLibraryBaseService; import com.jero.modules.project.service.IProjectLibraryRoleRelEOService; +import com.jero.modules.project.service.IProjectUserPermissionService; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.enums.DicCodeEnum; import com.jero.modules.system.mapper.SysDictItemMapper; +import com.jero.modules.system.mapper.SysRoleMapper; import com.jero.modules.system.mapper.SysUserMapper; import com.jero.modules.system.service.ISysDictService; import com.jero.modules.system.service.ISysUserService; @@ -133,6 +117,15 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl adds = new ArrayList<>(); + if (ObjectUtils.isNotEmpty(projectLibraryBase.getStudioEngineer())) { + ProjectUserPermission projectUserPermission = new ProjectUserPermission(); + projectUserPermission.setProjectId(projectLibraryBase.getId()); + projectUserPermission.setUserId(projectLibraryBase.getStudioEngineer()); + projectUserPermission.setBelong(ProjectUserLocationEnum.PROJECT_ADD_STUDIO.getValue()); + projectUserPermission.setCreateTime(now); + projectUserPermission.setUpdateTime(now); + adds.add(projectUserPermission); + } + if (ObjectUtils.isNotEmpty(projectLibraryBase.getCertificationEngineer())) { + for (String id : projectLibraryBase.getCertificationEngineer().split(",")) { + ProjectUserPermission projectUserPermission = new ProjectUserPermission(); + projectUserPermission.setProjectId(projectLibraryBase.getId()); + projectUserPermission.setUserId(id); + projectUserPermission.setBelong(ProjectUserLocationEnum.PROJECT_ADD_CERTIFICATION.getValue()); + projectUserPermission.setCreateTime(now); + projectUserPermission.setUpdateTime(now); + adds.add(projectUserPermission); + } + } + if (ObjectUtils.isNotEmpty(adds)) { + projectUserPermissionService.saveBatch(adds); + } + } /** @@ -182,6 +202,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl projectRelatedPersonnelList = projectRelatedPersonnelMapper.queryPageList(id, @@ -191,11 +212,57 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl relatedPersonnelPermissionList = new ArrayList<>(); for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnelList) { - projectRelatedPersonnel.setId(UUID.randomUUID().toString().replace("-", "")); + String relatedPersonnelId = UUID.randomUUID().toString().replace("-", ""); + projectRelatedPersonnel.setId(relatedPersonnelId); projectRelatedPersonnel.setProjectId(projectId); + + //添加人员权限 + if (ObjectUtils.isNotEmpty(projectRelatedPersonnel.getLawEngineer())) { + for (String lawEngineerId : projectRelatedPersonnel.getLawEngineer().split(",")) { + //projectUserPermissionService.queryRelatedPersonnelPermission(projectLibraryBase.getId(),lawEngineerId,ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_LAW.getValue()); + ProjectUserPermission permission = new ProjectUserPermission(); + permission.setProjectId(projectId); + permission.setUserId(lawEngineerId); + permission.setBelong(ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_LAW.getValue()); + permission.setDescription(PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + relatedPersonnelId); + permission.setCreateTime(now); + permission.setUpdateTime(now); + relatedPersonnelPermissionList.add(permission); + } + } + if (ObjectUtils.isNotEmpty(projectRelatedPersonnel.getEngineeringInterfacePerson())) { + for (String engineeringInterfacePersonId : projectRelatedPersonnel.getEngineeringInterfacePerson().split(",")) { + ProjectUserPermission permission = new ProjectUserPermission(); + permission.setProjectId(projectId); + permission.setUserId(engineeringInterfacePersonId); + permission.setBelong(ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_INTERFACE.getValue()); + permission.setDescription(PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + relatedPersonnelId); + permission.setCreateTime(now); + permission.setUpdateTime(now); + relatedPersonnelPermissionList.add(permission); + } + } + if (ObjectUtils.isNotEmpty(projectRelatedPersonnel.getCertificationEngineer())) { + for (String certificationEngineerId : projectRelatedPersonnel.getCertificationEngineer().split(",")) { + ProjectUserPermission permission = new ProjectUserPermission(); + permission.setProjectId(projectId); + permission.setUserId(certificationEngineerId); + permission.setBelong(ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_CERTIFICATION.getValue()); + permission.setDescription(PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + relatedPersonnelId); + permission.setCreateTime(now); + permission.setUpdateTime(now); + relatedPersonnelPermissionList.add(permission); + } + + } + } projectRelatedPersonnelService.saveBatch(projectRelatedPersonnelList); + if (ObjectUtils.isNotEmpty(relatedPersonnelPermissionList)) { + projectUserPermissionService.saveBatch(relatedPersonnelPermissionList); + } } //法规/认证任务计划添加数据 projectTaskPlanningService @@ -213,13 +280,26 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(ProjectLibraryRoleRelEO::getProjectLibraryId,projectLibraryBase.getId()); List projectLibraryRoleRelEOList = projectLibraryRoleRelEOService.list(queryWrapper); + + List studioUserPermissions = new ArrayList<>(); if(ObjectUtils.isNotEmpty(projectLibraryRoleRelEOList)){ for (ProjectLibraryRoleRelEO projectLibraryRoleRelEO : projectLibraryRoleRelEOList) { projectLibraryRoleRelEO.setId(UUID.randomUUID().toString().replace("-", "")); projectLibraryRoleRelEO.setProjectLibraryId(projectId); projectLibraryRoleRelEOService.add(projectLibraryRoleRelEO); + //添加studio权限 + ProjectUserPermission studioUserPermission = new ProjectUserPermission(); + studioUserPermission.setProjectId(projectId); + studioUserPermission.setUserId(projectLibraryRoleRelEO.getUserId()); + studioUserPermission.setBelong(ProjectUserLocationEnum.PROJECT_ADD_STUDIO.getValue()); + studioUserPermission.setCreateTime(now); + studioUserPermission.setUpdateTime(now); + studioUserPermissions.add(studioUserPermission); } } + if (ObjectUtils.isNotEmpty(studioUserPermissions)) { + projectUserPermissionService.saveBatch(studioUserPermissions); + } } @@ -258,6 +338,8 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl deleteLibraryRoleRelWrapper = new QueryWrapper<>(); deleteLibraryRoleRelWrapper.lambda().eq(ProjectLibraryRoleRelEO::getProjectLibraryId,projectLibraryBase.getId()); projectLibraryRoleRelEOService.remove(deleteLibraryRoleRelWrapper); + //删除当前项目studio项目权限 + QueryWrapper delStudioPermission = new QueryWrapper<>(); + delStudioPermission.eq("project_id", projectLibraryBase.getId()).eq("belong", ProjectUserLocationEnum.PROJECT_ADD_STUDIO.getValue()); + projectUserPermissionService.remove(delStudioPermission); + //删除当前项目certification engineer项目权限 + QueryWrapper delCertificationPermission = new QueryWrapper<>(); + delCertificationPermission.eq("project_id", projectLibraryBase.getId()).eq("belong", ProjectUserLocationEnum.PROJECT_ADD_CERTIFICATION.getValue()); + projectUserPermissionService.remove(delCertificationPermission); // 初始化当前项目的studio与项目库 角色关系 ProjectLibraryRoleRelEO projectLibraryRoleRelEO = new ProjectLibraryRoleRelEO(); @@ -272,13 +362,67 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl engineers = new ArrayList<>(); + ProjectUserPermission studioPermission = new ProjectUserPermission(); + studioPermission.setProjectId(projectLibraryBase.getId()); + studioPermission.setUserId(projectLibraryBase.getStudioEngineer()); + studioPermission.setBelong(ProjectUserLocationEnum.PROJECT_ADD_STUDIO.getValue()); + studioPermission.setCreateTime(now); + studioPermission.setUpdateTime(now); + engineers.add(studioPermission); + //重新设置当前项目certification engineer项目权限 + if (ObjectUtils.isNotEmpty(projectLibraryBase.getCertificationEngineer())) { + for (String certificationEngineer : projectLibraryBase.getCertificationEngineer().split(",")) { + ProjectUserPermission certificationPermission = new ProjectUserPermission(); + certificationPermission.setProjectId(projectLibraryBase.getId()); + certificationPermission.setUserId(certificationEngineer); + certificationPermission.setBelong(ProjectUserLocationEnum.PROJECT_ADD_CERTIFICATION.getValue()); + certificationPermission.setCreateTime(now); + certificationPermission.setUpdateTime(now); + engineers.add(certificationPermission); + } + } + if (ObjectUtils.isNotEmpty(engineers)) { + projectUserPermissionService.saveBatch(engineers); + } //编辑时如果认证工程师发生变化,同步修改相关人员名单中的认证工程师 List result = projectRelatedPersonnelMapper.queryPageList(projectLibraryBase.getId(), DictCodeEnum.DUTY_TERRITORY.getValue(), null, null, null, null); //项目的认证工程师 String certificationEngineer = projectLibraryBase.getCertificationEngineer(); + //一个都不选的情况下 + if ("".equals(certificationEngineer)) { + //删除当前项目的相关人员名单中认证工程师权限 + QueryWrapper delWrapper = new QueryWrapper<>(); + delWrapper.eq("project_id", projectLibraryBase.getId()) + .eq("belong", ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_CERTIFICATION.getValue()); + projectUserPermissionService.remove(delWrapper); + //删除当前项目的法规清单中认证工程师权限 + QueryWrapper delLawInventoryWrapper = new QueryWrapper<>(); + delLawInventoryWrapper.eq("project_id", projectLibraryBase.getId()) + .eq("belong", ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_HOMOLOGATION.getValue()); + projectUserPermissionService.remove(delLawInventoryWrapper); + } + //选择了其他工程师 if(StringUtils.isNotBlank(certificationEngineer)){ + for (String id : original.getCertificationEngineer().split(",")) { + if (!certificationEngineer.contains(id)) { + //如果原来的认证工程师被删除了,则需要同步删除当前项目的相关人员名单中该认证工程师权限 + QueryWrapper delWrapper = new QueryWrapper<>(); + delWrapper.eq("project_id", projectLibraryBase.getId()).eq("user_id",id). + eq("belong", ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_CERTIFICATION.getValue()); + projectUserPermissionService.remove(delWrapper); + //如果原来的认证工程师被删除了,则需要同步删除当前项目的法规清单中该认证工程师权限 + QueryWrapper delLawInventoryWrapper = new QueryWrapper<>(); + delLawInventoryWrapper.eq("project_id", projectLibraryBase.getId()).eq("user_id",id). + eq("belong", ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_HOMOLOGATION.getValue()); + projectUserPermissionService.remove(delLawInventoryWrapper); + } + } + + for (ProjectRelatedPersonnel projectRelatedPersonnel : result) { //相关人员名单的认证工程师 String certificationEngineerTemp = projectRelatedPersonnel.getCertificationEngineer(); @@ -299,6 +443,102 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl belongs = new ArrayList<>(); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_INITIATOR.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_DUTY.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_INITIATOR.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_DUTY.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_INITIATOR.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_DUTY.getValue()); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("project_library_id", projectLibraryBase.getId()); + List list = projectLawsInventoryEOService.list(queryWrapper); + if (ObjectUtils.isNotEmpty(list)) { + for (ProjectLawsInventoryEO lawsInventoryEO : list) { + boolean boo = false; + //发起任务前 + if (TaskAffirmStatusEnum.NOT_STARTED.getValue().equals(lawsInventoryEO.getTaskAffirmStatus())) { + boo = true; + } + //任务结束后 + if (!boo) { + int count = 0; + QueryWrapper taskInventoryQueryWrapper = new QueryWrapper<>(); + taskInventoryQueryWrapper.eq("project_laws_inventory_id",lawsInventoryEO.getId()); + List taskInventoryRecords = projectTaskInventoryEOMapper.selectList(taskInventoryQueryWrapper); + for (ProjectTaskInventoryEO taskInventoryRecord : taskInventoryRecords) { + String designStatus = taskInventoryRecord.getDesignStatus(); + String verifyStatus = taskInventoryRecord.getVerifyStatus(); + String prehomoStatus = taskInventoryRecord.getPrehomoStatus(); + boolean designStatusFlag = StringUtils.isBlank(designStatus) || designStatus.equals(DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + boolean verifyStatusFlag = StringUtils.isBlank(verifyStatus) || verifyStatus.equals(DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + boolean prehomoStatusFlag = StringUtils.isBlank(prehomoStatus) || prehomoStatus.equals(DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + if (designStatusFlag && verifyStatusFlag && prehomoStatusFlag) { + count++; + } + } + if (count == 3) { + boo = true; + } + } + if (boo) { + QueryWrapper personnelQueryWrapper = new QueryWrapper<>(); + personnelQueryWrapper.eq("duty_territory", lawsInventoryEO.getDutyTerritory()).eq("project_id", projectLibraryBase.getId()); + List personnels = projectRelatedPersonnelService.list(personnelQueryWrapper); + + if (!original.getStudioEngineer().equals(projectLibraryBase.getStudioEngineer())) { + StringBuilder participator = new StringBuilder(); + if (ObjectUtils.isNotEmpty(personnels)) { + if (ObjectUtils.isNotEmpty(personnels.get(0).getLawEngineer())) { + participator.append(personnels.get(0).getLawEngineer() + ","); + } + if (ObjectUtils.isNotEmpty(personnels.get(0).getCertificationEngineer())) { + participator.append(personnels.get(0).getCertificationEngineer() + ","); + } + if (ObjectUtils.isNotEmpty(personnels.get(0).getEngineeringInterfacePerson())) { + participator.append(personnels.get(0).getEngineeringInterfacePerson() + ","); + } + } + if (!participator.toString().contains(original.getStudioEngineer())) { + //删除当前studio在法规清单中的人员权限 + QueryWrapper del = new QueryWrapper<>(); + del.eq("project_id", projectLibraryBase.getId()).eq("user_id", original.getStudioEngineer()).in("belong",belongs). + eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + lawsInventoryEO.getId()); + projectUserPermissionService.remove(del); + } + } + for (String id : original.getCertificationEngineer().split(",")) { + if (!certificationEngineer.contains(id)) { + StringBuilder participator = new StringBuilder(); + if (ObjectUtils.isNotEmpty(personnels)) { + if (ObjectUtils.isNotEmpty(personnels.get(0).getLawEngineer())) { + participator.append(personnels.get(0).getLawEngineer() + ","); + } + if (ObjectUtils.isNotEmpty(personnels.get(0).getEngineeringInterfacePerson())) { + participator.append(personnels.get(0).getEngineeringInterfacePerson() + ","); + } + } + participator.append(original.getStudioEngineer()); + if (!participator.toString().contains(id)) { + //删除当前studio在法规清单中的人员权限 + QueryWrapper del = new QueryWrapper<>(); + del.eq("project_id", projectLibraryBase.getId()).eq("user_id", id).in("belong",belongs). + eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + lawsInventoryEO.getId()); + projectUserPermissionService.remove(del); + } + } + } + } + } + } + } /** @@ -336,6 +576,10 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl permissionQueryWrapper = new QueryWrapper<>(); + permissionQueryWrapper.eq("project_id", id); + projectUserPermissionService.remove(permissionQueryWrapper); } /* @@ -478,6 +722,13 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl queryPageList(Map params) { + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + List projectIds = new ArrayList<>(); + if (sysRoleMapper.queryUserRoleByCode(ProjectRoleEnum.VIEWER.getName(), loginUser.getId()) == 0) { + //如果不是Viewer,根据项目用户权限表筛选有权访问的项目 + projectIds = projectUserPermissionMapper.queryProjectIdsByUserId(loginUser.getId()); + } + List result = projectLibraryBaseMapper.queryPageList(params); disposeData(result,"",false); //目标市场 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java index 3e5f2acc4..6d24a4aec 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java @@ -17,10 +17,14 @@ import com.jero.modules.enums.DictCodeEnum; import com.jero.modules.ocr.entity.User; import com.jero.modules.project.entity.ProjectLibraryBase; import com.jero.modules.project.entity.ProjectRelatedPersonnel; +import com.jero.modules.project.entity.ProjectUserPermission; +import com.jero.modules.project.enums.PermissionDescriptionEnum; import com.jero.modules.project.enums.ProjectInventoryFieldEnum; import com.jero.modules.project.enums.ProjectRoleEnum; +import com.jero.modules.project.enums.ProjectUserLocationEnum; import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper; import com.jero.modules.project.service.IProjectRelatedPersonnelService; +import com.jero.modules.project.service.IProjectUserPermissionService; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.mapper.SysDictItemMapper; @@ -93,6 +97,10 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl adds = new ArrayList<>(); + if (projectRelatedPersonnel.getLawEngineer() != null) { + if (!"".equals(projectRelatedPersonnel.getLawEngineer())) { + for (String lawEngineerId : projectRelatedPersonnel.getLawEngineer().split(",")) { + ProjectUserPermission permission = new ProjectUserPermission(); + permission.setProjectId(projectRelatedPersonnel.getProjectId()); + permission.setUserId(lawEngineerId); + permission.setBelong(ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_LAW.getValue()); + permission.setDescription(PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + projectRelatedPersonnel.getId()); + permission.setCreateTime(now); + permission.setUpdateTime(now); + adds.add(permission); + } + } + //修改当前相关人员名单中责任领域人员权限 + QueryWrapper delPermissionWrapper = new QueryWrapper<>(); + delPermissionWrapper.eq("project_id", projectRelatedPersonnel.getProjectId()) + .eq("belong", ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_LAW.getValue()) + .eq("description", PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + projectRelatedPersonnel.getId()); + projectUserPermissionService.remove(delPermissionWrapper); + } + if (projectRelatedPersonnel.getEngineeringInterfacePerson()!= null) { + if (!"".equals(projectRelatedPersonnel.getEngineeringInterfacePerson())) { + for (String engineeringInterfacePersonId : projectRelatedPersonnel.getEngineeringInterfacePerson().split(",")) { + ProjectUserPermission permission = new ProjectUserPermission(); + permission.setProjectId(projectRelatedPersonnel.getProjectId()); + permission.setUserId(engineeringInterfacePersonId); + permission.setBelong(ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_INTERFACE.getValue()); + permission.setDescription(PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + projectRelatedPersonnel.getId()); + permission.setCreateTime(now); + permission.setUpdateTime(now); + adds.add(permission); + } + } + //修改当前相关人员名单中责任领域人员权限 + QueryWrapper delPermissionWrapper = new QueryWrapper<>(); + delPermissionWrapper.eq("project_id",projectRelatedPersonnel.getProjectId()) + .eq("belong", ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_INTERFACE.getValue()) + .eq("description", PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + projectRelatedPersonnel.getId()); + projectUserPermissionService.remove(delPermissionWrapper); + } + if (projectRelatedPersonnel.getCertificationEngineer()!= null) { + if (!"".equals(projectRelatedPersonnel.getCertificationEngineer())) { + for (String certificationEngineerId : projectRelatedPersonnel.getCertificationEngineer().split(",")) { + ProjectUserPermission permission = new ProjectUserPermission(); + permission.setProjectId(projectRelatedPersonnel.getProjectId()); + permission.setUserId(certificationEngineerId); + permission.setBelong(ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_CERTIFICATION.getValue()); + permission.setDescription(PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + projectRelatedPersonnel.getId()); + permission.setCreateTime(now); + permission.setUpdateTime(now); + adds.add(permission); + } + } + //修改当前相关人员名单中责任领域人员权限 + QueryWrapper delPermissionWrapper = new QueryWrapper<>(); + delPermissionWrapper.eq("project_id",projectRelatedPersonnel.getProjectId()) + .eq("belong", ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_CERTIFICATION.getValue()) + .eq("description", PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + projectRelatedPersonnel.getId()); + projectUserPermissionService.remove(delPermissionWrapper); + } + if (ObjectUtils.isNotEmpty(adds)) { + projectUserPermissionService.saveBatch(adds); + } + //修改当前属于当前责任领域的法规清单的人员权限 + + + } /** @@ -981,7 +1059,12 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl result = new Result<>(); int row=3; StringBuilder message = new StringBuilder(); + + List addPermission = new ArrayList<>(); + Date now = new Date(); + for (ProjectRelatedPersonnel projectRelatedPersonnel:records) { + String relatedPersonnelId = ""; //查标签内容里的责任领域数据 List sysDictItemList = sysDictItemMapper.selectItemsByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue()); List dutyTerritoryValueList = new ArrayList<>(); @@ -1015,6 +1098,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); List idList = list(queryWrapper.select("id").eq("duty_territory", dutyTerritoryValueList.get(0)).eq("project_id",projectId)); projectRelatedPersonnel.setId(idList.get(0).getId()); + relatedPersonnelId = idList.get(0).getId(); } } }else{ @@ -1056,8 +1140,26 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl sysUser.getId()).collect(Collectors.joining(",")); } midId.append(lawEngineerId).append(","); + + //添加权限 + if (ObjectUtils.isNotEmpty(relatedPersonnelId) && ObjectUtils.isNotEmpty(lawEngineerId)) { + for (String id : lawEngineerId.split(",")) { + ProjectUserPermission permission = new ProjectUserPermission(); + permission.setProjectId(projectId); + permission.setUserId(id); + permission.setBelong(ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_LAW.getValue()); + permission.setDescription(PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + relatedPersonnelId); + permission.setCreateTime(now); + permission.setUpdateTime(now); + addPermission.add(permission); + } + } + } projectRelatedPersonnel.setLawEngineer(midId.substring(0,midId.toString().length()-1)); + QueryWrapper delPermissionWrapper = new QueryWrapper<>(); + delPermissionWrapper.eq("project_id", projectId).eq("belong", ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_LAW.getValue()).eq("description", PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + relatedPersonnelId); + projectUserPermissionService.remove(delPermissionWrapper); } }else{ projectRelatedPersonnel.setLawEngineer(""); @@ -1093,8 +1195,25 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl sysUser.getId()).collect(Collectors.joining(",")); } midId.append(engineeringInterfacePersonId).append(","); + + //添加权限 + if (ObjectUtils.isNotEmpty(relatedPersonnelId)&&ObjectUtils.isNotEmpty(engineeringInterfacePersonId)) { + for (String id : engineeringInterfacePersonId.split(",")) { + ProjectUserPermission permission = new ProjectUserPermission(); + permission.setProjectId(projectId); + permission.setUserId(id); + permission.setBelong(ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_INTERFACE.getValue()); + permission.setDescription(PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + relatedPersonnelId); + permission.setCreateTime(now); + permission.setUpdateTime(now); + addPermission.add(permission); + } + } } projectRelatedPersonnel.setEngineeringInterfacePerson(midId.substring(0,midId.toString().length()-1)); + QueryWrapper delPermissionWrapper = new QueryWrapper<>(); + delPermissionWrapper.eq("project_id", projectId).eq("belong", ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_INTERFACE.getValue()).eq("description", PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + relatedPersonnelId); + projectUserPermissionService.remove(delPermissionWrapper); } }else{ projectRelatedPersonnel.setEngineeringInterfacePerson(""); @@ -1161,15 +1280,31 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl sysUser.getId()).collect(Collectors.joining(",")); } midId.append(certificationEngineerId).append(","); + + //添加权限 + if (ObjectUtils.isNotEmpty(relatedPersonnelId)&&ObjectUtils.isNotEmpty(certificationEngineerId)) { + for (String id : certificationEngineerId.split(",")) { + ProjectUserPermission permission = new ProjectUserPermission(); + permission.setProjectId(projectId); + permission.setUserId(id); + permission.setBelong(ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_CERTIFICATION.getValue()); + permission.setDescription(PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + relatedPersonnelId); + permission.setCreateTime(now); + permission.setUpdateTime(now); + addPermission.add(permission); + } + } } projectRelatedPersonnel.setCertificationEngineer(midId.substring(0,midId.toString().length()-1)); + QueryWrapper delPermissionWrapper = new QueryWrapper<>(); + delPermissionWrapper.eq("project_id", projectId).eq("belong", ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_CERTIFICATION.getValue()).eq("description", PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + relatedPersonnelId); + projectUserPermissionService.remove(delPermissionWrapper); } }else{ projectRelatedPersonnel.setCertificationEngineer(""); } projectRelatedPersonnel.setProjectId(projectId); - Date now = new Date(); projectRelatedPersonnel.setUpdateTime(now); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); projectRelatedPersonnel.setUpdateBy(sysUser.getUsername()); @@ -1182,6 +1317,11 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl projectRelatedPersonnelList = new ArrayList<>(); + List addPermissionList = new ArrayList<>(); + + String projectId = ""; + ProjectRelatedPersonnel personnel = baseMapper.selectById(projectRelatedPersonnel.getIds().split(",")[0]); + if (ObjectUtils.isNotEmpty(personnel)) { + projectId = personnel.getProjectId(); + } + + Date now = new Date(); for (String id : projectRelatedPersonnel.getIds().split(",")) { ProjectRelatedPersonnel projectRelatedPersonnelTemp = new ProjectRelatedPersonnel(); projectRelatedPersonnelTemp.setId(id); - projectRelatedPersonnelTemp.setUpdateTime(new Date()); + projectRelatedPersonnelTemp.setUpdateTime(now); if(org.apache.commons.lang3.StringUtils.isNotBlank(projectRelatedPersonnel.getLawEngineer())){ projectRelatedPersonnelTemp.setLawEngineer(projectRelatedPersonnel.getLawEngineer()); + for (String lawEngineerId : projectRelatedPersonnel.getLawEngineer().split(",")) { + ProjectUserPermission permission = new ProjectUserPermission(); + permission.setProjectId(projectId); + permission.setUserId(lawEngineerId); + permission.setBelong(ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_LAW.getValue()); + permission.setDescription(PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + id); + permission.setCreateTime(now); + permission.setUpdateTime(now); + addPermissionList.add(permission); + } + QueryWrapper delPermissionQueryWrapper= new QueryWrapper<>(); + delPermissionQueryWrapper.eq("project_id", projectId).eq("belong", ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_LAW.getValue()).eq("description", PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + id); + projectUserPermissionService.remove(delPermissionQueryWrapper); } if(org.apache.commons.lang3.StringUtils.isNotBlank(projectRelatedPersonnel.getEngineeringInterfacePerson())){ projectRelatedPersonnelTemp.setEngineeringInterfacePerson(projectRelatedPersonnel.getEngineeringInterfacePerson()); + for (String engineeringInterfacePersonId : projectRelatedPersonnel.getEngineeringInterfacePerson().split(",")) { + ProjectUserPermission permission = new ProjectUserPermission(); + permission.setProjectId(projectId); + permission.setUserId(engineeringInterfacePersonId); + permission.setBelong(ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_INTERFACE.getValue()); + permission.setDescription(PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + id); + permission.setCreateTime(now); + permission.setUpdateTime(now); + addPermissionList.add(permission); + } + QueryWrapper delPermissionQueryWrapper= new QueryWrapper<>(); + delPermissionQueryWrapper.eq("project_id", projectId).eq("belong", ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_INTERFACE.getValue()).eq("description", PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + id); + projectUserPermissionService.remove(delPermissionQueryWrapper); } if(org.apache.commons.lang3.StringUtils.isNotBlank(projectRelatedPersonnel.getCertificationEngineer())){ projectRelatedPersonnelTemp.setCertificationEngineer(projectRelatedPersonnel.getCertificationEngineer()); + for (String certificationEngineerId : projectRelatedPersonnel.getCertificationEngineer().split(",")) { + ProjectUserPermission permission = new ProjectUserPermission(); + permission.setProjectId(projectId); + permission.setUserId(certificationEngineerId); + permission.setBelong(ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_CERTIFICATION.getValue()); + permission.setDescription(PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + id); + permission.setCreateTime(now); + permission.setUpdateTime(now); + addPermissionList.add(permission); + } + QueryWrapper delPermissionQueryWrapper= new QueryWrapper<>(); + delPermissionQueryWrapper.eq("project_id", projectId).eq("belong", ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_CERTIFICATION.getValue()).eq("description", PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + id); + projectUserPermissionService.remove(delPermissionQueryWrapper); } projectRelatedPersonnelList.add(projectRelatedPersonnelTemp); } this.updateBatchById(projectRelatedPersonnelList); + + if (ObjectUtils.isNotEmpty(addPermissionList)) { + projectUserPermissionService.saveBatch(addPermissionList); + } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserPermissionServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserPermissionServiceImpl.java new file mode 100644 index 000000000..500a8b351 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserPermissionServiceImpl.java @@ -0,0 +1,89 @@ +package com.jero.modules.project.service.impl; + +import com.jero.modules.project.entity.ProjectUserPermission; +import com.jero.modules.project.mapper.ProjectUserPermissionMapper; +import com.jero.modules.project.service.IProjectUserPermissionService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 项目权限表 + * @Author: jero-boot + * @Date: 2022-11-10 + * @Version: V1.0 + */ +@Service +public class ProjectUserPermissionServiceImpl extends ServiceImpl implements IProjectUserPermissionService { + + /** + * 保存 + * + * @param projectUserPermission + * @return + */ + @Override + public void add(ProjectUserPermission projectUserPermission) { + Date now = new Date(); + projectUserPermission.setCreateTime(now); + projectUserPermission.setUpdateTime(now); + save(projectUserPermission); + } + + /** + * 更新 + * + * @param projectUserPermission + * @return + */ + @Override + public void editById(ProjectUserPermission projectUserPermission) { + Date now = new Date(); + projectUserPermission.setUpdateTime(now); + saveOrUpdate(projectUserPermission); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public ProjectUserPermission queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} From 4bc4f6144c125c82130c3ed57029d63565d6e49e Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Mon, 14 Nov 2022 13:43:19 +0800 Subject: [PATCH 02/34] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E7=9A=84=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/projectManagement/components/TaskList.vue | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/jero-web/src/views/projectManagement/components/TaskList.vue b/jero-web/src/views/projectManagement/components/TaskList.vue index 9c409e443..6a86b9c4c 100644 --- a/jero-web/src/views/projectManagement/components/TaskList.vue +++ b/jero-web/src/views/projectManagement/components/TaskList.vue @@ -420,6 +420,10 @@ let query = {} switch (num) { case 1: + val.designTaskId = val.designTaskId + '' + if (val.designTaskId.length > 30) { + val.designTaskId = '' + } query = { taskIds: val.designTaskId, actiProcInstId: val.designPId, @@ -445,6 +449,10 @@ } break case 2: + val.prehomoTaskId = val.prehomoTaskId + '' + if (val.prehomoTaskId.length > 30) { + val.prehomoTaskId = '' + } query = { taskIds: val.prehomoTaskId, actiProcInstId: val.prehomoPId, @@ -470,6 +478,10 @@ } break case 3: + val.verifyTaskId = val.verifyTaskId + '' + if (val.verifyTaskId.length > 30) { + val.verifyTaskId = '' + } query = { taskIds: val.verifyTaskId, actiProcInstId: val.verifyPId, From 738936ea743b0cf1a0b5566e05e0216112ca1e0c Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Mon, 14 Nov 2022 15:33:46 +0800 Subject: [PATCH 03/34] =?UTF-8?q?=E7=9B=B8=E5=85=B3=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E5=90=8D=E5=8D=95=E4=B8=8E=E6=B3=95=E8=A7=84=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=9A=84=E6=9D=83=E9=99=90=E5=85=B3=E8=81=94?= =?UTF-8?q?=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectLibraryBaseServiceImpl.java | 34 ++-- .../ProjectRelatedPersonnelServiceImpl.java | 184 +++++++++++++++++- 2 files changed, 195 insertions(+), 23 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index b6cdb9ca7..3bce43455 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -514,25 +514,27 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl del = new QueryWrapper<>(); + del.eq("project_id", projectLibraryBase.getId()).eq("user_id", id).in("belong",belongs). + eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + lawsInventoryEO.getId()); + projectUserPermissionService.remove(del); } } - participator.append(original.getStudioEngineer()); - if (!participator.toString().contains(id)) { - //删除当前studio在法规清单中的人员权限 - QueryWrapper del = new QueryWrapper<>(); - del.eq("project_id", projectLibraryBase.getId()).eq("user_id", id).in("belong",belongs). - eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + lawsInventoryEO.getId()); - projectUserPermissionService.remove(del); - } } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java index 6d24a4aec..0859081ac 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java @@ -15,14 +15,12 @@ import com.jero.common.util.TokenUtils; import com.jero.modules.dummy.service.impl.DummyInventoryInfoEOServiceImpl; import com.jero.modules.enums.DictCodeEnum; import com.jero.modules.ocr.entity.User; -import com.jero.modules.project.entity.ProjectLibraryBase; -import com.jero.modules.project.entity.ProjectRelatedPersonnel; -import com.jero.modules.project.entity.ProjectUserPermission; -import com.jero.modules.project.enums.PermissionDescriptionEnum; -import com.jero.modules.project.enums.ProjectInventoryFieldEnum; -import com.jero.modules.project.enums.ProjectRoleEnum; -import com.jero.modules.project.enums.ProjectUserLocationEnum; +import com.jero.modules.project.entity.*; +import com.jero.modules.project.enums.*; +import com.jero.modules.project.mapper.ProjectLibraryBaseMapper; import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper; +import com.jero.modules.project.mapper.ProjectTaskInventoryEOMapper; +import com.jero.modules.project.service.IProjectLawsInventoryEOService; import com.jero.modules.project.service.IProjectRelatedPersonnelService; import com.jero.modules.project.service.IProjectUserPermissionService; import com.jero.modules.system.entity.SysDictItem; @@ -101,6 +99,15 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl belongs = new ArrayList<>(); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_INITIATOR.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_DUTY.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_INITIATOR.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_DUTY.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_INITIATOR.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_DUTY.getValue()); + setLawsInventoryPermission(projectRelatedPersonnel.getProjectId(), belongs, projectRelatedPersonnel, original, projectLibraryBase); } @@ -1062,6 +1081,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl addPermission = new ArrayList<>(); Date now = new Date(); + //修改当前属于当前责任领域的法规清单的人员权限 + List belongs = new ArrayList<>(); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_INITIATOR.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_DUTY.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_INITIATOR.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_DUTY.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_INITIATOR.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_DUTY.getValue()); for (ProjectRelatedPersonnel projectRelatedPersonnel:records) { String relatedPersonnelId = ""; @@ -1312,6 +1339,13 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl belongs, ProjectRelatedPersonnel projectRelatedPersonnel, ProjectRelatedPersonnel original, ProjectLibraryBase projectLibraryBase) { + QueryWrapper lawsInventoryWrapper = new QueryWrapper<>(); + lawsInventoryWrapper.eq("project_library_id", projectId).eq("duty_territory", projectRelatedPersonnel.getDutyTerritory()); + List list = projectLawsInventoryEOService.list(lawsInventoryWrapper); + if (ObjectUtils.isNotEmpty(list)) { + for (ProjectLawsInventoryEO lawsInventoryEO : list) { + boolean boo = false; + //发起任务前 + if (TaskAffirmStatusEnum.NOT_STARTED.getValue().equals(lawsInventoryEO.getTaskAffirmStatus())) { + boo = true; + } + //任务结束后 + if (!boo) { + int count = 0; + QueryWrapper taskInventoryQueryWrapper = new QueryWrapper<>(); + taskInventoryQueryWrapper.eq("project_laws_inventory_id", lawsInventoryEO.getId()); + List taskInventoryRecords = projectTaskInventoryEOMapper.selectList(taskInventoryQueryWrapper); + for (ProjectTaskInventoryEO taskInventoryRecord : taskInventoryRecords) { + String designStatus = taskInventoryRecord.getDesignStatus(); + String verifyStatus = taskInventoryRecord.getVerifyStatus(); + String prehomoStatus = taskInventoryRecord.getPrehomoStatus(); + boolean designStatusFlag = StringUtils.isBlank(designStatus) || designStatus.equals(DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + boolean verifyStatusFlag = StringUtils.isBlank(verifyStatus) || verifyStatus.equals(DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + boolean prehomoStatusFlag = StringUtils.isBlank(prehomoStatus) || prehomoStatus.equals(DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + if (designStatusFlag && verifyStatusFlag && prehomoStatusFlag) { + count++; + } + } + if (count == 3) { + boo = true; + } + } + if (boo) { + if (projectRelatedPersonnel.getLawEngineer() != null) { + //判断三个符合性确认的发起人跟责任人中是否有当前法规工程师,且该用户不为相关人员名单中的认证工程师、工程接口人、studio + if (ObjectUtils.isNotEmpty(original.getLawEngineer())) { + StringBuilder participator = new StringBuilder(); + if (ObjectUtils.isNotEmpty(projectRelatedPersonnel.getEngineeringInterfacePerson())) { + participator.append(projectRelatedPersonnel.getEngineeringInterfacePerson() + ","); + } + if (ObjectUtils.isNotEmpty(projectRelatedPersonnel.getCertificationEngineer())) { + participator.append(projectRelatedPersonnel.getCertificationEngineer() + ","); + } + if (ObjectUtils.isNotEmpty(projectLibraryBase)) { + participator.append(projectLibraryBase.getStudioEngineer()); + } + for (String lawEngineer : original.getLawEngineer().split(",")) { + if (!projectRelatedPersonnel.getLawEngineer().contains(lawEngineer)) { + //删除法规清单中法规工程师权限 + QueryWrapper LawEngineerPermissionDel = new QueryWrapper<>(); + LawEngineerPermissionDel.eq("project_id", projectRelatedPersonnel.getProjectId()) + .eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + lawsInventoryEO.getId()) + .eq("belong", ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_REGULATION.getValue()) + .eq("user_id", lawEngineer); + projectUserPermissionService.remove(LawEngineerPermissionDel); + //删除三个符合性确认中发起人/责任人权限 + if (!participator.toString().contains(lawEngineer)) { + QueryWrapper del = new QueryWrapper<>(); + del.eq("project_id", projectLibraryBase.getId()).eq("user_id", lawEngineer).in("belong", belongs). + eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + lawsInventoryEO.getId()); + projectUserPermissionService.remove(del); + } + } + } + } + + } + if (projectRelatedPersonnel.getEngineeringInterfacePerson() != null) { + //判断三个符合性确认的发起人跟责任人中是否有当前工程接口人,且该用户不为相关人员名单中的法规工程师、认证工程师、studio + if (ObjectUtils.isNotEmpty(original.getEngineeringInterfacePerson())) { + StringBuilder participator = new StringBuilder(); + if (ObjectUtils.isNotEmpty(projectRelatedPersonnel.getLawEngineer())) { + participator.append(projectRelatedPersonnel.getLawEngineer() + ","); + } + if (ObjectUtils.isNotEmpty(projectRelatedPersonnel.getCertificationEngineer())) { + participator.append(projectRelatedPersonnel.getCertificationEngineer() + ","); + } + if (ObjectUtils.isNotEmpty(projectLibraryBase)) { + participator.append(projectLibraryBase.getStudioEngineer()); + } + for (String interfacePerson : original.getEngineeringInterfacePerson().split(",")) { + if (!projectRelatedPersonnel.getEngineeringInterfacePerson().contains(interfacePerson)) { + //删除法规清单中工程接口人权限 + QueryWrapper interfacePersonPermissionDel = new QueryWrapper<>(); + interfacePersonPermissionDel.eq("project_id", projectRelatedPersonnel.getProjectId()) + .eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + lawsInventoryEO.getId()) + .eq("belong", ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_INTERFACE.getValue()) + .eq("user_id", interfacePerson); + projectUserPermissionService.remove(interfacePersonPermissionDel); + //删除三个符合性确认中发起人/责任人权限 + if (!participator.toString().contains(interfacePerson)) { + QueryWrapper del = new QueryWrapper<>(); + del.eq("project_id", projectLibraryBase.getId()).eq("user_id", interfacePerson).in("belong", belongs). + eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + lawsInventoryEO.getId()); + projectUserPermissionService.remove(del); + } + } + } + } + } + if (projectRelatedPersonnel.getCertificationEngineer() != null) { + //判断三个符合性确认的发起人跟责任人中是否有当前认证工程师,且该用户不为相关人员名单中的法规工程师、工程接口人、studio + if (ObjectUtils.isNotEmpty(original.getCertificationEngineer())) { + StringBuilder participator = new StringBuilder(); + if (ObjectUtils.isNotEmpty(projectRelatedPersonnel.getLawEngineer())) { + participator.append(projectRelatedPersonnel.getLawEngineer() + ","); + } + if (ObjectUtils.isNotEmpty(projectRelatedPersonnel.getEngineeringInterfacePerson())) { + participator.append(projectRelatedPersonnel.getEngineeringInterfacePerson() + ","); + } + if (ObjectUtils.isNotEmpty(projectLibraryBase)) { + participator.append(projectLibraryBase.getStudioEngineer()); + } + if (!projectRelatedPersonnel.getCertificationEngineer().equals(original.getCertificationEngineer())) { + //删除法规清单中认证工程师权限 + QueryWrapper certificationPermissionDel = new QueryWrapper<>(); + certificationPermissionDel.eq("project_id", projectRelatedPersonnel.getProjectId()) + .eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + lawsInventoryEO.getId()) + .eq("belong", ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_HOMOLOGATION.getValue()) + .eq("user_id", original.getCertificationEngineer()); + projectUserPermissionService.remove(certificationPermissionDel); + //删除三个符合性确认中发起人/责任人权限 + if (!participator.toString().contains(original.getCertificationEngineer())) { + QueryWrapper del = new QueryWrapper<>(); + del.eq("project_id", projectLibraryBase.getId()).eq("user_id", original.getCertificationEngineer()).in("belong", belongs). + eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + lawsInventoryEO.getId()); + projectUserPermissionService.remove(del); + } + } + } + } + } + } + } + } + /** * 验证导入的相关人员 * @param userList 所有的用户 From 819fe5ed08fd17b63687af195448f6e5bc49f3d8 Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Mon, 14 Nov 2022 16:32:24 +0800 Subject: [PATCH 04/34] =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=93=8D=E4=BD=9C+?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=95=B0=E6=8D=AE=E6=97=B6=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLawsInventoryEOServiceImpl.java | 50 ++++++++++++++++++- .../ProjectRelatedPersonnelServiceImpl.java | 14 +++++- 2 files changed, 62 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 3524c7c29..b1b7892f5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -3184,6 +3184,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl infoList = list(queryWrapper.in("id", idList)); List projectLawsInventoryEOList = new ArrayList<>(); + + List adds = new ArrayList<>(); + Date now = new Date(); for (String id : projectLawsInventoryEO.getIds().split(",")) { ProjectLawsInventoryEO projectLawsInventoryEOTemp = new ProjectLawsInventoryEO(); projectLawsInventoryEOTemp.setId(id); @@ -3227,46 +3230,57 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl projectTaskInventoryEOList = new ArrayList<>(); + //权限添加 + List adds = new ArrayList<>(); + Date now = new Date(); for (ProjectLawsInventoryEO projectLawsInventoryEO : dataList) { ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO(); String projectTaskInventoryId = UUID.randomUUID().toString().replace("-", ""); @@ -5517,6 +5534,37 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl oppositeDisposeData(List records, String projectId, String cut) { + ProjectLibraryBase projectLibraryBase = projectLibraryBaseMapper.selectById(projectId); //查询所有的用户 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.select(SysUser::getUsername,SysUser::getId); @@ -1342,7 +1343,6 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl belongs = new ArrayList<>(); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_INITIATOR.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_DUTY.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_INITIATOR.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_DUTY.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_INITIATOR.getValue()); + belongs.add(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_DUTY.getValue()); Date now = new Date(); for (String id : projectRelatedPersonnel.getIds().split(",")) { @@ -1675,6 +1684,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl Date: Mon, 14 Nov 2022 18:06:48 +0800 Subject: [PATCH 05/34] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=A1=AE=E8=AE=A4?= =?UTF-8?q?=E8=AF=A2=E9=97=AE=E5=A2=9E=E5=8A=A0=E6=9D=83=E9=99=90=20+=20sh?= =?UTF-8?q?iro=E7=99=BD=E5=90=8D=E5=8D=95=E5=A2=9E=E5=8A=A0=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E6=B5=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/config/shiro/ShiroConfig.java | 2 + .../impl/ParamsManifestEOServiceImpl.java | 4 +- .../ProjectUserPermissionController.java | 26 +++++++----- .../IProjectUserPermissionService.java | 9 ++++ .../ProjectUserPermissionServiceImpl.java | 42 +++++++++++++++++++ 5 files changed, 72 insertions(+), 11 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java index 6a49669a8..10d60668c 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java @@ -156,6 +156,8 @@ public class ShiroConfig { filterChainDefinitionMap.put("/todoCenter/processInfoEO/processCall", "anon"); // 流程信息明细表 工作流处理数据接口排除 filterChainDefinitionMap.put("/todoCenter/processInfoDetailEO/processCall", "anon"); + // 项目权限表 工作流处理数据接口排除 + filterChainDefinitionMap.put("/project/projectUserPermission/setPermission", "anon"); filterChainDefinitionMap.put("/lark/larkEventSubscriptionConfig", "anon"); //飞书调用接口,事件订阅配置。 filterChainDefinitionMap.put("/lark/larkCardMessageConfig", "anon"); //飞书调用接口,卡片消息配置。 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java index 90ac5c6ba..8588cedc8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java @@ -30,6 +30,7 @@ import com.jero.modules.cert.template.service.IParamsInfoPublishEOService; import com.jero.modules.cert.template.service.IParamsTemplateEOService; import com.jero.modules.project.entity.ProjectRelatedPersonnel; import com.jero.modules.project.service.IProjectRelatedPersonnelService; +import com.jero.modules.project.service.IProjectUserPermissionService; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.mapper.SysDictMapper; import com.jero.modules.system.service.ISysUserService; @@ -93,7 +94,8 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl { + @Autowired + private IProjectUserPermissionService projectUserPermissionService; + /** + * 工作流调用设置权限 + * @param jsonObject + * @return + */ + @AutoLog(value = "工作流调用设置权限") + @ApiOperation(value="工作流调用设置权限", notes="工作流调用设置权限") + @PostMapping(value = "/setPermission") + public Result processCall(@RequestBody JSONObject jsonObject){ + return projectUserPermissionService.setPermission(jsonObject); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserPermissionService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserPermissionService.java index 68d27e21b..74bab81a9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserPermissionService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserPermissionService.java @@ -1,5 +1,7 @@ package com.jero.modules.project.service; +import com.alibaba.fastjson.JSONObject; +import com.jero.common.api.vo.Result; import com.jero.modules.project.entity.ProjectUserPermission; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -58,4 +60,11 @@ public interface IProjectUserPermissionService extends IService queryList(); + + /** + * 工作流调用设置权限 + * @param jsonObject + * @return + */ + Result setPermission(JSONObject jsonObject); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserPermissionServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserPermissionServiceImpl.java index 500a8b351..831581962 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserPermissionServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserPermissionServiceImpl.java @@ -1,8 +1,17 @@ package com.jero.modules.project.service.impl; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.api.vo.Result; +import com.jero.common.system.vo.LoginUser; import com.jero.modules.project.entity.ProjectUserPermission; import com.jero.modules.project.mapper.ProjectUserPermissionMapper; import com.jero.modules.project.service.IProjectUserPermissionService; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; +import org.apache.commons.lang3.ObjectUtils; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.Date; @@ -17,6 +26,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class ProjectUserPermissionServiceImpl extends ServiceImpl implements IProjectUserPermissionService { + @Autowired + private ISysUserService sysUserService; + /** * 保存 * @@ -86,4 +98,34 @@ public class ProjectUserPermissionServiceImpl extends ServiceImpl queryList() { return list(); } + + /** + * 工作流调用设置权限 + * @param jsonObject + * @return + */ + @Override + public Result setPermission(JSONObject jsonObject) { + Date now = new Date(); + QueryWrapper permissionQueryWrapper = new QueryWrapper<>(); + permissionQueryWrapper.eq("project_id",jsonObject.getString("projectLibraryId") ) + .eq("user_id",jsonObject.getString("userId") ) + .eq("belong", jsonObject.getString("belong")) + .eq("description",jsonObject.getString("description")); + + if (ObjectUtils.isEmpty(list(permissionQueryWrapper))) { + ProjectUserPermission projectUserPermission = new ProjectUserPermission(); + projectUserPermission.setDescription(jsonObject.getString("description")); + projectUserPermission.setBelong(jsonObject.getString("belong")); + projectUserPermission.setUserId(jsonObject.getString("userId")); + projectUserPermission.setProjectId(jsonObject.getString("projectLibraryId")); + projectUserPermission.setCreateTime(now); + projectUserPermission.setUpdateTime(now); + SysUser sysUser = sysUserService.getById(jsonObject.getString("currentUserId")); + projectUserPermission.setCreateBy(ObjectUtils.isEmpty(sysUser)?"":sysUser.getUsername()); + projectUserPermission.setUpdateBy(ObjectUtils.isEmpty(sysUser)?"":sysUser.getUsername()); + save(projectUserPermission); + } + return new Result<>().success("调用成功!"); + } } From 34a0b2e31faeceabff2b8b7b43f561dcaeb5e740 Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Tue, 15 Nov 2022 10:52:59 +0800 Subject: [PATCH 06/34] =?UTF-8?q?=E4=B8=89=E4=B8=AA=E7=AC=A6=E5=90=88?= =?UTF-8?q?=E6=80=A7=E7=A1=AE=E8=AE=A4=E5=88=86=E5=8F=91=E5=B7=A5=E7=A8=8B?= =?UTF-8?q?=E5=B8=88=E6=97=B6=E5=A2=9E=E5=8A=A0=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ojectTaskInventoryDetailEOServiceImpl.java | 56 +++++++++++++++++-- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java index ae53fd0c2..6be203fab 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java @@ -18,19 +18,18 @@ import com.jero.modules.feishu.service.IFeishuService; import com.jero.modules.feishu.vo.FeishuMsg2Vo; import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.*; -import com.jero.modules.project.enums.JumpLinkEnum; -import com.jero.modules.project.enums.MsgTypeEnum; -import com.jero.modules.project.enums.SendMsgFlagEnum; -import com.jero.modules.project.enums.TaskStatusEnum; +import com.jero.modules.project.enums.*; import com.jero.modules.project.mapper.*; import com.jero.modules.project.service.IFeedbackHistoryService; import com.jero.modules.project.service.IProjectTaskInventoryDetailEOService; import com.jero.modules.project.service.IProjectTaskInventoryFeedbackEOService; +import com.jero.modules.project.service.IProjectUserPermissionService; import com.jero.modules.project.util.SendMessageUtils; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO; import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService; +import com.jero.modules.wkflow.enums.FlowTypeEnum; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang3.ObjectUtils; @@ -85,6 +84,9 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl adds = new ArrayList<>(); + String belong = ""; + String msgType = jsonObject.getString("msgType"); + if (MsgTypeEnum.DESIGN_ISSUE_DRE_MSG.getValue().equals(msgType)) { + belong = ProjectUserLocationEnum.PROJECT_LAWS_DESIGN_DISTRIBUTION.getValue(); + } else if (MsgTypeEnum.PREHOMO_ISSUE_DRE_MSG.getValue().equals(msgType)) { + belong = ProjectUserLocationEnum.PROJECT_LAWS_PREHOMO_DISTRIBUTION.getValue(); + } else if (MsgTypeEnum.VERIFY_ISSUE_DRE_MSG.getValue().equals(msgType)) { + belong = ProjectUserLocationEnum.PROJECT_LAWS_VERIFY_DISTRIBUTION.getValue(); + } + for (String userId : userIdList) { + ProjectUserPermission projectUserPermission = new ProjectUserPermission(); + projectUserPermission.setProjectId(lawsInventoryEO.getProjectLibraryId()); + projectUserPermission.setUserId(userId); + projectUserPermission.setBelong(belong); + projectUserPermission.setDescription(PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectTaskInventoryId); + projectUserPermission.setCreateTime(now); + projectUserPermission.setUpdateTime(now); + adds.add(projectUserPermission); + } + if (ObjectUtils.isNotEmpty(adds)) { + projectUserPermissionService.saveBatch(adds); + } + } + } if(CollectionUtils.isNotEmpty(projectTaskInventoryDetailEOUpdateList)){ @@ -271,6 +304,21 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl delPermission = new QueryWrapper<>(); + delPermission.eq("user_id", userId) + .eq("belong", belong) + .eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectTaskInventoryDetailEO.getProjectTaskInventoryId()); + projectUserPermissionService.remove(delPermission); } /** From f6a917941efc5fd63aab12452aa9e40943682210 Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Tue, 15 Nov 2022 14:18:51 +0800 Subject: [PATCH 07/34] =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=94=B6=E9=9B=86?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E6=B7=BB=E5=8A=A0=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ParamsCollectManifestEOServiceImpl.java | 80 +++++++++++++++++-- 1 file changed, 75 insertions(+), 5 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index c77f3013a..ea5d27968 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -48,8 +48,12 @@ import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.project.entity.ProjectLibraryBase; import com.jero.modules.project.entity.ProjectRelatedPersonnel; +import com.jero.modules.project.entity.ProjectUserPermission; +import com.jero.modules.project.enums.PermissionDescriptionEnum; +import com.jero.modules.project.enums.ProjectUserLocationEnum; import com.jero.modules.project.mapper.ProjectLibraryBaseMapper; import com.jero.modules.project.service.IProjectRelatedPersonnelService; +import com.jero.modules.project.service.IProjectUserPermissionService; import com.jero.modules.split.common.FileUnZip; import com.jero.modules.split.common.ReadExcel; import com.jero.modules.system.entity.SysAnnouncement; @@ -148,6 +152,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl updateEOList = new ArrayList<>(); + List delDrePermission = new ArrayList<>(); StringBuilder connectBuilder = new StringBuilder(); connectBuilder.append("You are required to fill in "); @@ -1534,9 +1541,31 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl delDreWrapper = new QueryWrapper<>(); + delDreWrapper.eq("project_id", projectId).eq("belong", ProjectUserLocationEnum.PROJECT_PARAMS_COLLECT_MANIFEST_DRE.getValue()).in("description", delDrePermission); + projectUserPermissionService.remove(delDreWrapper); + List adds = new ArrayList<>(); + for (ParamsCollectManifestEO paramsCollectManifestEO : updateEOList) { + ProjectUserPermission projectUserPermission = new ProjectUserPermission(); + projectUserPermission.setProjectId(projectId); + projectUserPermission.setUserId(sysUserService.getUserByName(paramsCollectManifestEO.getDre()) == null?"":sysUserService.getUserByName(paramsCollectManifestEO.getDre()).getId()); + projectUserPermission.setBelong(ProjectUserLocationEnum.PROJECT_PARAMS_COLLECT_MANIFEST_DRE.getValue()); + projectUserPermission.setDescription(PermissionDescriptionEnum.PARAMS_COLLECT_MANIFEST.getValue() + paramsCollectManifestEO.getId()); + projectUserPermission.setCreateTime(now); + projectUserPermission.setUpdateTime(now); + adds.add(projectUserPermission); + } + if (ObjectUtils.isNotEmpty(adds)) { + projectUserPermissionService.saveBatch(adds); + } + } // 消息内容 SysUser sysUser = sysUserService.getUserByName(dre); String[] thirdIds = new String[1]; @@ -1628,7 +1657,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl updateEOList = new ArrayList<>(); List> msgMapList = new ArrayList<>(); List updateEOIdList = new ArrayList<>(); - + List delSdtPermission = new ArrayList<>(); List paramsCollectManifestEOList = listByIds(Arrays.asList(paramsCollectManifestIdStr)); paramsCollectManifestEOList = paramsCollectManifestEOList.stream().sorted(Comparator.comparing(ParamsCollectManifestBaseEO::getNioNumber)).collect(Collectors.toList()); // 按NIO编号升序 for (ParamsCollectManifestEO paramsCollectManifestEO : paramsCollectManifestEOList) { @@ -1644,6 +1673,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl msgMap = new HashMap<>(); msgMap.put("nioNumber", paramsCollectManifestEO.getNioNumber()); @@ -1663,8 +1693,28 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl afterUpdateEOList = listByIds(updateEOIdList); + //设置权限 先删后加 + QueryWrapper delSdtWrapper = new QueryWrapper<>(); + delSdtWrapper.eq("project_id", projectId).eq("belong", ProjectUserLocationEnum.PROJECT_PARAMS_COLLECT_MANIFEST_SDT.getValue()).in("description", delSdtPermission); + projectUserPermissionService.remove(delSdtWrapper); + List adds = new ArrayList<>(); + for (ParamsCollectManifestEO paramsCollectManifestEO : afterUpdateEOList) { + ProjectUserPermission projectUserPermission = new ProjectUserPermission(); + projectUserPermission.setProjectId(projectId); + projectUserPermission.setUserId(sysUserService.getUserByName(paramsCollectManifestEO.getSdt()) == null?"":sysUserService.getUserByName(paramsCollectManifestEO.getSdt()).getId()); + projectUserPermission.setBelong(ProjectUserLocationEnum.PROJECT_PARAMS_COLLECT_MANIFEST_SDT.getValue()); + projectUserPermission.setDescription(PermissionDescriptionEnum.PARAMS_COLLECT_MANIFEST.getValue() + paramsCollectManifestEO.getId()); + projectUserPermission.setCreateTime(now); + projectUserPermission.setUpdateTime(now); + adds.add(projectUserPermission); + } + if (ObjectUtils.isNotEmpty(adds)) { + projectUserPermissionService.saveBatch(adds); + } + + // 消息内容 List sdtList = afterUpdateEOList.stream() .map(ParamsCollectManifestEO::getSdt) .distinct() @@ -1759,7 +1809,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl updateEOList = new ArrayList<>(); List> msgMapList = new ArrayList<>(); List updateEOIdList = new ArrayList<>(); - + List delSdtPermission = new ArrayList<>(); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ParamsCollectManifestEO::getParamsManifestId, paramsManifestId) .notIn(ParamsCollectManifestEO::getControlType, ControlTypeEnum.Title.getValue()) @@ -1778,6 +1828,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl msgMap = new HashMap<>(); msgMap.put("nioNumber", paramsCollectManifestEO.getNioNumber()); @@ -1797,8 +1848,27 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl afterUpdateEOList = listByIds(updateEOIdList); + //设置权限 先删后加 + QueryWrapper delSdtWrapper = new QueryWrapper<>(); + delSdtWrapper.eq("project_id", projectId).eq("belong", ProjectUserLocationEnum.PROJECT_PARAMS_COLLECT_MANIFEST_SDT.getValue()).in("description", delSdtPermission); + projectUserPermissionService.remove(delSdtWrapper); + List adds = new ArrayList<>(); + for (ParamsCollectManifestEO paramsCollectManifestEO : afterUpdateEOList) { + ProjectUserPermission projectUserPermission = new ProjectUserPermission(); + projectUserPermission.setProjectId(projectId); + projectUserPermission.setUserId(sysUserService.getUserByName(paramsCollectManifestEO.getSdt()) == null?"":sysUserService.getUserByName(paramsCollectManifestEO.getSdt()).getId()); + projectUserPermission.setBelong(ProjectUserLocationEnum.PROJECT_PARAMS_COLLECT_MANIFEST_SDT.getValue()); + projectUserPermission.setDescription(PermissionDescriptionEnum.PARAMS_COLLECT_MANIFEST.getValue() + paramsCollectManifestEO.getId()); + projectUserPermission.setCreateTime(now); + projectUserPermission.setUpdateTime(now); + adds.add(projectUserPermission); + } + if (ObjectUtils.isNotEmpty(adds)) { + projectUserPermissionService.saveBatch(adds); + } + // 消息内容 List sdtList = afterUpdateEOList.stream() .map(ParamsCollectManifestEO::getSdt) .distinct() From 1f29b0bf366984f4a63d81f5e7b72314429fcda2 Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Tue, 15 Nov 2022 14:52:56 +0800 Subject: [PATCH 08/34] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=B7=BB=E5=8A=A0viewe?= =?UTF-8?q?r=E8=A7=92=E8=89=B2=E6=97=B6=E9=9C=80=E8=A6=81=E7=94=A8?= =?UTF-8?q?=E5=88=B0=E7=9A=84=E5=93=81=E7=89=8C=E8=B7=9F=E8=B4=A3=E4=BB=BB?= =?UTF-8?q?=E9=A2=86=E5=9F=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectUserBrandController.java | 29 +++++++++ .../ProjectUserDutyTerritoryController.java | 28 +++++++++ .../project/entity/ProjectUserBrand.java | 51 +++++++++++++++ .../entity/ProjectUserDutyTerritory.java | 51 +++++++++++++++ .../mapper/ProjectUserBrandMapper.java | 17 +++++ .../ProjectUserDutyTerritoryMapper.java | 17 +++++ .../mapper/xml/ProjectUserBrandMapper.xml | 9 +++ .../xml/ProjectUserDutyTerritoryMapper.xml | 9 +++ .../service/IProjectUserBrandService.java | 45 ++++++++++++++ .../IProjectUserDutyTerritoryService.java | 45 ++++++++++++++ .../impl/ProjectUserBrandServiceImpl.java | 62 +++++++++++++++++++ .../ProjectUserDutyTerritoryServiceImpl.java | 62 +++++++++++++++++++ 12 files changed, 425 insertions(+) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserBrandController.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserDutyTerritoryController.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserBrand.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserDutyTerritory.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserBrandMapper.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserDutyTerritoryMapper.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserBrandMapper.xml create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserDutyTerritoryMapper.xml create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserBrandService.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserDutyTerritoryService.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserBrandServiceImpl.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserDutyTerritoryServiceImpl.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserBrandController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserBrandController.java new file mode 100644 index 000000000..16e120aba --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserBrandController.java @@ -0,0 +1,29 @@ +package com.jero.modules.project.controller; + + +import com.jero.modules.project.entity.ProjectUserBrand; +import com.jero.modules.project.service.IProjectUserBrandService; + +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.Api; + + + /** + * @Description: 用户品牌表 + * @Author: jero-boot + * @Date: 2022-11-15 + * @Version: V1.0 + */ +@Api(tags="用户品牌表") +@RestController +@RequestMapping("/project/projectUserBrand") +@Slf4j +public class ProjectUserBrandController extends JeroController { + @Autowired + private IProjectUserBrandService projectUserBrandService; + + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserDutyTerritoryController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserDutyTerritoryController.java new file mode 100644 index 000000000..5bc5ed374 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserDutyTerritoryController.java @@ -0,0 +1,28 @@ +package com.jero.modules.project.controller; + + +import com.jero.modules.project.entity.ProjectUserDutyTerritory; +import com.jero.modules.project.service.IProjectUserDutyTerritoryService; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.Api; + + + /** + * @Description: 用户责任领域 + * @Author: jero-boot + * @Date: 2022-11-15 + * @Version: V1.0 + */ +@Api(tags="用户责任领域") +@RestController +@RequestMapping("/project/projectUserDutyTerritory") +@Slf4j +public class ProjectUserDutyTerritoryController extends JeroController { + @Autowired + private IProjectUserDutyTerritoryService projectUserDutyTerritoryService; + + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserBrand.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserBrand.java new file mode 100644 index 000000000..946c70e9f --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserBrand.java @@ -0,0 +1,51 @@ +package com.jero.modules.project.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 用户品牌表 + * @Author: jero-boot + * @Date: 2022-11-15 + * @Version: V1.0 + */ +@Data +@TableName("project_user_brand") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="project_user_brand对象", description="用户品牌表") +public class ProjectUserBrand implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + + /**用户id*/ + @Excel(name = "用户id", width = 15) + @ApiModelProperty(value = "用户id") + private String userId; + + /**品牌类型*/ + @Excel(name = "品牌类型", width = 15) + @ApiModelProperty(value = "品牌类型") + @Dict(dicCode = "brand") + private String brandType; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserDutyTerritory.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserDutyTerritory.java new file mode 100644 index 000000000..2e4e0a244 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserDutyTerritory.java @@ -0,0 +1,51 @@ +package com.jero.modules.project.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 用户责任领域 + * @Author: jero-boot + * @Date: 2022-11-15 + * @Version: V1.0 + */ +@Data +@TableName("project_user_duty_territory") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="project_user_duty_territory对象", description="用户责任领域") +public class ProjectUserDutyTerritory implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + + /**用户id*/ + @Excel(name = "用户id", width = 15) + @ApiModelProperty(value = "用户id") + private String userId; + + /**责任领域*/ + @Excel(name = "责任领域", width = 15) + @ApiModelProperty(value = "责任领域") + @Dict(dicCode = "duty_territory") + private String dutyTerritory; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserBrandMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserBrandMapper.java new file mode 100644 index 000000000..c0d9ca97b --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserBrandMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.project.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.project.entity.ProjectUserBrand; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 用户品牌表 + * @Author: jero-boot + * @Date: 2022-11-15 + * @Version: V1.0 + */ +public interface ProjectUserBrandMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserDutyTerritoryMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserDutyTerritoryMapper.java new file mode 100644 index 000000000..6f1c309fe --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserDutyTerritoryMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.project.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.project.entity.ProjectUserDutyTerritory; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 用户责任领域 + * @Author: jero-boot + * @Date: 2022-11-15 + * @Version: V1.0 + */ +public interface ProjectUserDutyTerritoryMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserBrandMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserBrandMapper.xml new file mode 100644 index 000000000..da34ad5c8 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserBrandMapper.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserDutyTerritoryMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserDutyTerritoryMapper.xml new file mode 100644 index 000000000..db9d37d76 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserDutyTerritoryMapper.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserBrandService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserBrandService.java new file mode 100644 index 000000000..7919d93bf --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserBrandService.java @@ -0,0 +1,45 @@ +package com.jero.modules.project.service; + +import com.jero.modules.project.entity.ProjectUserBrand; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 用户品牌表 + * @Author: jero-boot + * @Date: 2022-11-15 + * @Version: V1.0 + */ +public interface IProjectUserBrandService extends IService { + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + ProjectUserBrand queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserDutyTerritoryService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserDutyTerritoryService.java new file mode 100644 index 000000000..fa2284ffc --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserDutyTerritoryService.java @@ -0,0 +1,45 @@ +package com.jero.modules.project.service; + +import com.jero.modules.project.entity.ProjectUserDutyTerritory; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 用户责任领域 + * @Author: jero-boot + * @Date: 2022-11-15 + * @Version: V1.0 + */ +public interface IProjectUserDutyTerritoryService extends IService { + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + ProjectUserDutyTerritory queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserBrandServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserBrandServiceImpl.java new file mode 100644 index 000000000..eb72c447c --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserBrandServiceImpl.java @@ -0,0 +1,62 @@ +package com.jero.modules.project.service.impl; + +import com.jero.modules.project.entity.ProjectUserBrand; +import com.jero.modules.project.mapper.ProjectUserBrandMapper; +import com.jero.modules.project.service.IProjectUserBrandService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 用户品牌表 + * @Author: jero-boot + * @Date: 2022-11-15 + * @Version: V1.0 + */ +@Service +public class ProjectUserBrandServiceImpl extends ServiceImpl implements IProjectUserBrandService { + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public ProjectUserBrand queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserDutyTerritoryServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserDutyTerritoryServiceImpl.java new file mode 100644 index 000000000..971918bb1 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserDutyTerritoryServiceImpl.java @@ -0,0 +1,62 @@ +package com.jero.modules.project.service.impl; + +import com.jero.modules.project.entity.ProjectUserDutyTerritory; +import com.jero.modules.project.mapper.ProjectUserDutyTerritoryMapper; +import com.jero.modules.project.service.IProjectUserDutyTerritoryService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 用户责任领域 + * @Author: jero-boot + * @Date: 2022-11-15 + * @Version: V1.0 + */ +@Service +public class ProjectUserDutyTerritoryServiceImpl extends ServiceImpl implements IProjectUserDutyTerritoryService { + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public ProjectUserDutyTerritory queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} From ea4d8bc82f85413e46c1be258b1d05ec9fecc9b4 Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Tue, 15 Nov 2022 16:21:13 +0800 Subject: [PATCH 09/34] =?UTF-8?q?=E7=94=A8=E6=88=B7viewer=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E6=97=B6=E6=B7=BB=E5=8A=A0=E5=93=81=E7=89=8C=E8=B7=9F?= =?UTF-8?q?=E8=B4=A3=E4=BB=BB=E9=A2=86=E5=9F=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectUserBrandController.java | 29 ++++++++++++ .../ProjectUserDutyTerritoryController.java | 29 ++++++++++++ .../system/controller/SysUserController.java | 23 +++++++++- .../system}/entity/ProjectUserBrand.java | 2 +- .../entity/ProjectUserDutyTerritory.java | 2 +- .../modules/system/enums/ProjectRoleEnum.java | 1 + .../mapper/ProjectUserBrandMapper.java | 7 +-- .../ProjectUserDutyTerritoryMapper.java | 7 +-- .../mapper/xml/ProjectUserBrandMapper.xml | 6 +-- .../xml/ProjectUserDutyTerritoryMapper.xml | 6 +-- .../service/IProjectUserBrandService.java | 4 +- .../IProjectUserDutyTerritoryService.java | 4 +- .../system/service/ISysUserService.java | 6 +-- .../impl/ProjectUserBrandServiceImpl.java | 10 ++-- .../ProjectUserDutyTerritoryServiceImpl.java | 10 ++-- .../service/impl/SysUserServiceImpl.java | 46 ++++++++++++++++++- .../ProjectUserBrandController.java | 29 ------------ .../ProjectUserDutyTerritoryController.java | 28 ----------- .../project/entity/ProjectLibraryBase.java | 3 ++ .../mapper/xml/ProjectLibraryBaseMapper.xml | 4 +- 20 files changed, 161 insertions(+), 95 deletions(-) create mode 100644 jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/ProjectUserBrandController.java create mode 100644 jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/ProjectUserDutyTerritoryController.java rename jero-boot/{jero-boot-modules/src/main/java/com/jero/modules/project => jero-boot-module-system/src/main/java/com/jero/modules/system}/entity/ProjectUserBrand.java (97%) rename jero-boot/{jero-boot-modules/src/main/java/com/jero/modules/project => jero-boot-module-system/src/main/java/com/jero/modules/system}/entity/ProjectUserDutyTerritory.java (97%) rename jero-boot/{jero-boot-modules/src/main/java/com/jero/modules/project => jero-boot-module-system/src/main/java/com/jero/modules/system}/mapper/ProjectUserBrandMapper.java (59%) rename jero-boot/{jero-boot-modules/src/main/java/com/jero/modules/project => jero-boot-module-system/src/main/java/com/jero/modules/system}/mapper/ProjectUserDutyTerritoryMapper.java (60%) rename jero-boot/{jero-boot-modules/src/main/java/com/jero/modules/project => jero-boot-module-system/src/main/java/com/jero/modules/system}/mapper/xml/ProjectUserBrandMapper.xml (75%) rename jero-boot/{jero-boot-modules/src/main/java/com/jero/modules/project => jero-boot-module-system/src/main/java/com/jero/modules/system}/mapper/xml/ProjectUserDutyTerritoryMapper.xml (72%) rename jero-boot/{jero-boot-modules/src/main/java/com/jero/modules/project => jero-boot-module-system/src/main/java/com/jero/modules/system}/service/IProjectUserBrandService.java (86%) rename jero-boot/{jero-boot-modules/src/main/java/com/jero/modules/project => jero-boot-module-system/src/main/java/com/jero/modules/system}/service/IProjectUserDutyTerritoryService.java (86%) rename jero-boot/{jero-boot-modules/src/main/java/com/jero/modules/project => jero-boot-module-system/src/main/java/com/jero/modules/system}/service/impl/ProjectUserBrandServiceImpl.java (79%) rename jero-boot/{jero-boot-modules/src/main/java/com/jero/modules/project => jero-boot-module-system/src/main/java/com/jero/modules/system}/service/impl/ProjectUserDutyTerritoryServiceImpl.java (78%) delete mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserBrandController.java delete mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserDutyTerritoryController.java diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/ProjectUserBrandController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/ProjectUserBrandController.java new file mode 100644 index 000000000..1ac0b4bcb --- /dev/null +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/ProjectUserBrandController.java @@ -0,0 +1,29 @@ +package com.jero.modules.system.controller; + + +import com.jero.common.system.base.controller.JeroController; +import com.jero.modules.system.entity.ProjectUserBrand; +import com.jero.modules.system.service.IProjectUserBrandService; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** +* @Description: 用户品牌表 +* @Author: jero-boot +* @Date: 2022-11-15 +* @Version: V1.0 +*/ +@Api(tags="用户品牌表") +@RestController +@RequestMapping("/project/projectUserBrand") +@Slf4j +public class ProjectUserBrandController extends JeroController { + @Autowired + private IProjectUserBrandService projectUserBrandService; + + +} diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/ProjectUserDutyTerritoryController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/ProjectUserDutyTerritoryController.java new file mode 100644 index 000000000..deab14630 --- /dev/null +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/ProjectUserDutyTerritoryController.java @@ -0,0 +1,29 @@ +package com.jero.modules.system.controller; + + +import com.jero.common.system.base.controller.JeroController; +import com.jero.modules.system.entity.ProjectUserDutyTerritory; +import com.jero.modules.system.service.IProjectUserDutyTerritoryService; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** +* @Description: 用户责任领域 +* @Author: jero-boot +* @Date: 2022-11-15 +* @Version: V1.0 +*/ +@Api(tags="用户责任领域") +@RestController +@RequestMapping("/project/projectUserDutyTerritory") +@Slf4j +public class ProjectUserDutyTerritoryController extends JeroController { + @Autowired + private IProjectUserDutyTerritoryService projectUserDutyTerritoryService; + + +} diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index e4198f9f9..7b0d81c06 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -41,6 +41,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecgframework.poi.excel.ExcelImportUtil; @@ -111,6 +112,12 @@ public class SysUserController { @Resource private BaseCommonService baseCommonService; + @Autowired + private IProjectUserBrandService projectUserBrandService; + + @Autowired + private IProjectUserDutyTerritoryService projectUserDutyTerritoryService; + /** * 获取用户列表数据 * @@ -227,6 +234,11 @@ public class SysUserController { Result result = new Result(); try { String ids = jsonObject.getString("ids"); + String roles = jsonObject.getString("selectedroles"); + String dutyTerritories = jsonObject.getString("dutyTerritories"); + String brands = jsonObject.getString("brands"); + List projectUserBrandList = new ArrayList<>(); + List projectUserDutyTerritoryList = new ArrayList<>(); List idList = Arrays.asList(ids.split(",")); for (String id : idList) { SysUser sysUser = sysUserService.getById(id); @@ -238,11 +250,20 @@ public class SysUserController { user.setId(id); user.setUpdateTime(new Date()); - String roles = jsonObject.getString("selectedroles"); sysUserService.editUserWithRole(user, roles); + if (ObjectUtils.isNotEmpty(roles)) { + //如果角色包含viewer,设置责任领域权限和品牌权限 + sysUserService.setBrandAndDutyTerritory(roles, dutyTerritories, brands, projectUserBrandList, projectUserDutyTerritoryList, id); + } result.success("修改成功!"); } } + if (ObjectUtils.isNotEmpty(projectUserBrandList)) { + projectUserBrandService.saveBatch(projectUserBrandList); + } + if (ObjectUtils.isNotEmpty(projectUserDutyTerritoryList)) { + projectUserDutyTerritoryService.saveBatch(projectUserDutyTerritoryList); + } } catch (Exception e) { log.error(e.getMessage(), e); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserBrand.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/ProjectUserBrand.java similarity index 97% rename from jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserBrand.java rename to jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/ProjectUserBrand.java index 946c70e9f..07ace8a88 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserBrand.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/ProjectUserBrand.java @@ -1,4 +1,4 @@ -package com.jero.modules.project.entity; +package com.jero.modules.system.entity; import java.io.Serializable; import java.io.UnsupportedEncodingException; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserDutyTerritory.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/ProjectUserDutyTerritory.java similarity index 97% rename from jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserDutyTerritory.java rename to jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/ProjectUserDutyTerritory.java index 2e4e0a244..029de2474 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectUserDutyTerritory.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/ProjectUserDutyTerritory.java @@ -1,4 +1,4 @@ -package com.jero.modules.project.entity; +package com.jero.modules.system.entity; import java.io.Serializable; import java.io.UnsupportedEncodingException; diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java index 8f4b0c151..9c348e93c 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java @@ -10,6 +10,7 @@ public enum ProjectRoleEnum { REGULATI_AND_HOMOLOGATION_ENGINEER("法规工程师/认证工程师","4","Regulatory Engineer/Certification Engineer"), MANAGER("领导角色","11","R&H Manager"), ADMIN("系统管理员","12","admin"), + VIEWER("Viewer","","Viewer"), ; String name; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserBrandMapper.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/ProjectUserBrandMapper.java similarity index 59% rename from jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserBrandMapper.java rename to jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/ProjectUserBrandMapper.java index c0d9ca97b..ace0b9b79 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserBrandMapper.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/ProjectUserBrandMapper.java @@ -1,9 +1,6 @@ -package com.jero.modules.project.mapper; +package com.jero.modules.system.mapper; -import java.util.List; - -import org.apache.ibatis.annotations.Param; -import com.jero.modules.project.entity.ProjectUserBrand; +import com.jero.modules.system.entity.ProjectUserBrand; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserDutyTerritoryMapper.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/ProjectUserDutyTerritoryMapper.java similarity index 60% rename from jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserDutyTerritoryMapper.java rename to jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/ProjectUserDutyTerritoryMapper.java index 6f1c309fe..6ccf9460c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectUserDutyTerritoryMapper.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/ProjectUserDutyTerritoryMapper.java @@ -1,9 +1,6 @@ -package com.jero.modules.project.mapper; +package com.jero.modules.system.mapper; -import java.util.List; - -import org.apache.ibatis.annotations.Param; -import com.jero.modules.project.entity.ProjectUserDutyTerritory; +import com.jero.modules.system.entity.ProjectUserDutyTerritory; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserBrandMapper.xml b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/ProjectUserBrandMapper.xml similarity index 75% rename from jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserBrandMapper.xml rename to jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/ProjectUserBrandMapper.xml index da34ad5c8..1c31443f5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserBrandMapper.xml +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/ProjectUserBrandMapper.xml @@ -1,9 +1,9 @@ - - + + - \ No newline at end of file + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserDutyTerritoryMapper.xml b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/ProjectUserDutyTerritoryMapper.xml similarity index 72% rename from jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserDutyTerritoryMapper.xml rename to jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/ProjectUserDutyTerritoryMapper.xml index db9d37d76..37fa6dc00 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectUserDutyTerritoryMapper.xml +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/ProjectUserDutyTerritoryMapper.xml @@ -1,9 +1,9 @@ - - + + - \ No newline at end of file + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserBrandService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/IProjectUserBrandService.java similarity index 86% rename from jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserBrandService.java rename to jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/IProjectUserBrandService.java index 7919d93bf..a66b051ef 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserBrandService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/IProjectUserBrandService.java @@ -1,6 +1,6 @@ -package com.jero.modules.project.service; +package com.jero.modules.system.service; -import com.jero.modules.project.entity.ProjectUserBrand; +import com.jero.modules.system.entity.ProjectUserBrand; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserDutyTerritoryService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/IProjectUserDutyTerritoryService.java similarity index 86% rename from jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserDutyTerritoryService.java rename to jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/IProjectUserDutyTerritoryService.java index fa2284ffc..e7b8f9e2f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectUserDutyTerritoryService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/IProjectUserDutyTerritoryService.java @@ -1,6 +1,6 @@ -package com.jero.modules.project.service; +package com.jero.modules.system.service; -import com.jero.modules.project.entity.ProjectUserDutyTerritory; +import com.jero.modules.system.entity.ProjectUserDutyTerritory; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java index 250953aaa..311c4c00c 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java @@ -8,9 +8,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.jero.common.api.vo.Result; import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.SysUserCacheInfo; -import com.jero.modules.system.entity.PPEmployee; -import com.jero.modules.system.entity.SysRole; -import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.entity.*; import com.jero.modules.system.model.DepartIdModel; import com.jero.modules.system.model.SysUserSysDepartModel; import org.springframework.transaction.annotation.Transactional; @@ -301,4 +299,6 @@ public interface ISysUserService extends IService { * @return */ boolean isRegulationOwner(LoginUser currentUser); + + void setBrandAndDutyTerritory(String roles, String dutyTerritories, String brands, List projectUserBrandList, List projectUserDutyTerritoryList, String userId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserBrandServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/ProjectUserBrandServiceImpl.java similarity index 79% rename from jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserBrandServiceImpl.java rename to jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/ProjectUserBrandServiceImpl.java index eb72c447c..8b70f71bb 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserBrandServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/ProjectUserBrandServiceImpl.java @@ -1,11 +1,11 @@ -package com.jero.modules.project.service.impl; +package com.jero.modules.system.service.impl; -import com.jero.modules.project.entity.ProjectUserBrand; -import com.jero.modules.project.mapper.ProjectUserBrandMapper; -import com.jero.modules.project.service.IProjectUserBrandService; +import com.jero.modules.system.entity.ProjectUserBrand; +import com.jero.modules.system.mapper.ProjectUserBrandMapper; +import com.jero.modules.system.service.IProjectUserBrandService; import org.springframework.stereotype.Service; import java.util.List; -import java.util.Date; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserDutyTerritoryServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/ProjectUserDutyTerritoryServiceImpl.java similarity index 78% rename from jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserDutyTerritoryServiceImpl.java rename to jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/ProjectUserDutyTerritoryServiceImpl.java index 971918bb1..40bdf68b0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserDutyTerritoryServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/ProjectUserDutyTerritoryServiceImpl.java @@ -1,11 +1,11 @@ -package com.jero.modules.project.service.impl; +package com.jero.modules.system.service.impl; -import com.jero.modules.project.entity.ProjectUserDutyTerritory; -import com.jero.modules.project.mapper.ProjectUserDutyTerritoryMapper; -import com.jero.modules.project.service.IProjectUserDutyTerritoryService; +import com.jero.modules.system.entity.ProjectUserDutyTerritory; +import com.jero.modules.system.mapper.ProjectUserDutyTerritoryMapper; +import com.jero.modules.system.service.IProjectUserDutyTerritoryService; import org.springframework.stereotype.Service; import java.util.List; -import java.util.Date; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index a9db69c51..f5c2df47b 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -17,14 +17,19 @@ import com.jero.common.util.oConvertUtils; import com.jero.modules.base.service.BaseCommonService; import com.jero.modules.system.entity.*; import com.jero.modules.system.enums.PPSyncEnum; +import com.jero.modules.system.enums.ProjectRoleEnum; import com.jero.modules.system.enums.RoleEnum; import com.jero.modules.system.mapper.*; import com.jero.modules.system.model.SysUserSysDepartModel; +import com.jero.modules.system.service.IProjectUserBrandService; +import com.jero.modules.system.service.IProjectUserDutyTerritoryService; +import com.jero.modules.system.service.ISysRoleService; import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.vo.SysUserDepVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; @@ -67,8 +72,15 @@ public class SysUserServiceImpl extends ServiceImpl impl private SysDepartRoleMapper sysDepartRoleMapper; @Resource private BaseCommonService baseCommonService; + @Autowired + private ISysRoleService sysRoleService; + @Autowired + private IProjectUserBrandService projectUserBrandService; + @Autowired + private IProjectUserDutyTerritoryService projectUserDutyTerritoryService; - @Override + + @Override @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true) public Result resetPassword(String username, String oldpassword, String newpassword, String confirmpassword) { SysUser user = userMapper.getUserByName(username); @@ -698,4 +710,36 @@ public class SysUserServiceImpl extends ServiceImpl impl } return result; } + + @Override + public void setBrandAndDutyTerritory(String roles, String dutyTerritories, String brands, List projectUserBrandList, List projectUserDutyTerritoryList, String userId) { + List roleCodes = sysRoleService.listByIds(Arrays.asList(roles.split(","))).stream().map(SysRole::getRoleCode).collect(Collectors.toList()); + if (roleCodes.contains(ProjectRoleEnum.VIEWER.getCode())) { + //先删后加 + QueryWrapper brandDelWrapper = new QueryWrapper<>(); + brandDelWrapper.eq("user_id", userId); + projectUserBrandService.remove(brandDelWrapper); + + QueryWrapper dutyTerritoryDelWrapper = new QueryWrapper<>(); + dutyTerritoryDelWrapper.eq("user_id", userId); + projectUserDutyTerritoryService.remove(dutyTerritoryDelWrapper); + + if (ObjectUtils.isNotEmpty(dutyTerritories)) { + for (String dutyTerritory : dutyTerritories.split(",")) { + ProjectUserDutyTerritory projectUserDutyTerritory = new ProjectUserDutyTerritory(); + projectUserDutyTerritory.setUserId(userId); + projectUserDutyTerritory.setDutyTerritory(dutyTerritory); + projectUserDutyTerritoryList.add(projectUserDutyTerritory); + } + } + if (ObjectUtils.isNotEmpty(brands)) { + for (String brand : brands.split(",")) { + ProjectUserBrand projectUserBrand = new ProjectUserBrand(); + projectUserBrand.setUserId(userId); + projectUserBrand.setBrandType(brand); + projectUserBrandList.add(projectUserBrand); + } + } + } + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserBrandController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserBrandController.java deleted file mode 100644 index 16e120aba..000000000 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserBrandController.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.jero.modules.project.controller; - - -import com.jero.modules.project.entity.ProjectUserBrand; -import com.jero.modules.project.service.IProjectUserBrandService; - -import lombok.extern.slf4j.Slf4j; -import com.jero.common.system.base.controller.JeroController; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import io.swagger.annotations.Api; - - - /** - * @Description: 用户品牌表 - * @Author: jero-boot - * @Date: 2022-11-15 - * @Version: V1.0 - */ -@Api(tags="用户品牌表") -@RestController -@RequestMapping("/project/projectUserBrand") -@Slf4j -public class ProjectUserBrandController extends JeroController { - @Autowired - private IProjectUserBrandService projectUserBrandService; - - -} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserDutyTerritoryController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserDutyTerritoryController.java deleted file mode 100644 index 5bc5ed374..000000000 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectUserDutyTerritoryController.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.jero.modules.project.controller; - - -import com.jero.modules.project.entity.ProjectUserDutyTerritory; -import com.jero.modules.project.service.IProjectUserDutyTerritoryService; -import lombok.extern.slf4j.Slf4j; -import com.jero.common.system.base.controller.JeroController; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import io.swagger.annotations.Api; - - - /** - * @Description: 用户责任领域 - * @Author: jero-boot - * @Date: 2022-11-15 - * @Version: V1.0 - */ -@Api(tags="用户责任领域") -@RestController -@RequestMapping("/project/projectUserDutyTerritory") -@Slf4j -public class ProjectUserDutyTerritoryController extends JeroController { - @Autowired - private IProjectUserDutyTerritoryService projectUserDutyTerritoryService; - - -} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java index d831a5896..7442085f7 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java @@ -135,6 +135,9 @@ public class ProjectLibraryBase implements Comparable { @TableField(exist = false) private List children; + //品牌 + private String brand; + @Override public int compareTo(ProjectLibraryBase o) { return Integer.valueOf(this.projectVersion)-Integer.valueOf(o.projectVersion);//升序 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLibraryBaseMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLibraryBaseMapper.xml index f438c3f24..b504c0987 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLibraryBaseMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLibraryBaseMapper.xml @@ -20,6 +20,7 @@ + @@ -49,7 +50,8 @@ plb.explanation, plb.software_version, plb.sort, - plb.flag + plb.flag, + plb.brand from project_library_base as plb left join project_name_info as pni on plb.project_name_id=pni.id left join sys_user as studiouser on plb.studio_engineer=studiouser.id From afb50c3fa94833b656d20e7bca866e03d1df0e7a Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Wed, 16 Nov 2022 11:21:09 +0800 Subject: [PATCH 10/34] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/common/lang/en-us.js | 1 + jero-web/src/common/lang/zh-cn.js | 1 + .../components/batchModel.vue | 2 +- .../components/cuibanModel.vue | 2 +- jero-web/src/views/system/UserList.vue | 2 +- .../views/system/modules/RoleAssignment.vue | 74 ++++++++++++++++++- .../src/views/system/modules/UserModal.vue | 70 +++++++++++++++++- 7 files changed, 144 insertions(+), 8 deletions(-) diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index 2049d8217..f2254f6ae 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -1361,4 +1361,5 @@ module.exports = { relatedProjectVersion:'Related project version', Importfailure:'Import failure', CuiBan:'CuiBan', + brand:'Brand', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index af3986456..fba37bbfe 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -1462,4 +1462,5 @@ module.exports = { relatedProjectVersion:'相关项目版本', Importfailure:'导入失败', CuiBan:'催办', + brand:'品牌', } \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/batchModel.vue b/jero-web/src/views/projectManagement/components/batchModel.vue index fd18f1864..ae997e367 100644 --- a/jero-web/src/views/projectManagement/components/batchModel.vue +++ b/jero-web/src/views/projectManagement/components/batchModel.vue @@ -163,7 +163,7 @@ export default { } .itemModel { - width: calc(100% - 130px); + width: calc(80% - 130px); display: inline-block; margin-top: 2px; } diff --git a/jero-web/src/views/projectManagement/components/cuibanModel.vue b/jero-web/src/views/projectManagement/components/cuibanModel.vue index f8d522483..762dd87cd 100644 --- a/jero-web/src/views/projectManagement/components/cuibanModel.vue +++ b/jero-web/src/views/projectManagement/components/cuibanModel.vue @@ -172,7 +172,7 @@ export default { } .itemModel { - width: calc(100% - 130px); + width: calc(80% - 130px); display: inline-block; margin-top: 2px; } diff --git a/jero-web/src/views/system/UserList.vue b/jero-web/src/views/system/UserList.vue index b44f2bb1a..2b19d71a3 100644 --- a/jero-web/src/views/system/UserList.vue +++ b/jero-web/src/views/system/UserList.vue @@ -132,7 +132,7 @@ - {{$t('See')}} + {{$t('edit')}} diff --git a/jero-web/src/views/system/modules/RoleAssignment.vue b/jero-web/src/views/system/modules/RoleAssignment.vue index b6ce3f84b..0e1c36c72 100644 --- a/jero-web/src/views/system/modules/RoleAssignment.vue +++ b/jero-web/src/views/system/modules/RoleAssignment.vue @@ -12,7 +12,7 @@ - + {{ role.roleName }} @@ -22,6 +22,33 @@ + + + + + + + + + + + + + + + + + + + + +
@@ -33,6 +60,7 @@