Эх сурвалжийг харах

Merge remote-tracking branch 'origin/dev_v3.2.3' into dev_v3.2.3

xiaofei 2 жил өмнө
parent
commit
de473631ef
17 өөрчлөгдсөн 255 нэмэгдсэн , 48 устгасан
  1. 2 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/excel/TeacherTeamDto.java
  2. 10 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/TeachCourseMapper.java
  3. 9 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TeachCourseService.java
  4. 30 7
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java
  5. 1 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TeachClazzServiceImpl.java
  6. 9 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TeachCourseServiceImpl.java
  7. 3 1
      distributed-print-business/src/main/resources/db/3.2.3更新脚本-增量.sql
  8. 17 0
      distributed-print-business/src/main/resources/mapper/TeachCourseMapper.xml
  9. 2 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCourseController.java
  10. 7 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/TeachCourseController.java
  11. 47 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/dto/AssignTeacherDto.java
  12. 57 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/TeacherSelectResult.java
  13. 4 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicCourseService.java
  14. 2 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysUserService.java
  15. 31 12
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java
  16. 13 12
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java
  17. 11 10
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java

+ 2 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/excel/TeacherTeamDto.java

@@ -1,5 +1,6 @@
 package com.qmth.distributed.print.business.bean.dto.excel;
 
+import com.qmth.teachcloud.common.annotation.ExcelImportTempleteVaild;
 import com.qmth.teachcloud.common.annotation.ExcelNote;
 
 import javax.validation.constraints.NotNull;
@@ -10,6 +11,7 @@ import java.io.Serializable;
  * @Author: CaoZixuan
  * @Date: 2023-03-16
  */
+@ExcelImportTempleteVaild(value = true)
 public class TeacherTeamDto implements Serializable {
     @ExcelNote(value = "姓名")
     @NotNull

+ 10 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/TeachCourseMapper.java

@@ -5,9 +5,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.distributed.print.business.bean.result.TeachCourseResult;
 import com.qmth.distributed.print.business.entity.TeachCourse;
+import com.qmth.teachcloud.common.bean.result.TeacherSelectResult;
 import com.qmth.teachcloud.common.bean.result.TeacherTeamResult;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * @Description: 教学课程mapper
  * @Author: CaoZixuan
@@ -41,4 +44,11 @@ public interface TeachCourseMapper extends BaseMapper<TeachCourse> {
                                                  @Param("userInfo") String userInfo,
                                                  @Param("basicCourseId") Long basicCourseId,
                                                  @Param("schoolId") Long schoolId);
+
+    /**
+     * 根据机构id查询教师集合
+     * @param orgIdList orgIdList
+     * @return 教师查询集合
+     */
+    List<TeacherSelectResult> findTeacherByOrgIds(@Param("orgIdList") List<Long> orgIdList);
 }

+ 9 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TeachCourseService.java

@@ -7,6 +7,7 @@ import com.qmth.distributed.print.business.bean.params.TeacherTeamParam;
 import com.qmth.distributed.print.business.bean.result.DictionaryResult;
 import com.qmth.distributed.print.business.bean.result.TeachCourseResult;
 import com.qmth.distributed.print.business.entity.TeachCourse;
+import com.qmth.teachcloud.common.bean.result.TeacherSelectResult;
 import com.qmth.teachcloud.common.bean.result.TeacherTeamResult;
 import com.qmth.teachcloud.common.entity.SysUser;
 import org.springframework.web.multipart.MultipartFile;
@@ -109,4 +110,12 @@ public interface TeachCourseService extends IService<TeachCourse> {
      * @return 分页结果
      */
     IPage<TeacherTeamResult> findTeacherTeamPage(String userInfo, Long basicCourseId, int pageNumber, int pageSize);
+
+    /**
+     * 根据机构id查询用户
+     *
+     * @param orgId 机构id
+     * @return 用户结果
+     */
+    List<TeacherSelectResult> findUserByOrgId(Long orgId);
 }

+ 30 - 7
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -27,12 +27,14 @@ import com.qmth.distributed.print.business.templete.execute.AsyncPaperReviewPdfE
 import com.qmth.distributed.print.business.templete.service.TaskLogicService;
 import com.qmth.distributed.print.business.util.CreatePdfUtil;
 import com.qmth.distributed.print.business.util.HtmlToPdfUtil;
