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

main
zhaokai 2026-01-07 15:24:01 +08:00
parent 8d0cd9c2b8
commit 04e95de506
8 changed files with 67 additions and 27 deletions

View File

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

View File

@ -151,13 +151,16 @@ public class DepartmentQueryExe {
return departmentCoConvertor.converDOsToCOs(list);
}
public List<DepartmentTreeInfoCO> listAllTree(DepartmentTreeQry departmentQry) {
Map<String, Object> parmas = PageQueryHelper.toHashMap(departmentQry);
List<DepartmentDO> pageResponse = departmentRepository.listAllTree(parmas);
public List<DepartmentTreeInfoCO> listAllTree() {
List<DepartmentDO> pageResponse = departmentRepository.listAllTree();
if (CollUtil.isEmpty(pageResponse)) {
return Collections.emptyList();
}
List<DepartmentTreeInfoCO> result2 = getDepartmentAllTree(pageResponse);
return result2;
}
private List<DepartmentTreeInfoCO> getDepartmentAllTree(List<DepartmentDO> pageResponse) {
List<DepartmentTreeInfoCO> examCenterCOS = departmentCoConvertor.converDOsToInfoCOs(pageResponse);
Map<Long, String> corpinfoMap = corpInfoRepository.getCorpinfoNameByCorpinfoId(examCenterCOS.stream().map(DepartmentTreeInfoCO::getCorpinfoId).distinct().collect(Collectors.toList()));
if (CollUtil.isNotEmpty(corpinfoMap)) {
@ -180,9 +183,20 @@ public class DepartmentQueryExe {
result2.addAll(departmentTreeInfoCOS);
}
});
return result2;
}
public Collection<DepartmentTreeInfoCO> listAllTreeByCorpType(DepartmentTreeQry qry) {
Map<String, Object> parmas = PageQueryHelper.toHashMap(qry);
List<DepartmentDO> pageResponse = departmentRepository.listAllTreeByCorpType(parmas);
if (CollUtil.isEmpty(pageResponse)) {
return Collections.emptyList();
}
List<DepartmentTreeInfoCO> result2 = getDepartmentAllTree(pageResponse);
return result2;
}
}

View File

@ -85,9 +85,16 @@ public class DepartmentServiceImpl implements DepartmentServiceI {
}
@Override
public List<DepartmentTreeInfoCO> listAllTree(DepartmentTreeQry qry) {
return departmentQueryExe.listAllTree(qry);
public List<DepartmentTreeInfoCO> listAllTree() {
return departmentQueryExe.listAllTree();
}
@Override
public Collection<DepartmentTreeInfoCO> listAllTreeByCorpType(DepartmentTreeQry qry) {
return departmentQueryExe.listAllTreeByCorpType(qry);
}
@Override
@Cacheable(value = "deptAllNameCache", key="'deptId:'+#deptId")
public String getFullNameForList(Long deptId, List<DepartmentCO> list) {

View File

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

View File

@ -25,7 +25,9 @@ import java.util.Map;
})
public interface DepartmentMapper extends BaseMapper<DepartmentDO> {
List<DepartmentDO> listAllTree(Map<String, Object> parmas);
List<DepartmentDO> listAllTree();
IPage<DepartmentDO> selectDeptPage(IPage<DepartmentDO> iPage, @Param("ew") QueryWrapper<DepartmentDO> queryWrapper, String menuPerms);
List<DepartmentDO> listAllTreeByCorpType(Map<String, Object> parmas);
}

View File

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

View File

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

View File

@ -5,23 +5,26 @@
<mapper namespace="com.zcloud.basic.info.persistence.mapper.DepartmentMapper">
<select id="listAllTree" resultType="com.zcloud.basic.info.persistence.dataobject.DepartmentDO">
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 * from department where delete_enum = 'FALSE' order by dep_order, create_time desc
</select>
<select id="selectDeptPage" resultType="com.zcloud.basic.info.persistence.dataobject.DepartmentDO">
SELECT *
FROM department
${ew.customSqlSegment}
</select>
<select id="listAllTreeByCorpType" resultType="com.zcloud.basic.info.persistence.dataobject.DepartmentDO">
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>
</mapper>