增加部门负责人
parent
5361704452
commit
a5f29f3bac
|
|
@ -15,6 +15,7 @@ import com.zcloud.basic.info.persistence.dataobject.PostDO;
|
|||
import com.zcloud.basic.info.persistence.dataobject.PostDepartmentDO;
|
||||
import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
|
||||
import com.zcloud.basic.info.persistence.repository.DepartmentSuperviseRepository;
|
||||
import com.zcloud.basic.info.persistence.repository.UserRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -38,6 +39,7 @@ public class DepartmentQueryExe {
|
|||
private final DepartmentRepository departmentRepository;
|
||||
private final DepartmentCoConvertor departmentCoConvertor;
|
||||
private final DepartmentSuperviseRepository departmentSuperviseRepository;
|
||||
private final UserRepository userRepository;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
|
|
@ -52,6 +54,19 @@ public class DepartmentQueryExe {
|
|||
Map<String, Object> parmas = PageQueryHelper.toHashMap(departmentPageQry);
|
||||
PageResponse<DepartmentDO> pageResponse = departmentRepository.listPage(parmas);
|
||||
List<DepartmentCO> examCenterCOS = departmentCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
if(CollUtil.isEmpty(examCenterCOS)){
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
//获取所有的部门id
|
||||
List<Long> departmentIds = examCenterCOS.stream().map(DepartmentCO::getId).collect(Collectors.toList());
|
||||
//获取所有部门的负责人
|
||||
Map<Long, String> departmentLeaderMap = userRepository.getDepartmentLeaderByDepartmentId(departmentIds);
|
||||
if(CollUtil.isNotEmpty(departmentLeaderMap)){
|
||||
examCenterCOS.forEach(examCenterCO -> {
|
||||
examCenterCO.setDepartmentUserLeaderList(departmentLeaderMap.getOrDefault(examCenterCO.getId(), StringUtils.EMPTY));
|
||||
});
|
||||
}
|
||||
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
|
|||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -83,5 +84,8 @@ public class DepartmentCO extends ClientObject {
|
|||
//环境
|
||||
@ApiModelProperty(value = "环境")
|
||||
private String env;
|
||||
//部门负责人列表
|
||||
@ApiModelProperty(value = "部门负责人列表")
|
||||
private String departmentUserLeaderList;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
package com.zcloud.basic.info.persistence.dataobject;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author zhaokai
|
||||
* @Date 2025-10-30 10:10:48
|
||||
*/
|
||||
@Data
|
||||
@TableName("department")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class DepartmentLeaderStatictiscDO extends BaseDO {
|
||||
|
||||
//部门id
|
||||
@ApiModelProperty(value = "部门id")
|
||||
private Long departmentId;
|
||||
//名称
|
||||
@ApiModelProperty(value = "名称")
|
||||
private String departmentLeaderNameList;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -3,6 +3,7 @@ package com.zcloud.basic.info.persistence.mapper;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zcloud.basic.info.persistence.dataobject.DepartmentLeaderStatictiscDO;
|
||||
import com.zcloud.basic.info.persistence.dataobject.UserDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
|
@ -23,5 +24,7 @@ public interface UserMapper extends BaseMapper<UserDO> {
|
|||
IPage<UserDO> selectUserPage(IPage<UserDO> page, @Param("ew") QueryWrapper<UserDO> queryWrapper);
|
||||
|
||||
UserDO getInfoById(@Param("id") Long id);
|
||||
|
||||
List<DepartmentLeaderStatictiscDO> getDepartmentLeaderByDepartmentId(List<Long> departmentIds);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -48,5 +48,6 @@ public interface UserRepository extends BaseRepository<UserDO> {
|
|||
|
||||
void updateUserName(UserDO userDO);
|
||||
|
||||
Map<Long, String> getDepartmentLeaderByDepartmentId(List<Long> departmentIds);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import com.jjb.saas.system.client.user.request.UserUpdateCmd;
|
|||
import com.zcloud.basic.info.domain.model.CorpInfoE;
|
||||
import com.zcloud.basic.info.domain.model.UserE;
|
||||
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
|
||||
import com.zcloud.basic.info.persistence.dataobject.DepartmentLeaderStatictiscDO;
|
||||
import com.zcloud.basic.info.persistence.dataobject.ImgFilesDO;
|
||||
import com.zcloud.basic.info.persistence.dataobject.UserDO;
|
||||
import com.zcloud.basic.info.persistence.mapper.UserMapper;
|
||||
|
|
@ -41,6 +42,7 @@ import org.springframework.util.ObjectUtils;
|
|||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
|
|
@ -214,5 +216,12 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Long, String> getDepartmentLeaderByDepartmentId(List<Long> departmentIds) {
|
||||
List<DepartmentLeaderStatictiscDO> departmentLeaderList = userMapper.getDepartmentLeaderByDepartmentId(departmentIds);
|
||||
Map<Long, String> departmentLeaderMap = departmentLeaderList.stream()
|
||||
.collect(Collectors.toMap(DepartmentLeaderStatictiscDO::getDepartmentId, DepartmentLeaderStatictiscDO::getDepartmentLeaderNameList));
|
||||
return departmentLeaderMap;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -200,6 +200,20 @@
|
|||
u.id = #{id}
|
||||
</where>
|
||||
</select>
|
||||
<select id="getDepartmentLeaderByDepartmentId" resultType="com.zcloud.basic.info.persistence.dataobject.DepartmentLeaderStatictiscDO">
|
||||
select
|
||||
u.department_id AS departmentId,
|
||||
GROUP_CONCAT(DISTINCT u.name) AS departmentLeaderNameList
|
||||
from user u
|
||||
where
|
||||
u.delete_enum = 'FALSE'
|
||||
and u.department_leader_flag = '1'
|
||||
and u.department_id in
|
||||
<foreach item="item" index="index" collection="departmentIds" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
group by u.department_id
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue