待办中心-认证参数-查询优化,添加待办标记

This commit is contained in:
liyawei
2022-11-02 15:44:16 +08:00
parent f91db68e74
commit 30acdf38e7
10 changed files with 151 additions and 294 deletions
@@ -684,6 +684,7 @@ public class SysPermissionController {
//项目参数任务
if(StringUtils.equals(permission.getId(), SysPermissionEnum.PROJECT_PARAMETER_TASKS.getId())){
boolean existTaskFlag = false;
existTaskFlag = sysPermissionService.judgeToDo();
meta.put("existTask",existTaskFlag);
}
json.put("meta", meta);
@@ -2,6 +2,7 @@ package com.jero.modules.system.mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
@@ -11,4 +12,10 @@ import java.util.Map;
**/
public interface TodoCenterMapper {
int todoCenterTaskCount(@Param("params") Map<String, Object> params);
List<String> listInfoHomo(@Param("userId") String userId, @Param("state") String state);
Integer countSdtDre(@Param("userName") String userName);
Integer countState(@Param("manifestId") String manifestId);
}
@@ -18,4 +18,39 @@
</foreach>
</if>
</select>
<select id="listInfoHomo" resultType="java.lang.String">
SELECT pm.id
FROM params_manifest pm
JOIN ( SELECT id FROM
( SELECT id,substring_index( substring_index( a.certification_engineer, ',', b.help_topic_id + 1 ), ',',- 1 ) user_id
FROM
project_library_base a
JOIN mysql.help_topic b ON b.help_topic_id &lt; ( length( a.certification_engineer ) - length( REPLACE ( a.certification_engineer, ',', '' ) ) + 1 )) temp
WHERE user_id = #{userId}) a ON pm.project_id = a.id
where pm.state = #{state}
</select>
<select id="countSdtDre" resultType="java.lang.Integer">
select count(1)
from (
SELECT DISTINCT pcm.params_manifest_id AS pm
FROM params_collect_manifest pcm
WHERE sdt = #{userName}
and state in ('2', '5')
UNION
SELECT DISTINCT pcm.params_manifest_id AS pm
FROM params_collect_manifest pcm
WHERE dre = #{userName}
and state in ('4', '7')
) temp
</select>
<select id="countState" resultType="java.lang.Integer">
select count(1) from params_collect_manifest
where params_manifest_id = ${manifestId} and id not in(
select id from params_collect_manifest where params_manifest_id = ${manifestId} and state in('7','8')
)
</select>
</mapper>
@@ -1,13 +1,11 @@
package com.jero.modules.system.service;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.system.entity.SysPermission;
import com.jero.modules.system.model.TreeModel;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
@@ -61,4 +59,6 @@ public interface ISysPermissionService extends IService<SysPermission> {
* @return
*/
public boolean hasPermission(String username, String url);
boolean judgeToDo();
}
@@ -1,33 +1,32 @@
package com.jero.modules.system.service.impl;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.CacheConstant;
import com.jero.common.constant.CommonConstant;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.oConvertUtils;
import com.jero.modules.system.entity.SysPermission;
import com.jero.modules.system.entity.SysPermissionDataRule;
import com.jero.modules.system.mapper.SysDepartPermissionMapper;
import com.jero.modules.system.mapper.SysDepartRolePermissionMapper;
import com.jero.modules.system.mapper.SysPermissionMapper;
import com.jero.modules.system.mapper.SysRolePermissionMapper;
import com.jero.modules.system.mapper.*;
import com.jero.modules.system.model.TreeModel;
import com.jero.modules.system.service.ISysPermissionDataRuleService;
import com.jero.modules.system.service.ISysPermissionService;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>
@@ -55,6 +54,9 @@ public class SysPermissionServiceImpl extends ServiceImpl<SysPermissionMapper, S
@Resource
private SysDepartRolePermissionMapper sysDepartRolePermissionMapper;
@Autowired
private TodoCenterMapper todoCenterMapper;
@Override
public List<TreeModel> queryListByParentId(String parentId) {
return sysPermissionMapper.queryListByParentId(parentId);
@@ -263,4 +265,25 @@ public class SysPermissionServiceImpl extends ServiceImpl<SysPermissionMapper, S
}
}
@Override
public boolean judgeToDo() {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录用户
int count = todoCenterMapper.countSdtDre(loginUser.getUsername());
if (count > 0) {
return true;
}
List<String> manifestIdList = todoCenterMapper.listInfoHomo(loginUser.getId(),"收集中");
if(CollectionUtil.isNotEmpty(manifestIdList)) {
for (int i = 0; i < manifestIdList.size(); i++) {
int coutState = todoCenterMapper.countState(manifestIdList.get(i));
if (coutState > 0) {
return true;
}
}
}
return false;
}
}