From 985711fb66fd427fc1100457ba635778118fbf33 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 11 Jul 2025 10:13:34 +0800 Subject: [PATCH] =?UTF-8?q?HRBP=E9=97=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/HrbpPortalController.java | 45 +++++++ .../portal/entity/param/HrbpParam.java | 16 +++ .../portal/mapper/HrbpPortalMapper.java | 126 ++++++++++++++++++ .../portal/service/HrbpPortalService.java | 37 +++++ .../service/impl/HrbpPortalServiceImpl.java | 102 ++++++++++++++ .../impl/ManagerPortalServiceImpl.java | 1 + .../resources/mapper/HrbpPortalMapper.xml | 104 +++++++++++++++ 7 files changed, 431 insertions(+) create mode 100644 src/main/java/com/weaver/seconddev/portal/controller/HrbpPortalController.java create mode 100644 src/main/java/com/weaver/seconddev/portal/entity/param/HrbpParam.java create mode 100644 src/main/java/com/weaver/seconddev/portal/mapper/HrbpPortalMapper.java create mode 100644 src/main/java/com/weaver/seconddev/portal/service/HrbpPortalService.java create mode 100644 src/main/java/com/weaver/seconddev/portal/service/impl/HrbpPortalServiceImpl.java create mode 100644 src/main/resources/mapper/HrbpPortalMapper.xml diff --git a/src/main/java/com/weaver/seconddev/portal/controller/HrbpPortalController.java b/src/main/java/com/weaver/seconddev/portal/controller/HrbpPortalController.java new file mode 100644 index 0000000..5f5418b --- /dev/null +++ b/src/main/java/com/weaver/seconddev/portal/controller/HrbpPortalController.java @@ -0,0 +1,45 @@ +package com.weaver.seconddev.portal.controller; + +import com.weaver.common.authority.annotation.WeaPermission; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.seconddev.portal.service.HrbpPortalService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2025/07/10 + * @version: 1.0 + */ + +@Slf4j +@RestController +@RequestMapping("/api/secondev/portal/hrbp") +@WeaPermission(publicPermission = true) +public class HrbpPortalController { + + @Autowired + HrbpPortalService hrPortalService; + + + @PostMapping("/getToDo") + private WeaResult> getToDo(@RequestBody Map params) { + return hrPortalService.getToDo(params); + } + + @PostMapping("/getEmployeeData") + private WeaResult> getEmployeeData(@RequestBody Map params) { + return hrPortalService.getEmployeeData(params); + } + + @PostMapping("/getTodayOverview") + private WeaResult> getTodayOverview(@RequestBody Map params) { + return hrPortalService.getTodayOverview(params); + } +} diff --git a/src/main/java/com/weaver/seconddev/portal/entity/param/HrbpParam.java b/src/main/java/com/weaver/seconddev/portal/entity/param/HrbpParam.java new file mode 100644 index 0000000..49c62f1 --- /dev/null +++ b/src/main/java/com/weaver/seconddev/portal/entity/param/HrbpParam.java @@ -0,0 +1,16 @@ +package com.weaver.seconddev.portal.entity.param; + +import lombok.Data; + +import java.util.Set; + +/** + * @author:dxfeng + * @createTime: 2025/07/10 + * @version: 1.0 + */ +@Data +public class HrbpParam { + private String tenantKey; + private Set departmentIdList; +} diff --git a/src/main/java/com/weaver/seconddev/portal/mapper/HrbpPortalMapper.java b/src/main/java/com/weaver/seconddev/portal/mapper/HrbpPortalMapper.java new file mode 100644 index 0000000..730a113 --- /dev/null +++ b/src/main/java/com/weaver/seconddev/portal/mapper/HrbpPortalMapper.java @@ -0,0 +1,126 @@ +package com.weaver.seconddev.portal.mapper; + +import com.weaver.seconddev.portal.entity.param.HrbpParam; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author:dxfeng + * @createTime: 2025/07/10 + * @version: 1.0 + */ +@Mapper +public interface HrbpPortalMapper { + + /** + * 待入职 + * + * @param param + * @return + */ + int getToEntryCount(HrbpParam param); + + /** + * 待转正 + * + * @param param + * @return + */ + int getToRegularCount(HrbpParam param); + + /** + * 待离职 + * + * @param param + * @return + */ + int getToLeaveCount(HrbpParam param); + + /** + * 待签订 + * + * @param param + * @return + */ + int getToSignCount(HrbpParam param); + + /** + * 代理期转正 + * + * @param param + * @return + */ + int getToProxyCount(HrbpParam param); + + /** + * 员工人数 + * + * @param param + * @return + */ + int getAllEmployeeCount(HrbpParam param); + + /** + * 正式员工 + * + * @param param + * @return + */ + int getFormalEmployeeCount(HrbpParam param); + + /** + * 实习生 + * + * @param param + * @return + */ + int getInternEmployeeCount(HrbpParam param); + + /** + * 外包 + * + * @param param + * @return + */ + int getOutsourcingCount(HrbpParam param); + + /** + * 劳务 + * + * @param param + * @return + */ + int getLaborCount(HrbpParam param); + + /** + * 试用 + * + * @param param + * @return + */ + int getProbationCount(HrbpParam param); + + /** + * 正式 + * + * @param param + * @return + */ + int getFormalCount(HrbpParam param); + + /** + * 实习 + * + * @param param + * @return + */ + int getInternCount(HrbpParam param); + + /** + * 离职 + * + * @param param + * @return + */ + int getLeaveCount(HrbpParam param); + +} diff --git a/src/main/java/com/weaver/seconddev/portal/service/HrbpPortalService.java b/src/main/java/com/weaver/seconddev/portal/service/HrbpPortalService.java new file mode 100644 index 0000000..8d0685b --- /dev/null +++ b/src/main/java/com/weaver/seconddev/portal/service/HrbpPortalService.java @@ -0,0 +1,37 @@ +package com.weaver.seconddev.portal.service; + +import com.weaver.common.base.entity.result.WeaResult; + +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2025/07/10 + * @version: 1.0 + */ +public interface HrbpPortalService { + + /** + * 获取待办事项 + * + * @param params + * @return + */ + WeaResult> getToDo(Map params); + + /** + * 获取员工数据 + * + * @param params + * @return + */ + WeaResult> getEmployeeData(Map params); + + /** + * 今日概况 + * + * @param params + * @return + */ + WeaResult> getTodayOverview(Map params); +} diff --git a/src/main/java/com/weaver/seconddev/portal/service/impl/HrbpPortalServiceImpl.java b/src/main/java/com/weaver/seconddev/portal/service/impl/HrbpPortalServiceImpl.java new file mode 100644 index 0000000..50ab477 --- /dev/null +++ b/src/main/java/com/weaver/seconddev/portal/service/impl/HrbpPortalServiceImpl.java @@ -0,0 +1,102 @@ +package com.weaver.seconddev.portal.service.impl; + +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.seconddev.portal.entity.param.HrbpParam; +import com.weaver.seconddev.portal.mapper.HrbpPortalMapper; +import com.weaver.seconddev.portal.service.HrbpPortalService; +import com.weaver.teams.security.context.UserContext; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2025/07/10 + * @version: 1.0 + */ +@Slf4j +@Service +public class HrbpPortalServiceImpl implements HrbpPortalService { + + @Autowired + HrbpPortalMapper hrbpPortalMapper; + + @Override + public WeaResult> getToDo(Map params) { + + Map map = new HashMap<>(); + HrbpParam hrbpParam = new HrbpParam(); + hrbpParam.setTenantKey(UserContext.getCurrentUser().getTenantKey()); + // 权限条件 + + + int toEntryCount = hrbpPortalMapper.getToEntryCount(hrbpParam); + int toRegularCount = hrbpPortalMapper.getToRegularCount(hrbpParam); + int toLeaveCount = hrbpPortalMapper.getToLeaveCount(hrbpParam); + int toSignCount = hrbpPortalMapper.getToSignCount(hrbpParam); + int toProxyCount = hrbpPortalMapper.getToProxyCount(hrbpParam); + // 待入职 + map.put("entry", toEntryCount); + map.put("entryUrl", ""); + // 待转正 + map.put("regular", toRegularCount); + map.put("regularUrl", ""); + // 待离职 + map.put("leave", toLeaveCount); + map.put("leaveUrl", ""); + // 待签订 + map.put("sign", toSignCount); + map.put("signUrl", ""); + // 代理期转正 + map.put("proxy", toProxyCount); + map.put("proxyUrl", ""); + return WeaResult.success(map); + } + + @Override + public WeaResult> getEmployeeData(Map params) { + + Map map = new HashMap<>(); + HrbpParam hrbpParam = new HrbpParam(); + hrbpParam.setTenantKey(UserContext.getCurrentUser().getTenantKey()); + + // 员工人数 + int allEmployeeCount = hrbpPortalMapper.getAllEmployeeCount(hrbpParam); + map.put("allEmployee", allEmployeeCount); + map.put("allEmployeeUrl", ""); + // 正式员工 + int formalEmployeeCount = hrbpPortalMapper.getFormalEmployeeCount(hrbpParam); + map.put("formalEmployee", formalEmployeeCount); + map.put("formalEmployeeUrl", ""); + // 实习生 + map.put("internEmployee", hrbpPortalMapper.getInternEmployeeCount(hrbpParam)); + map.put("internEmployeeUrl", ""); + // 外包 + map.put("outsourcing", hrbpPortalMapper.getOutsourcingCount(hrbpParam)); + map.put("outsourcingUrl", ""); + // 劳务 + map.put("labor", hrbpPortalMapper.getLaborCount(hrbpParam)); + map.put("laborUrl", ""); + // 试用 + map.put("probation", hrbpPortalMapper.getProbationCount(hrbpParam)); + map.put("probationUrl", ""); + // 正式 + map.put("formal", hrbpPortalMapper.getFormalCount(hrbpParam)); + map.put("formalUrl", ""); + // 实习 + map.put("intern", hrbpPortalMapper.getInternCount(hrbpParam)); + map.put("internUrl", ""); + // 离职 + map.put("leave", hrbpPortalMapper.getLeaveCount(hrbpParam)); + map.put("leaveUrl", ""); + return WeaResult.success(map); + } + + @Override + public WeaResult> getTodayOverview(Map params) { + return null; + } +} 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 598cf19..c0badd5 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 @@ -33,6 +33,7 @@ import java.util.stream.Collectors; @Slf4j @Service public class ManagerPortalServiceImpl implements ManagerPortalService { + private static final String URL_UID = ""; @Autowired ManagerPortalMapper managerPortalMapper; diff --git a/src/main/resources/mapper/HrbpPortalMapper.xml b/src/main/resources/mapper/HrbpPortalMapper.xml new file mode 100644 index 0000000..b0c50c4 --- /dev/null +++ b/src/main/resources/mapper/HrbpPortalMapper.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +