Merge remote-tracking branch 'origin/fix_2nd_period' into fix_2nd_period
This commit is contained in:
@@ -85,3 +85,60 @@ 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`;
|
||||
|
||||
-- 参数收集清单-操作记录(历史日志) 2022-12-26 未同步生产环境
|
||||
CREATE TABLE `laws_weilai`.`params_collect_manifest_log` (
|
||||
`id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
|
||||
`create_time` datetime NULL DEFAULT NULL COMMENT '创建日期',
|
||||
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
|
||||
`update_time` datetime NULL DEFAULT NULL COMMENT '更新日期',
|
||||
`sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门',
|
||||
`log_cn_content` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '中文内容',
|
||||
`log_en_content` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '英文内容',
|
||||
`remarks` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
|
||||
`params_manifest_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数清单id',
|
||||
`params_collect_manifest_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数收集清单id',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '参数收集清单-操作记录(历史日志)' ROW_FORMAT = Dynamic;
|
||||
|
||||
+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
@@ -117,7 +117,7 @@ public class ParamsCollectManifestEOController extends JeroController<ParamsColl
|
||||
* @param paramsCollectManifestVO
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "参数项收集清单-暂存")
|
||||
// @AutoLog(value = "参数项收集清单-暂存")
|
||||
@ApiOperation(value="参数项收集清单-暂存", notes="参数项收集清单-暂存")
|
||||
@PostMapping(value = "/save")
|
||||
// @RequiresPermissions("params:collectManifest:save")
|
||||
|
||||
+175
@@ -0,0 +1,175 @@
|
||||
package com.jero.modules.cert.collect.controller;
|
||||
|
||||
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.aspect.annotation.AutoLog;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.cert.collect.entity.ParamsCollectManifestLogEO;
|
||||
import com.jero.modules.cert.collect.service.IParamsCollectManifestLogEOService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 参数收集清单-操作记录(历史日志)
|
||||
* @Author: jero-boot
|
||||
* @Date: 2022-12-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="参数收集清单-操作记录(历史日志)")
|
||||
@RestController
|
||||
@RequestMapping("/paramsCollectManifestLog/paramsCollectManifestLogEO")
|
||||
@Slf4j
|
||||
public class ParamsCollectManifestLogEOController extends JeroController<ParamsCollectManifestLogEO, IParamsCollectManifestLogEOService> {
|
||||
@Autowired
|
||||
private IParamsCollectManifestLogEOService paramsCollectManifestLogEOService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param paramsCollectManifestLogEO
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "参数收集清单-操作记录(历史日志)-分页列表查询")
|
||||
@ApiOperation(value="参数收集清单-操作记录(历史日志)-分页列表查询", notes="参数收集清单-操作记录(历史日志)-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<?> queryPageList(ParamsCollectManifestLogEO paramsCollectManifestLogEO,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
@RequestParam(name="cut", defaultValue="cn") String cut,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<ParamsCollectManifestLogEO> queryWrapper = QueryGenerator.initQueryWrapper(paramsCollectManifestLogEO, req.getParameterMap());
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
Page<ParamsCollectManifestLogEO> page = new Page<ParamsCollectManifestLogEO>(pageNo, pageSize);
|
||||
IPage<ParamsCollectManifestLogEO> pageList = paramsCollectManifestLogEOService.page(page, queryWrapper);
|
||||
List<ParamsCollectManifestLogEO> records = pageList.getRecords();
|
||||
this.paramsCollectManifestLogEOService.disposeData(cut,records);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "参数收集清单-操作记录(历史日志)-列表查询")
|
||||
@ApiOperation(value="参数收集清单-操作记录(历史日志)-列表查询", notes="参数收集清单-操作记录(历史日志)-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<ParamsCollectManifestLogEO>> queryList() {
|
||||
List<ParamsCollectManifestLogEO> list = paramsCollectManifestLogEOService.queryList();
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param paramsCollectManifestLogEO
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "参数收集清单-操作记录(历史日志)-添加")
|
||||
@ApiOperation(value="参数收集清单-操作记录(历史日志)-添加", notes="参数收集清单-操作记录(历史日志)-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@Validated @RequestBody ParamsCollectManifestLogEO paramsCollectManifestLogEO) {
|
||||
paramsCollectManifestLogEOService.add(paramsCollectManifestLogEO);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param paramsCollectManifestLogEO
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "参数收集清单-操作记录(历史日志)-编辑")
|
||||
@ApiOperation(value="参数收集清单-操作记录(历史日志)-编辑", notes="参数收集清单-操作记录(历史日志)-编辑")
|
||||
@PutMapping(value = "/edit")
|
||||
public Result<?> edit(@Validated @RequestBody ParamsCollectManifestLogEO paramsCollectManifestLogEO) {
|
||||
paramsCollectManifestLogEOService.editById(paramsCollectManifestLogEO);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "参数收集清单-操作记录(历史日志)-通过id删除")
|
||||
@ApiOperation(value="参数收集清单-操作记录(历史日志)-通过id删除", notes="参数收集清单-操作记录(历史日志)-通过id删除")
|
||||
@DeleteMapping(value = "/delete")
|
||||
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
|
||||
paramsCollectManifestLogEOService.deleteById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "参数收集清单-操作记录(历史日志)-批量删除")
|
||||
@ApiOperation(value="参数收集清单-操作记录(历史日志)-批量删除", notes="参数收集清单-操作记录(历史日志)-批量删除")
|
||||
@DeleteMapping(value = "/deleteBatch")
|
||||
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
this.paramsCollectManifestLogEOService.deleteByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "参数收集清单-操作记录(历史日志)-通过id查询")
|
||||
@ApiOperation(value="参数收集清单-操作记录(历史日志)-通过id查询", notes="参数收集清单-操作记录(历史日志)-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
ParamsCollectManifestLogEO paramsCollectManifestLogEO = paramsCollectManifestLogEOService.queryById(id);
|
||||
if(paramsCollectManifestLogEO==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(paramsCollectManifestLogEO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param paramsCollectManifestLogEO
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, ParamsCollectManifestLogEO paramsCollectManifestLogEO) {
|
||||
return super.exportXls(request, paramsCollectManifestLogEO, ParamsCollectManifestLogEO.class, "参数收集清单-操作记录(历史日志)");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过excel导入数据
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
||||
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||
return super.importExcel(request, response, ParamsCollectManifestLogEO.class);
|
||||
}
|
||||
|
||||
}
|
||||
+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;
|
||||
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
package com.jero.modules.cert.collect.entity;
|
||||
|
||||
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.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 参数收集清单-操作记录(历史日志)
|
||||
* @Author: jero-boot
|
||||
* @Date: 2022-12-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("params_collect_manifest_log")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="params_collect_manifest_log对象", description="参数收集清单-操作记录(历史日志)")
|
||||
public class ParamsCollectManifestLogEO 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;
|
||||
|
||||
/**所属部门*/
|
||||
@ApiModelProperty(value = "所属部门")
|
||||
private String sysOrgCode;
|
||||
|
||||
/**中文内容*/
|
||||
@Excel(name = "中文内容", width = 15)
|
||||
@ApiModelProperty(value = "中文内容")
|
||||
private String logCnContent;
|
||||
|
||||
/**英文内容*/
|
||||
@Excel(name = "英文内容", width = 15)
|
||||
@ApiModelProperty(value = "英文内容")
|
||||
private String logEnContent;
|
||||
|
||||
/**备注*/
|
||||
@Excel(name = "备注", width = 15)
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
|
||||
/**参数清单id*/
|
||||
@Excel(name = "参数清单id", width = 15)
|
||||
@ApiModelProperty(value = "参数清单id")
|
||||
private String paramsManifestId;
|
||||
|
||||
/**参数收集清单id*/
|
||||
@Excel(name = "参数收集清单id", width = 15)
|
||||
@ApiModelProperty(value = "参数收集清单id")
|
||||
private String paramsCollectManifestId;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String logContent;
|
||||
|
||||
}
|
||||
+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);
|
||||
}
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.jero.modules.cert.collect.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.cert.collect.entity.ParamsCollectManifestLogEO;
|
||||
|
||||
/**
|
||||
* @Description: 参数收集清单-操作记录(历史日志)
|
||||
* @Author: jero-boot
|
||||
* @Date: 2022-12-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface ParamsCollectManifestLogEOMapper extends BaseMapper<ParamsCollectManifestLogEO> {
|
||||
|
||||
}
|
||||
+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>
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
<?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.paramsCollectManifestLog.mapper.ParamsCollectManifestLogEOMapper">
|
||||
<resultMap id="ParamsCollectManifestLogEOResultMap" type="com.jero.modules.cert.collect.entity.ParamsCollectManifestLogEO">
|
||||
<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="sys_org_code" property="sysOrgCode" />
|
||||
<result column="log_cn_content" property="logCnContent" />
|
||||
<result column="log_en_content" property="logEnContent" />
|
||||
<result column="params_manifest_id" property="paramsManifestId" />
|
||||
<result column="params_collect_manifest_id" property="paramsCollectManifestId" />
|
||||
</resultMap>
|
||||
</mapper>
|
||||
+69
@@ -0,0 +1,69 @@
|
||||
package com.jero.modules.cert.collect.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.cert.collect.entity.ParamsCollectManifestLogEO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 参数收集清单-操作记录(历史日志)
|
||||
* @Author: jero-boot
|
||||
* @Date: 2022-12-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IParamsCollectManifestLogEOService extends IService<ParamsCollectManifestLogEO> {
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param paramsCollectManifestLogEO
|
||||
* @return
|
||||
*/
|
||||
void add(ParamsCollectManifestLogEO paramsCollectManifestLogEO);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param paramsCollectManifestLogEO
|
||||
* @return
|
||||
*/
|
||||
void editById(ParamsCollectManifestLogEO paramsCollectManifestLogEO);
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ParamsCollectManifestLogEO queryById(String id);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
List<ParamsCollectManifestLogEO> queryList();
|
||||
|
||||
/**
|
||||
* 处理数据
|
||||
* @param cut
|
||||
* @param datas
|
||||
*/
|
||||
void disposeData(String cut, List<ParamsCollectManifestLogEO> datas);
|
||||
}
|
||||
+421
-9
@@ -22,10 +22,7 @@ import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServi
|
||||
import com.jero.modules.cert.collect.entity.*;
|
||||
import com.jero.modules.cert.collect.enums.*;
|
||||
import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper;
|
||||
import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService;
|
||||
import com.jero.modules.cert.collect.service.IParamsConfigDataEOService;
|
||||
import com.jero.modules.cert.collect.service.IParamsConfigEOService;
|
||||
import com.jero.modules.cert.collect.service.IParamsManifestEOService;
|
||||
import com.jero.modules.cert.collect.service.*;
|
||||
import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO;
|
||||
import com.jero.modules.cert.collect.vo.ParamsConfigDataVO;
|
||||
import com.jero.modules.cert.collect.vo.ParamsManifestVO;
|
||||
@@ -47,9 +44,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;
|
||||
@@ -59,7 +60,9 @@ import com.jero.modules.system.service.ISysAnnouncementService;
|
||||
import com.jero.modules.system.service.ISysDictItemService;
|
||||
import com.jero.modules.system.service.ISysUserRoleService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||
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;
|
||||
@@ -149,7 +152,13 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
@Autowired
|
||||
private IProjectLibraryBaseService projectLibraryBaseService;
|
||||
@Autowired
|
||||
private IParamsCollectManifestLogEOService paramsCollectManifestLogEOService;
|
||||
@Autowired
|
||||
private SysDictItemServiceImpl sysDictItemServiceImpl;
|
||||
@Autowired
|
||||
private WebSocketServer webSocketServer; // 同步上报库时变更清单状态时使用
|
||||
@Autowired
|
||||
private IProjectUserPermissionService projectUserPermissionService;
|
||||
@Resource
|
||||
private WebSocket webSocket; // 消息专用
|
||||
|
||||
@@ -161,6 +170,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
@Value(value = "${jero.backUrl}")
|
||||
private String backUrl;
|
||||
|
||||
@Autowired
|
||||
private IProjectUserDutyTerritoryService projectUserDutyTerritoryService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -361,7 +373,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()));
|
||||
@@ -1149,6 +1170,15 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
list.add(map);
|
||||
}
|
||||
|
||||
Map<String, Object> operatorMap = new HashMap<>();
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
operatorMap.put("db_field_txt","操作");
|
||||
}else{
|
||||
operatorMap.put("db_field_txt","Operator");
|
||||
}
|
||||
operatorMap.put("click6", true);
|
||||
list.add(operatorMap);
|
||||
|
||||
list.addAll(indexOfDescription+1, listConfig);
|
||||
return list;
|
||||
}
|
||||
@@ -1158,10 +1188,13 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
List<ParamsConfigDataEO> newConfigDataEOList = new ArrayList<>();
|
||||
|
||||
List<ParamsCollectManifestEO> updateCollectManifestEOList = new ArrayList<>();
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
List<ParamsCollectManifestLogEO> paramsCollectManifestLogEOList = new ArrayList<>();
|
||||
|
||||
// 处理数据
|
||||
for (Map<String, Object> map : configDataList) {
|
||||
String paramsCollectManifestId = (String) map.get("id");
|
||||
ParamsCollectManifestEO paramsCollectManifestEO = this.paramsCollectManifestEOMapper.selectById(paramsCollectManifestId);
|
||||
|
||||
// 修改参数项状态
|
||||
ParamsCollectManifestEO updateCollectManifestEO = new ParamsCollectManifestEO();
|
||||
@@ -1169,6 +1202,11 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
updateCollectManifestEO.setState(CollectManifestStateEnum.SUBMIT.getValue());
|
||||
updateCollectManifestEOList.add(updateCollectManifestEO);
|
||||
|
||||
StringBuilder logCnContentSb = new StringBuilder();
|
||||
logCnContentSb.append("填写人").append("\"").append(currentUser.getUsername()).append("\"").append("提交");
|
||||
StringBuilder logEnContentSb = new StringBuilder();
|
||||
logEnContentSb.append("\"").append(currentUser.getUsername()).append("\"").append(" submits ");
|
||||
|
||||
// 添加配置数据
|
||||
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
||||
ParamsConfigDataEO paramsConfigDataEO = new ParamsConfigDataEO();
|
||||
@@ -1190,17 +1228,39 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
}
|
||||
paramsConfigDataEO.setParamsCollectManifestId(paramsCollectManifestId);
|
||||
paramsConfigDataEO.setParamsConfigId(paramsConfigEOId);
|
||||
ParamsConfigEO paramsConfigEO = this.paramsConfigEOService.queryById(paramsConfigEOId);
|
||||
if (CollectionUtil.isNotEmpty(paramsConfigDataVOList)) {
|
||||
boolean appendFlag = false; // 拼接标识
|
||||
for (Map<String, Object> paramsConfigDataVO : paramsConfigDataVOList) {
|
||||
String dataValue = (String) paramsConfigDataVO.get("dataValue");
|
||||
// 只要其中有一个值就可以进行拼接
|
||||
if(StringUtils.isNotEmpty(dataValue)){
|
||||
appendFlag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(appendFlag){
|
||||
logCnContentSb.append(paramsConfigEO.getConfigName()).append("为");
|
||||
logEnContentSb.append(" configuration ").append(paramsConfigEO.getConfigName()).append(" as ");
|
||||
}
|
||||
for (Map<String, Object> paramsConfigDataVO : paramsConfigDataVOList) {
|
||||
String type = (String) paramsConfigDataVO.get("type");
|
||||
String dataValue = (String) paramsConfigDataVO.get("dataValue");
|
||||
|
||||
if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) {
|
||||
paramsConfigDataEO.setTextData(dataValue);
|
||||
if (StringUtils.isNotEmpty(dataValue)) {
|
||||
logCnContentSb.append("\"").append(dataValue).append("\"");
|
||||
logEnContentSb.append("\"").append(dataValue).append("\"");
|
||||
}
|
||||
|
||||
} else if (type.equals(ConfigDataTypeEnum.PULL.getValue())
|
||||
|| type.equals(ConfigDataTypeEnum.PULL_MORE.getValue())) {
|
||||
paramsConfigDataEO.setPullData(dataValue);
|
||||
if (StringUtils.isNotEmpty(dataValue)) {
|
||||
logCnContentSb.append("\"").append(dataValue).append("\"");
|
||||
logEnContentSb.append("\"").append(dataValue).append("\"");
|
||||
}
|
||||
|
||||
} else if (type.equals(ConfigDataTypeEnum.FILE.getValue())) {
|
||||
if (StringUtils.isNotEmpty(dataValue) && dataValue.contains(",")) { // 新加多个文件
|
||||
@@ -1234,15 +1294,37 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
}
|
||||
paramsConfigDataEO.setFileConnectId(dataValue);
|
||||
|
||||
List<OSSFile> fileInfos = ossFileService.getFileInfos(dataValue);
|
||||
String fileNames = fileInfos.stream().map(OSSFile::getFileName).distinct().collect(Collectors.joining(","));
|
||||
if (StringUtils.isNotEmpty(fileNames)) {
|
||||
logCnContentSb.append("\"").append(fileNames).append("\"");
|
||||
logEnContentSb.append("\"").append(fileNames).append("\"");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(appendFlag){
|
||||
logCnContentSb.append(",");
|
||||
logEnContentSb.append(" and ");
|
||||
}
|
||||
}
|
||||
newConfigDataEOList.add(paramsConfigDataEO);
|
||||
}
|
||||
|
||||
ParamsCollectManifestLogEO paramsCollectManifestLogEO = new ParamsCollectManifestLogEO();
|
||||
paramsCollectManifestLogEO.setLogCnContent(logCnContentSb.toString().substring(0,logCnContentSb.toString().length()-1));
|
||||
paramsCollectManifestLogEO.setLogEnContent(logEnContentSb.toString().substring(0,logEnContentSb.toString().length()-5));
|
||||
paramsCollectManifestLogEO.setParamsManifestId(paramsCollectManifestEO.getParamsManifestId());
|
||||
paramsCollectManifestLogEO.setParamsCollectManifestId(paramsCollectManifestEO.getId());
|
||||
paramsCollectManifestLogEOList.add(paramsCollectManifestLogEO);
|
||||
}
|
||||
|
||||
// 批量更新
|
||||
paramsConfigDataEOService.saveOrUpdateBatch(newConfigDataEOList);
|
||||
|
||||
if(CollectionUtils.isNotEmpty(paramsCollectManifestLogEOList)){
|
||||
this.paramsCollectManifestLogEOService.saveBatch(paramsCollectManifestLogEOList);
|
||||
}
|
||||
return updateBatchById(updateCollectManifestEOList);
|
||||
}
|
||||
|
||||
@@ -1565,6 +1647,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;
|
||||
}
|
||||
|
||||
@@ -1629,10 +1724,16 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
if (StringUtils.isEmpty(paramsCollectManifestVO.getIds())) {
|
||||
throw new JeroBootException("参数不能为空!");
|
||||
}
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String paramsCollectManifestIds = paramsCollectManifestVO.getIds();
|
||||
String[] paramsCollectManifestIdStr = paramsCollectManifestIds.split(",");
|
||||
|
||||
String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
|
||||
// 配置
|
||||
List<ParamsConfigEO> paramsConfigEOList = this.paramsConfigEOService.queryList(paramsManifestId);
|
||||
|
||||
List<ParamsCollectManifestEO> updateEOList = new ArrayList<>();
|
||||
List<ParamsCollectManifestLogEO> paramsCollectManifestLogEOList = new ArrayList<>();
|
||||
for (int i=0; i<paramsCollectManifestIdStr.length; i++) {
|
||||
ParamsCollectManifestEO paramsCollectManifestEO = getById(paramsCollectManifestIdStr[i]);
|
||||
ParamsCollectManifestEO updateEO = new ParamsCollectManifestEO();
|
||||
@@ -1646,10 +1747,82 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
updateEO.setState(String.valueOf(Integer.parseInt(paramsCollectManifestEO.getState()) + 1)); // 设置对应状态
|
||||
}
|
||||
updateEOList.add(updateEO);
|
||||
|
||||
StringBuilder logCnContentSb = new StringBuilder();
|
||||
StringBuilder logEnContentSb = new StringBuilder();
|
||||
|
||||
String currentPersonRole = paramsCollectManifestVO.getCurrentPersonRole();
|
||||
if(StringUtils.equals(currentPersonRole,CollectManifestUserTypeEnum.HOMO.getValue()) || StringUtils.equals(currentPersonRole,CollectManifestUserTypeEnum.SDT.getValue())){
|
||||
if(StringUtils.equals(currentPersonRole,CollectManifestUserTypeEnum.HOMO.getValue())){
|
||||
logCnContentSb.append("认证工程师").append("\"").append(currentUser.getUsername()).append("\"").append("将");
|
||||
logEnContentSb.append("The Homo Engineer ").append("\"").append(currentUser.getUsername()).append("\"").append(" returns the ");
|
||||
}else if(StringUtils.equals(currentPersonRole,CollectManifestUserTypeEnum.SDT.getValue())){
|
||||
logCnContentSb.append("工程接口人").append("\"").append(currentUser.getUsername()).append("\"").append("将");
|
||||
logEnContentSb.append("Eng. Interface ").append("\"").append(currentUser.getUsername()).append("\"").append(" will return the ");
|
||||
}
|
||||
|
||||
// 添加配置数据
|
||||
int paramsConfigLenth = 1;
|
||||
for (ParamsConfigEO configEO : paramsConfigEOList) {
|
||||
ParamsConfigDataEO configDataEO = paramsConfigDataEOService.queryByConfigIdAndCollectManifestId(configEO.getId(), paramsCollectManifestEO.getId());
|
||||
|
||||
if(StringUtils.isNotEmpty(configDataEO.getPullData()) || StringUtils.isNotEmpty(configDataEO.getTextData()) || StringUtils.isNotEmpty(configDataEO.getFileConnectId())){
|
||||
logCnContentSb.append(configEO.getConfigName());
|
||||
logCnContentSb.append(" 的");
|
||||
|
||||
if(StringUtils.isNotEmpty(configDataEO.getPullData())){
|
||||
logCnContentSb.append("\"" +configDataEO.getPullData()+ "\"");
|
||||
logEnContentSb.append("\"" +configDataEO.getPullData()+ "\"");
|
||||
}
|
||||
if(StringUtils.isNotEmpty(configDataEO.getTextData())){
|
||||
logCnContentSb.append("\"" +configDataEO.getTextData()+ "\"");
|
||||
logEnContentSb.append("\"" +configDataEO.getTextData()+ "\"");
|
||||
}
|
||||
if(StringUtils.isNotEmpty(configDataEO.getFileConnectId())){
|
||||
List<OSSFile> fileInfos = ossFileService.getFileInfos(configDataEO.getFileConnectId());
|
||||
String fileNames = fileInfos.stream().map(OSSFile::getFileName).distinct().collect(Collectors.joining(","));
|
||||
if (StringUtils.isNotEmpty(fileNames)) {
|
||||
logCnContentSb.append("\"" +fileNames+ "\"");
|
||||
logEnContentSb.append("\"" +fileNames+ "\"");
|
||||
}
|
||||
}
|
||||
|
||||
logEnContentSb.append(" of configuration " +configEO.getConfigName()+ "");
|
||||
|
||||
// 如果配置有两条或两条以上,并且不是最后一次循环
|
||||
if(paramsConfigEOList.size() > 1 && paramsConfigLenth != paramsConfigEOList.size()){
|
||||
logCnContentSb.append(",");
|
||||
logEnContentSb.append(" and ");
|
||||
}
|
||||
}
|
||||
|
||||
paramsConfigLenth ++;
|
||||
}
|
||||
|
||||
if(StringUtils.equals(currentPersonRole,CollectManifestUserTypeEnum.HOMO.getValue())){
|
||||
logCnContentSb.append("退回给填写人").append("\"").append(paramsCollectManifestEO.getDre()).append("\"");
|
||||
logEnContentSb.append(" to the person ").append("\"").append(paramsCollectManifestEO.getDre()).append("\".");
|
||||
}else if(StringUtils.equals(currentPersonRole,CollectManifestUserTypeEnum.SDT.getValue())){
|
||||
logCnContentSb.append("退回给认证工程师");
|
||||
logEnContentSb.append(" to the Homo Engineer.");
|
||||
}
|
||||
} else if(StringUtils.equals(currentPersonRole,CollectManifestUserTypeEnum.DRE.getValue())){
|
||||
logCnContentSb.append("填写人").append("\"").append(currentUser.getUsername()).append("\"").append("退回给工程接口人").append("\"").append(paramsCollectManifestEO.getSdt()).append("\"");
|
||||
logEnContentSb.append("DRE ").append("\"").append(currentUser.getUsername()).append("\"").append(" return to project Eng. Interface ").append("\"").append(paramsCollectManifestEO.getSdt()).append("\"");
|
||||
}
|
||||
|
||||
ParamsCollectManifestLogEO paramsCollectManifestLogEO = new ParamsCollectManifestLogEO();
|
||||
paramsCollectManifestLogEO.setLogCnContent(logCnContentSb.toString());
|
||||
paramsCollectManifestLogEO.setLogEnContent(logEnContentSb.toString());
|
||||
paramsCollectManifestLogEO.setParamsManifestId(paramsManifestId);
|
||||
paramsCollectManifestLogEO.setParamsCollectManifestId(paramsCollectManifestEO.getId());
|
||||
paramsCollectManifestLogEOList.add(paramsCollectManifestLogEO);
|
||||
}
|
||||
boolean update = updateBatchById(updateEOList);
|
||||
if(CollectionUtils.isNotEmpty(paramsCollectManifestLogEOList)){
|
||||
this.paramsCollectManifestLogEOService.saveBatch(paramsCollectManifestLogEOList);
|
||||
}
|
||||
if (update) {
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录人
|
||||
//飞书
|
||||
for (ParamsCollectManifestEO paramsCollectManifestEO : updateEOList) {
|
||||
paramsCollectManifestEO = getById(paramsCollectManifestEO.getId());
|
||||
@@ -1756,6 +1929,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
}
|
||||
String paramsCollectManifestIds = paramsCollectManifestVO.getIds();
|
||||
String[] paramsCollectManifestIdStr = paramsCollectManifestIds.split(",");
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
List<ParamsCollectManifestLogEO> paramsCollectManifestLogEOList = new ArrayList<>();
|
||||
|
||||
List<ParamsCollectManifestEO> updateEOList = new ArrayList<>();
|
||||
for (int i=0; i<paramsCollectManifestIdStr.length; i++) {
|
||||
@@ -1776,6 +1951,16 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
|
||||
updateEO.setId(paramsCollectManifestIdStr[i]);
|
||||
updateEOList.add(updateEO);
|
||||
|
||||
ParamsCollectManifestLogEO paramsCollectManifestLogEO = new ParamsCollectManifestLogEO();
|
||||
paramsCollectManifestLogEO.setLogCnContent("工程接口人\"" +currentUser.getUsername()+ "\"将参数数据强制撤回");
|
||||
paramsCollectManifestLogEO.setLogEnContent("The Eng. Interface \""+ currentUser.getUsername() +"\" will forcibly withdraw the parameter data");
|
||||
paramsCollectManifestLogEO.setParamsManifestId(paramsCollectManifestEO.getParamsManifestId());
|
||||
paramsCollectManifestLogEO.setParamsCollectManifestId(paramsCollectManifestEO.getId());
|
||||
paramsCollectManifestLogEOList.add(paramsCollectManifestLogEO);
|
||||
}
|
||||
if(CollectionUtils.isNotEmpty(paramsCollectManifestLogEOList)){
|
||||
this.paramsCollectManifestLogEOService.saveBatch(paramsCollectManifestLogEOList);
|
||||
}
|
||||
return updateBatchById(updateEOList);
|
||||
}
|
||||
@@ -1870,6 +2055,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 ");
|
||||
|
||||
@@ -1879,20 +2065,63 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
List<ParamsCollectManifestEO> paramsCollectManifestEOList = list(queryWrapper);
|
||||
Date deadline = paramsCollectManifestEOList.get(0).getDeadline();
|
||||
int i = 0;
|
||||
|
||||
List<ParamsCollectManifestLogEO> paramsCollectManifestLogEOList = new ArrayList<>();
|
||||
for (ParamsCollectManifestEO paramsCollectManifestEO : paramsCollectManifestEOList) {
|
||||
if (i < 3) {
|
||||
connectBuilder.append(paramsCollectManifestEO.getNioNumber()).append("-").append(paramsCollectManifestEO.getParamsName()).append(",");
|
||||
}
|
||||
i++;
|
||||
|
||||
String logCnContent = "工程接口人\"" +currentUser.getUsername()+ "\"将参数填写人由\"空\"修改为\"" + dre + "\"";
|
||||
String logEnContent = "Eng. Interface \"" +currentUser.getUsername()+ "\" Change the parameter person from \"null\" to \"" +dre+ "\".";
|
||||
if (StringUtils.isNotEmpty(paramsCollectManifestEO.getDre())) {
|
||||
logCnContent = "工程接口人\"" +currentUser.getUsername()+ "\"将参数填写人由\""+ paramsCollectManifestEO.getDre() +"\"修改为\"" + dre + "\"";
|
||||
logEnContent = "Eng. Interface \"" +currentUser.getUsername()+ "\" Change the parameter person from \""+ paramsCollectManifestEO.getDre() +"\" to \"" + dre + "\".";
|
||||
}
|
||||
|
||||
ParamsCollectManifestLogEO paramsCollectManifestLogEO = new ParamsCollectManifestLogEO();
|
||||
paramsCollectManifestLogEO.setLogCnContent(logCnContent);
|
||||
paramsCollectManifestLogEO.setLogEnContent(logEnContent);
|
||||
paramsCollectManifestLogEO.setParamsManifestId(paramsManifestId);
|
||||
paramsCollectManifestLogEO.setParamsCollectManifestId(paramsCollectManifestEO.getId());
|
||||
paramsCollectManifestLogEOList.add(paramsCollectManifestLogEO);
|
||||
|
||||
ParamsCollectManifestEO updateEO = new ParamsCollectManifestEO();
|
||||
updateEO.setId(paramsCollectManifestEO.getId());
|
||||
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(CollectionUtils.isNotEmpty(paramsCollectManifestLogEOList)){
|
||||
this.paramsCollectManifestLogEOService.saveBatch(paramsCollectManifestLogEOList);
|
||||
}
|
||||
|
||||
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,6 +2213,8 @@ 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<ParamsCollectManifestLogEO> paramsCollectManifestLogEOList = new ArrayList<>();
|
||||
|
||||
List<ParamsCollectManifestEO> paramsCollectManifestEOList = listByIds(Arrays.asList(paramsCollectManifestIdStr));
|
||||
paramsCollectManifestEOList = paramsCollectManifestEOList.stream().sorted(Comparator.comparing(ParamsCollectManifestBaseEO::getNioNumber)).collect(Collectors.toList()); // 按NIO编号升序
|
||||
@@ -2005,6 +2236,14 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
updateEOList.add(updateEO);
|
||||
|
||||
updateEOIdList.add(paramsCollectManifestEO.getId());
|
||||
delSdtPermission.add(PermissionDescriptionEnum.PARAMS_COLLECT_MANIFEST.getValue() + paramsCollectManifestEO.getId());
|
||||
|
||||
ParamsCollectManifestLogEO paramsCollectManifestLogEO = new ParamsCollectManifestLogEO();
|
||||
paramsCollectManifestLogEO.setLogCnContent("认证工程师\""+currentUser.getUsername()+"\"开始了下发收集,工程接口人为\""+paramsCollectManifestEO.getSdt()+"\"");
|
||||
paramsCollectManifestLogEO.setLogEnContent("The Homo Engineer \""+currentUser.getUsername()+"\" starts to deliver the collection, and the Eng. Interface is \""+paramsCollectManifestEO.getSdt()+"\".");
|
||||
paramsCollectManifestLogEO.setParamsManifestId(paramsManifestId);
|
||||
paramsCollectManifestLogEO.setParamsCollectManifestId(paramsCollectManifestEO.getId());
|
||||
paramsCollectManifestLogEOList.add(paramsCollectManifestLogEO);
|
||||
} else {
|
||||
Map<String, String> msgMap = new HashMap<>();
|
||||
msgMap.put("nioNumber", paramsCollectManifestEO.getNioNumber());
|
||||
@@ -2024,8 +2263,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()
|
||||
@@ -2093,6 +2352,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
log.error("飞书消息推送失败");
|
||||
}
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(paramsCollectManifestLogEOList)){
|
||||
this.paramsCollectManifestLogEOService.saveBatch(paramsCollectManifestLogEOList);
|
||||
}
|
||||
}
|
||||
|
||||
return getMsgOfIssueCollection(msgMapList, cut, "1");
|
||||
@@ -2120,6 +2383,8 @@ 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<ParamsCollectManifestLogEO> paramsCollectManifestLogEOList = new ArrayList<>();
|
||||
|
||||
LambdaQueryWrapper<ParamsCollectManifestEO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ParamsCollectManifestEO::getParamsManifestId, paramsManifestId)
|
||||
@@ -2144,6 +2409,14 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
updateEOList.add(updateEO);
|
||||
|
||||
updateEOIdList.add(paramsCollectManifestEO.getId());
|
||||
delSdtPermission.add(PermissionDescriptionEnum.PARAMS_COLLECT_MANIFEST.getValue() + paramsCollectManifestEO.getId());
|
||||
|
||||
ParamsCollectManifestLogEO paramsCollectManifestLogEO = new ParamsCollectManifestLogEO();
|
||||
paramsCollectManifestLogEO.setLogCnContent("认证工程师\""+currentUser.getUsername()+"\"开始了下发收集,工程接口人为\""+paramsCollectManifestEO.getSdt()+"\"");
|
||||
paramsCollectManifestLogEO.setLogEnContent("The Homo Engineer \""+currentUser.getUsername()+"\" starts to deliver the collection, and the Eng. Interface is \""+paramsCollectManifestEO.getSdt()+"\".");
|
||||
paramsCollectManifestLogEO.setParamsManifestId(paramsManifestId);
|
||||
paramsCollectManifestLogEO.setParamsCollectManifestId(paramsCollectManifestEO.getId());
|
||||
paramsCollectManifestLogEOList.add(paramsCollectManifestLogEO);
|
||||
} else {
|
||||
Map<String, String> msgMap = new HashMap<>();
|
||||
msgMap.put("nioNumber", paramsCollectManifestEO.getNioNumber());
|
||||
@@ -2163,8 +2436,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()
|
||||
@@ -2235,6 +2527,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
log.error("飞书消息推送失败");
|
||||
}
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(paramsCollectManifestLogEOList)){
|
||||
this.paramsCollectManifestLogEOService.saveBatch(paramsCollectManifestLogEOList);
|
||||
}
|
||||
}
|
||||
|
||||
return getMsgOfIssueCollection(msgMapList, cut, "1");
|
||||
@@ -2443,6 +2739,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
if (StringUtils.isEmpty(paramsCollectManifestVO.getIds()) || StringUtils.isEmpty(paramsCollectManifestVO.getParamsManifestId())) {
|
||||
throw new JeroBootException("参数不能为空!");
|
||||
}
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String paramsCollectManifestIds = paramsCollectManifestVO.getIds();
|
||||
String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
|
||||
|
||||
@@ -2487,6 +2784,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
List<ParamsCollectManifestEO> paramsCollectManifestEOList = paramsCollectManifestEOMapper.selectBatchIds(paramsCollectManifestIdList);
|
||||
List<ParamsReportDetailEO> addReportDetailEOList = new ArrayList<>();
|
||||
List<ParamsReportConfigDataEO> addReportConfigDataEOList = new ArrayList<>(); // 需要添加的配置数据
|
||||
List<ParamsCollectManifestLogEO> paramsCollectManifestLogEOList = new ArrayList<>();
|
||||
Date syncTime = new Date();
|
||||
for (ParamsCollectManifestEO collectManifestEO : paramsCollectManifestEOList) {
|
||||
ParamsReportDetailEO addReportDetailEO = new ParamsReportDetailEO();
|
||||
@@ -2497,7 +2795,13 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
addReportDetailEO.setSyncTime(syncTime);
|
||||
addReportDetailEOList.add(addReportDetailEO);
|
||||
|
||||
StringBuilder logCnContentSb = new StringBuilder();
|
||||
logCnContentSb.append("认证工程师").append("\"").append(currentUser.getUsername()).append("\"").append("将");
|
||||
StringBuilder logEnContentSb = new StringBuilder();
|
||||
logEnContentSb.append("The Homo Engineer ").append("\"").append(currentUser.getUsername()).append("\"").append(" will synchronize the");
|
||||
|
||||
// 添加配置数据
|
||||
int paramsConfigLenth = 1;
|
||||
for (ParamsConfigEO configEO : paramsConfigEOList) {
|
||||
ParamsConfigDataEO configDataEO = paramsConfigDataEOService.queryByConfigIdAndCollectManifestId(configEO.getId(), collectManifestEO.getId());
|
||||
|
||||
@@ -2508,7 +2812,48 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
addReportConfigDataEO.setParamsCollectManifestId(reportDetailId);
|
||||
addReportConfigDataEOList.add(addReportConfigDataEO);
|
||||
|
||||
if(StringUtils.isNotEmpty(configDataEO.getPullData()) || StringUtils.isNotEmpty(configDataEO.getTextData()) || StringUtils.isNotEmpty(configDataEO.getFileConnectId())){
|
||||
logCnContentSb.append(configEO.getConfigName());
|
||||
logCnContentSb.append(" 的");
|
||||
|
||||
if(StringUtils.isNotEmpty(configDataEO.getPullData())){
|
||||
logCnContentSb.append("\"" +configDataEO.getPullData()+ "\"");
|
||||
logEnContentSb.append("\"" +configDataEO.getPullData()+ "\"");
|
||||
}
|
||||
if(StringUtils.isNotEmpty(configDataEO.getTextData())){
|
||||
logCnContentSb.append("\"" +configDataEO.getTextData()+ "\"");
|
||||
logEnContentSb.append("\"" +configDataEO.getTextData()+ "\"");
|
||||
}
|
||||
if(StringUtils.isNotEmpty(configDataEO.getFileConnectId())){
|
||||
List<OSSFile> fileInfos = ossFileService.getFileInfos(configDataEO.getFileConnectId());
|
||||
String fileNames = fileInfos.stream().map(OSSFile::getFileName).distinct().collect(Collectors.joining(","));
|
||||
if (StringUtils.isNotEmpty(fileNames)) {
|
||||
logCnContentSb.append("\"" +fileNames+ "\"");
|
||||
logEnContentSb.append("\"" +fileNames+ "\"");
|
||||
}
|
||||
}
|
||||
|
||||
logEnContentSb.append("of configuration " +configEO.getConfigName()+ "");
|
||||
|
||||
// 如果配置有两条或两条以上,并且不是最后一次循环
|
||||
if(paramsConfigEOList.size() > 1 && paramsConfigLenth != paramsConfigEOList.size()){
|
||||
logCnContentSb.append(",");
|
||||
logEnContentSb.append(" and ");
|
||||
}
|
||||
}
|
||||
|
||||
paramsConfigLenth ++;
|
||||
}
|
||||
|
||||
logCnContentSb.append(" 同步至上报库");
|
||||
logEnContentSb.append(" to the report database");
|
||||
|
||||
ParamsCollectManifestLogEO paramsCollectManifestLogEO = new ParamsCollectManifestLogEO();
|
||||
paramsCollectManifestLogEO.setLogCnContent(logCnContentSb.toString());
|
||||
paramsCollectManifestLogEO.setLogEnContent(logEnContentSb.toString());
|
||||
paramsCollectManifestLogEO.setParamsManifestId(paramsManifestId);
|
||||
paramsCollectManifestLogEO.setParamsCollectManifestId(collectManifestEO.getId());
|
||||
paramsCollectManifestLogEOList.add(paramsCollectManifestLogEO);
|
||||
}
|
||||
|
||||
List<String> nioNumberList = paramsCollectManifestEOList.stream().map(ParamsCollectManifestEO::getNioNumber).collect(Collectors.toList());
|
||||
@@ -2590,6 +2935,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
|
||||
boolean isSuccess = updateBatchById(updateEOList);
|
||||
|
||||
if(CollectionUtils.isNotEmpty(paramsCollectManifestLogEOList)){
|
||||
this.paramsCollectManifestLogEOService.saveBatch(paramsCollectManifestLogEOList);
|
||||
}
|
||||
|
||||
// 判断清单是否已完成,修改清单状态
|
||||
Map<String, Object> map = isCollectFinished(paramsManifestId);
|
||||
Boolean finish = (Boolean) map.get("finish");
|
||||
@@ -2605,7 +2954,6 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
webSocketServer.sendMessage();
|
||||
}
|
||||
}
|
||||
|
||||
return isSuccess;
|
||||
}
|
||||
|
||||
@@ -3238,6 +3586,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
|
||||
String projectId = paramsCollectManifestVO.getProjectId();
|
||||
String cut = paramsCollectManifestVO.getCut();
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
// 查询参数清单
|
||||
ParamsManifestEO paramsManifestEO = paramsManifestEOService.getById(paramsManifestId);
|
||||
@@ -3246,6 +3595,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
queryWrapper.in(ParamsCollectManifestEO::getId, paramsCollectManifestIdList);
|
||||
List<ParamsCollectManifestEO> paramsCollectManifestEOList = paramsCollectManifestEOMapper.selectList(queryWrapper);
|
||||
|
||||
// 查询所有的责任领域
|
||||
List<SysDictItem> dutyTerritoryList = this.sysDictItemServiceImpl.selectItemsByDictCode("duty_territory");
|
||||
|
||||
List<ParamsCollectManifestLogEO> paramsCollectManifestLogEOList = new ArrayList<>();
|
||||
List<ParamsCollectManifestEO> updateEOList = new ArrayList<>();
|
||||
List<Map<String, String>> msgMapList = new ArrayList<>();
|
||||
paramsCollectManifestEOList.forEach(paramsCollectManifestEO -> {
|
||||
@@ -3276,6 +3629,18 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
|
||||
updateEOList.add(updateEO);
|
||||
|
||||
String oldDutyTerritoryNameCn = this.getDutyTerritoryNameByCode(dutyTerritoryList,paramsCollectManifestEO.getDutyTerritory(),CutEnum.CN.getValue());
|
||||
String newDutyTerritoryNameCn = this.getDutyTerritoryNameByCode(dutyTerritoryList,dutyTerritory,CutEnum.CN.getValue());
|
||||
String oldDutyTerritoryNameEn = this.getDutyTerritoryNameByCode(dutyTerritoryList,paramsCollectManifestEO.getDutyTerritory(),CutEnum.EN.getValue());
|
||||
String newDutyTerritoryNameEn = this.getDutyTerritoryNameByCode(dutyTerritoryList,dutyTerritory,CutEnum.EN.getValue());
|
||||
|
||||
ParamsCollectManifestLogEO paramsCollectManifestLogEO = new ParamsCollectManifestLogEO();
|
||||
paramsCollectManifestLogEO.setLogCnContent("认证工程师\""+currentUser.getUsername()+"\"将参数责任领域信息由\""+oldDutyTerritoryNameCn+"\"修改为\""+newDutyTerritoryNameCn+"\"");
|
||||
paramsCollectManifestLogEO.setLogEnContent("The Homo Engineer \""+currentUser.getUsername()+"\" changed the parameter responsibility field information from \""+oldDutyTerritoryNameEn+"\" to " + "\""+newDutyTerritoryNameEn+"\"");
|
||||
paramsCollectManifestLogEO.setParamsManifestId(paramsManifestId);
|
||||
paramsCollectManifestLogEO.setParamsCollectManifestId(paramsCollectManifestEO.getId());
|
||||
paramsCollectManifestLogEOList.add(paramsCollectManifestLogEO);
|
||||
|
||||
} else {
|
||||
Map<String, String> msgMap = new HashMap<>();
|
||||
msgMap.put("nioNumber", paramsCollectManifestEO.getNioNumber());
|
||||
@@ -3288,10 +3653,45 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
// 修改责任领域及工程接口人
|
||||
updateBatchById(updateEOList);
|
||||
|
||||
if(CollectionUtils.isNotEmpty(paramsCollectManifestLogEOList)){
|
||||
this.paramsCollectManifestLogEOService.saveBatch(paramsCollectManifestLogEOList);
|
||||
}
|
||||
|
||||
// 返回不符合参数项的提示信息
|
||||
return getMsgOfIssueCollection(msgMapList, cut, "2");
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据责任领域code,获取责任领域名称,包含中英文切换。
|
||||
* @param dutyTerritoryList
|
||||
* @param dutyTerritoryCode
|
||||
* @param cut
|
||||
* @return
|
||||
*/
|
||||
public String getDutyTerritoryNameByCode(List<SysDictItem> dutyTerritoryList,String dutyTerritoryCode,String cut){
|
||||
String result = null;
|
||||
if (CollectionUtils.isNotEmpty(dutyTerritoryList) && StringUtils.isNotEmpty(dutyTerritoryCode)) {
|
||||
if (StringUtils.equals(cut, CutEnum.CN.getValue())) {
|
||||
result = dutyTerritoryList.stream().filter(dutyTerritory -> {
|
||||
boolean flag = false;
|
||||
if(StringUtils.equals(dutyTerritory.getItemValue(),dutyTerritoryCode)){
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).map(SysDictItem::getItemText).collect(Collectors.joining(","));
|
||||
} else if (StringUtils.equals(cut, CutEnum.EN.getValue())) {
|
||||
result = dutyTerritoryList.stream().filter(dutyTerritory -> {
|
||||
boolean flag = false;
|
||||
if(StringUtils.equals(dutyTerritory.getItemValue(),dutyTerritoryCode)){
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).map(SysDictItem::getEnName).collect(Collectors.joining(","));
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private String[] getWorkbookTitleForExport(ParamsCollectManifestVO paramsCollectManifestVO) {
|
||||
String cut = paramsCollectManifestVO.getCut();
|
||||
String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
|
||||
@@ -5163,6 +5563,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
QueryWrapper<ParamsConfigDataEO> configDataQueryWrap = new QueryWrapper<>();
|
||||
configDataQueryWrap.lambda().in(ParamsConfigDataEO::getParamsCollectManifestId,paramsCollectManifestIdArr);
|
||||
List<ParamsConfigDataEO> paramsConfigDataList = this.paramsConfigDataEOService.list(configDataQueryWrap);
|
||||
List<ParamsCollectManifestLogEO> paramsCollectManifestLogEOList = new ArrayList<>();
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
for (int i=0; i<paramsCollectManifestIdArr.length; i++) {
|
||||
String paramsCollectManifestId = paramsCollectManifestIdArr[i];
|
||||
@@ -5203,6 +5605,13 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
}
|
||||
}
|
||||
|
||||
ParamsCollectManifestLogEO paramsCollectManifestLogEO = new ParamsCollectManifestLogEO();
|
||||
paramsCollectManifestLogEO.setLogCnContent("认证工程师\""+currentUser.getUsername()+"\"将参数数据强制撤回");
|
||||
paramsCollectManifestLogEO.setLogEnContent("The Homo Engineer \""+currentUser.getUsername()+"\" will forcibly withdraw the parameter data");
|
||||
paramsCollectManifestLogEO.setParamsManifestId(collectManifestEO.getParamsManifestId());
|
||||
paramsCollectManifestLogEO.setParamsCollectManifestId(collectManifestEO.getId());
|
||||
paramsCollectManifestLogEOList.add(paramsCollectManifestLogEO);
|
||||
|
||||
LambdaUpdateWrapper<ParamsCollectManifestEO> updateWrap = new LambdaUpdateWrapper<>();
|
||||
updateWrap.set(ParamsCollectManifestEO::getSdt,null);
|
||||
updateWrap.set(ParamsCollectManifestEO::getDre,null);
|
||||
@@ -5217,6 +5626,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
throw new JeroBootException("强制撤回,更新参数收集清单失败!");
|
||||
}
|
||||
}
|
||||
if(CollectionUtils.isNotEmpty(paramsCollectManifestLogEOList)){
|
||||
this.paramsCollectManifestLogEOService.saveBatch(paramsCollectManifestLogEOList);
|
||||
}
|
||||
return Result.OK("强制撤回成功!");
|
||||
}
|
||||
|
||||
|
||||
+108
@@ -0,0 +1,108 @@
|
||||
package com.jero.modules.cert.collect.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.modules.cert.collect.entity.ParamsCollectManifestLogEO;
|
||||
import com.jero.modules.cert.collect.mapper.ParamsCollectManifestLogEOMapper;
|
||||
import com.jero.modules.cert.collect.service.IParamsCollectManifestLogEOService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 参数收集清单-操作记录(历史日志)
|
||||
* @Author: jero-boot
|
||||
* @Date: 2022-12-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class ParamsCollectManifestLogEOServiceImpl extends ServiceImpl<ParamsCollectManifestLogEOMapper, ParamsCollectManifestLogEO> implements IParamsCollectManifestLogEOService {
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param paramsCollectManifestLogEO
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void add(ParamsCollectManifestLogEO paramsCollectManifestLogEO) {
|
||||
Date now = new Date();
|
||||
paramsCollectManifestLogEO.setCreateTime(now);
|
||||
paramsCollectManifestLogEO.setUpdateTime(now);
|
||||
save(paramsCollectManifestLogEO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param paramsCollectManifestLogEO
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void editById(ParamsCollectManifestLogEO paramsCollectManifestLogEO) {
|
||||
Date now = new Date();
|
||||
paramsCollectManifestLogEO.setUpdateTime(now);
|
||||
saveOrUpdate(paramsCollectManifestLogEO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过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 ParamsCollectManifestLogEO queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ParamsCollectManifestLogEO> queryList() {
|
||||
return list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disposeData(String cut, List<ParamsCollectManifestLogEO> datas) {
|
||||
if(CollectionUtils.isNotEmpty(datas)){
|
||||
for (ParamsCollectManifestLogEO data : datas) {
|
||||
String logContent = "";
|
||||
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||
logContent = data.getLogCnContent();
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
logContent = data.getLogEnContent();
|
||||
}
|
||||
data.setLogContent(logContent);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+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;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
|
||||
+2
@@ -92,5 +92,7 @@ public class ParamsCollectManifestVO {
|
||||
@ApiModelProperty(value = "")
|
||||
private String allNumber;
|
||||
|
||||
// 退回操作人角色
|
||||
private String currentPersonRole;
|
||||
|
||||
}
|
||||
|
||||
+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:'联系创建人',
|
||||
}
|
||||
@@ -33,7 +33,10 @@
|
||||
|
||||
<a-button @click='onClickTitle(record)'>{{$t('See')}}</a-button>
|
||||
</span>
|
||||
|
||||
<!-- 历史记录-->
|
||||
<template slot="Operation" slot-scope="text, record">
|
||||
<a-button class="action-dict" @click="UpdateLog(record)">{{$t('historicalrecord')}}</a-button>
|
||||
</template>
|
||||
<span slot="paramsNameDescription" slot-scope="text,record" :title="text">
|
||||
{{ text && text.length > 8 ? text.slice(0, 7) + '...' : text }}
|
||||
</span>
|
||||
@@ -166,6 +169,51 @@
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<!-- 历史记录-->
|
||||
<a-modal
|
||||
:title="$t('historicalrecord')"
|
||||
:width="900"
|
||||
:visible="visible"
|
||||
:confirm-loading="confirmLoading"
|
||||
:maskClosable="false"
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
>
|
||||
<a-table
|
||||
class="table"
|
||||
:columns="columnshistory"
|
||||
:pagination="false"
|
||||
:scroll="{y: 400}"
|
||||
:data-source="dataSourcehistory"
|
||||
:loading="loading"
|
||||
>
|
||||
<span slot="content" slot-scope="text,record">
|
||||
<a-tooltip placement="topLeft">
|
||||
<template slot="title">
|
||||
<span v-html="text"></span>
|
||||
</template>
|
||||
<span v-html="text"></span>
|
||||
</a-tooltip>
|
||||
</span>
|
||||
<span slot="detailText" slot-scope="text,record">
|
||||
<span class="text" :title="text">
|
||||
{{text && text.length > 10?text.slice(0,9)+'...':text}}
|
||||
</span>
|
||||
</span>
|
||||
</a-table>
|
||||
<div class="page" v-if="dataSourcehistory.length > 0">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
show-quick-jumper
|
||||
show-size-changer
|
||||
:page-size.sync="pageSizehistory"
|
||||
:total="total"
|
||||
:current="pageNohistory"
|
||||
@change="onChangehistory"
|
||||
@showSizeChange="SizeChangehistory"
|
||||
/>
|
||||
</div>
|
||||
</a-modal>
|
||||
<!-- 配置信息--->
|
||||
<a-modal v-model="areaVisibleView" :title="$t('configurationInformation')" width='550px' :footer="null">
|
||||
<div class="content-text">
|
||||
@@ -311,6 +359,8 @@
|
||||
dataSource: [],
|
||||
pageNo: 1,
|
||||
pageSize: 100,
|
||||
pageNohistory: 1,
|
||||
pageSizehistory: 10,
|
||||
pageSizeOptions: ['100', '200'],
|
||||
total: 0,
|
||||
searchParmes: {},
|
||||
@@ -354,7 +404,25 @@
|
||||
getquerySdtId: '', // 当前工程接口人的id
|
||||
areaVisibleView: false, // 查看配置得弹框
|
||||
seeVisibleView: false,
|
||||
configDetail: {} // 查看配置得详细信息
|
||||
visible: false,
|
||||
configDetail: {}, // 查看配置得详细信息
|
||||
dataSourcehistory:[],
|
||||
columnshistory: [
|
||||
{
|
||||
title: this.$t('OperationDetails'),
|
||||
dataIndex: 'logContent',
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'content' }
|
||||
},
|
||||
{
|
||||
title: this.$t('OperationTime'),
|
||||
dataIndex: 'createTime',
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
width: 180
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -599,6 +667,45 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
UpdateLog(val) {
|
||||
this.visible = true
|
||||
this.paramsReportDetailId = val.id
|
||||
this.bussLogList(val)
|
||||
},
|
||||
onChangehistory(page, pageSize) {
|
||||
console.log(1)
|
||||
this.pageNohistory = page
|
||||
this.bussLogList()
|
||||
},
|
||||
SizeChangehistory(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSizehistory = pageSize
|
||||
this.bussLogList()
|
||||
},
|
||||
bussLogList(val) {
|
||||
let query = {
|
||||
pageNo: this.pageNohistory,
|
||||
pageSize: this.pageSizehistory,
|
||||
paramsManifestId: this.$route.query.id,
|
||||
paramsCollectManifestId: this.paramsReportDetailId
|
||||
}
|
||||
this.loading = true
|
||||
getAction('paramsCollectManifestLog/paramsCollectManifestLogEO/page', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataSourcehistory = res.result.records
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
handleOk() {
|
||||
this.visible = false
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
},
|
||||
getAndUserId(result) {
|
||||
let query = {
|
||||
paramsManifestId: this.$route.query.id,
|
||||
@@ -699,6 +806,11 @@
|
||||
customRender: 'paramsNameDescription'
|
||||
}
|
||||
}
|
||||
if (res.click6) {
|
||||
this.columns[index].scopedSlots = {
|
||||
customRender: 'Operation'
|
||||
}
|
||||
}
|
||||
if (res.click) {
|
||||
// 工程接口人列表修改
|
||||
this.columns[index].scopedSlots = {
|
||||
|
||||
+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',
|
||||
|
||||
@@ -1654,7 +1654,10 @@
|
||||
_array.push(item.id)
|
||||
})
|
||||
let _this = this
|
||||
let param = { ids: _array.join(',') }
|
||||
let param = { ids: _array.join(','),
|
||||
currentPersonRole: this.currentPersonRole,
|
||||
paramsManifestId: this.$route.query.id
|
||||
}
|
||||
this.textLoading = true
|
||||
axios({
|
||||
url: '/jero-boot/params/collectManifest/back',
|
||||
|
||||
@@ -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