feat(department): 添加根据企业类型和企业ID集合查询部门树功能
parent
961bf60ad6
commit
16c316dc36
|
|
@ -3,8 +3,8 @@ spring:
|
||||||
import:
|
import:
|
||||||
# - classpath:nacos.yml
|
# - classpath:nacos.yml
|
||||||
# - classpath:sdk.yml
|
# - classpath:sdk.yml
|
||||||
# - classpath:nacos-prod.yml
|
- classpath:nacos-prod.yml
|
||||||
# - classpath:sdk-prod.yml
|
- classpath:sdk-prod.yml
|
||||||
- classpath:nacos-prod2.yml
|
# - classpath:nacos-prod2.yml
|
||||||
- classpath:sdk-prod2.yml
|
# - classpath:sdk-prod2.yml
|
||||||
- classpath:swagger.yml
|
- classpath:swagger.yml
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.zcloud.basic.info.facade;
|
||||||
|
|
||||||
import com.alibaba.cola.dto.MultiResponse;
|
import com.alibaba.cola.dto.MultiResponse;
|
||||||
import com.alibaba.cola.dto.PageResponse;
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.alibaba.cola.dto.Response;
|
||||||
import com.alibaba.cola.dto.SingleResponse;
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
import com.zcloud.basic.info.api.CorpInfoServiceI;
|
import com.zcloud.basic.info.api.CorpInfoServiceI;
|
||||||
import com.zcloud.basic.info.command.convertor.CorpInfoCoConvertor;
|
import com.zcloud.basic.info.command.convertor.CorpInfoCoConvertor;
|
||||||
|
|
@ -86,4 +87,9 @@ public class ZcloudCorpFacadeImpl implements ZcloudCorpFacade {
|
||||||
return MultiResponse.of(CorpTypeEnum.getCodesByEnterpriseType(enterpriseType));
|
return MultiResponse.of(CorpTypeEnum.getCodesByEnterpriseType(enterpriseType));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Response saveAdminCorp() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -104,6 +104,12 @@ public class DepartmentController {
|
||||||
return MultiResponse.of(departmentService.listAllTreeByCorpType(qry));
|
return MultiResponse.of(departmentService.listAllTreeByCorpType(qry));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("所有企业下部门树状所有数据根据企业类型和企业id集合")
|
||||||
|
@PostMapping("/listAllTreeByCorpTypeAndCorpIds")
|
||||||
|
public MultiResponse<DepartmentTreeInfoCO> listAllTreeByCorpTypeAndCorpIds(@RequestBody DepartmentTreeCorpQry qry) {
|
||||||
|
return MultiResponse.of(departmentService.listAllTreeByCorpTypeAndCorpIds(qry));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import com.jjb.saas.system.client.dept.facade.DeptFacade;
|
||||||
import com.jjb.saas.system.client.role.facade.RoleFacade;
|
import com.jjb.saas.system.client.role.facade.RoleFacade;
|
||||||
import com.jjb.saas.system.client.role.response.RoleCO;
|
import com.jjb.saas.system.client.role.response.RoleCO;
|
||||||
import com.jjb.saas.system.client.user.facade.UserFacade;
|
import com.jjb.saas.system.client.user.facade.UserFacade;
|
||||||
|
import com.zcloud.basic.info.domain.enums.UserRZFlagEnum;
|
||||||
import com.zcloud.basic.info.domain.gateway.DepartmentGateway;
|
import com.zcloud.basic.info.domain.gateway.DepartmentGateway;
|
||||||
import com.zcloud.basic.info.domain.gateway.PostGateway;
|
import com.zcloud.basic.info.domain.gateway.PostGateway;
|
||||||
import com.zcloud.basic.info.domain.gateway.UserEmploymentLogGateway;
|
import com.zcloud.basic.info.domain.gateway.UserEmploymentLogGateway;
|
||||||
|
|
@ -410,6 +411,7 @@ public class UserImportExe {
|
||||||
user.setPhone(importEntity.getUsername());
|
user.setPhone(importEntity.getUsername());
|
||||||
user.setUserType(corpFlag);
|
user.setUserType(corpFlag);
|
||||||
user.setMainCorpFlag(0);
|
user.setMainCorpFlag(0);
|
||||||
|
user.setRzFlag(UserRZFlagEnum.YES.getCode());
|
||||||
user.setRoleId(roleId);
|
user.setRoleId(roleId);
|
||||||
user.setDepartmentId(departmentId);
|
user.setDepartmentId(departmentId);
|
||||||
user.setPostId(postId);
|
user.setPostId(postId);
|
||||||
|
|
@ -444,4 +446,4 @@ public class UserImportExe {
|
||||||
return userIdCard.trim();
|
return userIdCard.trim();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.zcloud.basic.info.command.query;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.alibaba.cola.dto.PageResponse;
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.alibaba.cola.exception.BizException;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||||
import com.zcloud.basic.info.command.convertor.DepartmentCoConvertor;
|
import com.zcloud.basic.info.command.convertor.DepartmentCoConvertor;
|
||||||
|
|
@ -201,6 +202,30 @@ public class DepartmentQueryExe {
|
||||||
return result2;
|
return result2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Collection<DepartmentTreeInfoCO> listAllTreeByCorpTypeAndCorpIds(DepartmentTreeCorpQry qry) {
|
||||||
|
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||||
|
List<Integer> enterpriseType = CorpTypeEnum.getCodesByEnterpriseType(qry.getEnterpriseType());
|
||||||
|
if (CollUtil.isNotEmpty(enterpriseType)) {
|
||||||
|
params.put("inType", enterpriseType);
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(qry.getCorpinfoIdList())) {
|
||||||
|
try {
|
||||||
|
List<Long> corpinfoIdList = qry.getCorpinfoIdList().stream()
|
||||||
|
.map(StringUtils::trim)
|
||||||
|
.map(Long::valueOf)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
params.put("corpinfoIdList", corpinfoIdList);
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
throw new BizException("企业id格式错误");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<DepartmentDO> pageResponse = departmentRepository.listAllTreeByCorpTypeAndCorpIds(params);
|
||||||
|
if (CollUtil.isEmpty(pageResponse)) {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
return getDepartmentAllTree(pageResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public Collection<DepartmentTreeInfoCO> listTreeNopermission(DepartmentTreeQry departmentQry) {
|
public Collection<DepartmentTreeInfoCO> listTreeNopermission(DepartmentTreeQry departmentQry) {
|
||||||
if (Objects.isNull(departmentQry.getEqCorpinfoId())) {
|
if (Objects.isNull(departmentQry.getEqCorpinfoId())) {
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,11 @@ public class DepartmentServiceImpl implements DepartmentServiceI {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Collection<DepartmentTreeInfoCO> listAllTreeByCorpTypeAndCorpIds(DepartmentTreeCorpQry qry) {
|
||||||
|
return departmentQueryExe.listAllTreeByCorpTypeAndCorpIds(qry);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Cacheable(value = "deptAllNameCache", key="'deptId:'+#deptId")
|
@Cacheable(value = "deptAllNameCache", key="'deptId:'+#deptId")
|
||||||
public String getFullNameForList(Long deptId, List<DepartmentCO> list) {
|
public String getFullNameForList(Long deptId, List<DepartmentCO> list) {
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,8 @@ public interface DepartmentServiceI {
|
||||||
|
|
||||||
Collection<DepartmentTreeInfoCO> listAllTreeByCorpType(DepartmentTreeQry qry);
|
Collection<DepartmentTreeInfoCO> listAllTreeByCorpType(DepartmentTreeQry qry);
|
||||||
|
|
||||||
|
Collection<DepartmentTreeInfoCO> listAllTreeByCorpTypeAndCorpIds(DepartmentTreeCorpQry qry);
|
||||||
|
|
||||||
Long addHumanUserDept(DepartmentAddCmd cmd);
|
Long addHumanUserDept(DepartmentAddCmd cmd);
|
||||||
|
|
||||||
Collection<DepartmentTreeInfoCO> listTreeNopermission(DepartmentTreeQry qry);
|
Collection<DepartmentTreeInfoCO> listTreeNopermission(DepartmentTreeQry qry);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package com.zcloud.basic.info.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class DepartmentTreeCorpQry extends DepartmentTreeQry {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "企业id集合", name = "corpinfoIdList")
|
||||||
|
private List<String> corpinfoIdList;
|
||||||
|
}
|
||||||
|
|
@ -8,6 +8,7 @@ import com.jjb.saas.framework.utils.DataEncryptDecryptUtil;
|
||||||
import com.zcloud.basic.info.domain.enums.CorpTypeEnum;
|
import com.zcloud.basic.info.domain.enums.CorpTypeEnum;
|
||||||
import com.zcloud.basic.info.domain.enums.UserEmploymentFlagEnum;
|
import com.zcloud.basic.info.domain.enums.UserEmploymentFlagEnum;
|
||||||
import com.zcloud.basic.info.domain.enums.UserFlowFlagEnum;
|
import com.zcloud.basic.info.domain.enums.UserFlowFlagEnum;
|
||||||
|
import com.zcloud.basic.info.domain.enums.UserRZFlagEnum;
|
||||||
import com.zcloud.basic.info.domain.enums.UserTypeEnum;
|
import com.zcloud.basic.info.domain.enums.UserTypeEnum;
|
||||||
import com.zcloud.gbscommon.excelEntity.UserExcelExportEntity;
|
import com.zcloud.gbscommon.excelEntity.UserExcelExportEntity;
|
||||||
import com.zcloud.gbscommon.utils.ExcelUtils;
|
import com.zcloud.gbscommon.utils.ExcelUtils;
|
||||||
|
|
@ -187,6 +188,9 @@ public class UserE extends BaseE {
|
||||||
userE.setTenantId(!ObjectUtils.isEmpty(userE.getTenantId()) ? userE.getTenantId() : tenantId);
|
userE.setTenantId(!ObjectUtils.isEmpty(userE.getTenantId()) ? userE.getTenantId() : tenantId);
|
||||||
userE.setCorpinfoId(!ObjectUtils.isEmpty(userE.getCorpinfoId()) ? userE.getCorpinfoId() : tenantId);
|
userE.setCorpinfoId(!ObjectUtils.isEmpty(userE.getCorpinfoId()) ? userE.getCorpinfoId() : tenantId);
|
||||||
userE.setEmploymentFlag(1);
|
userE.setEmploymentFlag(1);
|
||||||
|
if (userE.getRzFlag() == null) {
|
||||||
|
userE.setRzFlag(UserRZFlagEnum.NO.getCode());
|
||||||
|
}
|
||||||
userE.setPassword(defaultPassword);
|
userE.setPassword(defaultPassword);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -423,4 +427,4 @@ public class UserE extends BaseE {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,5 +29,7 @@ public interface DepartmentMapper extends BaseMapper<DepartmentDO> {
|
||||||
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);
|
||||||
|
|
||||||
List<DepartmentDO> listAllTreeByCorpType(Map<String, Object> parmas);
|
List<DepartmentDO> listAllTreeByCorpType(Map<String, Object> parmas);
|
||||||
|
|
||||||
|
List<DepartmentDO> listAllTreeByCorpTypeAndCorpIds(Map<String, Object> params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,8 @@ public interface DepartmentRepository extends BaseRepository<DepartmentDO> {
|
||||||
|
|
||||||
List<DepartmentDO> listAllTreeByCorpType(Map<String, Object> parmas);
|
List<DepartmentDO> listAllTreeByCorpType(Map<String, Object> parmas);
|
||||||
|
|
||||||
|
List<DepartmentDO> listAllTreeByCorpTypeAndCorpIds(Map<String, Object> params);
|
||||||
|
|
||||||
void deleteByCorpInfoId(Long corpInfoId);
|
void deleteByCorpInfoId(Long corpInfoId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -136,6 +136,11 @@ public class DepartmentRepositoryImpl extends BaseRepositoryImpl<DepartmentMappe
|
||||||
return departmentMapper.listAllTreeByCorpType(parmas);
|
return departmentMapper.listAllTreeByCorpType(parmas);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DepartmentDO> listAllTreeByCorpTypeAndCorpIds(Map<String, Object> params) {
|
||||||
|
return departmentMapper.listAllTreeByCorpTypeAndCorpIds(params);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean existsByName(Long parentId,String name, Long id) {
|
public boolean existsByName(Long parentId,String name, Long id) {
|
||||||
QueryWrapper<DepartmentDO> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<DepartmentDO> queryWrapper = new QueryWrapper<>();
|
||||||
|
|
|
||||||
|
|
@ -30,5 +30,26 @@
|
||||||
</if>
|
</if>
|
||||||
order by c.corp_order, c.create_time desc,d.dep_order, d.create_time desc
|
order by c.corp_order, c.create_time desc,d.dep_order, d.create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="listAllTreeByCorpTypeAndCorpIds" 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="inType != null and inType.size() > 0">
|
||||||
|
and c.type in
|
||||||
|
<foreach collection="inType" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="corpinfoIdList != null and corpinfoIdList.size() > 0">
|
||||||
|
and c.id in
|
||||||
|
<foreach collection="corpinfoIdList" item="corpinfoId" open="(" close=")" separator=",">
|
||||||
|
#{corpinfoId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
order by c.corp_order, c.create_time desc,d.dep_order, d.create_time desc
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue