工作流组织机构修改

This commit is contained in:
pengjie 2024-04-11 18:03:57 +08:00
parent fa3c8a6649
commit 4037606eed
3 changed files with 35 additions and 19 deletions

View File

@ -68,7 +68,7 @@ public interface SystemUserMapper extends BaseMapper<SystemUser> {
*/
@Select("SELECT user_id id, real_name `name`, 'user' AS 'type', avatar " +
"FROM system_user" +
" WHERE sn = #{deptId}")
" WHERE xz_project_org_id = #{deptId}")
List<OrgTreeVo> selectUsersByDept(@Param("deptId") String deptId);
/**
@ -77,7 +77,7 @@ public interface SystemUserMapper extends BaseMapper<SystemUser> {
* @param userId 用户ID
* @return 用户所在的部门列表
*/
@Select("SELECT d.company_sn id, d.company_name FROM system_user u, company d WHERE u.sn = d.company_sn AND u.user_id = #{userId}")
@Select("SELECT d.id, d.dept_name FROM system_user u, xz_project_org d WHERE u.xz_project_org_id = d.id AND u.user_id = #{userId}")
List<DeptDo> getUserDepts(@Param("userId") String userId);
/**
@ -87,9 +87,9 @@ public interface SystemUserMapper extends BaseMapper<SystemUser> {
* @return 用户部门信息列表
*/
@Select({"<script>",
"SELECT tb.* FROM (SELECT CONCAT(wu.user_id, '_', wd.company_sn) tid, wu.user_id, wu.real_name, wd.company_sn, wu.avatar, wd.company_name",
"FROM system_user wu, company wd ",
"WHERE wu.sn = wd.company_sn) tb WHERE tb.tid IN",
"SELECT tb.* FROM (SELECT CONCAT(wu.user_id, '_', wd.id) tid, wu.user_id, wu.real_name, wd.id, wu.avatar, wd.dept_name",
"FROM system_user wu, xz_project_org wd ",
"WHERE wu.xz_project_org_id = wd.id) tb WHERE tb.tid IN",
"<foreach item='item' index='index' collection='list' open='(' separator=',' close=')'>#{item}</foreach>",
"</script>"})
List<UserDeptDo> getUserDepInfosBatch(@Param("list") Collection<String> udIds);

View File

@ -17,6 +17,9 @@ import com.zhgd.xmgl.modules.basicdata.mapper.BaseRoleMapper;
import com.zhgd.xmgl.modules.basicdata.mapper.BaseRoleUserMapper;
import com.zhgd.xmgl.modules.basicdata.mapper.CompanyMapper;
import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper;
import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg;
import com.zhgd.xmgl.modules.xz.mapper.XzProjectOrgMapper;
import com.zhgd.xmgl.security.util.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
@ -38,7 +41,7 @@ public class FlowOrgRepositoryServiceImpl implements OrgRepositoryService {
private BaseRoleMapper systemRoleMapper;
@Autowired
private CompanyMapper companyMapper;
private XzProjectOrgMapper xzProjectOrgMapper;
@Override
public List<ModelGroupVo.Form> getModelsByPerm(String userId) {
@ -95,13 +98,13 @@ public class FlowOrgRepositoryServiceImpl implements OrgRepositoryService {
@Override
public DeptDo getDeptById(String deptId) {
Company departments = companyMapper.selectOne(Wrappers.<Company>lambdaQuery().eq(Company::getCompanySn, deptId));
if (Objects.nonNull(departments)) {
XzProjectOrg xzProjectOrg = xzProjectOrgMapper.selectOne(Wrappers.<XzProjectOrg>lambdaQuery().eq(XzProjectOrg::getId, deptId));
if (Objects.nonNull(xzProjectOrg)) {
DeptDo deptDo = new DeptDo();
deptDo.setId(departments.getCompanySn().toString());
deptDo.setDeptName(departments.getCompanyName());
deptDo.setId(xzProjectOrg.getId().toString());
deptDo.setDeptName(xzProjectOrg.getDeptName());
deptDo.setLeader("");
deptDo.setParentId(departments.getParentId().toString());
deptDo.setParentId(xzProjectOrg.getParentId().toString());
return deptDo;
}
return null;
@ -115,8 +118,8 @@ public class FlowOrgRepositoryServiceImpl implements OrgRepositoryService {
@Override
public List<DeptDo> getSysAllDepts() {
try {
return companyMapper.selectList(null).stream()
.map(d -> new DeptDo(d.getCompanySn().toString(), d.getCompanyName(), "", d.getParentId().toString()))
return xzProjectOrgMapper.selectList(null).stream()
.map(d -> new DeptDo(d.getId().toString(), d.getDeptName(), "", d.getParentId().toString()))
.collect(Collectors.toList());
} catch (Exception e) {
return Collections.emptyList();
@ -136,7 +139,7 @@ public class FlowOrgRepositoryServiceImpl implements OrgRepositoryService {
@Override
public List<OrgTreeVo> getSubDeptById(String parentId) {
return companyMapper.selectByDept(parentId);
return xzProjectOrgMapper.selectByDept(parentId);
}
@Override
@ -153,11 +156,11 @@ public class FlowOrgRepositoryServiceImpl implements OrgRepositoryService {
* @param subDepts 所有子部门缓存
*/
private void loadSubDept(String parentId, List<String> subDepts) {
List<Company> departments = companyMapper.selectList(
new LambdaQueryWrapper<Company>()
.eq(Company::getParentId, parentId));
subDepts.addAll(departments.stream().map(Company::getCompanySn).collect(Collectors.toList()).stream().map(Object::toString).collect(Collectors.toList()));
departments.forEach(d -> loadSubDept(d.getCompanySn().toString(), subDepts));
List<XzProjectOrg> departments = xzProjectOrgMapper.selectList(
new LambdaQueryWrapper<XzProjectOrg>()
.eq(XzProjectOrg::getParentId, parentId));
subDepts.addAll(departments.stream().map(XzProjectOrg::getId).collect(Collectors.toList()).stream().map(Object::toString).collect(Collectors.toList()));
departments.forEach(d -> loadSubDept(d.getId().toString(), subDepts));
}
@Override

View File

@ -1,9 +1,13 @@
package com.zhgd.xmgl.modules.xz.mapper;
import com.wflow.bean.vo.OrgTreeVo;
import org.apache.ibatis.annotations.Mapper;
import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @Description: 星纵-项目组织机构
@ -17,4 +21,13 @@ public interface XzProjectOrgMapper extends BaseMapper<XzProjectOrg> {
void deleteChildren(String id);
void updateAncestors(@Param("oldAncestor") String oldAncestor, @Param("newAncestor") String newAncestor, @Param("projectSn") String projectSn);
/**
* 查询某部门下的子部门列表
*
* @param deptId 父部门
* @return 子部门列表type字段固定返回固定值 dept
*/
@Select("SELECT id id, dept_name `name`, 'dept' AS 'type' FROM xz_project_org WHERE parent_id=#{deptId}")
List<OrgTreeVo> selectByDept(@Param("deptId") String deptId);
}