禅道bug修改。
This commit is contained in:
+40
-15
@@ -87,11 +87,15 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
|
||||
/**
|
||||
* 2022-11-01 增加数据权限:如果当前登录用户,是工程师、工程接口人角色,只能查看到跟自己相关的数据。其余角色保留之前的查询结果。
|
||||
* 2022-11-04 增加法规、认证工程师与上方权限一致。
|
||||
*/
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
boolean isAdministrator = this.sysUserService.isAdministrator();
|
||||
boolean isEngineer = this.sysUserService.isEngineer(currentUser);
|
||||
boolean isEngineeringInterfacePerson = this.sysUserService.isEngineeringInterfacePerson(currentUser);
|
||||
if(isEngineer || isEngineeringInterfacePerson){
|
||||
boolean isHomologationEngineer = this.sysUserService.isHomologationEngineer(currentUser);
|
||||
boolean isRegulationOwner = this.sysUserService.isRegulationOwner(currentUser);
|
||||
if((isEngineer || isEngineeringInterfacePerson || isHomologationEngineer || isRegulationOwner) && !isAdministrator){
|
||||
params.put("currentUserId",currentUser.getId());
|
||||
params.put("isEngineerOrEngineeringInterfacePerson",true);
|
||||
}
|
||||
@@ -159,11 +163,15 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
public JSONObject queryComplianceResultList(Map<String, Object> params) {
|
||||
/**
|
||||
* 2022-11-01 增加数据权限:如果当前登录用户,是工程师、工程接口人角色,只能查看到跟自己相关的数据。其余角色保留之前的查询结果。
|
||||
* 2022-11-04 增加法规、认证工程师与上方权限一致。
|
||||
*/
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
boolean isAdministrator = this.sysUserService.isAdministrator();
|
||||
boolean isEngineer = this.sysUserService.isEngineer(currentUser);
|
||||
boolean isEngineeringInterfacePerson = this.sysUserService.isEngineeringInterfacePerson(currentUser);
|
||||
if(isEngineer || isEngineeringInterfacePerson){
|
||||
boolean isHomologationEngineer = this.sysUserService.isHomologationEngineer(currentUser);
|
||||
boolean isRegulationOwner = this.sysUserService.isRegulationOwner(currentUser);
|
||||
if((isEngineer || isEngineeringInterfacePerson || isHomologationEngineer || isRegulationOwner) && !isAdministrator){
|
||||
params.put("currentUserId",currentUser.getId());
|
||||
params.put("isEngineerOrEngineeringInterfacePerson",true);
|
||||
}
|
||||
@@ -177,8 +185,8 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
QueryWrapper<ProjectTaskInventoryDetailEO> taskDetailQueryWrapper = new QueryWrapper<>();
|
||||
taskDetailQueryWrapper.lambda().in(ProjectTaskInventoryDetailEO::getProjectTaskInventoryId,projectLawsInventoryIdList);
|
||||
List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOList = this.projectTaskInventoryDetailEOMapper.selectList(taskDetailQueryWrapper);
|
||||
this.createTaskInventoryEOList(complianceResultList,projectTaskInventoryDetailEOList,currentUser,isEngineer,isEngineeringInterfacePerson);
|
||||
this.disposeComplianceResult(complianceResultList,cut,isEngineer,isEngineeringInterfacePerson);
|
||||
this.createTaskInventoryEOList(complianceResultList,projectTaskInventoryDetailEOList,currentUser,isEngineer,isEngineeringInterfacePerson,isHomologationEngineer,isRegulationOwner);
|
||||
this.disposeComplianceResult(complianceResultList,cut,isEngineer,isEngineeringInterfacePerson,isHomologationEngineer,isRegulationOwner,isAdministrator);
|
||||
}
|
||||
result.put("complianceResultList",complianceResultList);
|
||||
|
||||
@@ -187,18 +195,19 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
opinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getStandId,id);
|
||||
opinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getGatherResult,GatherResultEnum.COMPLETED.getValue());
|
||||
//如果当前登录用户是工程师或工程接口人,只查询自己为评估人的法规意见收集数据。
|
||||
if(isEngineer || isEngineeringInterfacePerson){
|
||||
if(!isAdministrator){
|
||||
opinionGatherEOQueryWrapper.lambda().like(LawsOpinionGatherEO::getEvaluatorIds,currentUser.getId());
|
||||
}
|
||||
int opinionGatherCount = this.lawsOpinionGatherEOService.count(opinionGatherEOQueryWrapper);
|
||||
result.put("opinionGather",opinionGatherCount);
|
||||
|
||||
//如果登录人不是超级管理员,则只能看到跟自己相关的数据
|
||||
//查询当前数据是否有法规技术评估流程数据
|
||||
QueryWrapper<LawsTechnologyEvaluationEO> evaluationEOQueryWrapper = new QueryWrapper<>();
|
||||
evaluationEOQueryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getStandId,id);
|
||||
evaluationEOQueryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getFlowStatus,GatherResultEnum.COMPLETED.getValue());
|
||||
//如果当前登录用户是工程师或工程接口人,只查询自己为评估人的法规技术评估数据。
|
||||
if(isEngineer || isEngineeringInterfacePerson){
|
||||
if(!isAdministrator){
|
||||
this.lawsTechnologyEvaluationEOService.createQueryPermission(evaluationEOQueryWrapper,null,false);
|
||||
}
|
||||
int evaluationCount = this.lawsTechnologyEvaluationEOService.count(evaluationEOQueryWrapper);
|
||||
@@ -218,7 +227,9 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOList,
|
||||
LoginUser currentUser,
|
||||
boolean isEngineer,
|
||||
boolean isEngineeringInterfacePerson) {
|
||||
boolean isEngineeringInterfacePerson,
|
||||
boolean isHomologationEngineer,
|
||||
boolean isRegulationOwner) {
|
||||
if(CollectionUtils.isNotEmpty(complianceResultList) && CollectionUtils.isNotEmpty(projectTaskInventoryDetailEOList)){
|
||||
for (Map<String, Object> complianceResult : complianceResultList) {
|
||||
String designPid = "";
|
||||
@@ -239,7 +250,8 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
String verifyTaskDefinitionKey = "";
|
||||
String verifyTaskDetailId = "";
|
||||
//2022-11-01 增加数据权限:如果当前登录用户,是工程师、工程接口人角色,只能查看到跟自己相关的数据。其余角色保留之前的查询结果。
|
||||
if((isEngineer || isEngineeringInterfacePerson)){
|
||||
//2022-11-04 增加法规、认证工程师与上方权限一致。
|
||||
if((isEngineer || isEngineeringInterfacePerson || isHomologationEngineer || isRegulationOwner)){
|
||||
for (ProjectTaskInventoryDetailEO projectTaskInventoryDetail : projectTaskInventoryDetailEOList) {
|
||||
if(StringUtils.equals(complianceResult.get("id").toString(),projectTaskInventoryDetail.getProjectTaskInventoryId())){
|
||||
/**
|
||||
@@ -359,14 +371,20 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
}
|
||||
}
|
||||
|
||||
public void disposeComplianceResult(List<Map<String,Object>> complianceResultList,String cut,boolean isEngineer,boolean isEngineeringInterfacePerson){
|
||||
public void disposeComplianceResult(List<Map<String,Object>> complianceResultList,
|
||||
String cut,
|
||||
boolean isEngineer,
|
||||
boolean isEngineeringInterfacePerson,
|
||||
boolean isHomologationEngineer,
|
||||
boolean isRegulationOwner,
|
||||
boolean isAdministrator){
|
||||
if(CollectionUtils.isNotEmpty(complianceResultList)){
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
List<SysDictItem> dutyTerritoryDictItemList = sysDictItemService.selectItemsByDictCode("duty_territory");
|
||||
for (Map<String, Object> complianceResult : complianceResultList) {
|
||||
if(isEngineer || isEngineeringInterfacePerson){
|
||||
if((isEngineer || isEngineeringInterfacePerson || isHomologationEngineer || isRegulationOwner) && !isAdministrator){
|
||||
if(!StringUtils.equals(complianceResult.get("designInitiatorId").toString(),currentUser.getId())
|
||||
|| !StringUtils.equals(complianceResult.get("designDutyId").toString(),currentUser.getId())){
|
||||
&& !StringUtils.equals(complianceResult.get("designDutyId").toString(),currentUser.getId())){
|
||||
complianceResult.put("designStatus","");
|
||||
complianceResult.put("designFlowTaskStatus","");
|
||||
complianceResult.put("designPId","");
|
||||
@@ -461,9 +479,12 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
List<Map<String,Object>> exportData = new ArrayList<>();
|
||||
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
boolean isAdministrator = this.sysUserService.isAdministrator();
|
||||
boolean isEngineer = this.sysUserService.isEngineer(currentUser);
|
||||
boolean isEngineeringInterfacePerson = this.sysUserService.isEngineeringInterfacePerson(currentUser);
|
||||
if(isEngineer || isEngineeringInterfacePerson){
|
||||
boolean isHomologationEngineer = this.sysUserService.isHomologationEngineer(currentUser);
|
||||
boolean isRegulationOwner = this.sysUserService.isRegulationOwner(currentUser);
|
||||
if((isEngineer || isEngineeringInterfacePerson || isHomologationEngineer || isRegulationOwner) && !isAdministrator){
|
||||
params.put("currentUserId",currentUser.getId());
|
||||
params.put("isEngineerOrEngineeringInterfacePerson",true);
|
||||
}
|
||||
@@ -484,7 +505,7 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
List<Map<String,Object>> complianceResultList = new ArrayList<>();
|
||||
if(CollectionUtils.isNotEmpty(idList)){
|
||||
complianceResultList = this.lawsComplianceBoardMapper.queryComplianceResultList(params);
|
||||
this.disposeComplianceResult(complianceResultList,cut,isEngineer,isEngineeringInterfacePerson);
|
||||
this.disposeComplianceResult(complianceResultList,cut,isEngineer,isEngineeringInterfacePerson,isHomologationEngineer,isRegulationOwner,isAdministrator);
|
||||
}
|
||||
|
||||
String title = "";
|
||||
@@ -596,16 +617,20 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
String cut = (String) params.get("cut");
|
||||
/**
|
||||
* 2022-11-01 增加数据权限:如果当前登录用户,是工程师、工程接口人角色,只能查看到跟自己相关的数据。其余角色保留之前的查询结果。
|
||||
* 2022-11-04 增加法规、认证工程师与上方权限一致。
|
||||
*/
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
boolean isAdministrator = this.sysUserService.isAdministrator();
|
||||
boolean isEngineer = this.sysUserService.isEngineer(currentUser);
|
||||
boolean isEngineeringInterfacePerson = this.sysUserService.isEngineeringInterfacePerson(currentUser);
|
||||
if(isEngineer || isEngineeringInterfacePerson){
|
||||
boolean isHomologationEngineer = this.sysUserService.isHomologationEngineer(currentUser);
|
||||
boolean isRegulationOwner = this.sysUserService.isRegulationOwner(currentUser);
|
||||
if((isEngineer || isEngineeringInterfacePerson || isHomologationEngineer || isRegulationOwner) && !isAdministrator){
|
||||
params.put("currentUserId",currentUser.getId());
|
||||
params.put("isEngineerOrEngineeringInterfacePerson",true);
|
||||
}
|
||||
List<Map<String,Object>> exportData = this.lawsComplianceBoardMapper.queryComplianceResultList(params);
|
||||
this.disposeComplianceResult(exportData,cut,isEngineer,isEngineeringInterfacePerson);
|
||||
this.disposeComplianceResult(exportData,cut,isEngineer,isEngineeringInterfacePerson,isHomologationEngineer,isRegulationOwner,isAdministrator);
|
||||
String title = "";
|
||||
String fileName = "";
|
||||
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||
|
||||
+18
-13
@@ -88,7 +88,8 @@
|
||||
LEFT JOIN sys_user createBy on createBy.id = pi.create_by
|
||||
LEFT JOIN buss_document_library bdl ON pi.buss_document_library_id = bdl.id
|
||||
<where>
|
||||
and pi.id IN (
|
||||
<if test="params.queryType != 'issuedProcess'">
|
||||
and pi.id IN (
|
||||
SELECT
|
||||
pid.process_info_id
|
||||
FROM
|
||||
@@ -99,7 +100,9 @@
|
||||
and pid.status = #{params.taskStatus}
|
||||
</if>
|
||||
</where>
|
||||
)
|
||||
)
|
||||
</if>
|
||||
|
||||
<if test="params.flowTypeList != null">
|
||||
and pi.flow_type in
|
||||
<foreach collection="params.flowTypeList" index="index" item="item" open="(" separator="," close=")">
|
||||
@@ -287,18 +290,20 @@
|
||||
<foreach collection="params.flowTypeList" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
and (
|
||||
pi.id IN (
|
||||
SELECT
|
||||
pid.process_info_id
|
||||
FROM
|
||||
process_info_detail pid
|
||||
where pid.user_id = #{params.currentUserId}
|
||||
<if test="params.taskStatus != null and params.taskStatus != ''">
|
||||
and pid.status = #{params.taskStatus}
|
||||
</if>
|
||||
<if test="params.queryType != 'issuedProcess'">
|
||||
and (
|
||||
pi.id IN (
|
||||
SELECT
|
||||
pid.process_info_id
|
||||
FROM
|
||||
process_info_detail pid
|
||||
where pid.user_id = #{params.currentUserId}
|
||||
<if test="params.taskStatus != null and params.taskStatus != ''">
|
||||
and pid.status = #{params.taskStatus}
|
||||
</if>
|
||||
)
|
||||
)
|
||||
)
|
||||
</if>
|
||||
<if test="params.queryType == 'issuedProcess'">
|
||||
and pi.create_by = #{params.createBy}
|
||||
</if>
|
||||
|
||||
Reference in New Issue
Block a user