From 8e6c0a19cb4cf3f460f44d5f6eb06524744c0b3e Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Thu, 2 Nov 2023 10:32:14 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.0.2=E3=80=91=E3=80=90hr=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=89=B9=E9=87=8F=E8=8E=B7=E5=8F=96=E8=81=8C?= =?UTF-8?q?=E4=BD=8D=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CommonPositionController.java | 44 +++++++++++++++++++ .../position/service/HrPositionService.java | 9 ++++ .../service/impl/HrPositionServiceImpl.java | 27 ++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/controller/CommonPositionController.java diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/controller/CommonPositionController.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/controller/CommonPositionController.java new file mode 100644 index 000000000..5292e3016 --- /dev/null +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/controller/CommonPositionController.java @@ -0,0 +1,44 @@ +package cn.stylefeng.roses.kernel.sys.modular.position.controller; + +import cn.stylefeng.roses.kernel.rule.pojo.dict.SimpleDict; +import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; +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; +import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource; +import cn.stylefeng.roses.kernel.sys.modular.position.pojo.request.HrPositionRequest; +import cn.stylefeng.roses.kernel.sys.modular.position.service.HrPositionService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 通用获取职位相关业务 + * + * @author fengshuonan + * @since 2023/11/2 10:28 + */ +@RestController +@ApiResource(name = "通用获取职位相关业务") +public class CommonPositionController { + + @Resource + private HrPositionService hrPositionService; + + /** + * 批量获取职位名称 + * + * @author fengshuonan + * @since 2023/11/2 10:24 + */ + @PostResource(name = "批量获取职位名称", path = "/common/position/batchGetName") + public ResponseData> batchGetName( + @RequestBody @Validated(BaseRequest.batchDelete.class) HrPositionRequest hrPositionRequest) { + List result = hrPositionService.batchGetName(hrPositionRequest); + return new SuccessResponseData<>(result); + } + +} diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/service/HrPositionService.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/service/HrPositionService.java index 0430f4563..2365cb764 100644 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/service/HrPositionService.java +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/service/HrPositionService.java @@ -1,6 +1,7 @@ package cn.stylefeng.roses.kernel.sys.modular.position.service; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.rule.pojo.dict.SimpleDict; import cn.stylefeng.roses.kernel.sys.api.PositionServiceApi; import cn.stylefeng.roses.kernel.sys.modular.position.entity.HrPosition; import cn.stylefeng.roses.kernel.sys.modular.position.pojo.request.HrPositionRequest; @@ -80,4 +81,12 @@ public interface HrPositionService extends IService, PositionService */ PageResult findPage(HrPositionRequest hrPositionRequest); + /** + * 批量获取职位名称 + * + * @author fengshuonan + * @since 2023/11/2 10:29 + */ + List batchGetName(HrPositionRequest hrPositionRequest); + } \ No newline at end of file diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/service/impl/HrPositionServiceImpl.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/service/impl/HrPositionServiceImpl.java index 14b729213..1628b3ecd 100644 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/service/impl/HrPositionServiceImpl.java +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/position/service/impl/HrPositionServiceImpl.java @@ -11,6 +11,7 @@ import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.log.api.util.BusinessLogUtil; import cn.stylefeng.roses.kernel.rule.enums.StatusEnum; import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; +import cn.stylefeng.roses.kernel.rule.pojo.dict.SimpleDict; import cn.stylefeng.roses.kernel.sys.api.callback.RemovePositionCallbackApi; import cn.stylefeng.roses.kernel.sys.modular.position.entity.HrPosition; import cn.stylefeng.roses.kernel.sys.modular.position.enums.HrPositionExceptionEnum; @@ -23,6 +24,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; @@ -113,6 +115,31 @@ public class HrPositionServiceImpl extends ServiceImpl batchGetName(HrPositionRequest hrPositionRequest) { + + List dictList = new ArrayList<>(); + + if (ObjectUtil.isEmpty(hrPositionRequest) || ObjectUtil.isEmpty(hrPositionRequest.getPositionIdList())) { + return dictList; + } + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(HrPosition::getPositionId, hrPositionRequest.getPositionIdList()); + wrapper.select(HrPosition::getPositionName, HrPosition::getPositionId); + List list = this.list(wrapper); + + if (ObjectUtil.isEmpty(list)) { + return dictList; + } + + for (HrPosition hrPosition : list) { + dictList.add(new SimpleDict(hrPosition.getPositionId(), hrPosition.getPositionName(), null)); + } + + return dictList; + } + @Override public String getPositionName(Long positionId) { if (positionId == null) {