+import com.qmth.teachcloud.common.bean.dto.AssignTeacherDto;
 import com.qmth.teachcloud.common.bean.dto.BlurryUserDto;
 import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.dto.MqDto;
 import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
 import com.qmth.teachcloud.common.bean.params.BasicStudentExtrasParam;
 import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
+import com.qmth.teachcloud.common.bean.result.SysUserResult;
 import com.qmth.teachcloud.common.config.DictionaryConfig;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.*;
@@ -509,11 +511,18 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                     String excelTeacherAccount = userImportDto.getUserAccount();
                     String excelTeacherName = userImportDto.getUserName();
 
-                    List<BlurryUserDto> listUser = sysUserService.listUser(excelCourseCode, null);
+//                    List<BlurryUserDto> listUser = sysUserService.listUser(excelCourseCode, null);
+                    AssignTeacherDto assignTeacherDto = sysUserService.listUser(excelCourseCode, null);
+                    List<BlurryUserDto> listUser = Objects.nonNull(assignTeacherDto) ? assignTeacherDto.getBlurryUserDtoList() : new ArrayList<BlurryUserDto>();
                     Map<String, String> userMap = listUser.stream().collect(Collectors.toMap(BlurryUserDto::getLoginName, BlurryUserDto::getName));
                     if (userMap == null) {
                         excelErrorTemp.add(new ExcelError(y + 1, "excel第" + (i + 1) + "个sheet第" + (y + 1) + "行[命题老师账号]不存在"));
                     } else {
+                        List<SysUserResult> courseUserList = Objects.nonNull(assignTeacherDto) ? assignTeacherDto.getCourseUserList() : new ArrayList<SysUserResult>();
+                        Map<String, String> courseUserMap = courseUserList.stream().collect(Collectors.toMap(SysUserResult::getLoginName, SysUserResult::getRealName));
+                        if (!CollectionUtils.isEmpty(courseUserMap)) {
+                            userMap.putAll(courseUserMap);
+                        }
                         if (StringUtils.isNotBlank(excelTeacherAccount)) {
                             if (StringUtils.isBlank(excelTeacherName)) {
                                 excelErrorTemp.add(new ExcelError(y + 1, "excel第" + (i + 1) + "个sheet第" + (y + 1) + "行[命题老师姓名]不能为空"));
@@ -605,21 +614,21 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                 examTaskDto.setCourseName(examTaskTemp.getCourseName());
                 examTaskDto.setPaperNumber(examTaskTemp.getPaperNumber());
                 examTaskDto.setSpecialty(examTaskTemp.getSpecialty());
-                List<BlurryUserDto> blurryUserDtoList;
+                AssignTeacherDto assignTeacherDto = null;
 
                 QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
                 queryWrapper.lambda().eq(SysUser::getSchoolId, schoolId).eq(SysUser::getLoginName, examTaskTemp.getUserAccount());
                 SysUser sysUser1 = sysUserService.getOne(queryWrapper);
                 if (sysUser1 != null) {
-                    blurryUserDtoList = listUsers(examTaskTemp.getCourseCode(), String.valueOf(sysUser1.getId()));
+                    assignTeacherDto = listUsers(examTaskTemp.getCourseCode(), String.valueOf(sysUser1.getId()));
                 } else {
-                    blurryUserDtoList = listUsers(examTaskTemp.getCourseCode(), null);
+                    assignTeacherDto = listUsers(examTaskTemp.getCourseCode(), null);
                 }
-                examTaskDto.setUsers(blurryUserDtoList);
+                examTaskDto.setUsers(Objects.nonNull(assignTeacherDto) ? assignTeacherDto.getBlurryUserDtoList() : new ArrayList<BlurryUserDto>());
                 String userName = examTaskTempDto.getUserName();
                 String userAccount = examTaskTempDto.getUserAccount();
                 if (SystemConstant.strNotNull(userName) && SystemConstant.strNotNull(userAccount)) {
-                    List<BlurryUserDto> match = blurryUserDtoList.stream()
+                    List<BlurryUserDto> match = assignTeacherDto.getBlurryUserDtoList().stream()
                             .filter(e -> e.getLoginName().equals(userAccount) && e.getName().equals(userName))
                             .collect(Collectors.toList());
                     if (match.size() > 1) {
@@ -630,6 +639,20 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                         examTaskDto.setUserId(String.valueOf(tmp.getId()));
                         examTaskDto.setUserName(tmp.getName());
                     }
+
+                    if (Objects.nonNull(assignTeacherDto) && !CollectionUtils.isEmpty(assignTeacherDto.getCourseUserList())) {
+                        List<SysUserResult> matchCouserUser = assignTeacherDto.getCourseUserList().stream()
+                                .filter(e -> e.getLoginName().equals(userAccount) && e.getRealName().equals(userName))
+                                .collect(Collectors.toList());
+                        if (matchCouserUser.size() > 1) {
+                            throw ExceptionResultEnum.ERROR.exception("数据异常");
+                        }
+                        if (matchCouserUser.size() == 1) {
+                            SysUserResult tmp = matchCouserUser.get(0);
+                            examTaskDto.setUserId(String.valueOf(tmp.getId()));
+                            examTaskDto.setUserName(tmp.getRealName());
+                        }
+                    }
                 }
 
 //                // 校验命题老师
@@ -667,7 +690,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         return examTaskImportDto;
     }
 
-    private List<BlurryUserDto> listUsers(String courseCode, String userId) {
+    private AssignTeacherDto listUsers(String courseCode, String userId) {
         return sysUserService.listUser(courseCode, userId);
     }
 

+ 1 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TeachClazzServiceImpl.java

@@ -81,6 +81,7 @@ public class TeachClazzServiceImpl extends ServiceImpl<TeachClazzMapper,TeachCla
         TeachClazz check = this.getOne(new QueryWrapper<TeachClazz>()
                 .lambda()
                 .eq(TeachClazz::getSchoolId, schoolId)
+                .eq(TeachClazz::getBasicCourseId,basicCourse.getId())
                 .eq(TeachClazz::getTeachClazzName, teachClazzName));
 
         if (Objects.nonNull(check) && !check.getId().equals(id)) {

+ 9 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TeachCourseServiceImpl.java

@@ -18,6 +18,7 @@ import com.qmth.distributed.print.business.service.TeachCourseService;
 import com.qmth.teachcloud.common.base.BaseEntity;
 import com.qmth.teachcloud.common.bean.params.BasicCourseParams;
 import com.qmth.teachcloud.common.bean.params.UserSaveParams;
+import com.qmth.teachcloud.common.bean.result.TeacherSelectResult;
 import com.qmth.teachcloud.common.bean.result.TeacherTeamResult;
 import com.qmth.teachcloud.common.bean.result.UserRoleNameResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
@@ -362,4 +363,12 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
         });
         return page;
     }
+
+    @Override
+    public List<TeacherSelectResult> findUserByOrgId(Long orgId) {
+        List<Long> temp = new ArrayList<>();
+        temp.add(orgId);
+        Set<Long> orgIdSet = sysOrgService.findDeepOrgIdListByOrgIdList(temp);
+        return this.baseMapper.findTeacherByOrgIds(new ArrayList<>(orgIdSet));
+    }
 }

