diff --git a/src/main/java/com/weaver/seconddev/portal/controller/ManagerPortalController.java b/src/main/java/com/weaver/seconddev/portal/controller/ManagerPortalController.java index b606ad0..5cce354 100644 --- a/src/main/java/com/weaver/seconddev/portal/controller/ManagerPortalController.java +++ b/src/main/java/com/weaver/seconddev/portal/controller/ManagerPortalController.java @@ -51,4 +51,9 @@ public class ManagerPortalController { return managerPortalService.getEducationInfo(params); } + @PostMapping("/getTeamEmployee") + private WeaResult> getTeamEmployee(@RequestBody Map params) { + return managerPortalService.getTeamEmployee(params); + } + } diff --git a/src/main/java/com/weaver/seconddev/portal/entity/param/BasicPersonnelParam.java b/src/main/java/com/weaver/seconddev/portal/entity/param/BasicPersonnelParam.java index 059ab6f..89c785d 100644 --- a/src/main/java/com/weaver/seconddev/portal/entity/param/BasicPersonnelParam.java +++ b/src/main/java/com/weaver/seconddev/portal/entity/param/BasicPersonnelParam.java @@ -12,7 +12,7 @@ import java.util.Set; */ @Data @EqualsAndHashCode(callSuper = false) -public class BasicPersonnelParam extends BaseParam{ +public class BasicPersonnelParam extends BaseParam { private Set departmentIdList; private String searchType; private String startDate; @@ -21,4 +21,16 @@ public class BasicPersonnelParam extends BaseParam{ private String pieType; private Integer startIndex; private Integer endIndex; + + /*分页查询*/ + + private String searchKey; + private String departmentId; + private Integer current; + private Integer offset; + private Integer pageSize; + + public Integer getOffset() { + return (current - 1) * pageSize; + } } diff --git a/src/main/java/com/weaver/seconddev/portal/entity/po/TeamEmployeePo.java b/src/main/java/com/weaver/seconddev/portal/entity/po/TeamEmployeePo.java new file mode 100644 index 0000000..3c671a5 --- /dev/null +++ b/src/main/java/com/weaver/seconddev/portal/entity/po/TeamEmployeePo.java @@ -0,0 +1,52 @@ +package com.weaver.seconddev.portal.entity.po; + +import lombok.Data; +import org.apache.commons.lang.StringUtils; + +/** + * @author:dxfeng + * @createTime: 2025/07/15 + * @version: 1.0 + */ +@Data +public class TeamEmployeePo { + /** + * 姓名 + */ + private String userName; + /** + * 部门 + */ + private String departmentName; + /** + * 岗位 + */ + private String jobPositionName; + /** + * 职级 + */ + private String jobLevelName; + /** + * 入职日期 + */ + private String hireDate; + /** + * 学校 + */ + private String schoolName; + /** + * 学历 + */ + private String educationName; + /** + * 年龄 + */ + private String age; + + public String getAge() { + if (StringUtils.isNotBlank(age)) { + return age + "岁"; + } + return age; + } +} diff --git a/src/main/java/com/weaver/seconddev/portal/mapper/ManagerPortalMapper.java b/src/main/java/com/weaver/seconddev/portal/mapper/ManagerPortalMapper.java index bd99e56..f7e89ba 100644 --- a/src/main/java/com/weaver/seconddev/portal/mapper/ManagerPortalMapper.java +++ b/src/main/java/com/weaver/seconddev/portal/mapper/ManagerPortalMapper.java @@ -3,6 +3,7 @@ package com.weaver.seconddev.portal.mapper; import com.weaver.seconddev.portal.entity.param.BasicPersonnelParam; import com.weaver.seconddev.portal.entity.po.PieChartConfig; import com.weaver.seconddev.portal.entity.po.PortalPO; +import com.weaver.seconddev.portal.entity.po.TeamEmployeePo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -128,4 +129,20 @@ public interface ManagerPortalMapper { */ List getPieTypeConfig(BasicPersonnelParam param); + /** + * 获取团队成员信息 + * + * @param param + * @return + */ + List getTeamEmployee(BasicPersonnelParam param); + + /** + * 获取团队成员总数 + * + * @param param + * @return + */ + int getTeamEmployeeTotal(BasicPersonnelParam param); + } diff --git a/src/main/java/com/weaver/seconddev/portal/service/ManagerPortalService.java b/src/main/java/com/weaver/seconddev/portal/service/ManagerPortalService.java index e082141..beb538e 100644 --- a/src/main/java/com/weaver/seconddev/portal/service/ManagerPortalService.java +++ b/src/main/java/com/weaver/seconddev/portal/service/ManagerPortalService.java @@ -55,5 +55,13 @@ public interface ManagerPortalService { */ WeaResult> getEducationInfo(Map params); + /** + * 团队员工 + * + * @param params + * @return + */ + WeaResult> getTeamEmployee(Map params); + } diff --git a/src/main/java/com/weaver/seconddev/portal/service/impl/ManagerPortalServiceImpl.java b/src/main/java/com/weaver/seconddev/portal/service/impl/ManagerPortalServiceImpl.java index e6af341..e6378f8 100644 --- a/src/main/java/com/weaver/seconddev/portal/service/impl/ManagerPortalServiceImpl.java +++ b/src/main/java/com/weaver/seconddev/portal/service/impl/ManagerPortalServiceImpl.java @@ -9,6 +9,7 @@ import com.weaver.seconddev.portal.entity.param.BasicPersonnelParam; import com.weaver.seconddev.portal.entity.po.PieChartConfig; import com.weaver.seconddev.portal.entity.po.PortalPO; import com.weaver.seconddev.portal.entity.po.PortalUrlDetail; +import com.weaver.seconddev.portal.entity.po.TeamEmployeePo; import com.weaver.seconddev.portal.mapper.LeaderCockpitMapper; import com.weaver.seconddev.portal.mapper.ManagerPortalMapper; import com.weaver.seconddev.portal.mapper.PortalMapper; @@ -229,6 +230,34 @@ public class ManagerPortalServiceImpl implements ManagerPortalService { return WeaResult.success(returnMap); } + @Override + public WeaResult> getTeamEmployee(Map params) { + String searchKey = params.get("searchKey"); + String departmentId = params.get("departmentId"); + int pageSize = Convert.toInt(params.get("pageSize"), 1); + int current = Convert.toInt(params.get("current"), 10); + + User currentUser = UserContext.getCurrentUser(); + BasicPersonnelParam basicPersonnelParam = new BasicPersonnelParam(); + basicPersonnelParam.setTenantKey(currentUser.getTenantKey()); + basicPersonnelParam.setCurrent(current); + basicPersonnelParam.setPageSize(pageSize); + basicPersonnelParam.setSearchKey(searchKey); + basicPersonnelParam.setDepartmentId(departmentId); + Set allDepartmentIdList = getAllDepartmentIdList(basicPersonnelParam, currentUser.getEmployeeId()); + basicPersonnelParam.setDepartmentIdList(allDepartmentIdList); + + List teamEmployee = managerPortalMapper.getTeamEmployee(basicPersonnelParam); + int total = managerPortalMapper.getTeamEmployeeTotal(basicPersonnelParam); + + + Map returnMap = new HashMap<>(); + returnMap.put("list", teamEmployee); + returnMap.put("total", total); + + return WeaResult.success(returnMap); + } + /** * 学历分布数据 * diff --git a/src/main/resources/mapper/ManagerPortalMapper.xml b/src/main/resources/mapper/ManagerPortalMapper.xml index 817c286..f407521 100644 --- a/src/main/resources/mapper/ManagerPortalMapper.xml +++ b/src/main/resources/mapper/ManagerPortalMapper.xml @@ -201,6 +201,52 @@ and t.sl > #{startIndex} and t.sl <= #{endIndex} + +