权限同步数据库脚本
This commit is contained in:
+2
@@ -28,4 +28,6 @@ public interface ParamsCollectManifestEOMapper extends BaseMapper<ParamsCollectM
|
||||
IPage pageInfo(@Param("page") IPage page, @Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO);
|
||||
|
||||
List<ParamsCollectManifestEO> queryByParamManifestId(@Param("paramsManifestId") String paramsManifestIdString);
|
||||
|
||||
List<ParamsCollectManifestEO> queryByProjectId(@Param("projectId") String projectId);
|
||||
}
|
||||
|
||||
+4
@@ -125,4 +125,8 @@
|
||||
select * from params_collect_manifest where params_manifest_id = #{paramsManifestId}
|
||||
</select>
|
||||
|
||||
<select id="queryByProjectId" resultMap="ParamsCollectManifestEOResultMap">
|
||||
SELECT * from params_collect_manifest pcm LEFT JOIN params_manifest pm ON pm.id = pcm.params_manifest_id WHERE pm.project_id = #{projectId}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
+12
-1
@@ -41,4 +41,15 @@ public class ProjectUserPermissionController extends JeroController<ProjectUserP
|
||||
return projectUserPermissionService.setPermission(jsonObject);
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* 权限同步接口
|
||||
*/
|
||||
@AutoLog(value = "权限同步接口")
|
||||
@ApiOperation(value="权限同步接口", notes="权限同步接口")
|
||||
@PostMapping(value = "/sync")
|
||||
public void sync(){
|
||||
projectUserPermissionService.sync();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+6
@@ -67,4 +67,10 @@ public interface IProjectUserPermissionService extends IService<ProjectUserPermi
|
||||
* @return
|
||||
*/
|
||||
Result<?> setPermission(JSONObject jsonObject);
|
||||
|
||||
/**
|
||||
* 权限同步
|
||||
*/
|
||||
void sync();
|
||||
|
||||
}
|
||||
|
||||
+185
-4
@@ -3,18 +3,27 @@ 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.cert.collect.entity.ParamsCollectManifestEO;
|
||||
import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper;
|
||||
import com.jero.modules.project.entity.*;
|
||||
import com.jero.modules.project.enums.PermissionDescriptionEnum;
|
||||
import com.jero.modules.project.enums.ProjectUserLocationEnum;
|
||||
import com.jero.modules.project.mapper.ProjectUserPermissionMapper;
|
||||
import com.jero.modules.project.service.IProjectUserPermissionService;
|
||||
import com.jero.modules.project.service.*;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.wkflow.enums.DesignComplianceNodeEnum;
|
||||
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
||||
import com.jero.modules.wkflow.feginClient.WorkFlowFeignClient;
|
||||
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.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Date;
|
||||
import java.util.Set;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
/**
|
||||
@@ -28,6 +37,19 @@ public class ProjectUserPermissionServiceImpl extends ServiceImpl<ProjectUserPer
|
||||
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
@Autowired
|
||||
private IProjectLibraryBaseService projectLibraryBaseService;
|
||||
@Autowired
|
||||
private IProjectRelatedPersonnelService projectRelatedPersonnelService;
|
||||
@Autowired
|
||||
private IProjectLawsInventoryEOService projectLawsInventoryEOService;
|
||||
@Autowired
|
||||
private ParamsCollectManifestEOMapper paramsCollectManifestEOMapper;
|
||||
@Autowired
|
||||
private IProjectTaskInventoryDetailEOService projectTaskInventoryDetailEOService;
|
||||
@Autowired
|
||||
private WorkFlowFeignClient workFlowFeignClient;
|
||||
|
||||
|
||||
/**
|
||||
* 保存
|
||||
@@ -128,4 +150,163 @@ public class ProjectUserPermissionServiceImpl extends ServiceImpl<ProjectUserPer
|
||||
}
|
||||
return new Result<>().success("调用成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限同步
|
||||
*/
|
||||
@Override
|
||||
public void sync() {
|
||||
|
||||
List<ProjectUserPermission> adds = new ArrayList<>();
|
||||
Date now = new Date();
|
||||
|
||||
List<ProjectLibraryBase> projects = projectLibraryBaseService.list();
|
||||
|
||||
if (ObjectUtils.isNotEmpty(projects)) {
|
||||
for (ProjectLibraryBase project : projects) {
|
||||
//项目详情 编辑
|
||||
if (ObjectUtils.isNotEmpty(project.getStudioEngineer())) {
|
||||
createPermission(project.getId(), project.getStudioEngineer(), ProjectUserLocationEnum.PROJECT_ADD_STUDIO.getValue(), null, now, adds);
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(project.getCertificationEngineer())) {
|
||||
for (String id : project.getCertificationEngineer().split(",")) {
|
||||
createPermission(project.getId(), id, ProjectUserLocationEnum.PROJECT_ADD_CERTIFICATION.getValue(), null, now, adds);
|
||||
}
|
||||
}
|
||||
|
||||
//项目详情 相关人员名单
|
||||
QueryWrapper<ProjectRelatedPersonnel> personnelQueryWrapper = new QueryWrapper<>();
|
||||
personnelQueryWrapper.eq("project_id", project.getId());
|
||||
List<ProjectRelatedPersonnel> projectRelatedPersonnels = projectRelatedPersonnelService.list(personnelQueryWrapper);
|
||||
if (ObjectUtils.isNotEmpty(projectRelatedPersonnels)) {
|
||||
for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnels) {
|
||||
//法规工程师
|
||||
if (ObjectUtils.isNotEmpty(projectRelatedPersonnel.getLawEngineer())) {
|
||||
for (String lawEngineerId : projectRelatedPersonnel.getLawEngineer().split(",")) {
|
||||
createPermission(project.getId(), lawEngineerId, ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_LAW.getValue(), PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + projectRelatedPersonnel.getId(), now, adds);
|
||||
}
|
||||
}
|
||||
//工程接口人
|
||||
if (ObjectUtils.isNotEmpty(projectRelatedPersonnel.getEngineeringInterfacePerson())) {
|
||||
for (String engineeringInterfacePersonId : projectRelatedPersonnel.getEngineeringInterfacePerson().split(",")) {
|
||||
createPermission(project.getId(), engineeringInterfacePersonId, ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_INTERFACE.getValue(), PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + projectRelatedPersonnel.getId(), now, adds);
|
||||
}
|
||||
}
|
||||
//认证工程师
|
||||
if (ObjectUtils.isNotEmpty(projectRelatedPersonnel.getCertificationEngineer())) {
|
||||
for (String certificationEngineerId : projectRelatedPersonnel.getCertificationEngineer().split(",")) {
|
||||
createPermission(project.getId(), certificationEngineerId, ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_CERTIFICATION.getValue(), PermissionDescriptionEnum.PROJECT_RELATED_PERSONNEL.getValue() + projectRelatedPersonnel.getId(), now, adds);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//法规清单
|
||||
QueryWrapper<ProjectLawsInventoryEO> lawsInventoryEOQueryWrapper = new QueryWrapper<>();
|
||||
lawsInventoryEOQueryWrapper.eq("project_library_id", project.getId());
|
||||
List<ProjectLawsInventoryEO> projectLawsInventoryEOS = projectLawsInventoryEOService.list(lawsInventoryEOQueryWrapper);
|
||||
for (ProjectLawsInventoryEO projectLawsInventoryEO : projectLawsInventoryEOS) {
|
||||
//创建人
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getCreateBy())) {
|
||||
SysUser creater = sysUserService.getUserByName(projectLawsInventoryEO.getCreateBy());
|
||||
if (ObjectUtils.isNotEmpty(creater)) {
|
||||
createPermission(project.getId(), creater.getId(), ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_CREATE_BY.getValue(), PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryEO.getId(), now, adds);
|
||||
}
|
||||
}
|
||||
//法规工程师名称
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerId())) {
|
||||
createPermission(project.getId(),projectLawsInventoryEO.getRegulationOwnerId(),ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_REGULATION.getValue(),PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryEO.getId(), now, adds);
|
||||
}
|
||||
//认证工程师
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getHomologationEngineerId())) {
|
||||
createPermission(project.getId(),projectLawsInventoryEO.getHomologationEngineerId(),ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_HOMOLOGATION.getValue(),PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryEO.getId(), now, adds);
|
||||
}
|
||||
//工程接口人
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getEngineeringInterfacePerson())) {
|
||||
createPermission(project.getId(),projectLawsInventoryEO.getEngineeringInterfacePerson(),ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_INTERFACE.getValue(),PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryEO.getId(), now, adds);
|
||||
}
|
||||
//三个符合性认证发起人和责任人
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getDesignInitiatorId())) {
|
||||
createPermission(project.getId(),projectLawsInventoryEO.getDesignInitiatorId(),ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_INITIATOR.getValue(),PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryEO.getId(), now, adds);
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())) {
|
||||
createPermission(project.getId(),projectLawsInventoryEO.getDesignDutyId(),ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_DUTY.getValue(),PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryEO.getId(), now, adds);
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoInitiatorId())) {
|
||||
createPermission(project.getId(),projectLawsInventoryEO.getPrehomoInitiatorId(),ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_INITIATOR.getValue(),PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryEO.getId(), now, adds);
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoDutyId())) {
|
||||
createPermission(project.getId(),projectLawsInventoryEO.getPrehomoDutyId(),ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_DUTY.getValue(),PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryEO.getId(), now, adds);
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getVerifyInitiatorId())) {
|
||||
createPermission(project.getId(),projectLawsInventoryEO.getVerifyInitiatorId(),ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_INITIATOR.getValue(),PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryEO.getId(), now, adds);
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())) {
|
||||
createPermission(project.getId(),projectLawsInventoryEO.getVerifyDutyId(),ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_DUTY.getValue(),PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryEO.getId(), now, adds);
|
||||
}
|
||||
//任务确认询问
|
||||
Set<String> engineers = workFlowFeignClient.getTaskConfirmAskedEngineer(project.getId());
|
||||
if (ObjectUtils.isNotEmpty(engineers)) {
|
||||
for (String engineer : engineers) {
|
||||
createPermission(project.getId(),engineer,ProjectUserLocationEnum.PROJECT_LAWS_TASK_AFFIRM_INQUIRE.getValue(),PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryEO.getId(), now, adds);
|
||||
}
|
||||
}
|
||||
//分发工程师
|
||||
QueryWrapper<ProjectTaskInventoryDetailEO> taskInventoryDetailEOQueryWrapper = new QueryWrapper<>();
|
||||
taskInventoryDetailEOQueryWrapper.eq("project_task_inventory_id", project.getId()).eq("task_definition_key", DesignComplianceNodeEnum.DRE_DISPOSE.getKey());
|
||||
List<ProjectTaskInventoryDetailEO> taskInventoryDetailEOS = projectTaskInventoryDetailEOService.list(taskInventoryDetailEOQueryWrapper);
|
||||
if (ObjectUtils.isNotEmpty(taskInventoryDetailEOS)) {
|
||||
for (ProjectTaskInventoryDetailEO taskInventoryDetailEO : taskInventoryDetailEOS) {
|
||||
if (FlowTypeEnum.SJFHXSHLC.getValue().equals(taskInventoryDetailEO.getFlowType())) {
|
||||
createPermission(project.getId(),taskInventoryDetailEO.getUserId(),ProjectUserLocationEnum.PROJECT_LAWS_DESIGN_DISTRIBUTION.getValue(),PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryEO.getId(), now, adds);
|
||||
} else if (FlowTypeEnum.PREHOMOQRLC.getValue().equals(taskInventoryDetailEO.getFlowType())) {
|
||||
createPermission(project.getId(),taskInventoryDetailEO.getUserId(),ProjectUserLocationEnum.PROJECT_LAWS_PREHOMO_DISTRIBUTION.getValue(),PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryEO.getId(), now, adds);
|
||||
} else if (FlowTypeEnum.YZFHXSCLC.getValue().equals(taskInventoryDetailEO.getFlowType())) {
|
||||
createPermission(project.getId(),taskInventoryDetailEO.getUserId(),ProjectUserLocationEnum.PROJECT_LAWS_VERIFY_DISTRIBUTION.getValue(),PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryEO.getId(), now, adds);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//认证参数
|
||||
List<ParamsCollectManifestEO> paramsCollectManifestEOS = paramsCollectManifestEOMapper.queryByProjectId(project.getId());
|
||||
if (ObjectUtils.isNotEmpty(paramsCollectManifestEOS)) {
|
||||
for (ParamsCollectManifestEO paramsCollectManifestEO : paramsCollectManifestEOS) {
|
||||
if (ObjectUtils.isNotEmpty(paramsCollectManifestEO.getDre())) {
|
||||
SysUser dre = sysUserService.getUserByName(paramsCollectManifestEO.getDre());
|
||||
if (ObjectUtils.isNotEmpty(dre)) {
|
||||
createPermission(project.getId(),dre.getId(),ProjectUserLocationEnum.PROJECT_PARAMS_COLLECT_MANIFEST_DRE.getValue(),PermissionDescriptionEnum.PARAMS_COLLECT_MANIFEST.getValue() + paramsCollectManifestEO.getId(), now, adds);
|
||||
}
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(paramsCollectManifestEO.getSdt())) {
|
||||
SysUser sdt = sysUserService.getUserByName(paramsCollectManifestEO.getSdt());
|
||||
if (ObjectUtils.isNotEmpty(sdt)) {
|
||||
createPermission(project.getId(),sdt.getId(),ProjectUserLocationEnum.PROJECT_PARAMS_COLLECT_MANIFEST_SDT.getValue(),PermissionDescriptionEnum.PARAMS_COLLECT_MANIFEST.getValue() + paramsCollectManifestEO.getId(), now, adds);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//将当前SQL表清空
|
||||
remove(new QueryWrapper<>());
|
||||
//重新添加
|
||||
if (ObjectUtils.isNotEmpty(adds)) {
|
||||
saveBatch(adds);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void createPermission(String projectId,String userId,String belong,String description,Date now,List<ProjectUserPermission> permissionList) {
|
||||
ProjectUserPermission permission = new ProjectUserPermission();
|
||||
permission.setProjectId(projectId);
|
||||
permission.setBelong(belong);
|
||||
if (ObjectUtils.isNotEmpty(description)) {
|
||||
permission.setDescription(description);
|
||||
}
|
||||
permission.setUserId(userId);
|
||||
permission.setCreateTime(now);
|
||||
permission.setUpdateTime(now);
|
||||
permissionList.add(permission);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+3
-1
@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@FeignClient(value = "weilai-wkflow")
|
||||
public interface WorkFlowFeignClient {
|
||||
@@ -202,5 +203,6 @@ public interface WorkFlowFeignClient {
|
||||
@RequestMapping(value = "/bat-wkflow/task/getTaskInfo",method = RequestMethod.GET)
|
||||
Map<String, String> getTaskInfo(@RequestParam("actiProcInstId") String actiProcInstId);
|
||||
|
||||
|
||||
@RequestMapping(value = "/bat-wkflow/task/getTaskConfirmAskedEngineer",method = RequestMethod.GET)
|
||||
Set<String> getTaskConfirmAskedEngineer(@RequestParam("projectLawInventoryId")String projectLawInventoryId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user