+ 3 - 1
distributed-print-business/src/main/resources/db/3.2.3更新脚本-增量.sql

@@ -1271,4 +1271,6 @@ ALTER TABLE `basic_operation_log`
 ;
 ALTER TABLE `basic_role_data_permission`
     ADD INDEX `role_data_permission_idx` (`role_id` ASC, `privilege_id` ASC) VISIBLE;
-;
+;
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('860', '教师团队-根据机构查询', '/api/admin/teach/course/find_teacher_by_org', 'URL', '841', '13', 'AUTH', '1', '1', '1');
+UPDATE `sys_privilege` SET `related` = '77,842,843,844,845,846,847,848,849,850,851,852,853,860' WHERE (`id` = '841');

+ 17 - 0
distributed-print-business/src/main/resources/mapper/TeachCourseMapper.xml

@@ -54,6 +54,23 @@
             </if>
         </where>
     </select>
+    <select id="findTeacherByOrgIds" resultType="com.qmth.teachcloud.common.bean.result.TeacherSelectResult">
+        SELECT
+            su.id, su.code, su.real_name AS realName, so.name AS orgName
+        FROM
+            sys_user su
+                LEFT JOIN
+            sys_org so ON su.org_id = so.id
+        <where>
+            <if test="orgIdList != null and orgIdList != '' and orgIdList.size() > 0">
+                AND su.org_id IN
+                <foreach collection="orgIdList" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+        ORDER BY so.id
+    </select>
 </mapper>
 
 

