diff --git a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/controller/CommonOrgController.java b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/controller/CommonOrgController.java index 6c3612e22..c5a53c267 100644 --- a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/controller/CommonOrgController.java +++ b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/controller/CommonOrgController.java @@ -1,5 +1,6 @@ package cn.stylefeng.roses.kernel.sys.modular.org.controller; +import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource; @@ -38,4 +39,15 @@ public class CommonOrgController { return new SuccessResponseData<>(hrOrganizationService.commonOrgTree(hrOrganizationRequest)); } + /** + * 分页获取组织机构信息(用在通用选择机构组件中) + * + * @author fengshuonan + * @since 2023/6/29 9:24 + */ + @GetResource(name = "分页获取组织机构信息(用在通用选择机构组件中)", path = "/common/org/pageList") + public ResponseData> commonOrgPage(HrOrganizationRequest hrOrganizationRequest) { + return new SuccessResponseData<>(hrOrganizationService.commonOrgPage(hrOrganizationRequest)); + } + } diff --git a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/entity/HrOrganization.java b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/entity/HrOrganization.java index e04f45831..1e0f44208 100644 --- a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/entity/HrOrganization.java +++ b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/entity/HrOrganization.java @@ -140,6 +140,13 @@ public class HrOrganization extends BaseExpandFieldEntity implements AbstractTre @ChineseDescription("父级id的名称") private String parentOrgName; + /** + * 组织机构所属公司的名称 + */ + @TableField(exist = false) + @ChineseDescription("组织机构所属公司的名称") + private String companyName; + @Override public String getNodeId() { if (this.orgId == null) { diff --git a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/HrOrganizationService.java b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/HrOrganizationService.java index dfc5e4016..534159a64 100644 --- a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/HrOrganizationService.java +++ b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/HrOrganizationService.java @@ -81,6 +81,16 @@ public interface HrOrganizationService extends IService { */ PageResult findPage(HrOrganizationRequest hrOrganizationRequest); + /** + * 分页获取组织机构信息(用在通用选择机构组件中) + * + * @param hrOrganizationRequest 请求参数 + * @return PageResult 返回结果 + * @author fengshuonan + * @date 2023/06/10 21:23 + */ + PageResult commonOrgPage(HrOrganizationRequest hrOrganizationRequest); + /** * 通用获取组织机构树 *

diff --git a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java index 1b0221b2d..b05291536 100644 --- a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java +++ b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java @@ -166,6 +166,25 @@ public class HrOrganizationServiceImpl extends ServiceImpl commonOrgPage(HrOrganizationRequest hrOrganizationRequest) { + + LambdaQueryWrapper wrapper = createWrapper(hrOrganizationRequest); + + // 只查询需要的字段 + wrapper.select(HrOrganization::getOrgId, HrOrganization::getOrgName, HrOrganization::getOrgCode, HrOrganization::getOrgType); + + Page sysRolePage = this.page(PageFactory.defaultPage(), wrapper); + + // 将每个机构的公司名称返回 + for (HrOrganization hrOrganization : sysRolePage.getRecords()) { + CompanyDeptDTO companyInfo = this.getOrgCompanyInfo(hrOrganization); + hrOrganization.setCompanyName(companyInfo.getCompanyName()); + } + + return PageResultFactory.createPageResult(sysRolePage); + } + @Override public List commonOrgTree(HrOrganizationRequest hrOrganizationRequest) {