权限同步数据库脚本
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);
|
IPage pageInfo(@Param("page") IPage page, @Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO);
|
||||||
|
|
||||||
List<ParamsCollectManifestEO> queryByParamManifestId(@Param("paramsManifestId") String paramsManifestIdString);
|
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 * from params_collect_manifest where params_manifest_id = #{paramsManifestId}
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|||||||
+12
-1
@@ -41,4 +41,15 @@ public class ProjectUserPermissionController extends JeroController<ProjectUserP
|
|||||||
return projectUserPermissionService.setPermission(jsonObject);
|
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
|
* @return
|
||||||
*/
|
*/
|
||||||
Result<?> setPermission(JSONObject jsonObject);
|
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.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
|
||||||
import com.jero.modules.project.entity.ProjectUserPermission;
|
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.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.entity.SysUser;
|
||||||
import com.jero.modules.system.service.ISysUserService;
|
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.commons.lang3.ObjectUtils;
|
||||||
import org.apache.shiro.SecurityUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -28,6 +37,19 @@ public class ProjectUserPermissionServiceImpl extends ServiceImpl<ProjectUserPer
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISysUserService sysUserService;
|
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("调用成功!");
|
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.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
@FeignClient(value = "weilai-wkflow")
|
@FeignClient(value = "weilai-wkflow")
|
||||||
public interface WorkFlowFeignClient {
|
public interface WorkFlowFeignClient {
|
||||||
@@ -202,5 +203,6 @@ public interface WorkFlowFeignClient {
|
|||||||
@RequestMapping(value = "/bat-wkflow/task/getTaskInfo",method = RequestMethod.GET)
|
@RequestMapping(value = "/bat-wkflow/task/getTaskInfo",method = RequestMethod.GET)
|
||||||
Map<String, String> getTaskInfo(@RequestParam("actiProcInstId") String actiProcInstId);
|
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