+ 2 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCourseController.java

@@ -152,7 +152,8 @@ public class BasicCourseController {
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
     public Result findBasicCourseListByOrg(@ApiParam(value = "所属机构id", required = true) @RequestParam String belongOrgId) {
-        return ResultUtil.ok(basicCourseService.listByOrgId(SystemConstant.convertIdToLong(belongOrgId)));
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        return ResultUtil.ok(basicCourseService.listByOrgId(SystemConstant.convertIdToLong(belongOrgId), sysUser.getSchoolId()));
     }
 }
 

+ 7 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/TeachCourseController.java

@@ -151,5 +151,11 @@ public class TeachCourseController {
         return ResultUtil.ok(teachCourseService.findTeacherTeamPage(userInfo, SystemConstant.convertIdToLong(basicCourseId), pageNumber, pageSize));
     }
 
-
+    @ApiOperation(value = "教师团队-根据机构查询")
+    @RequestMapping(value = "/find_teacher_by_org", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
+    @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
+    public Result findTeachCoursePage(@ApiParam(value = "课程名称(模糊查询)") @RequestParam(required = false) Long orgId) {
+        return ResultUtil.ok(teachCourseService.findUserByOrgId(orgId));
+    }
 }

+ 47 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/dto/AssignTeacherDto.java

@@ -0,0 +1,47 @@
+package com.qmth.teachcloud.common.bean.dto;
+
+import com.qmth.teachcloud.common.bean.result.SysUserResult;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+/**
+ * @Description: 命题老师 dto
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2023/3/27
+ */
+public class AssignTeacherDto {
+
+    @ApiModelProperty(value = "命题老师集合")
+    List<BlurryUserDto> blurryUserDtoList;
+
+    @ApiModelProperty(value = "课程下系统用户")
+    List<SysUserResult> courseUserList;
+
+    public AssignTeacherDto() {
+
+    }
+
+    public AssignTeacherDto(List<BlurryUserDto> blurryUserDtoList, List<SysUserResult> courseUserList) {
+        this.blurryUserDtoList = blurryUserDtoList;
+        this.courseUserList = courseUserList;
+    }
+
+    public List<BlurryUserDto> getBlurryUserDtoList() {
+        return blurryUserDtoList;
+    }
+
+    public void setBlurryUserDtoList(List<BlurryUserDto> blurryUserDtoList) {
+        this.blurryUserDtoList = blurryUserDtoList;
+    }
+
+    public List<SysUserResult> getCourseUserList() {
+        return courseUserList;
+    }
+
+    public void setCourseUserList(List<SysUserResult> courseUserList) {
+        this.courseUserList = courseUserList;
+    }
+}

+ 57 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/TeacherSelectResult.java

@@ -0,0 +1,57 @@
+package com.qmth.teachcloud.common.bean.result;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description:
+ * @Author: CaoZixuan
+ * @Date:
+ */
+public class TeacherSelectResult {
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty("用户id")
+    private Long id;
+
+    @ApiModelProperty("工号")
+    private String code;
+
+    @ApiModelProperty("姓名")
+    private String realName;
+
+    @ApiModelProperty("机构名称")
+    private String orgName;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getRealName() {
+        return realName;
+    }
+
+    public void setRealName(String realName) {
+        this.realName = realName;
+    }
+
+    public String getOrgName() {
+        return orgName;
+    }
+
+    public void setOrgName(String orgName) {
+        this.orgName = orgName;
+    }
+}

+ 4 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicCourseService.java

