diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/LogInstanceController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/LogInstanceController.java index 885a4faa..f2af66d3 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/LogInstanceController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/LogInstanceController.java @@ -1,5 +1,7 @@ package cn.iocoder.yudao.module.system.controller.admin.worklog; +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; +import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptRespVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstancePageReqVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceSaveReqVO; @@ -90,6 +92,15 @@ public class LogInstanceController { return success(BeanUtils.toBean(pageResult, LogInstanceRespVO.class)); } + @PostMapping("/get-dept") + @Operation(summary = "获得我收到的日志页面中的部门列表") + @PreAuthorize("@ss.hasPermission('system:view-log:query')") + public CommonResult> getReadDept() { + + List deptInfo = logInstanceService.getDeptInfo(); + return success(deptInfo); + } + @GetMapping("/export-excel") @Operation(summary = "导出日志实例的拓展 Excel") @PreAuthorize("@ss.hasPermission('system:log-instance:export')") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceService.java index 15da52df..985770af 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceService.java @@ -1,12 +1,14 @@ package cn.iocoder.yudao.module.system.service.worklog; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptRespVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstancePageReqVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceSaveReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogInstanceDO; import javax.validation.Valid; +import java.util.List; /** * 日志实例的拓展 Service 接口 @@ -61,4 +63,6 @@ public interface LogInstanceService { * @return 流程实例的分页 */ PageResult getMyProcessInstancePage(Long userId, LogInstancePageReqVO pageReqVO); + + List getDeptInfo(); } \ No newline at end of file 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 cb1b972b..fe272685 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 @@ -1,16 +1,22 @@ package cn.iocoder.yudao.module.system.service.worklog; +import ch.qos.logback.core.pattern.ConverterUtil; +import cn.hutool.core.convert.Convert; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.system.api.dept.DeptApiImpl; +import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptRespVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstancePageReqVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceSaveReqVO; import cn.iocoder.yudao.module.system.convert.worklog.LogInstanceConvert; +import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogFormDO; import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogInstanceDO; import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogRuleDO; import cn.iocoder.yudao.module.system.dal.mysql.worklog.LogInstanceMapper; +import cn.iocoder.yudao.module.system.service.dept.DeptService; import cn.iocoder.yudao.module.system.service.dict.DictDataService; import cn.iocoder.yudao.module.system.service.user.AdminUserService; import cn.iocoder.yudao.module.system.service.worklog.dto.LogReadUserRespDTO; @@ -19,6 +25,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; 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.security.core.util.SecurityFrameworkUtils.getLoginUserId; @@ -38,7 +45,7 @@ public class LogInstanceServiceImpl implements LogInstanceService { private LogInstanceMapper logInstanceMapper; @Resource - private DictDataService dictDataService; + private DeptService deptService; @Resource private LogRuleService logRuleService; @@ -132,4 +139,16 @@ public class LogInstanceServiceImpl implements LogInstanceService { return LogInstanceConvert.INSTANCE.convertPage(logInstanceMapper.selectMyPage(userId, pageReqVO)); } + + @Override + public List getDeptInfo() { + + List logInstanceDOS = logInstanceMapper.selectList(); + List deptIds = logInstanceDOS.stream() + .map(LogInstanceDO::getDeptId) // 获取每个LogInstanceDO的 deptId + .collect(Collectors.toList()); // 收集成List + + List deptDOS = deptService.getDeptList(deptIds); + return BeanUtils.toBean(deptDOS, DeptRespVO.class); + } } \ No newline at end of file