diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/vo/loginstance/LogInstancePageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/vo/loginstance/LogInstancePageReqVO.java index 65878d4f..36bd6ab1 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/vo/loginstance/LogInstancePageReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/vo/loginstance/LogInstancePageReqVO.java @@ -41,4 +41,7 @@ public class LogInstancePageReqVO extends PageParam { @Schema(description = "已读、未读 | 0:未读、1:已读", example = "0") private Integer readStatus; + + @Schema(description = "查询所有领导人日志 ||判断老板角色,是则传参,不是则不传;如要查询全部分页也不传", example = "0") + private Integer isBoss; } \ No newline at end of file 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 e9ed9c8a..72443122 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 @@ -62,4 +62,6 @@ public interface AdminUserMapper extends BaseMapperX { void emptyOpenId(@Param("openId") String openId); List selectByDeptIds(Collection deptIds); + + List selectUserByBoss(); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogInstanceMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogInstanceMapper.java index 0227b550..029b1062 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogInstanceMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogInstanceMapper.java @@ -40,7 +40,8 @@ public interface LogInstanceMapper extends BaseMapperX { } IPage selectPageResult(@Param("page") Page page, @Param("reqVO") LogInstancePageReqVO reqVO, - @Param("userId") Long userId, @Param("pagingType") Integer pagingType); + @Param("userId") Long userId, @Param("pagingType") Integer pagingType, + @Param("userIds") List userIds); @DataPermission(enable = false) List selectRaedUser(@Param("userId")Long userId, @Param("deptId")Long deptId); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java index b295695e..4b600660 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java @@ -255,4 +255,10 @@ public interface AdminUserService { * @return */ String getSignImgPath(Long userId) ; + + /** + * 获取 岗位为总监或副总裁 以及部门层级为2级或3级的负责人的用户编号 + * @return 用户编号 + */ + List getUserByBoss(); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java index 7c5efa6f..ea8d2875 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java @@ -565,4 +565,10 @@ public class AdminUserServiceImpl implements AdminUserService { String path = fileApi.getUserSignImgPath(userId).getData(); return path ; } + + @Override + public List getUserByBoss() { + + return userMapper.selectUserByBoss(); + } } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceServiceImpl.java index 44394e69..cee9684e 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceServiceImpl.java @@ -231,8 +231,18 @@ public class LogInstanceServiceImpl implements LogInstanceService { @Override public IPage getLogInstancePage(LogInstancePageReqVO pageReqVO, Integer pagingType) { + List leaderUserIds = new ArrayList<>(); + + //判断特殊情况, 只需查看各部门领导人得日志 + if (pageReqVO.getIsBoss()!= null && pageReqVO.getIsBoss() == 1) { + + //查询两级以及三级部门得领导人 + //以及岗位为总监或副总监的用户 + leaderUserIds = adminUserService.getUserByBoss(); + } + Page page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); - IPage pageList = logInstanceMapper.selectPageResult(page, pageReqVO, getLoginUserId(), pagingType); + IPage pageList = logInstanceMapper.selectPageResult(page, pageReqVO, getLoginUserId(), pagingType, leaderUserIds); List records = pageList.getRecords(); if (!records.isEmpty()) { diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/user/AdminUserMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/user/AdminUserMapper.xml index 58a5d30f..c8b5e294 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/user/AdminUserMapper.xml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/user/AdminUserMapper.xml @@ -23,4 +23,19 @@ #{deptIds} + + \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/LogInstanceMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/LogInstanceMapper.xml index f6548b3e..fd1a054f 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/LogInstanceMapper.xml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/LogInstanceMapper.xml @@ -124,6 +124,12 @@ and a.start_user_id = #{userId} + + and a.start_user_id in + + #{userId} + + GROUP BY a.id, readStatus, readCount, unReadCount, comment ORDER BY a.create_time DESC