@@ -117,8 +117,10 @@ public interface BasicCourseService extends IService<BasicCourse> {
 
     /**
      * 根据机构id选择老师
-     * @param orgId 机构id
+     *
+     * @param orgId    机构id
+     * @param schoolId 学校id
      * @return 基础课程结果
      */
-    List<TeachCourseSelectResult> listByOrgId(Long orgId);
+    List<TeachCourseSelectResult> listByOrgId(Long orgId, Long schoolId);
 }

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysUserService.java

@@ -2,7 +2,7 @@ package com.qmth.teachcloud.common.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.teachcloud.common.bean.dto.BlurryUserDto;
+import com.qmth.teachcloud.common.bean.dto.AssignTeacherDto;
 import com.qmth.teachcloud.common.bean.dto.LoginDto;
 import com.qmth.teachcloud.common.bean.dto.UserDto;
 import com.qmth.teachcloud.common.bean.dto.UserRoleDto;
@@ -99,7 +99,7 @@ public interface SysUserService extends IService<SysUser> {
 
     LoginDto getUserRoles(SysUser sysUser);
 
-    List<BlurryUserDto> listUser(String courseCode, String param);
+    AssignTeacherDto listUser(String courseCode, String param);
 
     List<SysUser> listByOrgId(Long id);
 

+ 31 - 12
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -396,18 +396,37 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
     }
 
     @Override
