From b97c9326a5370fd9a190e2a0f49645ff93e9bcef Mon Sep 17 00:00:00 2001
From: huangzhen <867217663@qq.com>
Date: 星期五, 27 十月 2023 15:09:18 +0800
Subject: [PATCH] 教师模块增加根据工种类型进行导入

---
 exam-system/src/main/java/com/gkhy/exam/coalmine/service/EduResourcesManagerService.java          |    2 ++
 exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java |   35 +++++++++++++++++++++++++++++++++++
 exam-system/src/main/java/com/gkhy/exam/coalmine/controller/TeacherManageController.java          |    9 ++++++++-
 3 files changed, 45 insertions(+), 1 deletions(-)

diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/TeacherManageController.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/TeacherManageController.java
index 25c3734..e85cb88 100644
--- a/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/TeacherManageController.java
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/TeacherManageController.java
@@ -50,11 +50,18 @@
     @ApiOperation(value = "分页获取教师管理",httpMethod = "GET")
     @GetMapping("/page")
     public TableDataInfo selectTeacherAll(@RequestParam @NotNull(message = "isCm不能为空") int isCm) {
-        startPage();
         List<GetTeacherRespDTO> list = eduResourcesManagerService.selectTeacherAll(isCm);
         return getDataTable(list);
     }
 
+    @ApiOperation(value = "分页获取教师管理通过工种类型",httpMethod = "GET")
+    @GetMapping("/pageByCondition")
+    public TableDataInfo selectTeacherByCondition(@RequestParam @NotNull(message = "isCm不能为空") int isCm
+            ,@RequestParam Long operateTypeId) {
+        List<GetTeacherRespDTO> list = eduResourcesManagerService.selectTeacherByCondition(isCm,operateTypeId);
+        return getDataTable(list);
+    }
+
     /**
      * 通过主键查询单条数据
      */
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/EduResourcesManagerService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/EduResourcesManagerService.java
index 757c2ca..84c0805 100644
--- a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/EduResourcesManagerService.java
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/EduResourcesManagerService.java
@@ -42,4 +42,6 @@
 
     AjaxResult deleteTeacherBindOperateType(Long id);
 
+    List<GetTeacherRespDTO> selectTeacherByCondition(int isCm, Long operateTypeId);
+
 }
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java
index 98d0db3..42eb86f 100644
--- a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java
@@ -40,6 +40,8 @@
 import java.util.Map;
 import java.util.stream.Collectors;
 
+import static com.ruoyi.common.utils.PageUtils.startPage;
+
 /**
  * @author Mr.huang
  * @decription
@@ -340,6 +342,7 @@
 
     @Override
     public List<GetTeacherRespDTO> selectTeacherAll(Integer isCm) {
+        startPage();
         LambdaQueryWrapper<TeacherManage> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(TeacherManage::getDelFlag,DeleteStatusEnum.NO.getStatus())
                 .eq(TeacherManage::getIsCm,isCm);
@@ -352,7 +355,39 @@
             dtos.add(dto);
         }
         return dtos;
+    }
 
+    @Override
+    public List<GetTeacherRespDTO> selectTeacherByCondition(int isCm, Long operateTypeId) {
+        if (operateTypeId == null || operateTypeId == 0)
+            return selectTeacherAll(isCm);
+        LambdaQueryWrapper<TeacherManageOperateTypeBind> wrapper = new LambdaQueryWrapper<>();
+        List<TeacherManageOperateTypeBind> teacherManageOperateTypeBinds =
+                teacherManageOperateTypeBindService.list(wrapper.eq(TeacherManageOperateTypeBind::getOperateTypeId, operateTypeId)
+                        .eq(TeacherManageOperateTypeBind::getDelFlag,DeleteStatusEnum.NO.getStatus()));
+        if (CollectionUtils.isEmpty(teacherManageOperateTypeBinds)){
+            return new ArrayList<>();
+        }
+        List<Long> teacherManageIds = teacherManageOperateTypeBinds.stream()
+                .map(TeacherManageOperateTypeBind::getTeacherManageId)
+                .distinct()
+                .collect(Collectors.toList());
+        if (CollectionUtils.isEmpty(teacherManageIds))
+            return new ArrayList<>();
+        startPage();
+        LambdaQueryWrapper<TeacherManage> teacherManageWrapper = new LambdaQueryWrapper<>();
+        teacherManageWrapper.eq(TeacherManage::getDelFlag,DeleteStatusEnum.NO.getStatus())
+                .eq(TeacherManage::getIsCm,isCm)
+                .in(TeacherManage::getId,teacherManageIds);
+        List<TeacherManage> list = teacherManageService.list(teacherManageWrapper);
+        if (CollectionUtils.isEmpty(list))
+            return new ArrayList<>();
+        List<GetTeacherRespDTO> dtos = new ArrayList<>();
+        for (TeacherManage manage : list) {
+            GetTeacherRespDTO dto = getTeacherRespDTO(manage);
+            dtos.add(dto);
+        }
+        return dtos;
     }
 
     @Override

--
Gitblit v1.9.2