Merge branch 'dev_2nd_period_test' into fix_2nd_period
# Conflicts: # jero-boot/db/蔚来标准sql/dev_2nd_period.sql # jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java # jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml # jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java # jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java # jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/NcrTrackServiceImpl.java # jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java # jero-web/src/common/lang/en-us.js # jero-web/src/common/lang/zh-cn.js # jero-web/src/views/projectManagement/components/TaskList.vue # jero-web/src/views/projectManagement/components/listOfRegulations.vue
This commit is contained in:
@@ -85,3 +85,44 @@ ALTER TABLE `laws_weilai`.`params_info_publish`
|
||||
-- 上报库历史表,增加备注字段 2022-12-12 已同步生产环境
|
||||
ALTER TABLE `laws_weilai`.`params_report_detail_log`
|
||||
ADD COLUMN `remarks` varchar(4000) NULL COMMENT '备注' AFTER `params_report_detail_id`;
|
||||
-- 创建用户项目权限表
|
||||
CREATE TABLE `project_user_permission` (
|
||||
`id` varchar(36) NOT NULL COMMENT '主键',
|
||||
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
|
||||
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
|
||||
`project_id` varchar(255) DEFAULT NULL COMMENT '项目id',
|
||||
`belong` varchar(255) DEFAULT NULL COMMENT '所属位置',
|
||||
`description` text COMMENT '具体描述',
|
||||
`user_id` varchar(255) DEFAULT NULL COMMENT '用户id',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- 创建用户品牌表
|
||||
CREATE TABLE `project_user_brand` (
|
||||
`id` varchar(36) NOT NULL,
|
||||
`user_id` varchar(255) DEFAULT NULL COMMENT '用户id',
|
||||
`brand_type` varchar(255) DEFAULT NULL COMMENT '品牌类型',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- 创建用户责任领域表
|
||||
CREATE TABLE `project_user_duty_territory` (
|
||||
`id` varchar(36) NOT NULL,
|
||||
`user_id` varchar(255) DEFAULT NULL COMMENT '用户id',
|
||||
`duty_territory` varchar(32) DEFAULT NULL COMMENT '责任领域',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- 项目库基础表添加字段
|
||||
ALTER TABLE `project_library_base`
|
||||
ADD COLUMN `brand` varchar(255) NULL COMMENT '品牌' AFTER `flag`;
|
||||
|
||||
-- 法规技术评估表添加字段
|
||||
ALTER TABLE `laws_technology_evaluation`
|
||||
ADD COLUMN `brand` varchar(255) NULL COMMENT '品牌' AFTER `prc_num`;
|
||||
|
||||
-- 法规意见收集表添加字段
|
||||
ALTER TABLE `laws_opinion_gather`
|
||||
ADD COLUMN `brand` varchar(255) NULL COMMENT '品牌' AFTER `evaluator_ids`;
|
||||
|
||||
+2
@@ -157,6 +157,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"); //飞书调用接口,卡片消息配置。
|
||||
|
||||
+1
@@ -3,6 +3,7 @@ package com.jero.modules.enums;
|
||||
public enum DictCodeEnum {
|
||||
|
||||
DUTY_TERRITORY("责任领域","duty_territory"),
|
||||
BRAND("品牌","brand"),
|
||||
;
|
||||
String name;
|
||||
String value;
|
||||
|
||||
+29
@@ -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<ProjectUserBrand, IProjectUserBrandService> {
|
||||
@Autowired
|
||||
private IProjectUserBrandService projectUserBrandService;
|
||||
|
||||
|
||||
}
|
||||
+29
@@ -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<ProjectUserDutyTerritory, IProjectUserDutyTerritoryService> {
|
||||
@Autowired
|
||||
private IProjectUserDutyTerritoryService projectUserDutyTerritoryService;
|
||||
|
||||
|
||||
}
|
||||
+37
-1
@@ -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<SysUser> result = new Result<SysUser>();
|
||||
try {
|
||||
String ids = jsonObject.getString("ids");
|
||||
String roles = jsonObject.getString("selectedroles");
|
||||
String dutyTerritories = jsonObject.getString("dutyTerritories");
|
||||
String brands = jsonObject.getString("brands");
|
||||
List<ProjectUserBrand> projectUserBrandList = new ArrayList<>();
|
||||
List<ProjectUserDutyTerritory> projectUserDutyTerritoryList = new ArrayList<>();
|
||||
List<String> 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);
|
||||
@@ -1731,4 +1752,19 @@ public class SysUserController {
|
||||
List<SysUser> sysUserList = sysUserService.querySysUserListByIdList(userIdList);
|
||||
return sysUserList;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "用户管理-查出所有部门及其用户")
|
||||
@GetMapping(value = "/queryViewerInfo")
|
||||
public ViewerInfoVo queryViewerInfoVo(@RequestParam(name = "userId", required = true) String userId){
|
||||
ViewerInfoVo viewerInfoVo = new ViewerInfoVo();
|
||||
List<String> brands = projectUserBrandService.queryBrandByUserId(userId);
|
||||
if (ObjectUtils.isNotEmpty(brands)) {
|
||||
viewerInfoVo.setBrandList(brands);
|
||||
}
|
||||
List<String> dutyTerritories = projectUserDutyTerritoryService.queryDutyTerritoryByUserId(userId);
|
||||
if (ObjectUtils.isNotEmpty(dutyTerritories)) {
|
||||
viewerInfoVo.setDutyTerritoryList(dutyTerritories);
|
||||
}
|
||||
return viewerInfoVo;
|
||||
}
|
||||
}
|
||||
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
package com.jero.modules.system.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;
|
||||
|
||||
}
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
package com.jero.modules.system.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;
|
||||
|
||||
}
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
package com.jero.modules.system.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ViewerInfoVo {
|
||||
|
||||
List<String> brandList;
|
||||
List<String> dutyTerritoryList;
|
||||
|
||||
public List<String> getBrandList() {
|
||||
return brandList;
|
||||
}
|
||||
|
||||
public void setBrandList(List<String> brandList) {
|
||||
this.brandList = brandList;
|
||||
}
|
||||
|
||||
public List<String> getDutyTerritoryList() {
|
||||
return dutyTerritoryList;
|
||||
}
|
||||
|
||||
public void setDutyTerritoryList(List<String> dutyTerritoryList) {
|
||||
this.dutyTerritoryList = dutyTerritoryList;
|
||||
}
|
||||
|
||||
public ViewerInfoVo() {
|
||||
}
|
||||
|
||||
public ViewerInfoVo(List<String> brandList, List<String> dutyTerritoryList) {
|
||||
this.brandList = brandList;
|
||||
this.dutyTerritoryList = dutyTerritoryList;
|
||||
}
|
||||
}
|
||||
+1
@@ -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","13","Viewer"),
|
||||
;
|
||||
|
||||
String name;
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.jero.modules.system.mapper;
|
||||
|
||||
import com.jero.modules.system.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<ProjectUserBrand> {
|
||||
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.jero.modules.system.mapper;
|
||||
|
||||
import com.jero.modules.system.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<ProjectUserDutyTerritory> {
|
||||
|
||||
}
|
||||
+3
@@ -49,4 +49,7 @@ public interface SysDictItemMapper extends BaseMapper<SysDictItem> {
|
||||
|
||||
@Select("select * from sys_dict_item where item_text=#{itemText} and dict_id=#{dictId}")
|
||||
List<SysDictItem> selctItemByName(String itemText,String dictId);
|
||||
|
||||
@Select("select * from sys_dict_item item LEFT JOIN sys_dict dict on item.dict_id = dict.id WHERE dict.dict_code = #{dictCode} and item.item_value = #{itemValue}")
|
||||
List<SysDictItem> queryItemByValue(@Param("dictCode") String dictCode,@Param("itemValue") String itemValue);
|
||||
}
|
||||
|
||||
+2
@@ -43,4 +43,6 @@ public interface SysRoleMapper extends BaseMapper<SysRole> {
|
||||
"where user_id = #{userId}")
|
||||
List<SysRole> 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);
|
||||
}
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.system.mapper.ProjectUserBrandMapper">
|
||||
<resultMap id="ProjectUserBrandResultMap" type="com.jero.modules.system.entity.ProjectUserBrand">
|
||||
<id column="id" property="id" />
|
||||
<result column="user_id" property="userId" />
|
||||
<result column="brand_type" property="brandType" />
|
||||
</resultMap>
|
||||
</mapper>
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.system.mapper.ProjectUserDutyTerritoryMapper">
|
||||
<resultMap id="ProjectUserDutyTerritoryResultMap" type="com.jero.modules.system.entity.ProjectUserDutyTerritory">
|
||||
<id column="id" property="id" />
|
||||
<result column="user_id" property="userId" />
|
||||
<result column="duty_territory" property="dutyTerritory" />
|
||||
</resultMap>
|
||||
</mapper>
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
package com.jero.modules.system.service;
|
||||
|
||||
import com.jero.modules.system.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<ProjectUserBrand> {
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ProjectUserBrand queryById(String id);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
List<ProjectUserBrand> queryList();
|
||||
|
||||
List<String> queryBrandByUserId(String userId);
|
||||
}
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
package com.jero.modules.system.service;
|
||||
|
||||
import com.jero.modules.system.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<ProjectUserDutyTerritory> {
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ProjectUserDutyTerritory queryById(String id);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
List<ProjectUserDutyTerritory> queryList();
|
||||
|
||||
/**
|
||||
* 根据id查询对应的dutyTerritory集合
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
List<String> queryDutyTerritoryByUserId(String userId);
|
||||
|
||||
}
|
||||
+6
-3
@@ -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,9 @@ public interface ISysUserService extends IService<SysUser> {
|
||||
* @return
|
||||
*/
|
||||
boolean isRegulationOwner(LoginUser currentUser);
|
||||
|
||||
void setBrandAndDutyTerritory(String roles, String dutyTerritories, String brands, List<ProjectUserBrand> projectUserBrandList, List<ProjectUserDutyTerritory> projectUserDutyTerritoryList, String userId);
|
||||
|
||||
boolean isViewer(String userId);
|
||||
|
||||
}
|
||||
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
package com.jero.modules.system.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.modules.system.entity.ProjectUserBrand;
|
||||
import com.jero.modules.system.mapper.ProjectUserBrandMapper;
|
||||
import com.jero.modules.system.service.IProjectUserBrandService;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
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<ProjectUserBrandMapper, ProjectUserBrand> implements IProjectUserBrandService {
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProjectUserBrand queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ProjectUserBrand> queryList() {
|
||||
return list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> queryBrandByUserId(String userId) {
|
||||
QueryWrapper<ProjectUserBrand> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("user_id", userId);
|
||||
List<ProjectUserBrand> list = list(queryWrapper);
|
||||
if (ObjectUtils.isNotEmpty(list)) {
|
||||
return list.stream().map(ProjectUserBrand::getBrandType).collect(Collectors.toList());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+83
@@ -0,0 +1,83 @@
|
||||
package com.jero.modules.system.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.modules.system.entity.ProjectUserDutyTerritory;
|
||||
import com.jero.modules.system.mapper.ProjectUserDutyTerritoryMapper;
|
||||
import com.jero.modules.system.service.IProjectUserDutyTerritoryService;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
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<ProjectUserDutyTerritoryMapper, ProjectUserDutyTerritory> implements IProjectUserDutyTerritoryService {
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProjectUserDutyTerritory queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ProjectUserDutyTerritory> queryList() {
|
||||
return list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询对应的dutyTerritory集合
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<String> queryDutyTerritoryByUserId(String userId) {
|
||||
QueryWrapper<ProjectUserDutyTerritory> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("user_id", userId);
|
||||
List<ProjectUserDutyTerritory> list = list(queryWrapper);
|
||||
if (ObjectUtils.isNotEmpty(list)) {
|
||||
return list.stream().map(ProjectUserDutyTerritory::getDutyTerritory).collect(Collectors.toList());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+66
-2
@@ -15,16 +15,19 @@ import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.util.UUIDGenerator;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.modules.base.service.BaseCommonService;
|
||||
import com.jero.modules.enums.DictCodeEnum;
|
||||
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.ISysUserService;
|
||||
import com.jero.modules.system.service.*;
|
||||
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 +70,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
private SysDepartRoleMapper sysDepartRoleMapper;
|
||||
@Resource
|
||||
private BaseCommonService baseCommonService;
|
||||
@Autowired
|
||||
private ISysRoleService sysRoleService;
|
||||
@Autowired
|
||||
private IProjectUserBrandService projectUserBrandService;
|
||||
@Autowired
|
||||
private IProjectUserDutyTerritoryService projectUserDutyTerritoryService;
|
||||
@Autowired
|
||||
private ISysDictItemService sysDictItemService;
|
||||
|
||||
@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 +709,57 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBrandAndDutyTerritory(String roles, String dutyTerritories, String brands, List<ProjectUserBrand> projectUserBrandList, List<ProjectUserDutyTerritory> projectUserDutyTerritoryList, String userId) {
|
||||
List<String> roleCodes = sysRoleService.listByIds(Arrays.asList(roles.split(","))).stream().map(SysRole::getRoleCode).collect(Collectors.toList());
|
||||
if (roleCodes.contains(ProjectRoleEnum.VIEWER.getCode())) {
|
||||
//先删后加
|
||||
QueryWrapper<ProjectUserBrand> brandDelWrapper = new QueryWrapper<>();
|
||||
brandDelWrapper.eq("user_id", userId);
|
||||
projectUserBrandService.remove(brandDelWrapper);
|
||||
|
||||
QueryWrapper<ProjectUserDutyTerritory> dutyTerritoryDelWrapper = new QueryWrapper<>();
|
||||
dutyTerritoryDelWrapper.eq("user_id", userId);
|
||||
projectUserDutyTerritoryService.remove(dutyTerritoryDelWrapper);
|
||||
|
||||
if (ObjectUtils.isNotEmpty(dutyTerritories)) {
|
||||
List<String> dictItemValue = sysDictItemService.selectItemsByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue()).stream().map(SysDictItem::getItemValue).collect(Collectors.toList());
|
||||
for (String dutyTerritory : dutyTerritories.split(",")) {
|
||||
//校验责任领域是否合法
|
||||
if (dictItemValue.contains(dutyTerritory)) {
|
||||
ProjectUserDutyTerritory projectUserDutyTerritory = new ProjectUserDutyTerritory();
|
||||
projectUserDutyTerritory.setUserId(userId);
|
||||
projectUserDutyTerritory.setDutyTerritory(dutyTerritory);
|
||||
projectUserDutyTerritoryList.add(projectUserDutyTerritory);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(brands)) {
|
||||
List<String> dictItemValue = sysDictItemService.selectItemsByDictCode(DictCodeEnum.BRAND.getValue()).stream().map(SysDictItem::getItemValue).collect(Collectors.toList());
|
||||
for (String brand : brands.split(",")) {
|
||||
//校验品牌是否合法
|
||||
if (dictItemValue.contains(brand)) {
|
||||
ProjectUserBrand projectUserBrand = new ProjectUserBrand();
|
||||
projectUserBrand.setUserId(userId);
|
||||
projectUserBrand.setBrandType(brand);
|
||||
projectUserBrandList.add(projectUserBrand);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isViewer(String userId) {
|
||||
boolean boo = false;
|
||||
List<SysRole> roles = sysRoleMapper.getRoleByUserId(userId);
|
||||
if (ObjectUtils.isNotEmpty(roles)) {
|
||||
List<String> roleCodes = roles.stream().map(SysRole::getRoleCode).collect(Collectors.toList());
|
||||
if (ObjectUtils.isNotEmpty(roleCodes) && roleCodes.contains(ProjectRoleEnum.VIEWER.getCode())) {
|
||||
boo = true;
|
||||
}
|
||||
}
|
||||
return boo;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -111,7 +111,7 @@ public class ParamsCollectManifestBaseEO implements Serializable {
|
||||
@ApiModelProperty(value = "参数模板id")
|
||||
private String paramsTemplateId;
|
||||
|
||||
/**状态*/
|
||||
/**状态 value对应枚举类 CollectManifestStateEnum */
|
||||
@Excel(name = "状态", width = 15)
|
||||
@ApiModelProperty(value = "状态")
|
||||
private String state;
|
||||
|
||||
+2
-1
@@ -15,7 +15,8 @@ public enum CollectManifestUserTypeEnum {
|
||||
STUDIO("R&H Studio","R&H Studio","studio"),
|
||||
MANAGER("R&H Manager","R&H Manager","manager"),
|
||||
ADMIN("系统","Administrator","admin"),
|
||||
GUEST("游客", "Guest","guest");
|
||||
GUEST("游客", "Guest","guest"),
|
||||
VIEWER("Viewer", "Viewer","viewer");
|
||||
|
||||
String name;
|
||||
String enName;
|
||||
|
||||
+2
@@ -33,4 +33,6 @@ public interface ParamsCollectManifestEOMapper extends BaseMapper<ParamsCollectM
|
||||
List<ParamsCollectManifestEO> queryByParamManifestId(@Param("paramsManifestId") String paramsManifestIdString);
|
||||
|
||||
IPage selectpage(@Param("page") IPage page, @Param("ew") Wrapper<ParamsCollectManifestVO> queryWrapper, @Param("paramsManifestEO")ParamsManifestEO paramsManifestEO);
|
||||
|
||||
List<ParamsCollectManifestEO> queryByProjectId(@Param("projectId") String projectId);
|
||||
}
|
||||
|
||||
+4
@@ -136,4 +136,8 @@
|
||||
) temp
|
||||
${ew.customSqlSegment}
|
||||
</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>
|
||||
|
||||
+102
-6
@@ -47,9 +47,13 @@ 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.IProjectLibraryBaseService;
|
||||
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.SysDictItem;
|
||||
@@ -60,6 +64,7 @@ import com.jero.modules.system.service.ISysDictItemService;
|
||||
import com.jero.modules.system.service.ISysUserRoleService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import com.jero.modules.system.service.*;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -150,6 +155,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
private IProjectLibraryBaseService projectLibraryBaseService;
|
||||
@Autowired
|
||||
private WebSocketServer webSocketServer; // 同步上报库时变更清单状态时使用
|
||||
@Autowired
|
||||
private IProjectUserPermissionService projectUserPermissionService;
|
||||
@Resource
|
||||
private WebSocket webSocket; // 消息专用
|
||||
|
||||
@@ -161,6 +168,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
@Value(value = "${jero.backUrl}")
|
||||
private String backUrl;
|
||||
|
||||
@Autowired
|
||||
private IProjectUserDutyTerritoryService projectUserDutyTerritoryService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -361,7 +371,16 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
paramsCollectManifestEO.setDreForAuth(loginUser.getUsername());
|
||||
}*/ else if ("guest".equals(userTypes)) {
|
||||
return page;
|
||||
}
|
||||
} else if (CollectManifestUserTypeEnum.VIEWER.getValue().equals(userTypes)) {
|
||||
List<String> dutyTerritoryList = projectUserDutyTerritoryService.queryDutyTerritoryByUserId(loginUser.getId());
|
||||
queryWrapper.and(q -> {
|
||||
q.eq("sdt", loginUser.getUsername());
|
||||
q.or().eq("dre", loginUser.getUsername());
|
||||
if (ObjectUtils.isNotEmpty(dutyTerritoryList)) {
|
||||
q.or().in("duty_territory", dutyTerritoryList);
|
||||
}
|
||||
});
|
||||
}
|
||||
// 搜索NIO编号或认证类别编号 精确搜索
|
||||
if (StringUtils.isNotEmpty(paramsCollectManifestVO.getAllNumber())) {
|
||||
//queryWrapper.and(wrapper->wrapper.eq("nio_number", paramsCollectManifestVO.getAllNumber()).or().eq("params_number", paramsCollectManifestVO.getAllNumber()));
|
||||
@@ -1565,6 +1584,19 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
}
|
||||
}
|
||||
|
||||
//判断当前用户是否是viewer
|
||||
boolean viewer = sysUserService.isViewer(loginUser.getId());
|
||||
if (viewer) {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
map.put("label", CollectManifestUserTypeEnum.VIEWER.getName());
|
||||
} else {
|
||||
map.put("label", CollectManifestUserTypeEnum.VIEWER.getEnName());
|
||||
}
|
||||
map.put("value", CollectManifestUserTypeEnum.VIEWER.getValue());
|
||||
userTypeList.add(map);
|
||||
}
|
||||
|
||||
return userTypeList;
|
||||
}
|
||||
|
||||
@@ -1870,6 +1902,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String[] paramsCollectManifestIdStr = paramsCollectManifestIds.split(",");
|
||||
List<ParamsCollectManifestEO> updateEOList = new ArrayList<>();
|
||||
List<String> delDrePermission = new ArrayList<>();
|
||||
StringBuilder connectBuilder = new StringBuilder();
|
||||
connectBuilder.append("You are required to fill in ");
|
||||
|
||||
@@ -1890,9 +1923,31 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
updateEO.setDre(dre); // 设置填写人
|
||||
updateEO.setState(CollectManifestStateEnum.WAIT_FILL.getValue()); // 设置状态为:待填写
|
||||
updateEOList.add(updateEO);
|
||||
|
||||
delDrePermission.add(PermissionDescriptionEnum.PARAMS_COLLECT_MANIFEST.getValue() + paramsCollectManifestEO.getId());
|
||||
}
|
||||
boolean isSuccess = updateBatchById(updateEOList);
|
||||
|
||||
if (isSuccess) {
|
||||
//设置权限 先删后加
|
||||
Date now = new Date();
|
||||
QueryWrapper<ProjectUserPermission> delDreWrapper = new QueryWrapper<>();
|
||||
delDreWrapper.eq("project_id", projectId).eq("belong", ProjectUserLocationEnum.PROJECT_PARAMS_COLLECT_MANIFEST_DRE.getValue()).in("description", delDrePermission);
|
||||
projectUserPermissionService.remove(delDreWrapper);
|
||||
List<ProjectUserPermission> 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];
|
||||
@@ -1984,7 +2039,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
List<ParamsCollectManifestEO> updateEOList = new ArrayList<>();
|
||||
List<Map<String, String>> msgMapList = new ArrayList<>();
|
||||
List<String> updateEOIdList = new ArrayList<>();
|
||||
|
||||
List<String> delSdtPermission = new ArrayList<>();
|
||||
List<ParamsCollectManifestEO> paramsCollectManifestEOList = listByIds(Arrays.asList(paramsCollectManifestIdStr));
|
||||
paramsCollectManifestEOList = paramsCollectManifestEOList.stream().sorted(Comparator.comparing(ParamsCollectManifestBaseEO::getNioNumber)).collect(Collectors.toList()); // 按NIO编号升序
|
||||
for (ParamsCollectManifestEO paramsCollectManifestEO : paramsCollectManifestEOList) {
|
||||
@@ -2005,6 +2060,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
updateEOList.add(updateEO);
|
||||
|
||||
updateEOIdList.add(paramsCollectManifestEO.getId());
|
||||
delSdtPermission.add(PermissionDescriptionEnum.PARAMS_COLLECT_MANIFEST.getValue() + paramsCollectManifestEO.getId());
|
||||
} else {
|
||||
Map<String, String> msgMap = new HashMap<>();
|
||||
msgMap.put("nioNumber", paramsCollectManifestEO.getNioNumber());
|
||||
@@ -2024,8 +2080,28 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
boolean isSuccess = updateBatchById(updateEOList);
|
||||
|
||||
if (isSuccess) {
|
||||
// 消息内容
|
||||
Date now = new Date();
|
||||
List<ParamsCollectManifestEO> afterUpdateEOList = listByIds(updateEOIdList);
|
||||
//设置权限 先删后加
|
||||
QueryWrapper<ProjectUserPermission> delSdtWrapper = new QueryWrapper<>();
|
||||
delSdtWrapper.eq("project_id", projectId).eq("belong", ProjectUserLocationEnum.PROJECT_PARAMS_COLLECT_MANIFEST_SDT.getValue()).in("description", delSdtPermission);
|
||||
projectUserPermissionService.remove(delSdtWrapper);
|
||||
List<ProjectUserPermission> 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<String> sdtList = afterUpdateEOList.stream()
|
||||
.map(ParamsCollectManifestEO::getSdt)
|
||||
.distinct()
|
||||
@@ -2120,7 +2196,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
List<ParamsCollectManifestEO> updateEOList = new ArrayList<>();
|
||||
List<Map<String, String>> msgMapList = new ArrayList<>();
|
||||
List<String> updateEOIdList = new ArrayList<>();
|
||||
|
||||
List<String> delSdtPermission = new ArrayList<>();
|
||||
LambdaQueryWrapper<ParamsCollectManifestEO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ParamsCollectManifestEO::getParamsManifestId, paramsManifestId)
|
||||
.notIn(ParamsCollectManifestEO::getControlType, ControlTypeEnum.Title.getValue())
|
||||
@@ -2144,6 +2220,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
updateEOList.add(updateEO);
|
||||
|
||||
updateEOIdList.add(paramsCollectManifestEO.getId());
|
||||
delSdtPermission.add(PermissionDescriptionEnum.PARAMS_COLLECT_MANIFEST.getValue() + paramsCollectManifestEO.getId());
|
||||
} else {
|
||||
Map<String, String> msgMap = new HashMap<>();
|
||||
msgMap.put("nioNumber", paramsCollectManifestEO.getNioNumber());
|
||||
@@ -2163,8 +2240,27 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
boolean isSuccess = updateBatchById(updateEOList);
|
||||
|
||||
if (isSuccess) {
|
||||
// 消息内容
|
||||
Date now = new Date();
|
||||
List<ParamsCollectManifestEO> afterUpdateEOList = listByIds(updateEOIdList);
|
||||
//设置权限 先删后加
|
||||
QueryWrapper<ProjectUserPermission> delSdtWrapper = new QueryWrapper<>();
|
||||
delSdtWrapper.eq("project_id", projectId).eq("belong", ProjectUserLocationEnum.PROJECT_PARAMS_COLLECT_MANIFEST_SDT.getValue()).in("description", delSdtPermission);
|
||||
projectUserPermissionService.remove(delSdtWrapper);
|
||||
List<ProjectUserPermission> 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<String> sdtList = afterUpdateEOList.stream()
|
||||
.map(ParamsCollectManifestEO::getSdt)
|
||||
.distinct()
|
||||
|
||||
+3
@@ -33,6 +33,7 @@ import com.jero.modules.cert.template.service.IParamsTemplateEOService;
|
||||
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
|
||||
import com.jero.modules.project.service.IProjectLibraryBaseService;
|
||||
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;
|
||||
@@ -103,6 +104,8 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
||||
private IParamsReportDetailEOService paramsReportDetailEOService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private IProjectUserPermissionService projectUserPermissionService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
|
||||
+15
@@ -93,6 +93,21 @@ public class DummyInventoryInfoEOController extends JeroController<DummyInventor
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 虚拟清单调取虚拟清单添加数据
|
||||
*
|
||||
* @param dummyInventoryInfoEO
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "虚拟清单调取虚拟清单添加数据")
|
||||
@ApiOperation(value="虚拟清单调取虚拟清单添加数据", notes="虚拟清单调取虚拟清单添加数据")
|
||||
@PostMapping(value = "/acquireAdd")
|
||||
// @RequiresPermissions("dummyInventoryInfo:acquire")
|
||||
public Result<?> acquireAdd(@Validated @RequestBody DummyInventoryInfoEO dummyInventoryInfoEO) {
|
||||
dummyInventoryInfoEOService.acquireAdd(dummyInventoryInfoEO);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
|
||||
+6
@@ -25,6 +25,12 @@ public interface IDummyInventoryInfoEOService extends IService<DummyInventoryInf
|
||||
*/
|
||||
void add(DummyInventoryInfoEO dummyInventoryInfoEO);
|
||||
|
||||
/**
|
||||
* 虚拟清单调取虚拟清单添加数据
|
||||
* @param dummyInventoryInfoEO
|
||||
*/
|
||||
void acquireAdd(DummyInventoryInfoEO dummyInventoryInfoEO);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
|
||||
+47
@@ -179,6 +179,53 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 虚拟清单调取虚拟清单添加数据
|
||||
* @param dummyInventoryInfoEO
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void acquireAdd(DummyInventoryInfoEO dummyInventoryInfoEO) {
|
||||
// dummyInventoryInfoEO.setIds("efd66ed0a8414fd0b3afd1cf3e4365e6,e13a1e992d774046b3770376583642b7");
|
||||
|
||||
//检查虚拟清单是否存在
|
||||
QueryWrapper<DummyInventoryBaseEO> infoEOQueryWrapper = new QueryWrapper<>();
|
||||
List<DummyInventoryBaseEO> baseList = dummyInventoryBaseEOService.list(infoEOQueryWrapper.eq("id", dummyInventoryInfoEO.getDummyInventoryBaseId()));
|
||||
if(CollectionUtils.isNotEmpty(baseList)){
|
||||
if(StringUtils.isNotBlank(dummyInventoryInfoEO.getIds())){
|
||||
//要添加的虚拟清单
|
||||
LambdaQueryWrapper<DummyInventoryInfoEO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(DummyInventoryInfoEO::getId, Arrays.asList(dummyInventoryInfoEO.getIds().split(",")));
|
||||
List<DummyInventoryInfoEO> dummyInventoryInfoEOList = this.list(wrapper);
|
||||
|
||||
//不需要验重,直接添加,此时可以存在多条编号一样的数据
|
||||
List<DummyInventoryInfoEO> list = new ArrayList<>();
|
||||
for (DummyInventoryInfoEO dummyInventoryInfoEOTemp : dummyInventoryInfoEOList) {
|
||||
String id = UUID.randomUUID().toString().replace("-", "");
|
||||
dummyInventoryInfoEOTemp.setId(id);
|
||||
dummyInventoryInfoEOTemp.setDummyInventoryBaseId(dummyInventoryInfoEO.getDummyInventoryBaseId());
|
||||
dummyInventoryInfoEOTemp.setCreateTime(new Date());
|
||||
dummyInventoryInfoEOTemp.setUpdateTime(new Date());
|
||||
list.add(dummyInventoryInfoEOTemp);
|
||||
}
|
||||
this.saveBatch(list);
|
||||
//更新log
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String username = sysUser.getUsername();
|
||||
String serialNumber = list.stream().map(e->e.getSerialNumber()).collect(Collectors.joining(","));
|
||||
String contentLog = username+"向清单中添加了“"+serialNumber+"”";
|
||||
String enContentLog = username+" added “"+serialNumber+"” to the list.";
|
||||
dummyLogEOService.updateLog(contentLog, dummyInventoryInfoEO.getDummyInventoryBaseId(),CutEnum.CN.getValue());
|
||||
dummyLogEOService.updateLog(enContentLog, dummyInventoryInfoEO.getDummyInventoryBaseId(),CutEnum.EN.getValue());
|
||||
}
|
||||
}else{
|
||||
if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){
|
||||
throw new JeroBootException("该虚拟清单不存在,新增失败");
|
||||
}else{
|
||||
throw new JeroBootException("The virtual list does not exist, and adding failed.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
|
||||
+10
@@ -1,9 +1,12 @@
|
||||
package com.jero.modules.feishu.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.modules.feishu.service.IFeishuService;
|
||||
import com.jero.modules.feishu.utils.LarkDecryptUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -93,4 +96,11 @@ public class LarkController {
|
||||
log.info(result.toString());
|
||||
return result;
|
||||
}
|
||||
|
||||
@AutoLog(value = "飞书交互-根据用户账号获取飞书对话框链接")
|
||||
@ApiOperation(value="书交互-根据用户账号获取飞书对话框链接", notes="书交互-根据用户账号获取飞书对话框链接")
|
||||
@PostMapping(value = "/getLarkApplinkByUserName")
|
||||
public Result<?> getLarkApplinkByUserName(@RequestBody JSONObject json){
|
||||
return this.feishuService.getLarkApplinkByUserName(json);
|
||||
}
|
||||
}
|
||||
|
||||
+13
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.feishu.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.feishu.vo.FeishuMsg2Vo;
|
||||
import com.jero.modules.feishu.vo.FeishuMsgVo;
|
||||
|
||||
@@ -103,4 +104,16 @@ public interface IFeishuService {
|
||||
|
||||
void sendCard(String[] thirdIds, FeishuMsg2Vo feishuMsgVo) throws IOException;
|
||||
|
||||
/**
|
||||
* 根据手机号,获取来自飞书的用户信息
|
||||
* @param phoneList
|
||||
*/
|
||||
JSONObject getUserInfoFromLarkByPhoneList(List<String> phoneList) throws IOException ;
|
||||
|
||||
/**
|
||||
* 根据用户账号获取飞书对话框链接
|
||||
* @param json
|
||||
* @return
|
||||
*/
|
||||
Result<?> getLarkApplinkByUserName(JSONObject json);
|
||||
}
|
||||
|
||||
+105
-4
@@ -7,6 +7,9 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.feishu.service.IFeishuService;
|
||||
import com.jero.modules.feishu.vo.FeishuMsg2Vo;
|
||||
import com.jero.modules.feishu.vo.FeishuMsgVo;
|
||||
@@ -31,10 +34,7 @@ import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -60,6 +60,14 @@ public class FeishuServiceImpl implements IFeishuService {
|
||||
@Value("${Feishu.translateTextUrl}")
|
||||
private String translateTextUrl;
|
||||
|
||||
// 获取用户信息Url
|
||||
@Value("${Feishu.getUserInfoUrl}")
|
||||
private String getUserInfoUrl;
|
||||
|
||||
// 打开用户对话框Url
|
||||
@Value("${Feishu.appLinkUrl}")
|
||||
private String appLinkUrl;
|
||||
|
||||
@Value(value = "${jero.backUrl}")
|
||||
private String backUrl;
|
||||
@Autowired
|
||||
@@ -1228,4 +1236,97 @@ public class FeishuServiceImpl implements IFeishuService {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据手机号,获取来自飞书的用户信息
|
||||
* @param phoneList
|
||||
* @throws IOException
|
||||
*/
|
||||
@Override
|
||||
public JSONObject getUserInfoFromLarkByPhoneList(List<String> phoneList) throws IOException {
|
||||
|
||||
String token = getTenantAccessToken();
|
||||
// 设置请求头
|
||||
Map<String, String> headerMap = new HashMap<>();
|
||||
headerMap.put("Authorization", "Bearer " + token);
|
||||
headerMap.put("Content-Type", "application/json; charset=utf-8");
|
||||
|
||||
// 设置请求参数
|
||||
JSONObject paramsMap = new JSONObject();
|
||||
paramsMap.put("mobiles", phoneList);
|
||||
|
||||
// 发送请求给飞书
|
||||
String response = null;
|
||||
try {
|
||||
response = HttpRequestUtil.getResponseOfPOST(getUserInfoUrl, headerMap, paramsMap.toJSONString());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// 获取返回结果
|
||||
JSONObject responseJson = JSONObject.parseObject(response);
|
||||
if(!responseJson.get("code").toString().equals("0")) {
|
||||
log.error("请求出现异常:" + responseJson.get("msg") + " " + responseJson);
|
||||
}
|
||||
return responseJson;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户账号获取飞书对话框链接
|
||||
* @param json
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Result<?> getLarkApplinkByUserName(JSONObject json) {
|
||||
String result = null;
|
||||
|
||||
String cut = json.getString("cut");
|
||||
String userName = json.getString("userName");
|
||||
if(StringUtils.isEmpty(userName)){
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
throw new JeroBootException("用户账号不能为空,请检查!");
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
throw new JeroBootException("User account cannot be empty, please check!");
|
||||
}
|
||||
}
|
||||
|
||||
SysUser sysUserInfo = this.sysUserService.getUserByName(userName);
|
||||
if(Objects.isNull(sysUserInfo)){
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
throw new JeroBootException("未找到" + userName +",用户,请检查!");
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
throw new JeroBootException("User not found" + userName + ", please check!");
|
||||
}
|
||||
}
|
||||
String phone = sysUserInfo.getPhone();
|
||||
|
||||
JSONObject responseJson = null;
|
||||
|
||||
List<String> phoneList = Arrays.asList(phone.split(","));
|
||||
try {
|
||||
// 根据用户手机号获取该用户在飞书中的信息
|
||||
responseJson = this.getUserInfoFromLarkByPhoneList(phoneList);
|
||||
}catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
log.error("根据用户手机号获取该用户在飞书中的信息失败:" + ex.getMessage());
|
||||
}
|
||||
|
||||
JSONArray userJsonArray = JSONObject.parseObject(JSONObject.toJSONString(responseJson.get("data"))).getJSONArray("user_list");
|
||||
Map<String,Object> userJsonMap = null;
|
||||
for (Object userJson : userJsonArray) {
|
||||
userJsonMap = JSONObject.parseObject(JSONObject.toJSONString(userJson),Map.class);
|
||||
if(userJsonMap.get("user_id") != null){
|
||||
if(StringUtils.isNotEmpty(userJsonMap.get("user_id").toString()) && StringUtils.equals(userJsonMap.get("mobile").toString(),phone)){
|
||||
result = this.appLinkUrl + userJsonMap.get("user_id").toString();
|
||||
break;
|
||||
}
|
||||
}else {
|
||||
throw new JeroBootException("用户:" + userName + ",在飞书中未找到对应user_id信息");
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotEmpty(result)){
|
||||
return Result.OK("获取" +userName+ "用户飞书AppLink成功!",result);
|
||||
}else {
|
||||
return Result.error("获取" +userName+ "用户飞书AppLink失败!");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+54
-2
@@ -1,7 +1,10 @@
|
||||
package com.jero.modules.lawsOpinionGather.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
@@ -14,9 +17,13 @@ import com.jero.modules.lawsOpinionGather.service.ILawsOpinionGatherEOService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
|
||||
import com.jero.modules.system.service.IProjectUserBrandService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -42,6 +49,8 @@ public class LawsOpinionGatherEOController extends JeroController<LawsOpinionGat
|
||||
private ILawsOpinionGatherEOService lawsOpinionGatherEOService;
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
@Autowired
|
||||
private IProjectUserBrandService projectUserBrandService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@@ -60,24 +69,67 @@ public class LawsOpinionGatherEOController extends JeroController<LawsOpinionGat
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
@RequestParam(name="cut", defaultValue="cn") String cut,
|
||||
HttpServletRequest req) {
|
||||
|
||||
String brandSelect = lawsOpinionGatherEO.getBrand();
|
||||
lawsOpinionGatherEO.setBrand(null);
|
||||
QueryWrapper<LawsOpinionGatherEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsOpinionGatherEO, req.getParameterMap());
|
||||
queryWrapper.orderByDesc("start_time");
|
||||
/**
|
||||
* 创建查询数据权限,超级管理员可以看到所有的数据,并且能删除,其它用户只能看到自己创建、或自己为评估人的数据。
|
||||
*/
|
||||
boolean administrator = this.sysUserService.isAdministrator();
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(!administrator){
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//如果不是超级管理员,获取自己所有参与过的法规意见收集
|
||||
queryWrapper.and(query -> {
|
||||
query.eq("create_by",currentUser.getUsername());
|
||||
query.or().like("evaluator_ids",currentUser.getId());
|
||||
});
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(brandSelect)) {
|
||||
//根据品牌搜索
|
||||
queryWrapper.and(query -> {
|
||||
query.lambda().like(LawsOpinionGatherEO::getBrand, brandSelect);
|
||||
if(StringUtils.contains(brandSelect,",")){
|
||||
for (String brand : brandSelect.split(",")) {
|
||||
query.or(q -> {
|
||||
q.like("brand",brand);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Page<LawsOpinionGatherEO> page = new Page<LawsOpinionGatherEO>(pageNo, pageSize);
|
||||
IPage<LawsOpinionGatherEO> pageList = lawsOpinionGatherEOService.page(page, queryWrapper);
|
||||
this.lawsOpinionGatherEOService.disposeData(pageList.getRecords(),cut);
|
||||
List<LawsOpinionGatherEO> records = pageList.getRecords();
|
||||
//如果是Viewer,根据品牌进行筛选
|
||||
List<String> ownedBrandList = projectUserBrandService.queryBrandByUserId(currentUser.getId());
|
||||
if (ObjectUtils.isNotEmpty(ownedBrandList)) {
|
||||
QueryWrapper<LawsOpinionGatherEO> brandWrapper = new QueryWrapper<>();
|
||||
if (ObjectUtils.isNotEmpty(brandSelect)) {
|
||||
//取交集
|
||||
ownedBrandList = Arrays.asList(brandSelect.split(",")).stream().filter(ownedBrandList::contains).collect(Collectors.toList());
|
||||
}
|
||||
for (int i= 0; i<ownedBrandList.size(); i++) {
|
||||
if (i==0) {
|
||||
brandWrapper.like("brand",ownedBrandList.get(i));
|
||||
} else {
|
||||
brandWrapper.or().like("brand",ownedBrandList.get(i));
|
||||
}
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(ownedBrandList)) {
|
||||
//合并去重
|
||||
records = Stream.of(records, lawsOpinionGatherEOService.list(brandWrapper))
|
||||
.flatMap(Collection::stream)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
this.lawsOpinionGatherEOService.disposeData(records,cut);
|
||||
pageList.setRecords(records);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
|
||||
+8
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
@@ -126,4 +127,11 @@ public class LawsOpinionGatherEO implements Serializable {
|
||||
/**删除标识 true 可以删除,false,没有权限删除**/
|
||||
@TableField(exist = false)
|
||||
private boolean deleteFlag = false;
|
||||
|
||||
@ApiModelProperty(value = "品牌")
|
||||
@Dict(dicCode = "brand")
|
||||
private String brand;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String brand_text;
|
||||
}
|
||||
|
||||
+2
-1
@@ -15,5 +15,6 @@
|
||||
<result column="start_time" property="startTime" />
|
||||
<result column="end_time" property="endTime" />
|
||||
<result column="acti_proc_inst_id" property="actiProcInstId" />
|
||||
<result column="brand" property="brand" />
|
||||
</resultMap>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
+19
@@ -12,6 +12,7 @@ import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.document.entity.BussDocumentLibraryEO;
|
||||
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
||||
import com.jero.modules.enums.DictCodeEnum;
|
||||
import com.jero.modules.feishu.service.IFeishuService;
|
||||
import com.jero.modules.feishu.vo.FeishuMsg2Vo;
|
||||
import com.jero.modules.feishu.vo.FeishuMsgVo;
|
||||
@@ -33,7 +34,10 @@ import com.jero.modules.project.enums.OperatorTypeEnum;
|
||||
import com.jero.modules.project.enums.RequestSourceEnum;
|
||||
import com.jero.modules.project.util.SendMessageUtils;
|
||||
import com.jero.modules.system.entity.SysCategory;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.mapper.SysDictItemMapper;
|
||||
import com.jero.modules.system.service.ISysDictItemService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
|
||||
import com.jero.modules.todoCenter.entity.ProcessInfoEO;
|
||||
@@ -89,6 +93,8 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl<LawsOpinionGathe
|
||||
private IFeishuService feishuService;
|
||||
@Autowired
|
||||
private IBussDocumentLibraryEOService bussDocumentLibraryEOService;
|
||||
@Autowired
|
||||
private SysDictItemMapper sysDictItemMapper;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
@@ -245,6 +251,19 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl<LawsOpinionGathe
|
||||
List<OSSFile> opinionArchiveFileList = iOSSFileService.getFileInfosByConnectId(StringUtils.join(lawsOpinionGather.getOpinionArchiveId(), ","));
|
||||
lawsOpinionGather.setOpinionArchiveFileList(opinionArchiveFileList);
|
||||
}
|
||||
if (StringUtils.isNotEmpty(lawsOpinionGather.getBrand())) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (String brandValue : lawsOpinionGather.getBrand().split(",")) {
|
||||
List<SysDictItem> sysDictItem = sysDictItemMapper.queryItemByValue(DictCodeEnum.BRAND.getValue(), brandValue);
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
builder.append(sysDictItem.get(0).getItemText() + ",");
|
||||
} else {
|
||||
builder.append(sysDictItem.get(0).getEnName()+ ",");
|
||||
}
|
||||
}
|
||||
String brandText = builder.toString().substring(0, builder.toString().length() - 1);
|
||||
lawsOpinionGather.setBrand_text(brandText);
|
||||
}
|
||||
//如果当前用户是超级管理员,或是这条数据的创建人,给删除权限。
|
||||
if(StringUtils.equals(lawsOpinionGather.getCreateBy(),currentUser.getUsername()) || administrator){
|
||||
lawsOpinionGather.setDeleteFlag(true);
|
||||
|
||||
+50
-1
@@ -1,9 +1,11 @@
|
||||
package com.jero.modules.lawsTechnologyEvaluation.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
@@ -11,6 +13,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService;
|
||||
@@ -18,10 +21,13 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationFlowDetailEOService;
|
||||
import com.jero.modules.system.service.IProjectUserBrandService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -51,6 +57,8 @@ public class LawsTechnologyEvaluationEOController extends JeroController<LawsTec
|
||||
private ISysUserService sysUserService;
|
||||
@Autowired
|
||||
private ILawsTechnologyEvaluationFlowDetailEOService lawsTechnologyEvaluationFlowDetailEOService;
|
||||
@Autowired
|
||||
private IProjectUserBrandService projectUserBrandService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@@ -69,15 +77,56 @@ public class LawsTechnologyEvaluationEOController extends JeroController<LawsTec
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
@RequestParam(name="cut", defaultValue="cn") String cut,
|
||||
HttpServletRequest req) {
|
||||
String brandSelect = lawsTechnologyEvaluationEO.getBrand();
|
||||
lawsTechnologyEvaluationEO.setBrand(null);
|
||||
QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsTechnologyEvaluationEO, req.getParameterMap());
|
||||
queryWrapper.orderByDesc("start_time");
|
||||
boolean administrator = this.sysUserService.isAdministrator();
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(!administrator){
|
||||
this.lawsTechnologyEvaluationEOService.createQueryPermission(queryWrapper,lawsTechnologyEvaluationEO,administrator);
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(brandSelect)) {
|
||||
//根据品牌搜索
|
||||
queryWrapper.and(query -> {
|
||||
query.lambda().like(LawsTechnologyEvaluationEO::getBrand, brandSelect);
|
||||
if(StringUtils.contains(brandSelect,",")){
|
||||
for (String brand : brandSelect.split(",")) {
|
||||
query.or(q -> {
|
||||
q.like("brand",brand);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
Page<LawsTechnologyEvaluationEO> page = new Page<LawsTechnologyEvaluationEO>(pageNo, pageSize);
|
||||
IPage<LawsTechnologyEvaluationEO> pageList = lawsTechnologyEvaluationEOService.page(page, queryWrapper);
|
||||
this.lawsTechnologyEvaluationEOService.disposeData(pageList.getRecords(),cut);
|
||||
List<LawsTechnologyEvaluationEO> records = pageList.getRecords();
|
||||
//如果是Viewer,根据品牌进行筛选
|
||||
List<String> ownedBrandList = projectUserBrandService.queryBrandByUserId(currentUser.getId());
|
||||
if (ObjectUtils.isNotEmpty(ownedBrandList)) {
|
||||
QueryWrapper<LawsTechnologyEvaluationEO> brandWrapper = new QueryWrapper<>();
|
||||
if (ObjectUtils.isNotEmpty(brandSelect)) {
|
||||
//取交集
|
||||
ownedBrandList = Arrays.asList(brandSelect.split(",")).stream().filter(ownedBrandList::contains).collect(Collectors.toList());
|
||||
}
|
||||
for (int i= 0; i<ownedBrandList.size(); i++) {
|
||||
if (i==0) {
|
||||
brandWrapper.like("brand",ownedBrandList.get(i));
|
||||
} else {
|
||||
brandWrapper.or().like("brand",ownedBrandList.get(i));
|
||||
}
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(ownedBrandList)) {
|
||||
//合并去重
|
||||
records = Stream.of(records, lawsTechnologyEvaluationEOService.list(brandWrapper))
|
||||
.flatMap(Collection::stream)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
this.lawsTechnologyEvaluationEOService.disposeData(records,cut);
|
||||
pageList.setRecords(records);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
|
||||
+7
@@ -152,4 +152,11 @@ public class LawsTechnologyEvaluationEO implements Serializable {
|
||||
/**删除标识 true 可以删除,false,没有权限删除**/
|
||||
@TableField(exist = false)
|
||||
private boolean deleteFlag = false;
|
||||
|
||||
@ApiModelProperty(value = "品牌")
|
||||
@Dict(dicCode = "brand")
|
||||
private String brand;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String brand_text;
|
||||
}
|
||||
|
||||
+2
-1
@@ -23,5 +23,6 @@
|
||||
<result column="regulation_owner_id" property="regulationOwnerId" />
|
||||
<result column="evaluation_type" property="evaluationType" />
|
||||
<result column="prc_num" property="prcNum" />
|
||||
<result column="brand" property="brand" />
|
||||
</resultMap>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
+17
@@ -15,6 +15,7 @@ import com.jero.modules.document.entity.BussDocumentLibraryEO;
|
||||
import com.jero.modules.document.enums.FieldTypeEnum;
|
||||
import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
|
||||
import com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl;
|
||||
import com.jero.modules.enums.DictCodeEnum;
|
||||
import com.jero.modules.feishu.service.IFeishuService;
|
||||
import com.jero.modules.feishu.vo.FeishuMsg2Vo;
|
||||
import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum;
|
||||
@@ -33,6 +34,7 @@ import com.jero.modules.split.service.ISarFileSplitInfoService;
|
||||
import com.jero.modules.system.entity.SysCategory;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.mapper.SysDictItemMapper;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
|
||||
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||
@@ -114,6 +116,8 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
|
||||
private IFeishuService feishuService;
|
||||
@Autowired
|
||||
private LawsTechnologyEvaluationFlowDetailEOMapper flowDetailEOMapper;
|
||||
@Autowired
|
||||
private SysDictItemMapper sysDictItemMapper;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
@@ -268,6 +272,19 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
|
||||
String name = getTreeName(cut, categoryList, technologyTerritory);
|
||||
data.setTechnologyTerritoryName(name);
|
||||
}
|
||||
if (StringUtils.isNotEmpty(data.getBrand())) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (String brandValue : data.getBrand().split(",")) {
|
||||
List<SysDictItem> sysDictItem = sysDictItemMapper.queryItemByValue(DictCodeEnum.BRAND.getValue(), brandValue);
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
builder.append(sysDictItem.get(0).getItemText() + ",");
|
||||
} else {
|
||||
builder.append(sysDictItem.get(0).getEnName() + ",");
|
||||
}
|
||||
}
|
||||
String brandText = builder.toString().substring(0, builder.toString().length() - 1);
|
||||
data.setBrand_text(brandText);
|
||||
}
|
||||
if(administrator || StringUtils.equals(data.getCreateBy(),currentUser.getUsername())){
|
||||
data.setDeleteFlag(true);
|
||||
}
|
||||
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
package com.jero.modules.project.controller;
|
||||
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.project.entity.ProjectUserPermission;
|
||||
import com.jero.modules.project.service.IProjectUserPermissionService;
|
||||
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;
|
||||
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<ProjectUserPermission, IProjectUserPermissionService> {
|
||||
@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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限同步接口
|
||||
*/
|
||||
@AutoLog(value = "权限同步接口")
|
||||
@ApiOperation(value="权限同步接口", notes="权限同步接口")
|
||||
@PostMapping(value = "/sync")
|
||||
public void sync(){
|
||||
projectUserPermissionService.sync();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+3
@@ -135,6 +135,9 @@ public class ProjectLibraryBase implements Comparable<ProjectLibraryBase> {
|
||||
@TableField(exist = false)
|
||||
private List<ProjectLibraryBase> children;
|
||||
|
||||
//品牌
|
||||
private String brand;
|
||||
|
||||
@Override
|
||||
public int compareTo(ProjectLibraryBase o) {
|
||||
return Integer.valueOf(this.projectVersion)-Integer.valueOf(o.projectVersion);//升序
|
||||
|
||||
+87
@@ -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;
|
||||
|
||||
}
|
||||
+32
@@ -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;
|
||||
}
|
||||
}
|
||||
+1
@@ -20,6 +20,7 @@ public enum ProjectRoleEnum {
|
||||
VERIFYDUTY("验证符合性确认-责任人","10",""),
|
||||
MANAGER("manage","11",""),
|
||||
ADMIN("系统管理员","12",""),
|
||||
VIEWER("Viewer","13",""),
|
||||
;
|
||||
|
||||
String name;
|
||||
|
||||
+59
@@ -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;
|
||||
}
|
||||
}
|
||||
+3
@@ -14,4 +14,7 @@ import java.util.List;
|
||||
public interface NcrTrackMapper extends BaseMapper<NcrTrackVO> {
|
||||
|
||||
List<NcrTrackVO> getInfoList(@Param("ncrTrackVO") NcrTrackVO ncrTrackVO);
|
||||
|
||||
List<NcrTrackVO> getViewerInfoList(@Param("ncrTrackVO") NcrTrackVO ncrTrackVO,@Param("list") List<String> list);
|
||||
|
||||
}
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.jero.modules.project.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
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<ProjectUserPermission> {
|
||||
|
||||
|
||||
Set<String> queryProjectIdsByUserId(@Param("userId") String userId);
|
||||
}
|
||||
+52
@@ -94,4 +94,56 @@
|
||||
order by pli.create_time desc
|
||||
|
||||
</select>
|
||||
|
||||
<select id="getViewerInfoList" resultMap="NcrTrackVOResultMap">
|
||||
SELECT
|
||||
pni.project_name,plb.target_market,
|
||||
pli.serial_number,pli.title,pli.duty_territory,pli.create_time,pli.project_library_id,
|
||||
pti.design_flow_task_status,pti.prehomo_flow_task_status,pti.verify_flow_task_status,pti.design_p_id,pti.prehomo_p_id,pti.verify_p_id,pti.id,pti.project_laws_inventory_id,
|
||||
pli.design_initiator_id,pli.design_duty_id,pli.prehomo_initiator_id,pli.prehomo_duty_id,pli.verify_initiator_id,pli.verify_duty_id
|
||||
|
||||
FROM project_task_inventory pti
|
||||
left join project_laws_inventory pli on pti.project_laws_inventory_id = pli.id
|
||||
left join project_library_base plb on plb.id = pli.project_library_id
|
||||
left join project_name_info pni on pni.id = plb.project_name_id
|
||||
left join project_task_inventory_detail ptid on ptid.project_task_inventory_id = pti.project_laws_inventory_id
|
||||
|
||||
where
|
||||
<if test="ncrTrackVO.projectLibraryId != null and ncrTrackVO.projectLibraryId != ''">
|
||||
plb.id =#{ncrTrackVO.projectLibraryId}
|
||||
and
|
||||
</if>
|
||||
<if test="ncrTrackVO.serialNumber != null and ncrTrackVO.serialNumber != ''">
|
||||
pli.serial_number like concat(concat('%',#{ncrTrackVO.serialNumber}),'%')
|
||||
and
|
||||
</if>
|
||||
<if test="ncrTrackVO.title != null and ncrTrackVO.title != ''">
|
||||
pli.title like concat(concat('%',#{ncrTrackVO.title}),'%')
|
||||
and
|
||||
</if>
|
||||
<if test="ncrTrackVO.projectName != null and ncrTrackVO.projectName != ''">
|
||||
pni.project_name =#{ncrTrackVO.projectName}
|
||||
and
|
||||
</if>
|
||||
<if test="ncrTrackVO.initiator != null and ncrTrackVO.initiator != ''">
|
||||
(pli.design_initiator_id =#{ncrTrackVO.initiator} or pli.prehomo_initiator_id =#{ncrTrackVO.initiator} or pli.verify_initiator_id =#{ncrTrackVO.initiator})
|
||||
and
|
||||
</if>
|
||||
<if test="ncrTrackVO.duty != null and ncrTrackVO.duty != ''">
|
||||
(pli.design_duty_id =#{ncrTrackVO.duty} or pli.prehomo_duty_id =#{ncrTrackVO.duty} or pli.verify_duty_id =#{ncrTrackVO.duty})
|
||||
and
|
||||
</if>
|
||||
(
|
||||
design_flow_task_status =#{ncrTrackVO.inconformity} or design_flow_task_status =#{ncrTrackVO.track}
|
||||
or prehomo_flow_task_status =#{ncrTrackVO.inconformity} or prehomo_flow_task_status =#{ncrTrackVO.track}
|
||||
or verify_flow_task_status =#{ncrTrackVO.inconformity} or verify_flow_task_status =#{ncrTrackVO.track}
|
||||
)
|
||||
and pli.duty_territory in
|
||||
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
order by pli.create_time desc
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
+3
-1
@@ -20,6 +20,7 @@
|
||||
<result column="update_by" property="updateBy" />
|
||||
<result column="update_time" property="updateTime" />
|
||||
<result column="sys_org_code" property="sysOrgCode" />
|
||||
<result column="brand" property="brand" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="select_item">
|
||||
@@ -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
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.project.mapper.ProjectUserPermissionMapper">
|
||||
<resultMap id="ProjectUserPermissionResultMap" type="com.jero.modules.project.entity.ProjectUserPermission">
|
||||
<id column="id" property="id" />
|
||||
<result column="create_by" property="createBy" />
|
||||
<result column="create_time" property="createTime" />
|
||||
<result column="update_by" property="updateBy" />
|
||||
<result column="update_time" property="updateTime" />
|
||||
<result column="project_id" property="projectId" />
|
||||
<result column="user_id" property="userId" />
|
||||
<result column="belong" property="belong" />
|
||||
<result column="description" property="description" />
|
||||
</resultMap>
|
||||
|
||||
<select id="queryProjectIdsByUserId" resultType="java.lang.String">
|
||||
|
||||
SELECT pup.project_id FROM project_user_permission pup
|
||||
WHERE pup.user_id = #{userId} GROUP BY pup.project_id
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
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;
|
||||
|
||||
/**
|
||||
* @Description: 项目权限表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2022-11-10
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IProjectUserPermissionService extends IService<ProjectUserPermission> {
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @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<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ProjectUserPermission queryById(String id);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
List<ProjectUserPermission> queryList();
|
||||
|
||||
/**
|
||||
* 工作流调用设置权限
|
||||
* @param jsonObject
|
||||
* @return
|
||||
*/
|
||||
Result<?> setPermission(JSONObject jsonObject);
|
||||
|
||||
/**
|
||||
* 权限同步
|
||||
*/
|
||||
void sync();
|
||||
|
||||
}
|
||||
+14
-1
@@ -18,6 +18,7 @@ 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.service.ISysDictService;
|
||||
import com.jero.modules.system.service.IProjectUserDutyTerritoryService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
||||
@@ -63,6 +64,8 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
|
||||
private SysDictItemServiceImpl sysDictItemServiceImpl;
|
||||
@Autowired
|
||||
private ISysDictService sysDictService;
|
||||
@Autowired
|
||||
private IProjectUserDutyTerritoryService projectUserDutyTerritoryService;
|
||||
|
||||
@Override
|
||||
public List<NcrTrackVO> getPageInfo(NcrTrackVO ncrTrackVO) {
|
||||
@@ -89,8 +92,18 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
|
||||
//如果当前登录用户是系统管理员角色,可以查看所有的数据
|
||||
boolean administrator = this.sysUserService.isAdministrator();
|
||||
ncrTrackVO.setAdministrator(administrator ? "true":"false");
|
||||
|
||||
List<NcrTrackVO> infoList = ncrTrackMapper.getInfoList(ncrTrackVO);
|
||||
//判断是否是viewer
|
||||
boolean viewer = sysUserService.isViewer(loginUser.getId());
|
||||
List<NcrTrackVO> viewerList = null;
|
||||
if (viewer) {
|
||||
List<String> dutyTerritoryList = projectUserDutyTerritoryService.queryDutyTerritoryByUserId(loginUser.getId());
|
||||
viewerList = ObjectUtils.isNotEmpty(dutyTerritoryList) ? ncrTrackMapper.getViewerInfoList(ncrTrackVO, dutyTerritoryList) : new ArrayList<>();
|
||||
}
|
||||
//如果当前登录用户是viewer,查看属于自己责任领域或者自己参与的数据
|
||||
if (!administrator && viewer) {
|
||||
infoList.addAll(viewerList);
|
||||
}
|
||||
infoList = infoList.stream().distinct().collect(Collectors.toList());
|
||||
List<NcrTrackVO> trackVOList = new ArrayList<>();
|
||||
String designName = "";
|
||||
|
||||
+177
-13
@@ -58,6 +58,7 @@ import com.jero.modules.system.mapper.SysCategoryMapper;
|
||||
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.IProjectUserDutyTerritoryService;
|
||||
import com.jero.modules.system.service.ISysAnnouncementService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
|
||||
@@ -241,6 +242,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
@Autowired
|
||||
private IBussDocumentLibraryEOService bussDocumentLibraryEOService;
|
||||
|
||||
@Autowired
|
||||
private IProjectUserPermissionService projectUserPermissionService;
|
||||
|
||||
@Autowired
|
||||
private IProjectUserDutyTerritoryService projectUserDutyTerritoryService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -249,6 +256,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
*/
|
||||
@Override
|
||||
public void add(ProjectLawsInventoryEO projectLawsInventoryEO) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
Date now = new Date();
|
||||
List<ProjectTaskInventoryEO> projectTaskInventoryEOList = new ArrayList<>();
|
||||
//法规清单所有的数据
|
||||
LambdaQueryWrapper<ProjectLawsInventoryEO> wrapperTemp = new LambdaQueryWrapper<>();
|
||||
@@ -319,6 +328,17 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}
|
||||
if(projectLawsInventoryEOS.size() != 0){
|
||||
this.saveBatch(projectLawsInventoryEOS);
|
||||
//设置权限
|
||||
for (ProjectLawsInventoryEO lawsInventoryEO : projectLawsInventoryEOS) {
|
||||
ProjectUserPermission permission = new ProjectUserPermission();
|
||||
permission.setProjectId(projectLawsInventoryEO.getProjectLibraryId());
|
||||
permission.setUserId(sysUser.getId());
|
||||
permission.setBelong(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_CREATE_BY.getValue());
|
||||
permission.setDescription(PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + lawsInventoryEO.getId());
|
||||
permission.setCreateTime(now);
|
||||
permission.setUpdateTime(now);
|
||||
projectUserPermissionService.add(permission);
|
||||
}
|
||||
projectLawsInventoryEOS.forEach(lawsInventory -> {
|
||||
ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO();
|
||||
String projectTaskInventoryId = UUID.randomUUID().toString().replace("-", "");
|
||||
@@ -330,7 +350,6 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
|
||||
//更新log
|
||||
String projectLibraryId = projectLawsInventoryEOS.stream().map(e->e.getProjectLibraryId()).collect(Collectors.toList()).get(0);
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String username = sysUser.getUsername();
|
||||
QueryWrapper<DummyInventoryBaseEO> queryWrapper = new QueryWrapper<>();
|
||||
String dummyInventoryBaseName = dummyInventoryBaseEOService.list(queryWrapper.eq("id", dummyInventoryBaseId)).get(0).getName();//name
|
||||
@@ -377,7 +396,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}
|
||||
|
||||
List<ProjectLawsInventoryEO> list = new ArrayList<>();
|
||||
|
||||
List<ProjectUserPermission> addPermission = new ArrayList<>();
|
||||
for (BussDocumentLibraryEO bussDocumentLibraryEO : bussDocumentLibraryEOList) {
|
||||
String standId = bussDocumentLibraryEO.getId();
|
||||
|
||||
@@ -399,11 +418,23 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
projectTaskInventoryEO.setProjectLawsInventoryId(projectLawsInventoryId);
|
||||
projectTaskInventoryEO.setStandId(standId);
|
||||
projectTaskInventoryEOList.add(projectTaskInventoryEO);
|
||||
|
||||
//添加权限
|
||||
ProjectUserPermission permission = new ProjectUserPermission();
|
||||
permission.setProjectId(projectLawsInventoryEO.getProjectLibraryId());
|
||||
permission.setUserId(sysUser.getId());
|
||||
permission.setBelong(ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_CREATE_BY.getValue());
|
||||
permission.setDescription(PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectLawsInventoryId);
|
||||
permission.setCreateTime(now);
|
||||
permission.setUpdateTime(now);
|
||||
addPermission.add(permission);
|
||||
}
|
||||
super.saveBatch(list);
|
||||
if (ObjectUtils.isNotEmpty(addPermission)) {
|
||||
projectUserPermissionService.saveBatch(addPermission);
|
||||
}
|
||||
|
||||
//更新log
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String username = sysUser.getUsername();
|
||||
String serialNumber = list.stream().map(e->e.getSerialNumber()).collect(Collectors.joining(","));
|
||||
String contentLog = username+"向清单中添加了“"+serialNumber+"”";
|
||||
@@ -475,18 +506,69 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
// setContentLog(infoDiff,contentLog,infoDiffEn,enContentLog,projectLawsInventoryEO.getProjectLibraryId());
|
||||
|
||||
|
||||
// //验证用户是否是该法规上级 项目库的studio, 如果是,则同步更新流程
|
||||
// int roleCode = checkUserRole(projectLawsInventoryEO.getProjectLibraryId(), currentUser.getId(), "");
|
||||
// if (StringUtils.equals(String.valueOf(roleCode),ProjectRoleEnum.STUDIO_ENGINEER.getValue())){
|
||||
// //更新流程信息
|
||||
// updateFlowInfo(projectLawsInventoryEO);
|
||||
// }
|
||||
this.updateFlowInfo(projectLawsInventoryEO);
|
||||
//验证用户是否是该法规上级 项目库的studio, 如果是,则同步更新流程
|
||||
int roleCode = checkUserRole(projectLawsInventoryEO.getProjectLibraryId(), currentUser.getId(), "");
|
||||
if (StringUtils.equals(String.valueOf(roleCode),ProjectRoleEnum.STUDIO_ENGINEER.getValue())){
|
||||
//更新流程信息
|
||||
updateFlowInfo(projectLawsInventoryEO);
|
||||
}
|
||||
|
||||
//设置权限 先删后加
|
||||
List<ProjectUserPermission> 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<ProjectUserPermission> adds, String belong) {
|
||||
QueryWrapper<ProjectUserPermission> 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<ProjectLawsInventoryEO> updateWrapper) {
|
||||
if(ObjectUtils.isEmpty(projectLawsInventoryEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1())){
|
||||
updateWrapper.set(ProjectLawsInventoryEO::getXin1Che1Xing2Shi2Shi1Ri4Qi1,null);
|
||||
@@ -642,6 +724,10 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
QueryWrapper<ProjectLawsInventoryRejectCauseEO> rejectCauseRemoveWrapper = new QueryWrapper<>();
|
||||
rejectCauseRemoveWrapper.lambda().eq(ProjectLawsInventoryRejectCauseEO::getProjectLawsInventoryId,id);
|
||||
this.projectLawsInventoryRejectCauseEOService.remove(rejectCauseRemoveWrapper);
|
||||
//删除相关人员权限
|
||||
QueryWrapper<ProjectUserPermission> delPermission = new QueryWrapper<>();
|
||||
delPermission.eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + id);
|
||||
projectUserPermissionService.remove(delPermission);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -692,6 +778,15 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
QueryWrapper<ProjectLawsInventoryRejectCauseEO> rejectCauseRemoveWrapper = new QueryWrapper<>();
|
||||
rejectCauseRemoveWrapper.lambda().in(ProjectLawsInventoryRejectCauseEO::getProjectLawsInventoryId,ids);
|
||||
this.projectLawsInventoryRejectCauseEOService.remove(rejectCauseRemoveWrapper);
|
||||
|
||||
//删除相关人员权限
|
||||
List<String> description = new ArrayList<>();
|
||||
QueryWrapper<ProjectUserPermission> delPermission = new QueryWrapper<>();
|
||||
for (String id : ids) {
|
||||
description.add(PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + id);
|
||||
}
|
||||
delPermission.in("description", description);
|
||||
projectUserPermissionService.remove(delPermission);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -757,7 +852,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
|
||||
if(isProjectRole != Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue())
|
||||
&& isProjectRole != Integer.parseInt(ProjectRoleEnum.MANAGER.getValue())
|
||||
&& isProjectRole != Integer.parseInt(ProjectRoleEnum.ADMIN.getValue())){
|
||||
&& isProjectRole != Integer.parseInt(ProjectRoleEnum.ADMIN.getValue())
|
||||
&& isProjectRole != Integer.parseInt(ProjectRoleEnum.VIEWER.getValue())){
|
||||
projectLawsInventoryEOQueryWrapper.and(queryWrapper ->{
|
||||
queryWrapper.eq("regulation_owner_id",currentUser.getId()).
|
||||
or().eq("homologation_engineer_id",currentUser.getId());
|
||||
@@ -765,6 +861,15 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}
|
||||
List<ProjectLawsInventoryEO> result = super.baseMapper.selectList(projectLawsInventoryEOQueryWrapper);
|
||||
log.info("二阶段消耗时间:" + (System.currentTimeMillis() - startTime));
|
||||
if (isProjectRole == Integer.parseInt(ProjectRoleEnum.VIEWER.getValue())) {
|
||||
//查当前用户Viewer对应责任领域
|
||||
List<String> dutyTerritoryList = projectUserDutyTerritoryService.queryDutyTerritoryByUserId(currentUser.getId());
|
||||
if (ObjectUtils.isNotEmpty(dutyTerritoryList)) {
|
||||
result = result.stream().filter(e -> dutyTerritoryList.contains(e.getDutyTerritory())).collect(Collectors.toList());
|
||||
} else {
|
||||
result = new ArrayList<>();
|
||||
}
|
||||
}
|
||||
dataDispose(result,currentUser,isProjectRole,projectLawsInventoryEO.getCut());
|
||||
log.info("三阶段消耗时间:" + (System.currentTimeMillis() - startTime));
|
||||
dataDictDispose(result,projectLawsInventoryEO.getCut());
|
||||
@@ -3099,6 +3204,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
List<ProjectLawsInventoryEO> infoList = list(queryWrapper.in("id", idList));
|
||||
|
||||
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = new ArrayList<>();
|
||||
|
||||
List<ProjectUserPermission> adds = new ArrayList<>();
|
||||
Date now = new Date();
|
||||
for (String id : projectLawsInventoryEO.getIds().split(",")) {
|
||||
ProjectLawsInventoryEO projectLawsInventoryEOTemp = new ProjectLawsInventoryEO();
|
||||
projectLawsInventoryEOTemp.setId(id);
|
||||
@@ -3142,46 +3250,57 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
if(ObjectUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDueDate())){
|
||||
projectLawsInventoryEOTemp.setVerifyDueDate(projectLawsInventoryEO.getVerifyDueDate());
|
||||
}
|
||||
|
||||
//================================批量设置人员===================================================
|
||||
//法规工程师id
|
||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerId())){
|
||||
projectLawsInventoryEOTemp.setRegulationOwnerId(projectLawsInventoryEO.getRegulationOwnerId());
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getRegulationOwnerId(),projectLibraryId, id, now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_REGULATION.getValue());
|
||||
}
|
||||
//认证工程师id
|
||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getHomologationEngineerId())){
|
||||
projectLawsInventoryEOTemp.setHomologationEngineerId(projectLawsInventoryEO.getHomologationEngineerId());
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getHomologationEngineerId(),projectLibraryId, id, now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_HOMOLOGATION.getValue());
|
||||
}
|
||||
//工程接口人id
|
||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getEngineeringInterfacePerson())){
|
||||
projectLawsInventoryEOTemp.setEngineeringInterfacePerson(projectLawsInventoryEO.getEngineeringInterfacePerson());
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getEngineeringInterfacePerson(),projectLibraryId, id, now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_INTERFACE.getValue());
|
||||
}
|
||||
//设计符合性流程发起人id
|
||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignInitiatorId())){
|
||||
projectLawsInventoryEOTemp.setDesignInitiatorId(projectLawsInventoryEO.getDesignInitiatorId());
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getDesignInitiatorId(),projectLibraryId, id, now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_INITIATOR.getValue());
|
||||
}
|
||||
//设计符合性流程责任人id
|
||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){
|
||||
projectLawsInventoryEOTemp.setDesignDutyId(projectLawsInventoryEO.getDesignDutyId());
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getDesignDutyId(),projectLibraryId, id, now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_DUTY.getValue());
|
||||
}
|
||||
//Pre-homo确认流程发起人id
|
||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoInitiatorId())){
|
||||
projectLawsInventoryEOTemp.setPrehomoInitiatorId(projectLawsInventoryEO.getPrehomoInitiatorId());
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getPrehomoInitiatorId(),projectLibraryId, id, now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_INITIATOR.getValue());
|
||||
}
|
||||
//Pre-homo确认责任人id
|
||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoDutyId())){
|
||||
projectLawsInventoryEOTemp.setPrehomoDutyId(projectLawsInventoryEO.getPrehomoDutyId());
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getPrehomoDutyId(),projectLibraryId, id, now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_DUTY.getValue());
|
||||
}
|
||||
//验证符合性流程发起人id
|
||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyInitiatorId())){
|
||||
projectLawsInventoryEOTemp.setVerifyInitiatorId(projectLawsInventoryEO.getVerifyInitiatorId());
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getVerifyInitiatorId(),projectLibraryId, id, now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_INITIATOR.getValue());
|
||||
}
|
||||
//验证符合性流程责任人id
|
||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){
|
||||
projectLawsInventoryEOTemp.setVerifyDutyId(projectLawsInventoryEO.getVerifyDutyId());
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getVerifyDutyId(),projectLibraryId, id, now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_DUTY.getValue());
|
||||
}
|
||||
projectLawsInventoryEOList.add(projectLawsInventoryEOTemp);
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(adds)) {
|
||||
projectUserPermissionService.saveBatch(adds);
|
||||
}
|
||||
|
||||
this.updateBatchById(projectLawsInventoryEOList);
|
||||
|
||||
@@ -5426,6 +5545,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
this.saveBatch(dataList);
|
||||
//项目任务清单数据初始化。
|
||||
List<ProjectTaskInventoryEO> projectTaskInventoryEOList = new ArrayList<>();
|
||||
//权限添加
|
||||
List<ProjectUserPermission> adds = new ArrayList<>();
|
||||
Date now = new Date();
|
||||
for (ProjectLawsInventoryEO projectLawsInventoryEO : dataList) {
|
||||
ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO();
|
||||
String projectTaskInventoryId = UUID.randomUUID().toString().replace("-", "");
|
||||
@@ -5433,6 +5555,37 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
projectTaskInventoryEO.setProjectLawsInventoryId(projectLawsInventoryEO.getId());
|
||||
projectLawsInventoryEO.setStandId(projectLawsInventoryEO.getStandId());
|
||||
projectTaskInventoryEOList.add(projectTaskInventoryEO);
|
||||
//设置权限
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerId())) {
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getRegulationOwnerId(), projectLawsInventoryEOTemp.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_REGULATION.getValue());
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getHomologationEngineerId())) {
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getHomologationEngineerId(),projectLawsInventoryEOTemp.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_HOMOLOGATION.getValue());
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getEngineeringInterfacePerson())) {
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getEngineeringInterfacePerson(),projectLawsInventoryEOTemp.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_INTERFACE.getValue());
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getDesignInitiatorId())) {
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getDesignInitiatorId(),projectLawsInventoryEOTemp.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_INITIATOR.getValue());
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())) {
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getDesignDutyId(),projectLawsInventoryEOTemp.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_DUTY.getValue());
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoInitiatorId())) {
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getPrehomoInitiatorId(),projectLawsInventoryEOTemp.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_INITIATOR.getValue());
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoDutyId())) {
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getPrehomoDutyId(),projectLawsInventoryEOTemp.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_DUTY.getValue());
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getVerifyInitiatorId())) {
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getVerifyInitiatorId(),projectLawsInventoryEOTemp.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_INITIATOR.getValue());
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())) {
|
||||
setProjectLawsInventoryPermission(projectLawsInventoryEO.getVerifyDutyId(),projectLawsInventoryEOTemp.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_DUTY.getValue());
|
||||
}
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(adds)) {
|
||||
projectUserPermissionService.saveBatch(adds);
|
||||
}
|
||||
this.projectTaskInventoryEOService.saveBatch(projectTaskInventoryEOList);
|
||||
//初始化项目状态评估
|
||||
@@ -8947,10 +9100,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}
|
||||
|
||||
List<SysRole> roleList = sysRoleMapper.getRoleByUserId(loginUser.getId());
|
||||
//studio角色,法规工程师/认证工程师,领导角色,管理员角色
|
||||
//studio角色,法规工程师/认证工程师,领导角色,管理员角色,Viewer
|
||||
if (roleList.size() != 0) {
|
||||
List<SysRole> manager = roleList.stream().filter(e -> com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getCode().equals(e.getRoleCode())).collect(Collectors.toList());
|
||||
List<SysRole> admin = roleList.stream().filter(e -> com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getCode().equals(e.getRoleCode())).collect(Collectors.toList());
|
||||
List<SysRole> Viewer = roleList.stream().filter(e -> com.jero.modules.system.enums.ProjectRoleEnum.VIEWER.getCode().equals(e.getRoleCode())).collect(Collectors.toList());
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
if (manager.size() != 0) {
|
||||
manager.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getValue());
|
||||
@@ -8960,6 +9114,10 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
admin.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getValue());
|
||||
sysRoles.addAll(admin);
|
||||
}
|
||||
if (Viewer.size() != 0) {
|
||||
Viewer.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.VIEWER.getValue());
|
||||
sysRoles.addAll(Viewer);
|
||||
}
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
if (manager.size() != 0) {
|
||||
manager.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getValue());
|
||||
@@ -8971,6 +9129,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
admin.get(0).setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getCode());
|
||||
sysRoles.addAll(admin);
|
||||
}
|
||||
if (Viewer.size() != 0) {
|
||||
Viewer.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.VIEWER.getCode());
|
||||
Viewer.get(0).setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.VIEWER.getCode());
|
||||
sysRoles.addAll(Viewer);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+342
-32
@@ -11,35 +11,20 @@ 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.IProjectUserBrandService;
|
||||
import com.jero.modules.system.service.ISysDictService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||
@@ -62,15 +47,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.text.ParseException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -133,6 +110,18 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
@Autowired
|
||||
private SysRoleMapper sysRoleMapper;
|
||||
|
||||
@Autowired
|
||||
private IProjectUserPermissionService projectUserPermissionService;
|
||||
|
||||
@Autowired
|
||||
private ProjectUserPermissionMapper projectUserPermissionMapper;
|
||||
|
||||
@Autowired
|
||||
private IProjectUserBrandService projectUserBrandService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -162,6 +151,33 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
projectLibraryRoleRelEO.setUserId(projectLibraryBase.getStudioEngineer());
|
||||
projectLibraryRoleRelEO.setRoleCode(ProjectRoleEnum.STUDIO_ENGINEER.getValue());
|
||||
projectLibraryRoleRelEOService.add(projectLibraryRoleRelEO);
|
||||
|
||||
//项目权限表添加
|
||||
List<ProjectUserPermission> 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 +198,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
projectLibraryBaseTemp.setExplanation(projectLibraryBase.getExplanation());
|
||||
this.save(projectLibraryBaseTemp);
|
||||
|
||||
Date now = new Date();
|
||||
|
||||
//相关人员名单中添加数据
|
||||
List<ProjectRelatedPersonnel> projectRelatedPersonnelList = projectRelatedPersonnelMapper.queryPageList(id,
|
||||
@@ -191,11 +208,57 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
null,
|
||||
null);
|
||||
if(projectRelatedPersonnelList.size() != 0){
|
||||
List<ProjectUserPermission> 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 +276,26 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
LambdaQueryWrapper<ProjectLibraryRoleRelEO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.in(ProjectLibraryRoleRelEO::getProjectLibraryId,projectLibraryBase.getId());
|
||||
List<ProjectLibraryRoleRelEO> projectLibraryRoleRelEOList = projectLibraryRoleRelEOService.list(queryWrapper);
|
||||
|
||||
List<ProjectUserPermission> 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 +334,8 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
projectLibraryBase.setUpdateBy(sysUser.getUsername());
|
||||
|
||||
ProjectLibraryBase original = baseMapper.selectById(projectLibraryBase.getId());
|
||||
|
||||
checkExitData(projectLibraryBase);
|
||||
saveOrUpdate(projectLibraryBase);
|
||||
|
||||
@@ -265,6 +343,14 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
QueryWrapper<ProjectLibraryRoleRelEO> deleteLibraryRoleRelWrapper = new QueryWrapper<>();
|
||||
deleteLibraryRoleRelWrapper.lambda().eq(ProjectLibraryRoleRelEO::getProjectLibraryId,projectLibraryBase.getId());
|
||||
projectLibraryRoleRelEOService.remove(deleteLibraryRoleRelWrapper);
|
||||
//删除当前项目studio项目权限
|
||||
QueryWrapper<ProjectUserPermission> delStudioPermission = new QueryWrapper<>();
|
||||
delStudioPermission.eq("project_id", projectLibraryBase.getId()).eq("belong", ProjectUserLocationEnum.PROJECT_ADD_STUDIO.getValue());
|
||||
projectUserPermissionService.remove(delStudioPermission);
|
||||
//删除当前项目certification engineer项目权限
|
||||
QueryWrapper<ProjectUserPermission> 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 +358,67 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
projectLibraryRoleRelEO.setUserId(projectLibraryBase.getStudioEngineer());
|
||||
projectLibraryRoleRelEO.setRoleCode(ProjectRoleEnum.STUDIO_ENGINEER.getValue());
|
||||
projectLibraryRoleRelEOService.add(projectLibraryRoleRelEO);
|
||||
//重新设置当前项目studio项目权限
|
||||
List<ProjectUserPermission> 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<ProjectRelatedPersonnel> result = projectRelatedPersonnelMapper.queryPageList(projectLibraryBase.getId(),
|
||||
DictCodeEnum.DUTY_TERRITORY.getValue(), null, null, null, null);
|
||||
//项目的认证工程师
|
||||
String certificationEngineer = projectLibraryBase.getCertificationEngineer();
|
||||
//一个都不选的情况下
|
||||
if ("".equals(certificationEngineer)) {
|
||||
//删除当前项目的相关人员名单中认证工程师权限
|
||||
QueryWrapper<ProjectUserPermission> delWrapper = new QueryWrapper<>();
|
||||
delWrapper.eq("project_id", projectLibraryBase.getId())
|
||||
.eq("belong", ProjectUserLocationEnum.PROJECT_DETAIL_RELEVANT_PERSONNEL_CERTIFICATION.getValue());
|
||||
projectUserPermissionService.remove(delWrapper);
|
||||
//删除当前项目的法规清单中认证工程师权限
|
||||
QueryWrapper<ProjectUserPermission> 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<ProjectUserPermission> 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<ProjectUserPermission> 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 +439,104 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
//批量修改相关人员名单信息中的认证工程师
|
||||
projectRelatedPersonnelService.updateBatchById(result);
|
||||
}
|
||||
/**
|
||||
*法规清单发起任务前或任务结束后修改studio或者修改认证工程师时,
|
||||
*如果设计符合性确认、Pre-Homo确认、 验证符合性确认中的发起人跟责任人引用到了这两人,
|
||||
*而且这两个人不属于相关人员名单的工程接口人和法规工程师,同步删除这两人的权限
|
||||
*/
|
||||
|
||||
List<String> 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<ProjectLawsInventoryEO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("project_library_id", projectLibraryBase.getId());
|
||||
List<ProjectLawsInventoryEO> 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<ProjectTaskInventoryEO> taskInventoryQueryWrapper = new QueryWrapper<>();
|
||||
taskInventoryQueryWrapper.eq("project_laws_inventory_id",lawsInventoryEO.getId());
|
||||
List<ProjectTaskInventoryEO> 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<ProjectRelatedPersonnel> personnelQueryWrapper = new QueryWrapper<>();
|
||||
personnelQueryWrapper.eq("duty_territory", lawsInventoryEO.getDutyTerritory()).eq("project_id", projectLibraryBase.getId());
|
||||
List<ProjectRelatedPersonnel> 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<ProjectUserPermission> 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);
|
||||
}
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(original.getCertificationEngineer())) {
|
||||
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<ProjectUserPermission> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -314,8 +552,18 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
// 关联删除项目下的所有收集清单
|
||||
paramsManifestEOService.deleteByProjectId(id);
|
||||
|
||||
//删除主项目
|
||||
removeById(id);
|
||||
|
||||
//删除子项目
|
||||
LambdaQueryWrapper<ProjectLibraryBase> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProjectLibraryBase::getParentId,id);
|
||||
List<ProjectLibraryBase> list = this.list(wrapper);
|
||||
if(ObjectUtils.isNotEmpty(list)){
|
||||
List<String> idList = list.stream().map(ProjectLibraryBase::getId).collect(Collectors.toList());
|
||||
this.removeByIds(idList);
|
||||
}
|
||||
|
||||
//关联删除-相关人员
|
||||
QueryWrapper<ProjectRelatedPersonnel> relatedPersonnelQueryWrapper = new QueryWrapper<>();
|
||||
relatedPersonnelQueryWrapper.eq("project_id",id);
|
||||
@@ -336,6 +584,10 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
logEOQueryWrapper.in("project_library_id",id);
|
||||
projectLawsInventoryLogEOService.remove(logEOQueryWrapper);
|
||||
|
||||
//删除权限
|
||||
QueryWrapper<ProjectUserPermission> permissionQueryWrapper = new QueryWrapper<>();
|
||||
permissionQueryWrapper.eq("project_id", id);
|
||||
projectUserPermissionService.remove(permissionQueryWrapper);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -478,6 +730,28 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
*/
|
||||
@Override
|
||||
public List<ProjectLibraryBase> queryPageList(Map<String,Object> params) {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
Integer isViewer = sysRoleMapper.queryUserRoleByCode(ProjectRoleEnum.VIEWER.getName(), loginUser.getId());
|
||||
Set<String> projectIds = new HashSet<>();
|
||||
if (isViewer == 0) {
|
||||
//如果不是viewer,根据项目用户权限表筛选有权访问的项目
|
||||
Set<String> permissionProjectIds = projectUserPermissionMapper.queryProjectIdsByUserId(loginUser.getId());
|
||||
if (ObjectUtils.isNotEmpty(permissionProjectIds)) {
|
||||
projectIds.addAll(permissionProjectIds);
|
||||
}
|
||||
}
|
||||
//if (sysRoleMapper.queryUserRoleByCode(ProjectRoleEnum.VIEWER.getName(), loginUser.getId()) > 0) {
|
||||
// //如果是Viewer,根据配置的品牌筛选可访问的项目
|
||||
// List<String> brandTypes = projectUserBrandService.queryBrandByUserId(loginUser.getId());
|
||||
// if (ObjectUtils.isNotEmpty(brandTypes)) {
|
||||
// QueryWrapper<ProjectLibraryBase> queryWrapper = new QueryWrapper<>();
|
||||
// queryWrapper.in("brand",brandTypes);
|
||||
// if (ObjectUtils.isNotEmpty(list(queryWrapper))) {
|
||||
// projectIds.addAll(list(queryWrapper).stream().map(ProjectLibraryBase::getId).collect(Collectors.toSet()));
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
List<ProjectLibraryBase> result = projectLibraryBaseMapper.queryPageList(params);
|
||||
disposeData(result,"",false);
|
||||
//目标市场
|
||||
@@ -562,7 +836,43 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
}
|
||||
}
|
||||
}
|
||||
return resultNew;
|
||||
|
||||
//权限筛选
|
||||
if (isViewer != 0) {
|
||||
return resultNew;
|
||||
} else {
|
||||
List<ProjectLibraryBase> resultLast = new ArrayList<>();
|
||||
for (ProjectLibraryBase projectLibraryBase : resultNew) {
|
||||
//判断父项目是否有权限
|
||||
if (!projectIds.contains(projectLibraryBase.getId())) {
|
||||
//判断子项目是否有权限
|
||||
List<ProjectLibraryBase> children = projectLibraryBase.getChildren();
|
||||
if (ObjectUtils.isNotEmpty(children)) {
|
||||
for (ProjectLibraryBase child : children) {
|
||||
//将有权限的放入最后返回的集合中
|
||||
if (projectIds.contains(child.getId())) {
|
||||
resultLast.add(child);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
List<ProjectLibraryBase> children = projectLibraryBase.getChildren();
|
||||
if (ObjectUtils.isNotEmpty(children)) {
|
||||
List<ProjectLibraryBase> lastChild = new ArrayList<>();
|
||||
//判断子项目是否有权限
|
||||
for (ProjectLibraryBase child : children) {
|
||||
if (projectIds.contains(child.getId())) {
|
||||
lastChild.add(child);
|
||||
}
|
||||
}
|
||||
projectLibraryBase.setChildren(lastChild);
|
||||
}
|
||||
resultLast.add(projectLibraryBase);
|
||||
}
|
||||
|
||||
}
|
||||
return resultLast;
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+380
-6
@@ -15,12 +15,14 @@ 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.enums.ProjectInventoryFieldEnum;
|
||||
import com.jero.modules.project.enums.ProjectRoleEnum;
|
||||
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;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.mapper.SysDictItemMapper;
|
||||
@@ -93,6 +95,19 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
|
||||
@Autowired
|
||||
private ProjectLibraryBaseServiceImpl projectLibraryBaseService;
|
||||
|
||||
@Autowired
|
||||
private IProjectUserPermissionService projectUserPermissionService;
|
||||
|
||||
@Autowired
|
||||
private IProjectLawsInventoryEOService projectLawsInventoryEOService;
|
||||
|
||||
@Autowired
|
||||
private ProjectTaskInventoryEOMapper projectTaskInventoryEOMapper;
|
||||
|
||||
@Autowired
|
||||
private ProjectLibraryBaseMapper projectLibraryBaseMapper;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -128,11 +143,93 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
*/
|
||||
@Override
|
||||
public void editById(ProjectRelatedPersonnel projectRelatedPersonnel) {
|
||||
//用于权限对比
|
||||
ProjectRelatedPersonnel original = baseMapper.selectById(projectRelatedPersonnel.getId());
|
||||
ProjectLibraryBase projectLibraryBase = projectLibraryBaseMapper.selectById(projectRelatedPersonnel.getProjectId());
|
||||
|
||||
Date now = new Date();
|
||||
projectRelatedPersonnel.setUpdateTime(now);
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
projectRelatedPersonnel.setUpdateBy(sysUser.getUsername());
|
||||
saveOrUpdate(projectRelatedPersonnel);
|
||||
|
||||
|
||||
List<ProjectUserPermission> 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<ProjectUserPermission> 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<ProjectUserPermission> 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<ProjectUserPermission> 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);
|
||||
}
|
||||
//修改当前属于当前责任领域的法规清单的人员权限
|
||||
List<String> 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);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -973,6 +1070,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
*/
|
||||
@Override
|
||||
public Result<?> oppositeDisposeData(List<ProjectRelatedPersonnel> records, String projectId, String cut) {
|
||||
ProjectLibraryBase projectLibraryBase = projectLibraryBaseMapper.selectById(projectId);
|
||||
//查询所有的用户
|
||||
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.select(SysUser::getUsername,SysUser::getId);
|
||||
@@ -981,7 +1079,20 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
Result<?> result = new Result<>();
|
||||
int row=3;
|
||||
StringBuilder message = new StringBuilder();
|
||||
|
||||
List<ProjectUserPermission> addPermission = new ArrayList<>();
|
||||
Date now = new Date();
|
||||
//修改当前属于当前责任领域的法规清单的人员权限
|
||||
List<String> 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 = "";
|
||||
//查标签内容里的责任领域数据
|
||||
List<SysDictItem> sysDictItemList = sysDictItemMapper.selectItemsByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue());
|
||||
List<String> dutyTerritoryValueList = new ArrayList<>();
|
||||
@@ -1015,6 +1126,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
QueryWrapper<ProjectRelatedPersonnel> queryWrapper = new QueryWrapper<>();
|
||||
List<ProjectRelatedPersonnel> 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 +1168,26 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
.map(sysUser -> 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<ProjectUserPermission> 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 +1223,25 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
.map(sysUser -> 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<ProjectUserPermission> 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 +1308,31 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
.map(sysUser -> 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<ProjectUserPermission> 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());
|
||||
@@ -1177,11 +1340,22 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
|
||||
row++;
|
||||
result.error500(message.toString());
|
||||
|
||||
//用于权限对比
|
||||
ProjectRelatedPersonnel original = baseMapper.selectById(projectRelatedPersonnel.getId());
|
||||
|
||||
setLawsInventoryPermission(projectId, belongs, projectRelatedPersonnel, original, projectLibraryBase);
|
||||
|
||||
}
|
||||
|
||||
//中英切换提示语,message为空 = 之前的数据没错
|
||||
if(StringUtils.isBlank(message.toString())) {
|
||||
saveOrUpdateBatch(records);
|
||||
//设置相关人员权限
|
||||
if (ObjectUtils.isNotEmpty(addPermission)) {
|
||||
projectUserPermissionService.saveBatch(addPermission);
|
||||
}
|
||||
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入成功");
|
||||
} else {
|
||||
@@ -1192,6 +1366,142 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
return result;
|
||||
}
|
||||
|
||||
private void setLawsInventoryPermission(String projectId, List<String> belongs, ProjectRelatedPersonnel projectRelatedPersonnel, ProjectRelatedPersonnel original, ProjectLibraryBase projectLibraryBase) {
|
||||
QueryWrapper<ProjectLawsInventoryEO> lawsInventoryWrapper = new QueryWrapper<>();
|
||||
lawsInventoryWrapper.eq("project_library_id", projectId).eq("duty_territory", projectRelatedPersonnel.getDutyTerritory());
|
||||
List<ProjectLawsInventoryEO> 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<ProjectTaskInventoryEO> taskInventoryQueryWrapper = new QueryWrapper<>();
|
||||
taskInventoryQueryWrapper.eq("project_laws_inventory_id", lawsInventoryEO.getId());
|
||||
List<ProjectTaskInventoryEO> 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<ProjectUserPermission> 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<ProjectUserPermission> 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<ProjectUserPermission> 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<ProjectUserPermission> 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<ProjectUserPermission> 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<ProjectUserPermission> 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 所有的用户
|
||||
@@ -1303,22 +1613,86 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
@Override
|
||||
public void setBatch(ProjectRelatedPersonnel projectRelatedPersonnel) {
|
||||
List<ProjectRelatedPersonnel> projectRelatedPersonnelList = new ArrayList<>();
|
||||
List<ProjectUserPermission> addPermissionList = new ArrayList<>();
|
||||
|
||||
String projectId = "";
|
||||
ProjectRelatedPersonnel personnel = baseMapper.selectById(projectRelatedPersonnel.getIds().split(",")[0]);
|
||||
if (ObjectUtils.isNotEmpty(personnel)) {
|
||||
projectId = personnel.getProjectId();
|
||||
}
|
||||
ProjectLibraryBase projectLibraryBase = projectLibraryBaseMapper.selectById(projectId);
|
||||
//修改当前属于当前责任领域的法规清单的人员权限
|
||||
List<String> 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(",")) {
|
||||
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<ProjectUserPermission> 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<ProjectUserPermission> 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<ProjectUserPermission> 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);
|
||||
//修改当前属于当前责任领域的法规清单的人员权限
|
||||
ProjectRelatedPersonnel original = baseMapper.selectById(projectRelatedPersonnel.getId());
|
||||
setLawsInventoryPermission(projectRelatedPersonnel.getProjectId(), belongs, projectRelatedPersonnel, original, projectLibraryBase);
|
||||
}
|
||||
this.updateBatchById(projectRelatedPersonnelList);
|
||||
|
||||
if (ObjectUtils.isNotEmpty(addPermissionList)) {
|
||||
projectUserPermissionService.saveBatch(addPermissionList);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+52
-4
@@ -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<Project
|
||||
@Autowired
|
||||
private IFeishuService feishuService;
|
||||
|
||||
@Autowired
|
||||
private IProjectUserPermissionService projectUserPermissionService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -93,6 +95,8 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
|
||||
*/
|
||||
@Override
|
||||
public void add(JSONObject jsonObject) {
|
||||
String projectTaskInventoryId = jsonObject.getString("projectTaskInventoryId");
|
||||
ProjectLawsInventoryEO lawsInventoryEO = projectLawsInventoryEOMapper.selectById(projectTaskInventoryId);
|
||||
String cut = jsonObject.getString("cut");
|
||||
|
||||
ProjectTaskInventoryDetailEO taskInventoryDetail = JSONObject.parseObject(JSONObject.toJSONString(jsonObject), ProjectTaskInventoryDetailEO.class);
|
||||
@@ -206,6 +210,35 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
|
||||
if(CollectionUtils.isNotEmpty(sendUserIdList)){
|
||||
sendMessage(taskInventoryDetail,sendUserIdList);
|
||||
}
|
||||
|
||||
//添加访问权限
|
||||
if (ObjectUtils.isNotEmpty(lawsInventoryEO)) {
|
||||
Date now = new Date();
|
||||
List<ProjectUserPermission> 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<Project
|
||||
processInfoDetailRemoveWrap.lambda().eq(ProcessInfoDetailEO::getTaskId,projectTaskInventoryDetailEO.getTaskId());
|
||||
this.processInfoDetailEOService.remove(processInfoDetailRemoveWrap);
|
||||
}
|
||||
//删除权限
|
||||
String belong = "";
|
||||
if (FlowTypeEnum.SJFHXSHLC.getValue().equals(projectTaskInventoryDetailEO.getFlowType())) {
|
||||
belong = ProjectUserLocationEnum.PROJECT_LAWS_DESIGN_DISTRIBUTION.getValue();
|
||||
} else if (FlowTypeEnum.PREHOMOQRLC.getValue().equals(projectTaskInventoryDetailEO.getFlowType())) {
|
||||
belong = ProjectUserLocationEnum.PROJECT_LAWS_PREHOMO_DISTRIBUTION.getValue();
|
||||
} else if (FlowTypeEnum.YZFHXSCLC.getValue().equals(projectTaskInventoryDetailEO.getFlowType())) {
|
||||
belong = ProjectUserLocationEnum.PROJECT_LAWS_VERIFY_DISTRIBUTION.getValue();
|
||||
}
|
||||
String userId = projectTaskInventoryDetailEO.getUserId();
|
||||
QueryWrapper<ProjectUserPermission> delPermission = new QueryWrapper<>();
|
||||
delPermission.eq("user_id", userId)
|
||||
.eq("belong", belong)
|
||||
.eq("description", PermissionDescriptionEnum.PROJECT_LAWS_INVENTORY.getValue() + projectTaskInventoryDetailEO.getProjectTaskInventoryId());
|
||||
projectUserPermissionService.remove(delPermission);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+52
-36
@@ -29,6 +29,7 @@ import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.entity.SysUserRole;
|
||||
import com.jero.modules.system.mapper.SysUserMapper;
|
||||
import com.jero.modules.system.service.IProjectUserDutyTerritoryService;
|
||||
import com.jero.modules.system.service.ISysUserRoleService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||
@@ -105,6 +106,8 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
|
||||
private ISysUserService sysUserService;
|
||||
@Autowired
|
||||
private IFeishuService feishuService;
|
||||
@Autowired
|
||||
private IProjectUserDutyTerritoryService projectUserDutyTerritoryService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
@@ -218,6 +221,18 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
|
||||
}
|
||||
|
||||
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = projectLawsInventoryEOMapper.selectList(lawsInventoryEOQueryWrapper);
|
||||
//不是管理员,但是viewer
|
||||
boolean administrator = sysUserService.isAdministrator();
|
||||
boolean viewer = sysUserService.isViewer(currentUser.getId());
|
||||
if (!administrator && viewer) {
|
||||
//筛选符合条件的
|
||||
List<String> dutyTerritoryList = projectUserDutyTerritoryService.queryDutyTerritoryByUserId(currentUser.getId());
|
||||
if (ObjectUtils.isNotEmpty(dutyTerritoryList)) {
|
||||
projectLawsInventoryEOList = projectLawsInventoryEOList.stream().filter(e -> dutyTerritoryList.contains(e.getDutyTerritory())).collect(Collectors.toList());
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(projectLawsInventoryEOList)){
|
||||
List<String> projectLawsInventoryIdList = projectLawsInventoryEOList.stream().distinct().map(ProjectLawsInventoryEO::getId).collect(Collectors.toList());
|
||||
@@ -672,7 +687,8 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
|
||||
{
|
||||
//判断用户是否是管理员角色
|
||||
boolean isAdministrator = false;
|
||||
|
||||
//判断用户是否是Viewer
|
||||
boolean isViewer = sysUserService.isViewer(currentUser.getId());
|
||||
//2022-08-24 判断当前登录用户是否是系统管理员 或 R&H Manager角色,如果是的话,看到的数据与studio一致。
|
||||
List<SysUserRole> userRoleList = this.sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, currentUser.getId())); // 查询用户所有角色
|
||||
if(CollectionUtils.isNotEmpty(userRoleList)){
|
||||
@@ -709,7 +725,7 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
|
||||
//是否是这条数据的认证工程师
|
||||
boolean isHomologationEngineer = StringUtils.equals(projectTaskInventoryEO.getHomologationEngineerId(),currentUser.getId());
|
||||
//是否是studio
|
||||
boolean isStudio = StringUtils.equals(ProjectRoleEnum.STUDIO_ENGINEER.getValue(),String.valueOf(isProjectRole)) || isAdministrator;
|
||||
boolean isStudio = StringUtils.equals(ProjectRoleEnum.STUDIO_ENGINEER.getValue(),String.valueOf(isProjectRole)) || isAdministrator ;
|
||||
if(isStudio){
|
||||
roleCode = ProjectRoleEnum.STUDIO_ENGINEER.getValue();
|
||||
}
|
||||
@@ -777,27 +793,27 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
|
||||
* 2022-07-07修改禅道 55588问题。 只有studio可以查看所有已经启动了的流程
|
||||
* studio:查询所有(已启动流程的数据) , 包含自己待办、已办
|
||||
*/
|
||||
if(isStudio || (showVerify || showDesign || showPrehomo)){
|
||||
if (isStudio || (showVerify || showDesign || showPrehomo) || isViewer) {
|
||||
actiProcInstId = projectTaskInventoryDetailEO.getActiProcInstId();
|
||||
if(isStudio || showDesign){
|
||||
if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue())){
|
||||
if (isStudio || showDesign || isViewer) {
|
||||
if (StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(), FlowTypeEnum.SJFHXSHLC.getValue())) {
|
||||
designPid = actiProcInstId;
|
||||
if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetailEO.getUserId())){
|
||||
if (StringUtils.equals(currentUser.getId(), projectTaskInventoryDetailEO.getUserId())) {
|
||||
designTaskId = projectTaskInventoryDetailEO.getTaskId();
|
||||
designTaskStatus = projectTaskInventoryDetailEO.getStatus();
|
||||
designTaskDefinitionKey = projectTaskInventoryDetailEO.getTaskDefinitionKey();
|
||||
designTaskDetailId = projectTaskInventoryDetailEO.getId();
|
||||
}else {
|
||||
if(StringUtils.isEmpty(designTaskId)){
|
||||
} else {
|
||||
if (StringUtils.isEmpty(designTaskId)) {
|
||||
designTaskId = projectTaskInventoryDetailEO.getTaskId();
|
||||
}
|
||||
if(StringUtils.isEmpty(designTaskStatus)){
|
||||
if (StringUtils.isEmpty(designTaskStatus)) {
|
||||
designTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue();
|
||||
}
|
||||
if(StringUtils.isEmpty(designTaskDefinitionKey)){
|
||||
if (StringUtils.isEmpty(designTaskDefinitionKey)) {
|
||||
designTaskDefinitionKey = "";
|
||||
}
|
||||
if(StringUtils.isEmpty(designTaskDetailId)){
|
||||
if (StringUtils.isEmpty(designTaskDetailId)) {
|
||||
designTaskDetailId = projectTaskInventoryDetailEO.getId();
|
||||
}
|
||||
}
|
||||
@@ -809,25 +825,25 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
|
||||
projectTaskInventoryEO.setDesignTaskDetailId(designTaskDetailId);
|
||||
}
|
||||
}
|
||||
if(isStudio || showPrehomo){
|
||||
if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue())){
|
||||
if (isStudio || showPrehomo || isViewer) {
|
||||
if (StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(), FlowTypeEnum.PREHOMOQRLC.getValue())) {
|
||||
prehomoPid = actiProcInstId;
|
||||
if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetailEO.getUserId())){
|
||||
if (StringUtils.equals(currentUser.getId(), projectTaskInventoryDetailEO.getUserId())) {
|
||||
prehomoTaskId = projectTaskInventoryDetailEO.getTaskId();
|
||||
prehomoTaskStatus = projectTaskInventoryDetailEO.getStatus();
|
||||
prehomoTaskDefinitionKey = projectTaskInventoryDetailEO.getTaskDefinitionKey();
|
||||
prehomoTaskDetailId = projectTaskInventoryDetailEO.getId();
|
||||
}else {
|
||||
if(StringUtils.isEmpty(prehomoTaskId)){
|
||||
} else {
|
||||
if (StringUtils.isEmpty(prehomoTaskId)) {
|
||||
prehomoTaskId = projectTaskInventoryDetailEO.getTaskId();
|
||||
}
|
||||
if(StringUtils.isEmpty(prehomoTaskStatus)){
|
||||
if (StringUtils.isEmpty(prehomoTaskStatus)) {
|
||||
prehomoTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue();
|
||||
}
|
||||
if(StringUtils.isEmpty(prehomoTaskDefinitionKey)){
|
||||
if (StringUtils.isEmpty(prehomoTaskDefinitionKey)) {
|
||||
prehomoTaskDefinitionKey = "";
|
||||
}
|
||||
if(StringUtils.isEmpty(prehomoTaskDetailId)){
|
||||
if (StringUtils.isEmpty(prehomoTaskDetailId)) {
|
||||
prehomoTaskDetailId = projectTaskInventoryDetailEO.getId();
|
||||
}
|
||||
}
|
||||
@@ -839,25 +855,25 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
|
||||
projectTaskInventoryEO.setPrehomoTaskDetailId(prehomoTaskDetailId);
|
||||
}
|
||||
}
|
||||
if(isStudio || showVerify){
|
||||
if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue())){
|
||||
if (isStudio || showVerify || isViewer) {
|
||||
if (StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(), FlowTypeEnum.YZFHXSCLC.getValue())) {
|
||||
verifyPid = actiProcInstId;
|
||||
if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetailEO.getUserId())){
|
||||
if (StringUtils.equals(currentUser.getId(), projectTaskInventoryDetailEO.getUserId())) {
|
||||
verifyTaskId = projectTaskInventoryDetailEO.getTaskId();
|
||||
verifyTaskStatus = projectTaskInventoryDetailEO.getStatus();
|
||||
verifyTaskDefinitionKey = projectTaskInventoryDetailEO.getTaskDefinitionKey();
|
||||
verifyTaskDetailId = projectTaskInventoryDetailEO.getId();
|
||||
}else {
|
||||
if(StringUtils.isEmpty(verifyTaskId)){
|
||||
} else {
|
||||
if (StringUtils.isEmpty(verifyTaskId)) {
|
||||
verifyTaskId = projectTaskInventoryDetailEO.getTaskId();
|
||||
}
|
||||
if(StringUtils.isEmpty(verifyTaskStatus)){
|
||||
if (StringUtils.isEmpty(verifyTaskStatus)) {
|
||||
verifyTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue();
|
||||
}
|
||||
if(StringUtils.isEmpty(verifyTaskDefinitionKey)){
|
||||
if (StringUtils.isEmpty(verifyTaskDefinitionKey)) {
|
||||
verifyTaskDefinitionKey = "";
|
||||
}
|
||||
if(StringUtils.isEmpty(verifyTaskDetailId)){
|
||||
if (StringUtils.isEmpty(verifyTaskDetailId)) {
|
||||
verifyTaskDetailId = projectTaskInventoryDetailEO.getId();
|
||||
}
|
||||
}
|
||||
@@ -869,34 +885,34 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
|
||||
projectTaskInventoryEO.setVerifyTaskDetailId(verifyTaskDetailId);
|
||||
}
|
||||
}
|
||||
if(isStudio){
|
||||
if (isStudio) {
|
||||
projectTaskInventoryEO.setCertificationProgress(projectTaskInventoryEO.getCertificationProgress());
|
||||
projectTaskInventoryEO.setCertificationProgressRemark(projectTaskInventoryEO.getCertificationProgressRemark());
|
||||
}
|
||||
}else {
|
||||
if((isRegulationOwner || isHomologationEngineer)){
|
||||
} else {
|
||||
if ((isRegulationOwner || isHomologationEngineer)) {
|
||||
projectTaskInventoryEO.setCertificationProgress(projectTaskInventoryEO.getCertificationProgress());
|
||||
projectTaskInventoryEO.setCertificationProgressRemark(projectTaskInventoryEO.getCertificationProgressRemark());
|
||||
}else {
|
||||
} else {
|
||||
projectTaskInventoryEO.setCertificationProgress("");
|
||||
projectTaskInventoryEO.setCertificationProgressRemark("");
|
||||
}
|
||||
|
||||
if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetailEO.getUserId())){
|
||||
if (StringUtils.equals(currentUser.getId(), projectTaskInventoryDetailEO.getUserId())) {
|
||||
actiProcInstId = projectTaskInventoryDetailEO.getActiProcInstId();
|
||||
if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue())){
|
||||
if (StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(), FlowTypeEnum.SJFHXSHLC.getValue())) {
|
||||
projectTaskInventoryEO.setDesignPId(actiProcInstId);
|
||||
projectTaskInventoryEO.setDesignTaskId(projectTaskInventoryDetailEO.getTaskId());
|
||||
projectTaskInventoryEO.setDesignTaskStatus(projectTaskInventoryDetailEO.getStatus());
|
||||
projectTaskInventoryEO.setDesignTaskDefinitionKey(projectTaskInventoryDetailEO.getTaskDefinitionKey());
|
||||
projectTaskInventoryEO.setDesignTaskDetailId(projectTaskInventoryDetailEO.getId());
|
||||
}else if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue())){
|
||||
} else if (StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(), FlowTypeEnum.PREHOMOQRLC.getValue())) {
|
||||
projectTaskInventoryEO.setPrehomoPId(actiProcInstId);
|
||||
projectTaskInventoryEO.setPrehomoTaskId(projectTaskInventoryDetailEO.getTaskId());
|
||||
projectTaskInventoryEO.setPrehomoTaskStatus(projectTaskInventoryDetailEO.getStatus());
|
||||
projectTaskInventoryEO.setPrehomoTaskDefinitionKey(projectTaskInventoryDetailEO.getTaskDefinitionKey());
|
||||
projectTaskInventoryEO.setPrehomoTaskDetailId(projectTaskInventoryDetailEO.getId());
|
||||
}else if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue())){
|
||||
} else if (StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(), FlowTypeEnum.YZFHXSCLC.getValue())) {
|
||||
projectTaskInventoryEO.setVerifyPId(actiProcInstId);
|
||||
projectTaskInventoryEO.setVerifyTaskId(projectTaskInventoryDetailEO.getTaskId());
|
||||
projectTaskInventoryEO.setVerifyTaskStatus(projectTaskInventoryDetailEO.getStatus());
|
||||
@@ -910,7 +926,7 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
|
||||
}
|
||||
|
||||
/*if(StringUtils.isNotEmpty(actiProcInstId) && (isRegulationOwner || isHomologationEngineer || isStudio)){*/
|
||||
if(((isRegulationOwner || isHomologationEngineer || isStudio) || (showVerify || showDesign || showPrehomo))){
|
||||
if (((isRegulationOwner || isHomologationEngineer || isStudio) || (showVerify || showDesign || showPrehomo)) || isViewer) {
|
||||
projectTaskInventoryEO.setShowFlag(TaskStatusEnum.SHOW_FLAG.getValue());
|
||||
}
|
||||
|
||||
|
||||
+312
@@ -0,0 +1,312 @@
|
||||
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.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.*;
|
||||
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.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;
|
||||
|
||||
/**
|
||||
* @Description: 项目权限表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2022-11-10
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class ProjectUserPermissionServiceImpl extends ServiceImpl<ProjectUserPermissionMapper, ProjectUserPermission> implements IProjectUserPermissionService {
|
||||
|
||||
@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;
|
||||
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @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<String> ids) {
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProjectUserPermission queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ProjectUserPermission> queryList() {
|
||||
return list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 工作流调用设置权限
|
||||
* @param jsonObject
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Result<?> setPermission(JSONObject jsonObject) {
|
||||
Date now = new Date();
|
||||
QueryWrapper<ProjectUserPermission> 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("调用成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限同步
|
||||
*/
|
||||
@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);
|
||||
}
|
||||
|
||||
@@ -130,22 +130,17 @@ spring:
|
||||
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
|
||||
datasource:
|
||||
master:
|
||||
# url: jdbc:mysql://localhost:3306/laws_weilai_stand?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
|
||||
# username: root
|
||||
# password: 123456
|
||||
# driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
|
||||
|
||||
# url: jdbc:mysql://10.0.3.44:3306/jero-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
|
||||
# url: jdbc:mysql://10.10.10.44:3306/laws_weilai?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
|
||||
# username: root
|
||||
# password: 123456
|
||||
# driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
# url: jdbc:mysql://121.36.69.172:3307/laws_weilai?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
|
||||
url: jdbc:mysql://121.36.69.172:3307/laws_weilai?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
|
||||
url: jdbc:mysql://121.36.69.172:3307/laws_weilai?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
|
||||
username: root
|
||||
password: hzwlsoft.com
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
|
||||
# 10测试环境库
|
||||
#url: jdbc:mysql://10.10.10.44:3306/laws_weilai?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
|
||||
#username: root
|
||||
#password: 123456
|
||||
#driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
|
||||
# 多数据源配置
|
||||
#multi-datasource1:
|
||||
#url: jdbc:mysql://localhost:3306/jero-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
|
||||
@@ -436,7 +431,8 @@ Feishu:
|
||||
getTenantAccessTokenUrl: https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal
|
||||
batchSendMessageUrl: https://open.feishu.cn/open-apis/message/v4/batch_send/
|
||||
translateTextUrl: https://open.feishu.cn/open-apis/translation/v1/text/translate
|
||||
|
||||
getUserInfoUrl: https://open.feishu.cn/open-apis/contact/v3/users/batch_get_id?user_id_type=open_id
|
||||
appLinkUrl: https://applink.feishu.cn/client/chat/open?openId=
|
||||
local-tool:
|
||||
uri: http://139.9.235.66:9022
|
||||
opensso:
|
||||
|
||||
@@ -12,6 +12,7 @@ const queryall = (params)=>getAction("/sys/role/queryall",params);
|
||||
const addUser = (params)=>postAction("/sys/user/add",params);
|
||||
const editUser = (params)=>putAction("/sys/user/edit",params);
|
||||
const queryUserRole = (params)=>getAction("/sys/user/queryUserRole",params);
|
||||
const queryViewerInfo = (params)=>getAction("/sys/user/queryViewerInfo",params);
|
||||
const getUserList = (params)=>getAction("/sys/user/page",params);
|
||||
const frozenBatch = (params)=>putAction("/sys/user/frozenBatch",params);
|
||||
//验证用户是否存在
|
||||
@@ -106,6 +107,7 @@ export {
|
||||
addUser,
|
||||
editUser,
|
||||
queryUserRole,
|
||||
queryViewerInfo,
|
||||
getUserList,
|
||||
queryall,
|
||||
frozenBatch,
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 529 B |
@@ -1364,6 +1364,9 @@ module.exports = {
|
||||
relatedProjectVersion:'Related project version',
|
||||
Importfailure:'Import failure',
|
||||
CuiBan:'CuiBan',
|
||||
brand:'Brand',
|
||||
allsubitemsitem:'Whether to delete all subitems under this item',
|
||||
contactTheFounder:'Contact the founder',
|
||||
certificationCategoryNumber: 'certification Category Number',
|
||||
historicalrecord:'historical Record',
|
||||
Referenceparametercolumn:'Reference Parameter Column',
|
||||
|
||||
@@ -1471,4 +1471,7 @@ module.exports = {
|
||||
Updateparametercolumn:'更新参数列',
|
||||
columnfirst:'请先引用参数列',
|
||||
columnforced:'确认强制撤回?',
|
||||
brand:'品牌',
|
||||
allsubitemsitem:'该项目下拥有子项目,是否全部删除',
|
||||
contactTheFounder:'联系创建人',
|
||||
}
|
||||
+29
@@ -100,6 +100,20 @@
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('brand')">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text">{{$t('brand')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel propbox" prop="brands">
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.brands"
|
||||
:placeholder="$t('PleaseSelect')+$t('brand')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'brand'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
<footerProcess
|
||||
@@ -164,6 +178,13 @@
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
brands: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('brand') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
taskExplain: [
|
||||
{
|
||||
max: 300,
|
||||
@@ -326,6 +347,11 @@
|
||||
this.$message.warning(this.$t('pleaseSelectStandard'))
|
||||
} else {
|
||||
this.JLoading = true
|
||||
Object.keys(this.formInline).forEach(val => {
|
||||
if (this.formInline[val] instanceof Array) {
|
||||
this.formInline[val] = this.formInline[val].join(',')
|
||||
}
|
||||
})
|
||||
let value = Object.assign(this.formInline, this.selectedRowKeysRecord[0])
|
||||
value.standId = value.id
|
||||
value.taskAffirmDueDate = value.endTime
|
||||
@@ -398,6 +424,9 @@
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
/deep/.propbox .ant-form-explain{
|
||||
margin-top: -17px !important;
|
||||
}
|
||||
.detail-box {
|
||||
padding: 67px 0 0 0;
|
||||
background: #ffffff;
|
||||
|
||||
@@ -59,6 +59,17 @@
|
||||
</a-select>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('brand')">
|
||||
<span>{{$t('brand')}}</span>
|
||||
</div>
|
||||
<j-multi-select-tag class="box-input" v-model="queryParam.brand"
|
||||
:placeholder="$t('PleaseSelect')+$t('brand')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'brand'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
</template>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
@@ -200,6 +211,13 @@
|
||||
ellipsis: true,
|
||||
dataIndex: 'createBy'
|
||||
},
|
||||
{
|
||||
title: this.$t('brand'),
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
width: 140,
|
||||
dataIndex: 'brand_text'
|
||||
},
|
||||
{
|
||||
title: this.$t('dateOfInitiation'),
|
||||
align: 'center',
|
||||
|
||||
+22
-1
@@ -109,6 +109,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-box-button-right">
|
||||
<div class="content-box-button-text" @click="pushJump(item)">
|
||||
<img src="~/@assets/feishu.png" alt="" class="jumpicon">
|
||||
{{$t('contactTheFounder')}}
|
||||
</div>
|
||||
<div class="content-box-button-text" @click="forwardClick(item)">
|
||||
<a-icon type="logout"/>
|
||||
{{$t('forward')}}
|
||||
@@ -401,6 +405,20 @@
|
||||
this.queryForm = row
|
||||
this.$refs.SelectedByRef.getPush()
|
||||
},
|
||||
pushJump(row){
|
||||
let query = {
|
||||
userName: row.createBy,
|
||||
}
|
||||
postAction('/lark/getLarkApplinkByUserName', query).then((res) => {
|
||||
if (res.code === 200) {
|
||||
let url = res.result
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
this.$refs.SelectedByRef.submitLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
SelectedByForm(userIds) {
|
||||
let query = {
|
||||
userIds: userIds,
|
||||
@@ -436,7 +454,10 @@
|
||||
overflow: hidden;
|
||||
/*margin: 0 auto;*/
|
||||
}
|
||||
|
||||
.jumpicon{
|
||||
height: 13.72px;
|
||||
width: 15.44px;
|
||||
}
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
width: 360px;
|
||||
|
||||
+22
@@ -53,6 +53,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-box-button-right">
|
||||
<div class="content-box-button-text" @click="pushJump(queryForm)">
|
||||
<img src="~/@assets/feishu.png" alt="" class="jumpicon">
|
||||
{{$t('contactTheFounder')}}
|
||||
</div>
|
||||
<div class="content-box-button-text" @click="forwardClick(queryForm)">
|
||||
<a-icon type="logout"/>
|
||||
{{$t('forward')}}
|
||||
@@ -449,6 +453,20 @@
|
||||
this.queryForm = row
|
||||
this.$refs.SelectedByRef.getPush()
|
||||
},
|
||||
pushJump(row){
|
||||
let query = {
|
||||
userName: row.createBy,
|
||||
}
|
||||
postAction('/lark/getLarkApplinkByUserName', query).then((res) => {
|
||||
if (res.code === 200) {
|
||||
let url = res.result
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
this.$refs.SelectedByRef.submitLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
detailClick(item,key) {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/docManage/library/detail',
|
||||
@@ -481,6 +499,10 @@
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.jumpicon{
|
||||
height: 13.72px;
|
||||
width: 15.44px;
|
||||
}
|
||||
.content-box {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
|
||||
+27
@@ -64,6 +64,23 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="8">
|
||||
<div class="box-title-text" style="height: 60px">
|
||||
<div class="title-text" :title="$t('brand')">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('brand')">{{$t('brand')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel propbox" prop="brands">
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.brands"
|
||||
:placeholder="$t('PleaseSelect')+$t('brand')"
|
||||
:type="'select'"
|
||||
style="width: 100%"
|
||||
:triggerChange="false" :dictCode="'brand'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" style="margin-bottom: 10px">
|
||||
<a-col :span="16">
|
||||
<div class="box-title-text">
|
||||
@@ -281,6 +298,13 @@
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
brands: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('brand') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
processBackground: [
|
||||
{
|
||||
max: 300,
|
||||
@@ -676,6 +700,9 @@
|
||||
}
|
||||
</style>
|
||||
<style scoped>
|
||||
/deep/.propbox .ant-form-explain{
|
||||
margin-top: -17px !important;
|
||||
}
|
||||
.detail-box {
|
||||
padding: 67px 0 0 0;
|
||||
background: #ffffff;
|
||||
|
||||
@@ -60,6 +60,17 @@
|
||||
</a-select>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('brand')">
|
||||
<span>{{$t('brand')}}</span>
|
||||
</div>
|
||||
<j-multi-select-tag class="box-input" v-model="queryParam.brand"
|
||||
:placeholder="$t('PleaseSelect')+$t('brand')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'brand'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
</template>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
@@ -269,6 +280,13 @@
|
||||
ellipsis: true,
|
||||
dataIndex: 'createBy'
|
||||
},
|
||||
{
|
||||
title: this.$t('brand'),
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
width: 140,
|
||||
dataIndex: 'brand_text'
|
||||
},
|
||||
{
|
||||
title: this.$t('dateOfInitiation'),
|
||||
align: 'center',
|
||||
|
||||
@@ -76,23 +76,23 @@
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div class="operator-text" @click="cuibanClick">
|
||||
<div class="operator-text" @click="cuibanClick" v-if="isRoleSwitching">
|
||||
<a-icon type="sound"/>
|
||||
{{ $t('CuiBan') }}
|
||||
</div>
|
||||
<div @click="BatchMaintenanceProgress" class="operator-text">
|
||||
<div @click="BatchMaintenanceProgress" class="operator-text" v-if="isRoleSwitching">
|
||||
<a-icon type="setting"/>
|
||||
{{$t('BatchMaintenanceProgress')}}
|
||||
</div>
|
||||
<div @click="BatchChangeStatus" class="operator-text">
|
||||
<div @click="BatchChangeStatus" class="operator-text" v-if="isRoleSwitching">
|
||||
<a-icon type="setting"/>
|
||||
{{$t('BatchChangeStatus')}}
|
||||
</div>
|
||||
<div @click="CertificationDirectory" class="operator-text">
|
||||
<div @click="CertificationDirectory" class="operator-text" v-if="isRoleSwitching">
|
||||
<a-icon type="bulb"/>
|
||||
{{$t('CertificationDirectory')}}
|
||||
</div>
|
||||
<div @click="handleExport" class="operator-text">
|
||||
<div @click="handleExport" class="operator-text" v-if="isRoleSwitching">
|
||||
<a-icon type="export" :rotate="-90"/>
|
||||
{{$t('export')}}
|
||||
</div>
|
||||
@@ -221,8 +221,8 @@
|
||||
import certificationDirectory from './certificationDirectory'
|
||||
import batchChangeModel from './batchChangeModel'
|
||||
import batchModel from './batchModel'
|
||||
import cuibanModel from './cuibanModel'
|
||||
import TaskListModel from './TaskListModel'
|
||||
import cuibanModel from './cuibanModel'
|
||||
import taskBatSetting from './taskBatSetting'
|
||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
@@ -347,12 +347,14 @@
|
||||
list: '/project/projectTaskInventoryEO/list',
|
||||
exportXls: '/project/projectTaskInventoryEO/exportXls'
|
||||
},
|
||||
isRoleSwitching:true,
|
||||
loading: false,
|
||||
visibleoperationFailed: false,
|
||||
NotSelectedNoEngineerValue: [],
|
||||
dataSource: [],
|
||||
selectionRowsArray: [],
|
||||
roleCodes: [],
|
||||
selectionRowsArray:[],
|
||||
roleSwitchingList:[],
|
||||
roleCodes:[],
|
||||
long: ''
|
||||
}
|
||||
},
|
||||
@@ -379,6 +381,7 @@
|
||||
this.queryParam = { ...this.queryParam }
|
||||
}
|
||||
this.getList()
|
||||
this.getRoleByUserId()
|
||||
this.long = localStorage.getItem('language') || 'zh-cn'
|
||||
},
|
||||
methods: {
|
||||
@@ -386,6 +389,22 @@
|
||||
searchQuery() {
|
||||
this.getList()
|
||||
},
|
||||
getRoleByUserId(callback) {
|
||||
getAction('/project/projectLawsInventoryEO/getRoleByUserId', { projectLibraryId: this.$route.query.id }).then((res) => {
|
||||
if (res.success) {
|
||||
this.roleSwitchingList = res.result || []
|
||||
if(this.roleSwitchingList.length == 1){
|
||||
if(this.roleSwitchingList[0].roleCode == '13'){
|
||||
this.isRoleSwitching = false
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
this.roleSwitchingList = []
|
||||
}
|
||||
callback && callback()
|
||||
})
|
||||
},
|
||||
searchReset() {
|
||||
this.queryParam = {}
|
||||
this.getList()
|
||||
|
||||
@@ -163,7 +163,7 @@ export default {
|
||||
}
|
||||
|
||||
.itemModel {
|
||||
width: calc(100% - 130px);
|
||||
width: calc(80% - 130px);
|
||||
display: inline-block;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
@@ -172,7 +172,7 @@ export default {
|
||||
}
|
||||
|
||||
.itemModel {
|
||||
width: calc(100% - 130px);
|
||||
width: calc(80% - 130px);
|
||||
display: inline-block;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
@@ -124,15 +124,15 @@
|
||||
<a-icon type="export" :rotate="-90"/>
|
||||
{{ $t('export') }}
|
||||
</div>
|
||||
<div @click="handleDel" class="operator-text-title">
|
||||
<div @click="handleDel" class="operator-text-title">
|
||||
<a-icon type="delete"/>
|
||||
{{ $t('BatchDelete') }}
|
||||
</div>
|
||||
<div class="operator-text-title" @click="ExportReportClick">
|
||||
<div class="operator-text-title" @click="ExportReportClick">
|
||||
<a-icon type="export"/>
|
||||
{{ $t('ExportReport') }}
|
||||
</div>
|
||||
<div class="operator-text-title" @click="batSettingClick">
|
||||
<div class="operator-text-title" @click="batSettingClick">
|
||||
<a-icon type="setting"/>
|
||||
{{ $t('batchSettingInformation') }}
|
||||
</div>
|
||||
@@ -990,7 +990,8 @@
|
||||
detailedWarningList: [],
|
||||
rowKeysSuccessList: [],
|
||||
selectedRowKeysList: [],
|
||||
rowKeysWarningList: []
|
||||
rowKeysWarningList: [],
|
||||
rolecode:false,
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1104,7 +1105,7 @@
|
||||
} else {
|
||||
this.isDisplay = false
|
||||
if (this.formInlineRoleSwitching.roleSwitchingCode == '11' || this.formInlineRoleSwitching.roleSwitchingCode == '12' ||
|
||||
this.formInlineRoleSwitching.roleSwitchingCode == '') {
|
||||
this.formInlineRoleSwitching.roleSwitchingCode == '' || this.formInlineRoleSwitching.roleSwitchingCode == '13') {
|
||||
this.isRoleSwitching = false
|
||||
}
|
||||
}
|
||||
@@ -1498,6 +1499,8 @@
|
||||
}
|
||||
if (this.formInlineRoleSwitching.roleSwitchingCode == '11' || this.formInlineRoleSwitching.roleSwitchingCode == '12') {
|
||||
roleCode = 0
|
||||
} else if(this.formInlineRoleSwitching.roleSwitchingCode == '13'){
|
||||
roleCode = 13
|
||||
}
|
||||
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
|
||||
Object.keys(queryParam).forEach(val => {
|
||||
|
||||
@@ -349,7 +349,7 @@
|
||||
deleteLib(val) {
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
content: _this.$t('ConfirmDelete'),
|
||||
content: _this.$t(val.children ? 'allsubitemsitem' : 'ConfirmDelete'),
|
||||
onOk() {
|
||||
deleteAction(_this.url.deleteBatch, { id: val.id }).then((res) => {
|
||||
if (res.success) {
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<span slot="action" slot-scope="text, record">
|
||||
<a @click="handleEdit(record)" style='margin-right: 10px' v-has="'sys:user:detail'">{{$t('See')}}</a>
|
||||
<a @click="handleEdit(record)" style='margin-right: 10px' v-has="'sys:user:detail'">{{$t('edit')}}</a>
|
||||
<!-- <a @click="resetPassword(record)" v-has="'sys:user:resetpass'">{{$t('resetPassword')}}</a>-->
|
||||
</span>
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<a-row :gutter='24'>
|
||||
<a-col :span='24'>
|
||||
<a-form-item :label="$t('RoleAssignment')" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-select mode="multiple" :placeholder="$t('PleaseSelect')+$t('controlVerification')" v-model:value="selectedRole">
|
||||
<a-select mode="multiple" :placeholder="$t('PleaseSelect')+$t('RoleAssignment')" v-model:value="selectedRole" @change='selectChange'>
|
||||
<a-select-option v-for="(role,roleindex) in roleList" :key="role.id" :value="role.id">
|
||||
<span style="display: inline-block;width: 100%">
|
||||
{{ role.roleName }}
|
||||
@@ -22,6 +22,33 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter='24' v-if='viewshow'>
|
||||
<a-col :span='24'>
|
||||
<a-form-item :label="$t('NareaOfResponsibility')" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-multi-select-tag class="box-input" v-model:value="dutyTerritories"
|
||||
:placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
<!-- <a-select mode="multiple" :placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')" v-model:value="dutyTerritories">-->
|
||||
<!-- <a-select-option v-for="(role,roleindex) in dictOptions" :key="role.id" :value="role.id">-->
|
||||
<!-- <span style="display: inline-block;width: 100%">-->
|
||||
<!-- {{ role.roleName }}-->
|
||||
<!-- </span>-->
|
||||
<!-- </a-select-option>-->
|
||||
<!-- </a-select>-->
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter='24' v-if='viewshow'>
|
||||
<a-col :span='24'>
|
||||
<a-form-item :label="$t('brand')" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-multi-select-tag class="box-input" v-model:value="brands"
|
||||
:placeholder="$t('PleaseSelect')+$t('brand')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'brand'"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</a-spin>
|
||||
<div class='drawer-bootom-button'>
|
||||
@@ -33,6 +60,7 @@
|
||||
|
||||
<script>
|
||||
import { putAction, postAction, getAction, deleteAction } from '@/api/manage'
|
||||
import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
|
||||
import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
@@ -51,6 +79,8 @@ export default {
|
||||
editId: '',
|
||||
newVisible: false,
|
||||
selectedRole: undefined,
|
||||
dutyTerritories: undefined,
|
||||
brands: undefined,
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 7 }
|
||||
@@ -65,8 +95,10 @@ export default {
|
||||
flag: false, //表单提交标识
|
||||
spinLoading: false,
|
||||
confirmLoading: false,
|
||||
viewshow: false,
|
||||
selectedRowKeys: [],
|
||||
roleList: [],
|
||||
dictOptions: [],
|
||||
defaultValue: undefined
|
||||
}
|
||||
},
|
||||
@@ -79,8 +111,24 @@ export default {
|
||||
},
|
||||
mounted() {
|
||||
this.loadData()
|
||||
this.initDictData()
|
||||
},
|
||||
methods: {
|
||||
initDictData() {
|
||||
//优先从缓存中读取字典配置
|
||||
if (getDictItemsFromCache(this.dictCode)) {
|
||||
this.dictOptions = getDictItemsFromCache(this.dictCode)
|
||||
return
|
||||
}
|
||||
|
||||
//根据字典Code, 初始化字典数组
|
||||
ajaxGetDictItems(this.dictCode, null).then((res) => {
|
||||
if (res.success) {
|
||||
// console.log(res.result);
|
||||
this.dictOptions = res.result
|
||||
}
|
||||
})
|
||||
},
|
||||
loadData() {
|
||||
this.loading = true
|
||||
getAction(`sys/role/queryall`, {}).then(res => {
|
||||
@@ -94,9 +142,31 @@ export default {
|
||||
handleCancel() {
|
||||
this.$emit('rolevisible', false)
|
||||
},
|
||||
selectChange(value){
|
||||
value.map((item,index) => {
|
||||
this.roleList.map((val,index) => {
|
||||
if(val.roleCode == 'Viewer' && item == val.id){
|
||||
this.$nextTick(() => {
|
||||
this.viewshow = true
|
||||
})
|
||||
return
|
||||
}else{
|
||||
this.viewshow = false
|
||||
}
|
||||
})
|
||||
})
|
||||
// value.forEach((item,index) => {
|
||||
// console.log(item)
|
||||
// if(item == '1590600516943253506'){
|
||||
// this.viewshow = true
|
||||
// }else{
|
||||
// this.viewshow = false
|
||||
// }
|
||||
// })
|
||||
},
|
||||
//保存
|
||||
handleSubmit() {
|
||||
let param = {ids: this.selectedRowKeysArray.join(','), selectedroles: `${this.selectedRole.join(',')}` }
|
||||
let param = {ids: this.selectedRowKeysArray.join(','), selectedroles: `${this.selectedRole.join(',')}`, dutyTerritories: `${this.dutyTerritories}`, brands: `${this.brands}` }
|
||||
postAction('/sys/user/setRole', param).then((res) => {
|
||||
if (res.success) {
|
||||
this.$emit('rolevisible', false)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<a-drawer
|
||||
:title="$t('See')"
|
||||
:title="$t('edit')"
|
||||
:maskClosable="true"
|
||||
:width="drawerWidth"
|
||||
placement="right"
|
||||
@@ -66,6 +66,7 @@
|
||||
:placeholder="$t('selectUserRole')"
|
||||
optionFilterProp="children"
|
||||
v-model="selectedRole"
|
||||
@change='selectChange'
|
||||
:disabled='false'
|
||||
:getPopupContainer="(target) => target.parentNode">
|
||||
<a-select-option v-for="(role,roleindex) in roleList" :key="roleindex.toString()" :value="role.id">
|
||||
@@ -73,6 +74,19 @@
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item v-if='viewshow' :label="$t('NareaOfResponsibility')" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-multi-select-tag class="box-input" v-model="dutyTerritories"
|
||||
:placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
</a-form-item>
|
||||
<a-form-item v-if='viewshow' :label="$t('brand')" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-multi-select-tag v-model="brands"
|
||||
:placeholder="$t('PleaseSelect')+$t('brand')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'brand'"/>
|
||||
</a-form-item>
|
||||
|
||||
|
||||
<!--部门分配-->
|
||||
<!-- v-show="!departDisabled && !disabled"-->
|
||||
@@ -194,7 +208,7 @@
|
||||
import departWindow from './DepartWindow'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { addUser, editUser, queryUserRole, queryall } from '@/api/api'
|
||||
import { addUser, editUser, queryUserRole,queryViewerInfo, queryall,ajaxGetDictItems,getDictItemsFromCache } from '@/api/api'
|
||||
import { disabledAuthFilter } from '@/utils/authFilter'
|
||||
import { duplicateCheck } from '@/api/api'
|
||||
import JImageUpload from '../../../components/jero/JImageUpload'
|
||||
@@ -215,11 +229,13 @@
|
||||
disabled: false,
|
||||
modaltoggleFlag: true,
|
||||
confirmDirty: false,
|
||||
viewshow: false,
|
||||
selectedDepartKeys: [], //保存用户选择部门id
|
||||
checkedDepartKeys: [],
|
||||
checkedDepartNames: [], // 保存部门的名称 =>title
|
||||
checkedDepartNameString: '', // 保存部门的名称 =>title
|
||||
resultDepartOptions: [],
|
||||
dictOptions: [],
|
||||
userId: '', //保存用户id
|
||||
disableSubmit: false,
|
||||
userDepartModel: { userId: '', departIdList: [] }, // 保存SysUserDepart的用户部门中间表数据需要的对象
|
||||
@@ -276,6 +292,8 @@
|
||||
model: {},
|
||||
roleList: [],
|
||||
selectedRole: [],
|
||||
dutyTerritories: '',
|
||||
brands: '',
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 5 }
|
||||
@@ -343,20 +361,76 @@
|
||||
})
|
||||
},
|
||||
loadUserRoles(userid) {
|
||||
console.log(11)
|
||||
queryUserRole({ userid: userid }).then((res) => {
|
||||
if (res.success) {
|
||||
this.selectedRole = res.result
|
||||
this.selectedRole.map((item,index) => {
|
||||
this.roleList.map((val,index) => {
|
||||
if(val.roleCode == 'Viewer' && item == val.id){
|
||||
this.$nextTick(() => {
|
||||
this.viewshow = true
|
||||
})
|
||||
return
|
||||
}else{
|
||||
this.viewshow = false
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
console.log(res.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
loadUserduty(userid) {
|
||||
queryViewerInfo({ userId: userid }).then((res) => {
|
||||
if(res.dutyTerritoryList){
|
||||
this.dutyTerritories = res.dutyTerritoryList.join(',')
|
||||
}
|
||||
if(res.brandList){
|
||||
this.brands = res.brandList.join(',')
|
||||
}
|
||||
})
|
||||
},
|
||||
selectChange(value){
|
||||
value.map((item,index) => {
|
||||
this.roleList.map((val,index) => {
|
||||
if(val.roleCode == 'Viewer' && item == val.id){
|
||||
this.$nextTick(() => {
|
||||
this.viewshow = true
|
||||
})
|
||||
return
|
||||
}else{
|
||||
this.viewshow = false
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
initDictData() {
|
||||
//优先从缓存中读取字典配置
|
||||
if (getDictItemsFromCache(this.dictCode)) {
|
||||
this.dictOptions = getDictItemsFromCache(this.dictCode)
|
||||
return
|
||||
}
|
||||
|
||||
//根据字典Code, 初始化字典数组
|
||||
ajaxGetDictItems(this.dictCode, null).then((res) => {
|
||||
if (res.success) {
|
||||
// console.log(res.result);
|
||||
this.dictOptions = res.result
|
||||
}
|
||||
})
|
||||
},
|
||||
handleSubmitOk() {
|
||||
this.confirmLoading = true
|
||||
let selectedRole = JSON.parse(JSON.stringify(this.selectedRole))
|
||||
let dutyTerritorie = JSON.parse(JSON.stringify(this.dutyTerritories))
|
||||
let brand = JSON.parse(JSON.stringify(this.brands))
|
||||
let param = {
|
||||
ids: this.userId,
|
||||
selectedroles: selectedRole.join(',')
|
||||
selectedroles: selectedRole.join(','),
|
||||
dutyTerritories: dutyTerritorie,
|
||||
brands: brand
|
||||
}
|
||||
postAction('/sys/user/setRole', param).then((res) => {
|
||||
if (res.success) {
|
||||
@@ -398,6 +472,7 @@
|
||||
that.form.resetFields()
|
||||
if (record.hasOwnProperty('id')) {
|
||||
that.loadUserRoles(record.id)
|
||||
that.loadUserduty(record.id)
|
||||
setTimeout(() => {
|
||||
this.fileList = record.avatar
|
||||
}, 5)
|
||||
@@ -760,6 +835,9 @@
|
||||
background: #fff;
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
/deep/.box-input .ant-select-selection--multiple{
|
||||
height: 100px !important;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.selectUserRole .ant-select-selection--multiple {
|
||||
|
||||
Reference in New Issue
Block a user