Merge branch 'fix_20240122_UAT' into 'master'

Fix 20240122 uat

See merge request laws-nio/laws-weilai!370
This commit is contained in:
高嵩
2024-01-22 11:34:51 +00:00
4 changed files with 87 additions and 26 deletions
@@ -18,4 +18,9 @@ public interface TodoCenterMapper {
Integer countSdtDre(@Param("userName") String userName);
Integer countState(@Param("manifestId") String manifestId);
int listForTodoCenter(@Param("state") String state,
@Param("userId") String userId,
@Param("userName") String userName,
@Param("projectStatus") String projectStatus);
}
@@ -54,4 +54,40 @@
select id from params_collect_manifest where params_manifest_id = #{manifestId} and state in('7','8')
)
</select>
<select id="listForTodoCenter" resultType="java.lang.Integer">
select count(*) from(
select
pm.id as id,
pm.title as title,
pm.state as state,
pm.project_version_id as project_id,
pm.create_time as create_time,
pm.version as version,
concat(pni.project_name,'-',pyni.year_name,'-',plb.target_market,'-',pm.project_version) as project_name,
plb.project_status
from params_manifest pm
left join project_library_base as plb on plb.id = pm.project_version_id
left join project_name_info as pni on plb.project_name_id = pni.id
left join project_year_name_info as pyni on plb.year_name_id=pyni.id
where plb.project_status !=#{projectStatus}
) tmp_tb
where 1=1 and state = #{state}
and id in(
SELECT pm.id AS pm 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_version_id = a.id
UNION
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')
)
</select>
</mapper>
@@ -1,18 +1,25 @@
package com.jero.modules.system.service.impl;
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.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.DictModel;
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.*;
import com.jero.modules.system.enums.DicCodeEnum;
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.TodoCenterMapper;
import com.jero.modules.system.model.TreeModel;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.ISysPermissionDataRuleService;
import com.jero.modules.system.service.ISysPermissionService;
import org.apache.shiro.SecurityUtils;
@@ -27,6 +34,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* <p>
@@ -57,6 +65,9 @@ public class SysPermissionServiceImpl extends ServiceImpl<SysPermissionMapper, S
@Autowired
private TodoCenterMapper todoCenterMapper;
@Autowired
private ISysDictService sysDictService;
@Override
public List<TreeModel> queryListByParentId(String parentId) {
return sysPermissionMapper.queryListByParentId(parentId);
@@ -268,21 +279,30 @@ 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) {
// 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;
// }
// }
// }
List<DictModel> projectStatus = sysDictService.queryDictItemsByCode(DicCodeEnum.PROJECT_STATUS.getCode());
projectStatus = projectStatus.stream().filter(e-> YesOrNoEnum.CANCEL.getName().equals(e.getText())).collect(Collectors.toList());
String state = "收集中";
String userId = loginUser.getId();
String userName = loginUser.getUsername();
int count = todoCenterMapper.listForTodoCenter(state, userId, userName, projectStatus.get(0).getValue());
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;
}
@@ -166,13 +166,13 @@
pm.id as id,
pm.title as title,
pm.state as state,
pm.project_id as project_id,
pm.project_version_id as project_id,
pm.create_time as create_time,
pm.version as version,
concat(pni.project_name,'-',pyni.year_name,'-',plb.target_market,'-',pm.project_version) as project_name,
plb.project_status
from params_manifest pm
left join project_library_base as plb on plb.id = pm.project_id
left join project_library_base as plb on plb.id = pm.project_version_id
left join project_name_info as pni on plb.project_name_id = pni.id
left join project_year_name_info as pyni on plb.year_name_id=pyni.id
) tmp_tb
@@ -184,7 +184,7 @@
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 user_id = #{userId}) a ON pm.project_version_id = a.id
UNION
SELECT DISTINCT pcm.params_manifest_id AS pm FROM params_collect_manifest pcm WHERE sdt = #{userName} and state in('2','5')