查询所有企业部门树,添加企业类型条件

main
zhaokai 2026-01-07 14:50:01 +08:00
parent 6660aaa493
commit 08fd4da6eb
9 changed files with 30 additions and 13 deletions

View File

@ -87,8 +87,8 @@ public class DepartmentController {
} }
@ApiOperation("所有企业下部门树状所有数据") @ApiOperation("所有企业下部门树状所有数据")
@PostMapping("/listAllTree") @PostMapping("/listAllTree")
public MultiResponse<DepartmentTreeInfoCO> listAllTree() { public MultiResponse<DepartmentTreeInfoCO> listAllTree( @RequestBody DepartmentTreeQry qry) {
return MultiResponse.of(departmentService.listAllTree()); return MultiResponse.of(departmentService.listAllTree(qry));
} }

View File

@ -151,14 +151,15 @@ public class DepartmentQueryExe {
return departmentCoConvertor.converDOsToCOs(list); return departmentCoConvertor.converDOsToCOs(list);
} }
public List<DepartmentTreeInfoCO> listAllTree() { public List<DepartmentTreeInfoCO> listAllTree(DepartmentTreeQry departmentQry) {
Map<String, Object> parmas = PageQueryHelper.toHashMap(departmentQry);
List<DepartmentDO> pageResponse = departmentRepository.listAllTree(); List<DepartmentDO> pageResponse = departmentRepository.listAllTree(parmas);
if (CollUtil.isEmpty(pageResponse)) { if (CollUtil.isEmpty(pageResponse)) {
return Collections.emptyList(); return Collections.emptyList();
} }
List<DepartmentTreeInfoCO> examCenterCOS = departmentCoConvertor.converDOsToInfoCOs(pageResponse); List<DepartmentTreeInfoCO> examCenterCOS = departmentCoConvertor.converDOsToInfoCOs(pageResponse);
Map<Long, String> corpinfoMap = corpInfoRepository.getCorpinfoNameByCorpinfoId(examCenterCOS.stream().map(DepartmentTreeInfoCO::getCorpinfoId).collect(Collectors.toList())); Map<Long, String> corpinfoMap = corpInfoRepository.getCorpinfoNameByCorpinfoId(examCenterCOS.stream().map(DepartmentTreeInfoCO::getCorpinfoId).distinct().collect(Collectors.toList()));
if (CollUtil.isNotEmpty(corpinfoMap)) { if (CollUtil.isNotEmpty(corpinfoMap)) {
List<Long> departmentIds = examCenterCOS.stream().peek(examCenterCO -> { List<Long> departmentIds = examCenterCOS.stream().peek(examCenterCO -> {
examCenterCO.setCorpinfoName(corpinfoMap.getOrDefault(examCenterCO.getCorpinfoId(), StringUtils.EMPTY)); examCenterCO.setCorpinfoName(corpinfoMap.getOrDefault(examCenterCO.getCorpinfoId(), StringUtils.EMPTY));

View File

@ -85,8 +85,8 @@ public class DepartmentServiceImpl implements DepartmentServiceI {
} }
@Override @Override
public List<DepartmentTreeInfoCO> listAllTree() { public List<DepartmentTreeInfoCO> listAllTree(DepartmentTreeQry qry) {
return departmentQueryExe.listAllTree(); return departmentQueryExe.listAllTree(qry);
} }
@Override @Override
@Cacheable(value = "deptAllNameCache", key="'deptId:'+#deptId") @Cacheable(value = "deptAllNameCache", key="'deptId:'+#deptId")

View File

@ -38,7 +38,7 @@ public interface DepartmentServiceI {
List<DepartmentCO> getDeptList(); List<DepartmentCO> getDeptList();
List<DepartmentTreeInfoCO> listAllTree(); List<DepartmentTreeInfoCO> listAllTree(DepartmentTreeQry qry);
String getFullNameForList(Long deptId, List<DepartmentCO> list); String getFullNameForList(Long deptId, List<DepartmentCO> list);

View File

@ -4,6 +4,8 @@ import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* web-client * web-client
@ -29,6 +31,8 @@ public class DepartmentTreeQry {
private Long eqCorpinfoId; private Long eqCorpinfoId;
@ApiModelProperty(value = "父id", name = "eqParentId") @ApiModelProperty(value = "父id", name = "eqParentId")
private Long eqParentId; private Long eqParentId;
@ApiModelProperty(value = "企业类型列表", name = "corpinfoTypeList")
private List<Integer> corpinfoTypeList;
} }

View File

@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* web-infrastructure * web-infrastructure
@ -24,7 +25,7 @@ import java.util.List;
}) })
public interface DepartmentMapper extends BaseMapper<DepartmentDO> { public interface DepartmentMapper extends BaseMapper<DepartmentDO> {
List<DepartmentDO> listAllTree(); List<DepartmentDO> listAllTree(Map<String, Object> parmas);
IPage<DepartmentDO> selectDeptPage(IPage<DepartmentDO> iPage, @Param("ew") QueryWrapper<DepartmentDO> queryWrapper, String menuPerms); IPage<DepartmentDO> selectDeptPage(IPage<DepartmentDO> iPage, @Param("ew") QueryWrapper<DepartmentDO> queryWrapper, String menuPerms);
} }

View File

@ -33,7 +33,7 @@ public interface DepartmentRepository extends BaseRepository<DepartmentDO> {
void updateInfoById(DepartmentDO departmentDO); void updateInfoById(DepartmentDO departmentDO);
List<DepartmentDO> listAllTree(); List<DepartmentDO> listAllTree(Map<String, Object> parmas);
boolean existsByName(@NotEmpty(message = "名称不能为空") String name); boolean existsByName(@NotEmpty(message = "名称不能为空") String name);
} }

View File

@ -126,8 +126,8 @@ public class DepartmentRepositoryImpl extends BaseRepositoryImpl<DepartmentMappe
} }
@Override @Override
public List<DepartmentDO> listAllTree() { public List<DepartmentDO> listAllTree(Map<String, Object> parmas) {
return departmentMapper.listAllTree(); return departmentMapper.listAllTree(parmas);
} }
@Override @Override

View File

@ -5,7 +5,18 @@
<mapper namespace="com.zcloud.basic.info.persistence.mapper.DepartmentMapper"> <mapper namespace="com.zcloud.basic.info.persistence.mapper.DepartmentMapper">
<select id="listAllTree" resultType="com.zcloud.basic.info.persistence.dataobject.DepartmentDO"> <select id="listAllTree" resultType="com.zcloud.basic.info.persistence.dataobject.DepartmentDO">
select * from department where delete_enum = 'FALSE' order by dep_order, create_time desc select d.*
from department d
left join corp_info c on d.corpinfo_id = c.id
where d.delete_enum = 'FALSE'
and c.delete_enum = 'FALSE'
<if test="corpinfoTypeList != null and corpinfoTypeList.size() > 0">
and c.type in
<foreach collection="corpinfoTypeList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
order by d.dep_order, d.create_time desc
</select> </select>
<select id="selectDeptPage" resultType="com.zcloud.basic.info.persistence.dataobject.DepartmentDO"> <select id="selectDeptPage" resultType="com.zcloud.basic.info.persistence.dataobject.DepartmentDO">
SELECT * SELECT *