From 38c4fda5cef22119aa615e610ce5238fd85a2bbb Mon Sep 17 00:00:00 2001 From: furongxin <419481438@qq.com> Date: Tue, 24 Sep 2024 11:12:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=86=E5=8A=B3=E5=8A=A8?= =?UTF-8?q?=E5=90=88=E5=90=8C=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E6=94=AF=E6=8C=81=E5=A4=9A=E9=83=A8=E9=97=A8?= =?UTF-8?q?ID=E6=9F=A5=E8=AF=A2=E4=B8=8E=E6=8E=92=E5=BA=8F=E3=80=82?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BA=86LaborContractPageReqVO=E4=BB=A5?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=A4=9A=E9=83=A8=E9=97=A8ID=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=EF=BC=8C=E6=9B=B4=E6=94=B9=E4=BA=86AdminUserMapper?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E4=BB=A5=E4=BD=BF=E7=94=A8IN=E6=93=8D=E4=BD=9C=E7=AC=A6?= =?UTF-8?q?=E5=A4=84=E7=90=86=E5=A4=9A=E9=83=A8=E9=97=A8ID=E3=80=82?= =?UTF-8?q?=E5=90=8C=E6=97=B6=EF=BC=8C=E5=AE=9E=E7=8E=B0=E4=BA=86=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E7=94=A8=E6=88=B7ID=E7=9A=84=E5=8D=87=E5=BA=8F?= =?UTF-8?q?=E6=8E=92=E5=88=97=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在获取部门数据时,若提供了部门ID,则会获取该部门及其所有子部门,以支持更复杂的查询需求。 本次更新确保了劳动合同分页查询功能更加灵活和高效。 --- .../laborcontract/vo/LaborContractPageReqVO.java | 4 ++++ .../system/dal/mysql/user/AdminUserMapper.java | 3 ++- .../laborcontract/LaborContractServiceImpl.java | 13 +++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/LaborContractPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/LaborContractPageReqVO.java index a9be2932..b399fe49 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/LaborContractPageReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/LaborContractPageReqVO.java @@ -8,6 +8,7 @@ import lombok.ToString; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDate; +import java.util.List; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -23,6 +24,9 @@ public class LaborContractPageReqVO extends PageParam { @Schema(description = "部门id", example = "128") private Long deptId; + @Schema(description = "部门id", example = "128") + private List deptIds; + @Schema(description = "签约日期") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDate[] signingDate; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java index 1df19a5d..9feeb1e3 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java @@ -152,7 +152,7 @@ public interface AdminUserMapper extends BaseMapperX { " AND lc.create_time = max.max_create_time) a on a.user_id = t.id"); queryWrapper.eq(AdminUserDO::getUserType, 1); queryWrapper.likeIfPresent(AdminUserDO::getNickname, pageReqVO.getUserName()); - queryWrapper.eqIfPresent(AdminUserDO::getDeptId, pageReqVO.getDeptId()); + queryWrapper.inIfPresent(AdminUserDO::getDeptId, pageReqVO.getDeptIds()); if (Objects.nonNull(pageReqVO.getSigningDate())) { queryWrapper.between("a.signing_date", pageReqVO.getSigningDate()[0], pageReqVO.getSigningDate()[1]); } @@ -162,6 +162,7 @@ public interface AdminUserMapper extends BaseMapperX { queryWrapper.eq(Objects.nonNull(pageReqVO.getStatus()),"a.status", pageReqVO.getStatus()); queryWrapper.groupBy(AdminUserDO::getId); queryWrapper.orderByAsc("a.status"); + queryWrapper.orderByAsc(AdminUserDO::getId); return selectJoinPage(mpPage, LaborContractRespVO.class, queryWrapper); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractServiceImpl.java index 199df81f..9dd84289 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractServiceImpl.java @@ -7,9 +7,11 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractPageReqVO; import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractRespVO; import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; import cn.iocoder.yudao.module.system.dal.dataobject.laborcontract.LaborContractDO; import cn.iocoder.yudao.module.system.dal.mysql.laborcontract.LaborContractMapper; import cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper; +import cn.iocoder.yudao.module.system.service.dept.DeptService; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.stereotype.Service; @@ -21,6 +23,7 @@ import java.util.List; import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.LABOR_CONTRACT_NOT_EXISTS; /** @@ -38,6 +41,9 @@ public class LaborContractServiceImpl implements LaborContractService { @Resource private AdminUserMapper userMapper; + @Resource + private DeptService deptService; + @Override public Long createLaborContract(LaborContractSaveReqVO createReqVO) { // 插入 @@ -94,6 +100,13 @@ public class LaborContractServiceImpl implements LaborContractService { @Override public PageResult getLaborContractPage(LaborContractPageReqVO pageReqVO) { + if (pageReqVO.getDeptId() != null) { + + // 获取所有子级部门 + List deptDOS = deptService.getChildDept(pageReqVO.getDeptId()); + pageReqVO.setDeptIds(convertList(deptDOS, DeptDO::getId)); + } + Page page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); IPage pageList = userMapper.selectContractPage(page, pageReqVO);