-    public List<TeachCourseSelectResult> listByOrgId(Long orgId) {
-        return this.list(new QueryWrapper<BasicCourse>()
-                        .lambda()
-                        .eq(BasicCourse::getTeachingRoomId, orgId))
-                .stream().flatMap(e -> {
-                    TeachCourseSelectResult teachCourseSelectResult = new TeachCourseSelectResult();
-                    teachCourseSelectResult.setBasicCourseId(e.getId());
-                    teachCourseSelectResult.setCourseName(e.getName());
-                    teachCourseSelectResult.setCourseCode(e.getCode());
-                    teachCourseSelectResult.setTeachCollegeName(sysOrgService.findCollegeLevelOrgByOrgId(orgId).getName());
-                    return Stream.of(teachCourseSelectResult);
-                }).collect(Collectors.toList());
+    public List<TeachCourseSelectResult> listByOrgId(Long orgId,Long schoolId) {
+        List<Long> temp = new ArrayList<>();
+        temp.add(orgId);
+
+        Set<Long> orgIdSet = sysOrgService.findDeepOrgIdListByOrgIdList(temp);
+        List<TeachCourseSelectResult> result = new ArrayList<>();
+        if (orgIdSet.size() > 0) {
+            // 全校学院级机构map
+            Map<Long, String> collegeMap = new HashMap<>();
+            for (Long teachRoomId : orgIdSet) {
+                if (!collegeMap.containsKey(teachRoomId)){
+                    SysOrg sysOrg = sysOrgService.findCollegeLevelOrgByOrgId(teachRoomId);
+                    if (Objects.nonNull(sysOrg)){
+                        collegeMap.put(teachRoomId,sysOrg.getName());
+                    }
+                }
+            }
+            result = this.list(new QueryWrapper<BasicCourse>()
+                            .lambda()
+                            .in(BasicCourse::getTeachingRoomId, orgIdSet)
+                            .orderByAsc(BasicCourse::getOrgId))
+                    .stream().flatMap(e -> {
+                        TeachCourseSelectResult teachCourseSelectResult = new TeachCourseSelectResult();
+                        teachCourseSelectResult.setBasicCourseId(e.getId());
+                        teachCourseSelectResult.setCourseName(e.getName());
+                        teachCourseSelectResult.setCourseCode(e.getCode());
+                        teachCourseSelectResult.setTeachCollegeName(collegeMap.get(e.getTeachingRoomId()));
+                        return Stream.of(teachCourseSelectResult);
+                    }).collect(Collectors.toList());
+        }
+        return result;
     }
 
     private List<BasicCourse> editEntityHelp(List<BasicCourseParams> basicCourseParamsList, SysUser sysUser) {

+ 13 - 12
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java

@@ -388,8 +388,10 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     public List<SysOrg> findParentsByOrgId(Long orgId) {
         SysOrg sysOrg = this.getById(orgId);
         Long parentId = sysOrg.getParentId();
-        List<SysOrg> result = this.findTopDFS(null, parentId);
-        result.add(sysOrg);
+        List<SysOrg> result = new ArrayList<>();
+        if (SystemConstant.longNotNull(parentId)) {
+            result = this.findTopDFS(null, parentId);
+        }
         return result;
     }
 
@@ -468,19 +470,18 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
         if (!SystemConstant.longNotNull(orgId)) {
             throw ExceptionResultEnum.ERROR.exception("机构id不存在");
         }
-
+        SysOrg result = null;
         List<SysOrg> orgList = this.findParentsByOrgId(orgId).stream().distinct().collect(Collectors.toList());
         List<SysOrg> schoolOrgList = orgList.stream().filter(e -> OrgTypeEnum.SCHOOL.equals(e.getType())).collect(Collectors.toList());
-        if (schoolOrgList.size() != 1) {
-            throw ExceptionResultEnum.ERROR.exception("学校信息异常");
-        }
-        SysOrg schoolOrg = schoolOrgList.get(0);
-        Long schoolOrgId = schoolOrg.getId();
-        List<SysOrg> collegeOrgList = orgList.stream().filter(e -> schoolOrgId.equals(e.getParentId())).collect(Collectors.toList());
-        if (collegeOrgList.size() != 1) {
-            throw ExceptionResultEnum.ERROR.exception("开课学院异常");
+        if (schoolOrgList.size() == 1) {
+            SysOrg schoolOrg = schoolOrgList.get(0);
+            Long schoolOrgId = schoolOrg.getId();
+            List<SysOrg> collegeOrgList = orgList.stream().filter(e -> schoolOrgId.equals(e.getParentId())).collect(Collectors.toList());
+            if (collegeOrgList.size() == 1) {
+                result = collegeOrgList.get(0);
+            }
         }
-        return collegeOrgList.get(0);
+        return result;
     }
 
     @Override

+ 11 - 10
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java

@@ -360,7 +360,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     }
 
     @Override
-    public List<BlurryUserDto> listUser(String courseCode, String param) {
+    public AssignTeacherDto listUser(String courseCode, String param) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         QueryWrapper<BasicCourse> basicCourseQueryWrapper = new QueryWrapper<>();
         basicCourseQueryWrapper.lambda().eq(BasicCourse::getSchoolId, schoolId)
@@ -396,21 +396,22 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
      * @param schoolId
      * @return
      */
-    private List<BlurryUserDto> listUserCommon(BasicCourse basicCourse, Long schoolId) {
-        int count = this.countByTeachingRoomId(basicCourse.getTeachingRoomId());
-        List<SysOrg> sysOrgList = null;
-        if (count == 0) {
-            sysOrgList = sysOrgService.findByConnectByParentId(basicCourse.getTeachingRoomId(), true, true);
-        } else {
-            sysOrgList = sysOrgService.findByConnectByRootOrgId(basicCourse.getTeachingRoomId());
-        }
+    private AssignTeacherDto listUserCommon(BasicCourse basicCourse, Long schoolId) {
+//        int count = this.countByTeachingRoomId(basicCourse.getTeachingRoomId());
+//        List<SysOrg> sysOrgList = null;
+//        if (count == 0) {
+//            sysOrgList = sysOrgService.findByConnectByParentId(basicCourse.getTeachingRoomId(), true, true);
+//        } else {
+        List<SysOrg> sysOrgList = sysOrgService.findByConnectByRootOrgId(basicCourse.getTeachingRoomId());
+//        }
         Set<Long> orgIds = sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toSet());
         List<ApproveUserResult> sysUserList = sysUserService.filterFlowPrivilege(schoolId, orgIds, false, null, null);
+        List<SysUserResult> resultList = sysUserService.findCourseSysUserResultList(schoolId, basicCourse.getCode());
         List<BlurryUserDto> blurryUserDtoList = new ArrayList<>();
         for (ApproveUserResult sysUser : sysUserList) {
             blurryUserDtoList.add(new BlurryUserDto(sysUser.getId(), sysUser.getLoginName(), sysUser.getRealName()));
         }
-        return blurryUserDtoList;
+        return new AssignTeacherDto(blurryUserDtoList, resultList);
     }
 
     @Override