添加学员考核成绩统计功能
parent
a0893303ce
commit
8b65050d71
|
|
@ -8,6 +8,7 @@ import com.zcloud.edu.api.study.ClassServiceI;
|
|||
import com.zcloud.edu.api.study.StudentServiceI;
|
||||
import com.zcloud.edu.dto.archives.ClassArchivesQry;
|
||||
import com.zcloud.edu.dto.clientobject.study.ClassCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.data.archives.ClassArchivesDTO;
|
||||
import com.zcloud.edu.dto.data.archives.PersonArchivesDTO;
|
||||
import com.zcloud.edu.dto.study.ClassPageQry;
|
||||
|
|
@ -33,9 +34,8 @@ public class ArchivesController {
|
|||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<ClassCO> page(@RequestBody ClassPageQry qry) {
|
||||
qry.setEqCorpinfoId(AuthContext.getCurrentUser().getTenantId());
|
||||
return classService.appListPage(qry);
|
||||
public PageResponse<StudentCO> page(@RequestBody ClassPageQry qry) {
|
||||
return classService.listStudentClass(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("查询学时证明")
|
||||
|
|
@ -61,4 +61,10 @@ public class ArchivesController {
|
|||
return studentService.getClassSign(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("学员考核成绩统计表")
|
||||
@PostMapping("/getClassExamResult")
|
||||
public SingleResponse<ClassArchivesDTO> getClassExamResult(@RequestBody ClassArchivesQry qry) {
|
||||
return studentService.getClassExamResult(qry);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ public class ClassController {
|
|||
return MultiResponse.of(new ArrayList<ClassCO>());
|
||||
}
|
||||
@ApiOperation("统计人员班级数")
|
||||
@GetMapping("/countStuClass")
|
||||
@PostMapping("/countStuClass")
|
||||
public MultiResponse<StudentCO> countStuClass(@RequestBody ClassCountQry qry) {
|
||||
return classService.countStuClass(qry);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -138,5 +138,12 @@ public class ClassQueryExe {
|
|||
List<StudentCO> studentCOList = BeanUtil.copyToList(studentDOList, StudentCO.class);
|
||||
return MultiResponse.of(studentCOList);
|
||||
}
|
||||
public PageResponse<StudentCO> executeListStudentClass(ClassPageQry classPageQry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(classPageQry);
|
||||
PageResponse<StudentDO> pageResponse = classRepository.listStudentClassPage(params);
|
||||
List<StudentCO> examCenterCOS = studentCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ import lombok.AllArgsConstructor;
|
|||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -61,10 +62,9 @@ public class StudentQueryExe {
|
|||
ClassDO classDO = classRepository.getByClassId(studentDO.getClassId());
|
||||
ClassE classE = new ClassE();
|
||||
BeanUtils.copyProperties(classDO, classE);
|
||||
|
||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("classId", studentDO.getClassId());
|
||||
// 课程信息
|
||||
ClassCurriculumE classCurriculumE = new ClassCurriculumE();
|
||||
Map<String, Object> params = classCurriculumE.initListAllParams(studentDO.getClassId());
|
||||
List<ClassCurriculumDO> curEList = classCurriculumRepository.listAll(params);
|
||||
List<ClassCurriculumE> classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class);
|
||||
|
||||
|
|
@ -91,10 +91,9 @@ public class StudentQueryExe {
|
|||
ClassDO classDO = classRepository.getByClassId(studentDO.getClassId());
|
||||
ClassE classE = new ClassE();
|
||||
BeanUtils.copyProperties(classDO, classE);
|
||||
|
||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("classId", studentDO.getClassId());
|
||||
// 课程信息
|
||||
ClassCurriculumE classCurriculumE = new ClassCurriculumE();
|
||||
Map<String, Object> params = classCurriculumE.initListAllParams(studentDO.getClassId());
|
||||
List<ClassCurriculumDO> curEList = classCurriculumRepository.listAll(params);
|
||||
List<ClassCurriculumE> classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class);
|
||||
|
||||
|
|
@ -118,10 +117,9 @@ public class StudentQueryExe {
|
|||
ClassDO classDO = classRepository.getByClassId(studentDO.getClassId());
|
||||
ClassE classE = new ClassE();
|
||||
BeanUtils.copyProperties(classDO, classE);
|
||||
|
||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("classId", studentDO.getClassId());
|
||||
// 课程信息
|
||||
ClassCurriculumE classCurriculumE = new ClassCurriculumE();
|
||||
Map<String, Object> params = classCurriculumE.initListAllParams(studentDO.getClassId());
|
||||
List<ClassCurriculumDO> curEList = classCurriculumRepository.listAll(params);
|
||||
List<ClassCurriculumE> classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class);
|
||||
|
||||
|
|
@ -143,9 +141,10 @@ public class StudentQueryExe {
|
|||
ClassE classE = new ClassE();
|
||||
long stuCount = studentRepository.countByClassId(qry.getClassId());
|
||||
BeanUtils.copyProperties(classDO, classE);
|
||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("classId", qry.getClassId());
|
||||
|
||||
// 课程信息
|
||||
ClassCurriculumE classCurriculumE = new ClassCurriculumE();
|
||||
Map<String, Object> params = classCurriculumE.initListAllParams(qry.getClassId());
|
||||
List<ClassCurriculumDO> curEList = classCurriculumRepository.listAll(params);
|
||||
List<ClassCurriculumE> classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class);
|
||||
|
||||
|
|
@ -164,7 +163,46 @@ public class StudentQueryExe {
|
|||
|
||||
}
|
||||
|
||||
public SingleResponse<ClassArchivesDTO> executeGetClassExamResult(ClassArchivesQry qry){
|
||||
// 班级信息
|
||||
ClassDO classDO = classRepository.getByClassId(qry.getClassId());
|
||||
ClassE classE = new ClassE();
|
||||
BeanUtils.copyProperties(classDO, classE);
|
||||
|
||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("classId", qry.getClassId());
|
||||
|
||||
// 学员总数
|
||||
List<StudentDO> stuList = studentRepository.listAll(params);
|
||||
List<StudentCO> stuCOList = BeanUtil.copyToList(stuList, StudentCO.class);
|
||||
|
||||
// // 课程信息
|
||||
// List<ClassCurriculumDO> curEList = classCurriculumRepository.listAll(params);
|
||||
// List<ClassCurriculumE> classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class);
|
||||
|
||||
// 签到人员数量
|
||||
params.put("type",1);
|
||||
List<StudentSignDO> studentSignList = studentSignRepository.listAll(params);
|
||||
ClassArchivesE classArchivesE = new ClassArchivesE();
|
||||
|
||||
// 整理数据
|
||||
classArchivesE.initClassExamResult(classE, stuList.size(), studentSignList.size());
|
||||
ClassArchivesDTO classArchivesDTO = new ClassArchivesDTO();
|
||||
BeanUtils.copyProperties(classArchivesE, classArchivesDTO);
|
||||
// 获取通过和未通过学员
|
||||
List<StudentCO> passStudentList = new ArrayList<StudentCO>();
|
||||
List<StudentCO> failStudentList = new ArrayList<StudentCO>();
|
||||
stuCOList.forEach(stu -> {
|
||||
if (stu.getState() == 0){
|
||||
failStudentList.add(stu);
|
||||
}
|
||||
if (stu.getState() == 1){
|
||||
passStudentList.add(stu);
|
||||
}
|
||||
});
|
||||
classArchivesDTO.setPassStudentList(passStudentList);
|
||||
classArchivesDTO.setFailStudentList(failStudentList);
|
||||
return SingleResponse.of(classArchivesDTO);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -88,5 +88,10 @@ public class ClassServiceImpl implements ClassServiceI {
|
|||
public MultiResponse<StudentCO> countStuClass(ClassCountQry qry) {
|
||||
return classQueryExe.executeCountStuClass(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<StudentCO> listStudentClass(ClassPageQry qry) {
|
||||
return classQueryExe.executeListStudentClass(qry);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -84,5 +84,10 @@ public class StudentServiceImpl implements StudentServiceI {
|
|||
public Long countStudent(String classId) {
|
||||
return studentQueryExe.executeCountStudent(classId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<ClassArchivesDTO> getClassExamResult(ClassArchivesQry qry) {
|
||||
return studentQueryExe.executeGetClassExamResult(qry);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,5 +40,8 @@ public interface ClassServiceI {
|
|||
SingleResponse<ClassCountDTO> statisticsCount(ClassPageQry qry);
|
||||
|
||||
MultiResponse<StudentCO> countStuClass(ClassCountQry qry);
|
||||
|
||||
|
||||
PageResponse<StudentCO> listStudentClass(ClassPageQry qry);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,5 +38,7 @@ public interface StudentServiceI {
|
|||
SingleResponse<ClassArchivesDTO> getClassSign(ClassArchivesQry qry);
|
||||
|
||||
Long countStudent(String classId);
|
||||
|
||||
SingleResponse<ClassArchivesDTO> getClassExamResult(ClassArchivesQry qry);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,6 +49,9 @@ public class ClassCO extends ClientObject {
|
|||
//机构ID
|
||||
@ApiModelProperty(value = "机构ID")
|
||||
private Long corpinfoId;
|
||||
//机构ID
|
||||
@ApiModelProperty(value = "所属单位")
|
||||
private String corpName;
|
||||
//状态:1-未申请 2-待开班 3- 培训中 4-培训结束
|
||||
@ApiModelProperty(value = "状态:1-未申请 2-待开班 3- 培训中 4-培训结束 ")
|
||||
private Integer state;
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ public class StudentCO extends ClientObject {
|
|||
@ApiModelProperty(value = "考试签到状态 0-未签到 1-已签到")
|
||||
private Integer examSignFlag;
|
||||
//学员状态 0-未学习 1-已签到 2-考试通过 3-未签到 4-考试未通过
|
||||
@ApiModelProperty(value = "学员状态 0-未学习 1-已签到 2-考试通过 3-未签到 4-考试未通过")
|
||||
@ApiModelProperty(value = "学员状态 0-未完成 1-已完成")
|
||||
private Integer state;
|
||||
//相关方id集合
|
||||
@ApiModelProperty(value = "相关方id集合")
|
||||
|
|
@ -108,6 +108,77 @@ public class StudentCO extends ClientObject {
|
|||
private Integer completeClassCount;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//班级名称
|
||||
@ApiModelProperty(value = "班级名称")
|
||||
@TableField(exist = false)
|
||||
private String className;
|
||||
//培训日期 开始时间
|
||||
@ApiModelProperty(value = "培训日期 开始时间")
|
||||
@TableField(exist = false)
|
||||
private String startTime;
|
||||
//培训日期 结束日期
|
||||
@ApiModelProperty(value = "培训日期 结束日期")
|
||||
@TableField(exist = false)
|
||||
private String endTime;
|
||||
//培训教师id
|
||||
@ApiModelProperty(value = "培训教师id")
|
||||
@TableField(exist = false)
|
||||
private Long teacherId;
|
||||
//教师名称
|
||||
@ApiModelProperty(value = "教师名称")
|
||||
@TableField(exist = false)
|
||||
private String teacherName;
|
||||
//培训行业类型
|
||||
@ApiModelProperty(value = "培训行业类型")
|
||||
@TableField(exist = false)
|
||||
private String trainType;
|
||||
//培训行业类型名称
|
||||
@ApiModelProperty(value = "培训行业类型名称")
|
||||
@TableField(exist = false)
|
||||
private String trainTypeName;
|
||||
//培训地点
|
||||
@ApiModelProperty(value = "培训地点")
|
||||
@TableField(exist = false)
|
||||
private String trainingLocation;
|
||||
//机构ID
|
||||
@ApiModelProperty(value = "机构ID")
|
||||
@TableField(exist = false)
|
||||
private Long corpinfoId;
|
||||
//所属单位
|
||||
@ApiModelProperty(value = "所属单位")
|
||||
@TableField(exist = false)
|
||||
private String corpName;
|
||||
//状态:1-未申请 2-待开班 3- 培训中 4-培训结束
|
||||
@ApiModelProperty(value = "状态:1-未申请 2-待开班 3- 培训中 4-培训结束 ")
|
||||
@TableField(exist = false)
|
||||
private Integer classState;
|
||||
//培训有效期日期 开始时间
|
||||
@ApiModelProperty(value = "培训有效期日期 开始时间")
|
||||
@TableField(exist = false)
|
||||
private String validStartTime;
|
||||
//培训有效期日期 结束时间
|
||||
@ApiModelProperty(value = "培训有效期日期 结束时间")
|
||||
@TableField(exist = false)
|
||||
private String validEndTime;
|
||||
//1考试0不考试
|
||||
@ApiModelProperty(value = "1考试0不考试")
|
||||
@TableField(exist = false)
|
||||
private Integer examination;
|
||||
//考试次数只有考试时候有用
|
||||
@ApiModelProperty(value = "考试次数只有考试时候有用")
|
||||
@TableField(exist = false)
|
||||
private Integer numberofexams;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//环境
|
||||
@ApiModelProperty(value = "环境")
|
||||
private String env;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.zcloud.edu.dto.data.archives;
|
||||
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentCO;
|
||||
import com.zcloud.edu.dto.clientobject.study.StudentSignCO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
|
@ -48,6 +49,9 @@ public class ClassArchivesDTO {
|
|||
//机构ID
|
||||
@ApiModelProperty(value = "机构ID")
|
||||
private Long corpinfoId;
|
||||
//所属单位名称
|
||||
@ApiModelProperty(value = "所属单位名称")
|
||||
private Long corpName;
|
||||
//状态:1-未申请 2-待开班 3- 培训中 4-培训结束
|
||||
@ApiModelProperty(value = "状态:1-未申请 2-待开班 3- 培训中 4-培训结束 ")
|
||||
private Integer state;
|
||||
|
|
@ -83,4 +87,11 @@ public class ClassArchivesDTO {
|
|||
|
||||
@ApiModelProperty(value = "学员数")
|
||||
private Long studentCount;
|
||||
@ApiModelProperty(value = "实际参加培训人数")
|
||||
private Long signCount;
|
||||
|
||||
@ApiModelProperty(value = "合格学员列表")
|
||||
private List<StudentCO> passStudentList;
|
||||
@ApiModelProperty(value = "不合格学员列表")
|
||||
private List<StudentCO> failStudentList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,6 +83,9 @@ public class ClassArchivesE extends BaseE {
|
|||
@ApiModelProperty(value = "学员数")
|
||||
private Long studentCount;
|
||||
|
||||
@ApiModelProperty(value = "实际参加培训人数")
|
||||
private Long signCount;
|
||||
|
||||
public void initClassSign(ClassE classE, Long studentCount, List<ClassCurriculumE> classCurList) {
|
||||
BeanUtils.copyProperties(classE, this);
|
||||
String trainSubject = classCurList.stream().map(ClassCurriculumE::getCurriculumName).collect(Collectors.joining(","));
|
||||
|
|
@ -91,5 +94,14 @@ public class ClassArchivesE extends BaseE {
|
|||
setStudentCount(studentCount);
|
||||
setClzId(classE.getId());
|
||||
}
|
||||
public void initClassExamResult(ClassE classE, Integer studentCount, Integer signCount) {
|
||||
BeanUtils.copyProperties(classE, this);
|
||||
setClassName(classE.getName());
|
||||
// String trainSubject = classCurList.stream().map(ClassCurriculumE::getCurriculumName).collect(Collectors.joining(","));
|
||||
// setTrainSubject(trainSubject);
|
||||
setStudentCount(Long.valueOf(studentCount));
|
||||
setSignCount(Long.valueOf(signCount));
|
||||
setClzId(classE.getId());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,11 +100,6 @@ public class ClassCurriculumE extends BaseE {
|
|||
});
|
||||
}
|
||||
|
||||
public HashMap<String, Object> initListAllParams(String classId){
|
||||
HashMap<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("classId", classId);
|
||||
return params;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -116,5 +116,6 @@ public class StudentE extends BaseE {
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,10 @@ public class ClassDO extends BaseDO {
|
|||
//机构ID
|
||||
@ApiModelProperty(value = "机构ID")
|
||||
private Long corpinfoId;
|
||||
//所属单位
|
||||
@ApiModelProperty(value = "所属单位")
|
||||
@TableField(exist = false)
|
||||
private String corpName;
|
||||
//状态:1-未申请 2-待开班 3- 培训中 4-培训结束
|
||||
@ApiModelProperty(value = "状态:1-未申请 2-待开班 3- 培训中 4-培训结束 ")
|
||||
private Integer state;
|
||||
|
|
|
|||
|
|
@ -81,8 +81,8 @@ public class StudentDO extends BaseDO {
|
|||
//考试签到状态 0-未签到 1-已签到
|
||||
@ApiModelProperty(value = "考试签到状态 0-未签到 1-已签到")
|
||||
private Integer examSignFlag;
|
||||
//学员状态 0-未学习 1-已签到 2-考试通过 3-未签到 4-考试未通过
|
||||
@ApiModelProperty(value = "学员状态 0-未学习 1-已签到 2-考试通过 3-未签到 4-考试未通过")
|
||||
//学员状态 0-未完成 1-已完成
|
||||
@ApiModelProperty(value = "学员状态 0-未完成 1-已完成")
|
||||
private Integer state;
|
||||
//相关方id集合
|
||||
@ApiModelProperty(value = "相关方id集合")
|
||||
|
|
@ -105,5 +105,67 @@ public class StudentDO extends BaseDO {
|
|||
@TableField(exist = false)
|
||||
private Integer completeClassCount;
|
||||
|
||||
|
||||
//班级名称
|
||||
@ApiModelProperty(value = "班级名称")
|
||||
@TableField(exist = false)
|
||||
private String className;
|
||||
//培训日期 开始时间
|
||||
@ApiModelProperty(value = "培训日期 开始时间")
|
||||
@TableField(exist = false)
|
||||
private String startTime;
|
||||
//培训日期 结束日期
|
||||
@ApiModelProperty(value = "培训日期 结束日期")
|
||||
@TableField(exist = false)
|
||||
private String endTime;
|
||||
//培训教师id
|
||||
@ApiModelProperty(value = "培训教师id")
|
||||
@TableField(exist = false)
|
||||
private Long teacherId;
|
||||
//教师名称
|
||||
@ApiModelProperty(value = "教师名称")
|
||||
@TableField(exist = false)
|
||||
private String teacherName;
|
||||
//培训行业类型
|
||||
@ApiModelProperty(value = "培训行业类型")
|
||||
@TableField(exist = false)
|
||||
private String trainType;
|
||||
//培训行业类型名称
|
||||
@ApiModelProperty(value = "培训行业类型名称")
|
||||
@TableField(exist = false)
|
||||
private String trainTypeName;
|
||||
//培训地点
|
||||
@ApiModelProperty(value = "培训地点")
|
||||
@TableField(exist = false)
|
||||
private String trainingLocation;
|
||||
//机构ID
|
||||
@ApiModelProperty(value = "机构ID")
|
||||
@TableField(exist = false)
|
||||
private Long corpinfoId;
|
||||
//所属单位
|
||||
@ApiModelProperty(value = "所属单位")
|
||||
@TableField(exist = false)
|
||||
private String corpName;
|
||||
//状态:1-未申请 2-待开班 3- 培训中 4-培训结束
|
||||
@ApiModelProperty(value = "状态:1-未申请 2-待开班 3- 培训中 4-培训结束 ")
|
||||
@TableField(exist = false)
|
||||
private Integer classState;
|
||||
//培训有效期日期 开始时间
|
||||
@ApiModelProperty(value = "培训有效期日期 开始时间")
|
||||
@TableField(exist = false)
|
||||
private String validStartTime;
|
||||
//培训有效期日期 结束时间
|
||||
@ApiModelProperty(value = "培训有效期日期 结束时间")
|
||||
@TableField(exist = false)
|
||||
private String validEndTime;
|
||||
//1考试0不考试
|
||||
@ApiModelProperty(value = "1考试0不考试")
|
||||
@TableField(exist = false)
|
||||
private Integer examination;
|
||||
//考试次数只有考试时候有用
|
||||
@ApiModelProperty(value = "考试次数只有考试时候有用")
|
||||
@TableField(exist = false)
|
||||
private Integer numberofexams;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zcloud.edu.persistence.dataobject.study.ClassDO;
|
||||
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
||||
import com.zcloud.edu.persistence.mapper.po.study.ClassQuestionPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
|
@ -25,9 +26,12 @@ public interface ClassMapper extends BaseMapper<ClassDO> {
|
|||
|
||||
List<ClassDO> listStatistics(@Param("ew") QueryWrapper<ClassDO> queryWrapper, String menuPerms);
|
||||
IPage<ClassDO> listStuClassPage(IPage<ClassDO> page, @Param("params") Map<String, Object> params, String menuPerms);
|
||||
IPage<StudentDO> listStudentClassPage(IPage<StudentDO> page, @Param("params") Map<String, Object> params, String menuPerms);
|
||||
|
||||
List<ClassQuestionPO> countQuestionByClassId(String classId);
|
||||
|
||||
ClassDO getInfoById(long id);
|
||||
|
||||
ClassDO getInfoByClassId(String classId);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@ public interface StudentMapper extends BaseMapper<StudentDO> {
|
|||
|
||||
List<StudentDO> countStuClass(@Param("params") Map<String, Object> params);
|
||||
|
||||
List<StudentDO> listAll(@Param("params") Map<String, Object> params);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import com.zcloud.edu.persistence.dataobject.study.ClassDO;
|
||||
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
||||
import com.zcloud.edu.persistence.mapper.study.ClassMapper;
|
||||
import com.zcloud.edu.persistence.mapper.po.study.ClassQuestionPO;
|
||||
import com.zcloud.edu.persistence.repository.study.ClassRepository;
|
||||
|
|
@ -56,11 +57,16 @@ public class ClassRepositoryImpl extends BaseRepositoryImpl<ClassMapper, ClassDO
|
|||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<StudentDO> listStudentClassPage(Map<String, Object> params) {
|
||||
IPage<StudentDO> iPage = new Query<StudentDO>().getPage(params);
|
||||
IPage<StudentDO> result = classMapper.listStudentClassPage(iPage, params, null);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassDO getByClassId(String classId) {
|
||||
QueryWrapper<ClassDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("class_id", classId);
|
||||
return classMapper.selectOne(queryWrapper);
|
||||
return classMapper.getInfoByClassId(classId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -97,5 +97,10 @@ public class StudentRepositoryImpl extends BaseRepositoryImpl<StudentMapper, Stu
|
|||
return studentMapper.selectOne(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StudentDO> listAll(Map<String, Object> params) {
|
||||
return studentMapper.listAll(params);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -69,5 +69,10 @@ public class StudentSignRepositoryImpl extends BaseRepositoryImpl<StudentSignMap
|
|||
queryWrapper.isNotNull("sign_url");
|
||||
return studentSignMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer countByClassId(String classId) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.zcloud.edu.persistence.repository.study;
|
|||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
import com.zcloud.edu.persistence.dataobject.study.ClassDO;
|
||||
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
||||
import com.zcloud.edu.persistence.mapper.po.study.ClassQuestionPO;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -20,6 +21,8 @@ public interface ClassRepository extends BaseRepository<ClassDO> {
|
|||
|
||||
PageResponse<ClassDO> listStuClassPage(Map<String, Object> params);
|
||||
|
||||
PageResponse<StudentDO> listStudentClassPage(Map<String, Object> params);
|
||||
|
||||
ClassDO getByClassId(String classId);
|
||||
|
||||
List<ClassQuestionPO> countQuestionByClassId(String classId);
|
||||
|
|
|
|||
|
|
@ -33,11 +33,9 @@ public interface StudentRepository extends BaseRepository<StudentDO> {
|
|||
|
||||
List<StudentDO> countStuClass(Map<String, Object> params);
|
||||
|
||||
|
||||
StudentDO findInfoByStudentId(String studentId);
|
||||
|
||||
|
||||
|
||||
List<StudentDO> listAll(Map<String, Object> params);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ public interface StudentSignRepository extends BaseRepository<StudentSignDO> {
|
|||
|
||||
List<StudentSignDO> listAllByStudentId(Map<String, Object> params);
|
||||
|
||||
Integer countByClassId(String classId);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,6 +42,32 @@
|
|||
WHERE
|
||||
c.id = #{id}
|
||||
</select>
|
||||
<select id="getInfoByClassId" resultType="com.zcloud.edu.persistence.dataobject.study.ClassDO">
|
||||
SELECT
|
||||
c.id,
|
||||
c.class_id,
|
||||
c.name,
|
||||
c.start_time,
|
||||
c.end_time,
|
||||
c.teacher_id,
|
||||
c.teacher_name,
|
||||
c.train_type,
|
||||
ci.corp_name,
|
||||
t.name train_type_name,
|
||||
c.training_location,
|
||||
c.corpinfo_id,
|
||||
c.state,
|
||||
c.valid_start_time,
|
||||
c.valid_end_time,
|
||||
c.examination,
|
||||
c.numberofexams
|
||||
FROM
|
||||
class c
|
||||
left join training_type t on t.training_type_id = c.train_type
|
||||
left join corp_info ci on ci.id = c.corpinfo_id
|
||||
WHERE
|
||||
c.class_id = #{classId}
|
||||
</select>
|
||||
<select id="listPage" resultType="com.zcloud.edu.persistence.dataobject.study.ClassDO">
|
||||
SELECT
|
||||
c.id,
|
||||
|
|
@ -120,7 +146,51 @@
|
|||
c.state,
|
||||
c.create_time desc
|
||||
</select>
|
||||
<select id="listStudentClassPage" resultType="com.zcloud.edu.persistence.dataobject.study.StudentDO">
|
||||
SELECT
|
||||
c.id clz_id,
|
||||
c.class_id,
|
||||
c.name class_name,
|
||||
c.start_time,
|
||||
c.end_time,
|
||||
c.teacher_id,
|
||||
c.teacher_name,
|
||||
c.train_type,
|
||||
t.name train_type_name,
|
||||
c.training_location,
|
||||
c.corpinfo_id,
|
||||
ci.corp_name,
|
||||
case when c.state = 1 then 1
|
||||
when c.state = 2 and c.start_time > now() then 2
|
||||
when c.state = 2 and c.start_time <= now() and c.end_time > now() then 3
|
||||
when c.state = 2 and c.end_time >= now() then 4
|
||||
|
||||
end class_state,
|
||||
c.valid_start_time,
|
||||
c.valid_end_time,
|
||||
c.examination,
|
||||
c.numberofexams,
|
||||
s.*
|
||||
FROM
|
||||
student s
|
||||
left join class c on c.class_id = s.class_id
|
||||
left join training_type t on t.training_type_id = c.train_type
|
||||
left join corp_info ci on ci.id = c.corpinfo_id
|
||||
<where>
|
||||
AND s.phone = #{params.phone}
|
||||
AND s.delete_enum = 'FALSE'
|
||||
AND c.delete_enum = 'FALSE'
|
||||
<if test="params.likeName != null and params.likeName !='' ">
|
||||
and c.name like concat('%',#{params.likeName},'%')
|
||||
</if>
|
||||
<if test="params.eqCorpinfoId != null and params.eqCorpinfoId !='' ">
|
||||
and c.corpinfo_id = #{params.eqCorpinfoId}
|
||||
</if>
|
||||
</where>
|
||||
order by
|
||||
c.state,
|
||||
c.create_time desc
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
|
|
|||
|
|
@ -90,5 +90,18 @@
|
|||
group by s.phone
|
||||
</select>
|
||||
|
||||
<select id="listAll" resultType="com.zcloud.edu.persistence.dataobject.study.StudentDO">
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
student
|
||||
<where>
|
||||
and delete_enum = 'FALSE'
|
||||
<if test="params.classId != null and params.classId != ''">
|
||||
and class_id = #{params.classId}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
ss.*
|
||||
FROM
|
||||
student_sign ss
|
||||
LEFT JOIN student s ON ss.student_id = ss.student_id
|
||||
LEFT JOIN student s ON ss.student_id = s.student_id
|
||||
LEFT JOIN class cl ON cl.class_id = s.class_id
|
||||
<where>
|
||||
<if test="params.classId != null and params.classId != ''">
|
||||
|
|
@ -20,6 +20,9 @@
|
|||
<if test="params.studentId != null and params.studentId != ''">
|
||||
AND ss.student_id = #{params.studentId}
|
||||
</if>
|
||||
<if test="params.type != null and params.type != ''">
|
||||
AND ss.type = #{params.type}
|
||||
</if>
|
||||
AND ss.delete_enum = 'FALSE'
|
||||
and ss.sign_url is not null
|
||||
and ss.sign_url != ''
|
||||
|
|
|
|||
Loading…
Reference in New Issue