From 7664cd2f6c3d4b2b8357c810d89eb75acc7197be Mon Sep 17 00:00:00 2001 From: furongxin <419481438@qq.com> Date: Fri, 19 Apr 2024 12:19:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=88=86=E9=A1=B5=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=EF=BC=8C=20=E8=AE=BE=E7=BD=AE=E8=80=81=E6=9D=BF?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5=EF=BC=8C=E9=BB=98=E8=AE=A4=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=90=84=E4=B8=AA=E9=83=A8=E9=97=A8=E9=A2=86=E5=AF=BC?= =?UTF-8?q?=E4=BA=BA=E7=9A=84=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/loginstance/LogInstancePageReqVO.java | 3 +++ .../system/dal/mysql/user/AdminUserMapper.java | 2 ++ .../dal/mysql/worklog/LogInstanceMapper.java | 3 ++- .../system/service/user/AdminUserService.java | 6 ++++++ .../system/service/user/AdminUserServiceImpl.java | 6 ++++++ .../service/worklog/LogInstanceServiceImpl.java | 12 +++++++++++- .../resources/mapper/user/AdminUserMapper.xml | 15 +++++++++++++++ .../mapper/worklog/LogInstanceMapper.xml | 6 ++++++ 8 files changed, 51 insertions(+), 2 deletions(-) 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