瀏覽代碼

班级管理

caozixuan 3 年之前
父節點
當前提交
e5c2ce54e8

+ 7 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicClazzController.java

@@ -82,4 +82,11 @@ public class BasicClazzController {
         TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;
         return Objects.nonNull(tbTask) ? ResultUtil.ok(tbTask.getId()) : ResultUtil.error("创建任务失败");
     }
+
+    @ApiOperation(value = "班级数据源查询")
+    @RequestMapping(value = "/datasource", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
+    public Result findBasicClazzList() {
+        return ResultUtil.ok(basicClazzService.findClazzDatasource());
+    }
 }

+ 2 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/params/BasicStudentParams.java

@@ -30,14 +30,12 @@ public class BasicStudentParams {
     private String studentCode;
 
     @ApiModelProperty(value = "手机号码")
-    @NotNull(message = "请输入手机号码")
-    @Length(min = 1,message = "请输入手机号码")
     private String phoneNumber;
 
     @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "班级信息")
-    @NotNull(message = "请输入班级信息")
-    @Length(min = 1,message = "请输入班级信息")
+    @NotNull(message = "请选择班级")
+    @Range(min = 1L, message = "请选择班级")
     private Long clazzId;
 
     public Long getId() {

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicClazzResult.java

@@ -12,7 +12,7 @@ import io.swagger.annotations.ApiModelProperty;
 public class BasicClazzResult {
 
     @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty(value = "学生id")
+    @ApiModelProperty(value = "班级id")
     private Long id;
 
     @JsonSerialize(using = ToStringSerializer.class)

+ 16 - 12
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicCourseResult.java

@@ -1,9 +1,12 @@
 package com.qmth.teachcloud.common.bean.result;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.List;
+
 /**
  * @Description: 课程查询结果
  * @Author: CaoZixuan
@@ -28,11 +31,12 @@ public class BasicCourseResult {
     @ApiModelProperty(value = "所属教研室名称")
     private String teachingRoomName;
 
-    @ApiModelProperty(value = "班级")
-    private String clazz;
+    @JsonIgnore
+    @ApiModelProperty(value = "班级主键集合")
+    private String clazzIds;
 
-    @ApiModelProperty(value = "班级")
-    private String clazzId;
+    @ApiModelProperty(value = "班级信息集合")
+    private List<ClazzDatasourceResult> clazzList;
 
     @ApiModelProperty(value = "是否被逻辑删除")
     private Boolean enable;
@@ -84,12 +88,12 @@ public class BasicCourseResult {
         this.teachingRoomName = teachingRoomName;
     }
 
-    public String getClazz() {
-        return clazz;
+    public List<ClazzDatasourceResult> getClazzList() {
+        return clazzList;
     }
 
-    public void setClazz(String clazz) {
-        this.clazz = clazz;
+    public void setClazzList(List<ClazzDatasourceResult> clazzList) {
+        this.clazzList = clazzList;
     }
 
     public Boolean getEnable() {
@@ -116,11 +120,11 @@ public class BasicCourseResult {
         this.createId = createId;
     }
 
-    public String getClazzId() {
-        return clazzId;
+    public String getClazzIds() {
+        return clazzIds;
     }
 
-    public void setClazzId(String clazzId) {
-        this.clazzId = clazzId;
+    public void setClazzIds(String clazzIds) {
+        this.clazzIds = clazzIds;
     }
 }

+ 47 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/ClazzDatasourceResult.java

@@ -0,0 +1,47 @@
+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: 2021-08-30
+ */
+public class ClazzDatasourceResult {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "班级id")
+    private Long id;
+
+    @ApiModelProperty(value = "班级名称")
+    private String name;
+
+    @ApiModelProperty(value = "班级编号")
+    private String code;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+}

+ 7 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicClazzService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.common.bean.params.BasicClazzParams;
 import com.qmth.teachcloud.common.bean.result.BasicClazzResult;
+import com.qmth.teachcloud.common.bean.result.ClazzDatasourceResult;
 import com.qmth.teachcloud.common.entity.BasicClazz;
 import com.qmth.teachcloud.common.entity.SysUser;
 import org.springframework.util.LinkedMultiValueMap;
@@ -49,4 +50,10 @@ public interface BasicClazzService extends IService<BasicClazz> {
      * @return 结果
      */
     Map<String, Object> executeBasicClazzImportLogic(List<LinkedMultiValueMap<Integer, Object>> finalList, Map<String, Object> map);
+
+    /**
+     * 查询班级下拉数据源
+     * @return 班级数据源
+     */
+    List<ClazzDatasourceResult> findClazzDatasource();
 }

+ 26 - 17
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicClazzServiceImpl.java

@@ -9,17 +9,12 @@ import com.qmth.teachcloud.common.bean.dto.excel.BasicClazzImportDto;
 import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
 import com.qmth.teachcloud.common.bean.params.BasicClazzParams;
 import com.qmth.teachcloud.common.bean.result.BasicClazzResult;
+import com.qmth.teachcloud.common.bean.result.ClazzDatasourceResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.BasicCampus;
-import com.qmth.teachcloud.common.entity.BasicClazz;
-import com.qmth.teachcloud.common.entity.BasicUserCourse;
-import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.mapper.BasicClazzMapper;
-import com.qmth.teachcloud.common.service.BasicCampusService;
-import com.qmth.teachcloud.common.service.BasicClazzService;
-import com.qmth.teachcloud.common.service.BasicUserCourseService;
-import com.qmth.teachcloud.common.service.TeachcloudCommonService;
+import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.apache.tomcat.util.buf.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -43,8 +38,8 @@ public class BasicClazzServiceImpl extends ServiceImpl<BasicClazzMapper, BasicCl
     private BasicClazzMapper basicClazzMapper;
     @Resource
     private TeachcloudCommonService teachcloudCommonService;
-//    @Resource
-//    private BasicStudentService basicStudentService;
+    @Resource
+    private BasicStudentService basicStudentService;
     @Resource
     private BasicUserCourseService basicUserCourseService;
     @Resource
@@ -79,13 +74,12 @@ public class BasicClazzServiceImpl extends ServiceImpl<BasicClazzMapper, BasicCl
         // 异常处理
         String errorStudent = "";
         String errorCourse = "";
-        // TODO: 2021/8/28  
-//        List<BasicStudent> basicStudentCheck = basicStudentService.list(new QueryWrapper<BasicStudent>().lambda().eq(BasicStudent::getEnable,true).in(BasicStudent::getClazzId,idList));
-//        if (basicStudentCheck.size() > 0){
-//            Set<Long> ids = basicStudentCheck.stream().map(BasicStudent::getClazzId).collect(Collectors.toSet());
-//            List<String> exStudentClazz = this.list(new QueryWrapper<BasicClazz>().lambda().in(BasicClazz::getId,ids)).stream().map(BasicClazz::getClazzName).collect(Collectors.toList());
-//            errorStudent = StringUtils.join(exStudentClazz,',');
-//        }
+        List<BasicStudent> basicStudentCheck = basicStudentService.list(new QueryWrapper<BasicStudent>().lambda().eq(BasicStudent::getEnable,true).in(BasicStudent::getClazzId,idList));
+        if (basicStudentCheck.size() > 0){
+            Set<Long> ids = basicStudentCheck.stream().map(BasicStudent::getClazzId).collect(Collectors.toSet());
+            List<String> exStudentClazz = this.list(new QueryWrapper<BasicClazz>().lambda().in(BasicClazz::getId,ids)).stream().map(BasicClazz::getClazzName).collect(Collectors.toList());
+            errorStudent = StringUtils.join(exStudentClazz,',');
+        }
 
         List<BasicUserCourse> basicUserCourseCheck = basicUserCourseService.list(new QueryWrapper<BasicUserCourse>().lambda().in(BasicUserCourse::getClazzId,idList));
         if (basicUserCourseCheck.size() > 0){
@@ -188,6 +182,21 @@ public class BasicClazzServiceImpl extends ServiceImpl<BasicClazzMapper, BasicCl
         return map;
     }
 
+    @Override
+    public List<ClazzDatasourceResult> findClazzDatasource() {
+        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
+        return this.list(new QueryWrapper<BasicClazz>().lambda()
+                .eq(BasicClazz::getEnable,true)
+                .in(BasicClazz::getOrgId,orgIds)).stream()
+                .map(e -> {
+                    ClazzDatasourceResult clazzDatasourceResult = new ClazzDatasourceResult();
+                    clazzDatasourceResult.setId(e.getId());
+                    clazzDatasourceResult.setName(e.getClazzName());
+                    clazzDatasourceResult.setCode(e.getClazzCode());
+                    return clazzDatasourceResult;
+                }).collect(Collectors.toList());
+    }
+
     /**
      * 基础班级保存助手方法
      *

+ 20 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -10,6 +10,7 @@ import com.qmth.teachcloud.common.bean.dto.excel.BasicCourseImportDto;
 import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
 import com.qmth.teachcloud.common.bean.params.BasicCourseParams;
 import com.qmth.teachcloud.common.bean.result.BasicCourseResult;
+import com.qmth.teachcloud.common.bean.result.ClazzDatasourceResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
@@ -17,12 +18,14 @@ import com.qmth.teachcloud.common.enums.OrgTypeEnum;
 import com.qmth.teachcloud.common.mapper.BasicCourseMapper;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ServletUtil;
+import org.checkerframework.checker.units.qual.C;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.LinkedMultiValueMap;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -115,7 +118,23 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
         Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         courseName = SystemConstant.translateSpecificSign(courseName);
-        return basicCourseMapper.findBasicCoursePage(new Page<>(pageNumber, pageSize), courseName, startCreateTime, endCreateTime, schoolId, orgIds);
+        IPage<BasicCourseResult> iPage = basicCourseMapper.findBasicCoursePage(new Page<>(pageNumber, pageSize), courseName, startCreateTime, endCreateTime, schoolId, orgIds);
+        List<BasicCourseResult> list = iPage.getRecords();
+        for (BasicCourseResult basicCourseResult : list) {
+            String clazzIds = basicCourseResult.getClazzIds();
+            String[] clazzIdArr = clazzIds.split(",");
+            List<ClazzDatasourceResult> clazzDatasourceResultList = new ArrayList<>();
+            for (String id : clazzIdArr) {
+                ClazzDatasourceResult clazzDatasourceResult = new ClazzDatasourceResult();
+                BasicClazz clazz = basicClazzService.getById(SystemConstant.convertIdToLong(id));
+                clazzDatasourceResult.setId(clazz.getId());
+                clazzDatasourceResult.setCode(clazz.getClazzCode());
+                clazzDatasourceResult.setName(clazz.getClazzName());
+                clazzDatasourceResultList.add(clazzDatasourceResult);
+            }
+            basicCourseResult.setClazzList(clazzDatasourceResultList);
+        }
+        return iPage;
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 1 - 3
teachcloud-common/src/main/resources/mapper/BasicCourseMapper.xml

@@ -64,10 +64,8 @@
             MAX(bc.name) AS courseName,
             MAX(teaching_room_id) AS teachingRoomId,
             MAX(org.name) AS teachingRoomName,
-            GROUP_CONCAT(clz.clazz_name
-                         SEPARATOR ',') AS clazz,
             GROUP_CONCAT(clz.id
-                         SEPARATOR ',') AS clazzId,
+                         SEPARATOR ',') AS clazzIds,
             MAX(bc.enable) as enable,
             MAX(bc.create_id) AS createId,
             MAX(bc.create_time) AS createTime