From 1661fced35cfd2e3ab0c6c6c3d7206609095b116 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 16 Jul 2025 17:59:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=8F=E7=90=86=E9=97=A8=E6=88=B7=20?= =?UTF-8?q?=E7=BB=A9=E6=95=88=E7=9C=8B=E6=9D=BF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ManagerPortalController.java | 7 +++ .../portal/entity/component/Option.java | 20 +++++++++ .../portal/entity/param/BaseParam.java | 1 + .../entity/param/BasicPersonnelParam.java | 2 +- .../portal/entity/param/HrbpParam.java | 1 - .../entity/param/SearchConditionParam.java | 1 - .../portal/entity/param/SscParam.java | 1 - .../portal/mapper/EbuilderBaseMapper.java | 45 +++++++++++++++++++ .../portal/mapper/ManagerPortalMapper.java | 2 + .../portal/service/ManagerPortalService.java | 10 ++++- .../impl/ManagerPortalServiceImpl.java | 42 +++++++++++++++++ .../resources/mapper/EbuilderBaseMapper.xml | 25 +++++++++++ .../resources/mapper/ManagerPortalMapper.xml | 13 ++++++ 13 files changed, 165 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/weaver/seconddev/portal/entity/component/Option.java create mode 100644 src/main/java/com/weaver/seconddev/portal/mapper/EbuilderBaseMapper.java create mode 100644 src/main/resources/mapper/EbuilderBaseMapper.xml 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 5cce354..516f41a 100644 --- a/src/main/java/com/weaver/seconddev/portal/controller/ManagerPortalController.java +++ b/src/main/java/com/weaver/seconddev/portal/controller/ManagerPortalController.java @@ -2,6 +2,7 @@ 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.entity.component.Option; import com.weaver.seconddev.portal.service.ManagerPortalService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -10,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; import java.util.Map; /** @@ -56,4 +58,9 @@ public class ManagerPortalController { return managerPortalService.getTeamEmployee(params); } + @PostMapping("/getEbFieldOptions") + private WeaResult> getEbFieldOptions(@RequestBody Map params) { + return managerPortalService.getEbFieldOptions(params); + } + } diff --git a/src/main/java/com/weaver/seconddev/portal/entity/component/Option.java b/src/main/java/com/weaver/seconddev/portal/entity/component/Option.java new file mode 100644 index 0000000..d7c6ea7 --- /dev/null +++ b/src/main/java/com/weaver/seconddev/portal/entity/component/Option.java @@ -0,0 +1,20 @@ +package com.weaver.seconddev.portal.entity.component; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:dxfeng + * @createTime: 2025/07/16 + * @version: 1.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class Option { + private String id; + private String content; +} diff --git a/src/main/java/com/weaver/seconddev/portal/entity/param/BaseParam.java b/src/main/java/com/weaver/seconddev/portal/entity/param/BaseParam.java index 943720c..fa7bbeb 100644 --- a/src/main/java/com/weaver/seconddev/portal/entity/param/BaseParam.java +++ b/src/main/java/com/weaver/seconddev/portal/entity/param/BaseParam.java @@ -16,4 +16,5 @@ public class BaseParam { private String eteams = "eteams"; private String table_dept_cus = "ft_1154218872715993098"; + private String tenantKey; } 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 89c785d..42886b2 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 @@ -17,10 +17,10 @@ public class BasicPersonnelParam extends BaseParam { private String searchType; private String startDate; private String endDate; - private String tenantKey; private String pieType; private Integer startIndex; private Integer endIndex; + private String belongYear; /*分页查询*/ 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 index 85fc9f4..6a9d9e5 100644 --- a/src/main/java/com/weaver/seconddev/portal/entity/param/HrbpParam.java +++ b/src/main/java/com/weaver/seconddev/portal/entity/param/HrbpParam.java @@ -13,6 +13,5 @@ import java.util.Set; @Data @EqualsAndHashCode(callSuper = false) public class HrbpParam extends BaseParam{ - private String tenantKey; private Set departmentIdList; } diff --git a/src/main/java/com/weaver/seconddev/portal/entity/param/SearchConditionParam.java b/src/main/java/com/weaver/seconddev/portal/entity/param/SearchConditionParam.java index cbe636d..680e994 100644 --- a/src/main/java/com/weaver/seconddev/portal/entity/param/SearchConditionParam.java +++ b/src/main/java/com/weaver/seconddev/portal/entity/param/SearchConditionParam.java @@ -13,7 +13,6 @@ import java.util.Set; @Data @EqualsAndHashCode(callSuper = false) public class SearchConditionParam extends BaseParam{ - private String tenantKey; private String departmentId; private Set departmentIdList; private String searchDate; diff --git a/src/main/java/com/weaver/seconddev/portal/entity/param/SscParam.java b/src/main/java/com/weaver/seconddev/portal/entity/param/SscParam.java index a8bc55c..26df448 100644 --- a/src/main/java/com/weaver/seconddev/portal/entity/param/SscParam.java +++ b/src/main/java/com/weaver/seconddev/portal/entity/param/SscParam.java @@ -13,7 +13,6 @@ import java.util.Set; @Data @EqualsAndHashCode(callSuper = false) public class SscParam extends BaseParam { - private String tenantKey; private Set departmentIdList; private String currentDate; } diff --git a/src/main/java/com/weaver/seconddev/portal/mapper/EbuilderBaseMapper.java b/src/main/java/com/weaver/seconddev/portal/mapper/EbuilderBaseMapper.java new file mode 100644 index 0000000..a69a95e --- /dev/null +++ b/src/main/java/com/weaver/seconddev/portal/mapper/EbuilderBaseMapper.java @@ -0,0 +1,45 @@ +package com.weaver.seconddev.portal.mapper; + +import com.weaver.common.form.datasource.FormdataTemplateDetails; +import com.weaver.common.form.metadata.field.FormField; +import com.weaver.seconddev.portal.entity.param.BaseParam; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author:dxfeng + * @createTime: 2025/07/16 + * @version: 1.0 + */ +@Mapper +public interface EbuilderBaseMapper { + /** + * 根据表名获取表ID + * + * @param param + * @param tableName + * @return + */ + long getFormIdByTableName(@Param("param") BaseParam param, @Param("tableName") String tableName); + + /** + * 根据表ID和字段名获取字段信息 + * + * @param param + * @param formId + * @param fieldName + * @return + */ + FormField getFormFieldByFieldName(@Param("param") BaseParam param, @Param("formId") long formId, @Param("fieldName") String fieldName); + + /** + * 根据模板ID获取模板详情 + * + * @param param + * @param templateId + * @return + */ + List getFormdataTemplateDetails(@Param("param") BaseParam param, @Param("templateId") long templateId); +} 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 f7e89ba..977baa4 100644 --- a/src/main/java/com/weaver/seconddev/portal/mapper/ManagerPortalMapper.java +++ b/src/main/java/com/weaver/seconddev/portal/mapper/ManagerPortalMapper.java @@ -99,6 +99,8 @@ public interface ManagerPortalMapper { */ List getEducationInfo(BasicPersonnelParam param); + List getPerformanceInfo(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 beb538e..590c7f6 100644 --- a/src/main/java/com/weaver/seconddev/portal/service/ManagerPortalService.java +++ b/src/main/java/com/weaver/seconddev/portal/service/ManagerPortalService.java @@ -1,7 +1,9 @@ package com.weaver.seconddev.portal.service; import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.seconddev.portal.entity.component.Option; +import java.util.List; import java.util.Map; /** @@ -63,5 +65,11 @@ public interface ManagerPortalService { */ WeaResult> getTeamEmployee(Map params); - + /** + * 获取EB表单字段下拉选项 + * + * @param params + * @return + */ + WeaResult> getEbFieldOptions(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 e6378f8..76a0353 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 @@ -2,14 +2,18 @@ package com.weaver.seconddev.portal.service.impl; import cn.hutool.core.convert.Convert; import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.common.form.datasource.FormdataTemplateDetails; +import com.weaver.common.form.metadata.field.FormField; import com.weaver.common.hrm.cache.HrmDepartmentComInfo; import com.weaver.common.hrm.dao.HrmCommonDepartmentDao; import com.weaver.common.hrm.manage.HrmComInfoCacheHandler; +import com.weaver.seconddev.portal.entity.component.Option; 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.EbuilderBaseMapper; import com.weaver.seconddev.portal.mapper.LeaderCockpitMapper; import com.weaver.seconddev.portal.mapper.ManagerPortalMapper; import com.weaver.seconddev.portal.mapper.PortalMapper; @@ -53,6 +57,8 @@ public class ManagerPortalServiceImpl implements ManagerPortalService { HrmCommonDepartmentDao hrmCommonDepartmentDao; @Autowired HrmComInfoCacheHandler hrmComInfoCacheHandler; + @Autowired + EbuilderBaseMapper ebuilderBaseMapper; @Override public WeaResult> getMangerInfo(Map params) { @@ -183,6 +189,7 @@ public class ManagerPortalServiceImpl implements ManagerPortalService { public WeaResult> getEducationInfo(Map params) { String type = params.get("type"); + String searchKey = params.get("searchKey"); if (StringUtils.isBlank(type)) { // 默认学历信息 type = "education"; @@ -194,6 +201,7 @@ public class ManagerPortalServiceImpl implements ManagerPortalService { // 设置部门范围ID集合 basicPersonnelParam.setDepartmentIdList(allDepartmentIdList); basicPersonnelParam.setPieType(type); + basicPersonnelParam.setSearchKey(searchKey); List portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "getEducationInfo"); Map urlMap = portalUrlDetails.stream().collect(Collectors.toMap(PortalUrlDetail::getDetailKey, PortalUrlDetail::getUrlAddress)); List returnList = new ArrayList<>(); @@ -221,6 +229,7 @@ public class ManagerPortalServiceImpl implements ManagerPortalService { break; case "performance": // 绩效 + dealPerformanceInfo(basicPersonnelParam, returnList); returnMap.put("url", urlMap.get("performance")); break; default: @@ -258,6 +267,27 @@ public class ManagerPortalServiceImpl implements ManagerPortalService { return WeaResult.success(returnMap); } + @Override + public WeaResult> getEbFieldOptions(Map params) { + String tableName = params.get("tableName"); + String fieldName = params.get("fieldName"); + BasicPersonnelParam basicPersonnelParam = new BasicPersonnelParam(); + User currentUser = UserContext.getCurrentUser(); + basicPersonnelParam.setTenantKey(currentUser.getTenantKey()); + // 查询考核周期选项 + long formId = ebuilderBaseMapper.getFormIdByTableName(basicPersonnelParam, StringUtils.isBlank(tableName) ? "uf_jxsjtz" : tableName); + FormField formField = ebuilderBaseMapper.getFormFieldByFieldName(basicPersonnelParam, formId, StringUtils.isBlank(fieldName) ? "khzq" : fieldName); + List templateDetails = ebuilderBaseMapper.getFormdataTemplateDetails(basicPersonnelParam, formField.getDataTemplateId()); + + List