Browse Source

fix:课程管理

caozixuan 2 years ago
parent
commit
6aaf5dc323

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

+ 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>()
         TeachClazz check = this.getOne(new QueryWrapper<TeachClazz>()
                 .lambda()
                 .lambda()
                 .eq(TeachClazz::getSchoolId, schoolId)
                 .eq(TeachClazz::getSchoolId, schoolId)
+                .eq(TeachClazz::getBasicCourseId,basicCourse.getId())
                 .eq(TeachClazz::getTeachClazzName, teachClazzName));
                 .eq(TeachClazz::getTeachClazzName, teachClazzName));
 
 
         if (Objects.nonNull(check) && !check.getId().equals(id)) {
         if (Objects.nonNull(check) && !check.getId().equals(id)) {

+ 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)})
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
     public Result findBasicCourseListByOrg(@ApiParam(value = "所属机构id", required = true) @RequestParam String belongOrgId) {
     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()));
     }
     }
 }
 }
 
 

+ 0 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/TeachCourseController.java

@@ -150,6 +150,4 @@ public class TeachCourseController {
                                     @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
                                     @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
         return ResultUtil.ok(teachCourseService.findTeacherTeamPage(userInfo, SystemConstant.convertIdToLong(basicCourseId), pageNumber, pageSize));
         return ResultUtil.ok(teachCourseService.findTeacherTeamPage(userInfo, SystemConstant.convertIdToLong(basicCourseId), pageNumber, pageSize));
     }
     }
-
-
 }
 }

+ 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选择老师
      * 根据机构id选择老师
-     * @param orgId 机构id
+     *
+     * @param orgId    机构id
+     * @param schoolId 学校id
      * @return 基础课程结果
      * @return 基础课程结果
      */
      */
-    List<TeachCourseSelectResult> listByOrgId(Long orgId);
+    List<TeachCourseSelectResult> listByOrgId(Long orgId, Long schoolId);
 }
 }

+ 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
     @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) {
     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) {
     public List<SysOrg> findParentsByOrgId(Long orgId) {
         SysOrg sysOrg = this.getById(orgId);
         SysOrg sysOrg = this.getById(orgId);
         Long parentId = sysOrg.getParentId();
         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;
         return result;
     }
     }
 
 
@@ -468,19 +470,18 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
         if (!SystemConstant.longNotNull(orgId)) {
         if (!SystemConstant.longNotNull(orgId)) {
             throw ExceptionResultEnum.ERROR.exception("机构id不存在");
             throw ExceptionResultEnum.ERROR.exception("机构id不存在");
         }
         }
-
+        SysOrg result = null;
         List<SysOrg> orgList = this.findParentsByOrgId(orgId).stream().distinct().collect(Collectors.toList());
         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());
         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
     @Override