update 查询指定学生相关内容

develop
hhb@hotmail.com 2 months ago
parent 247a60b066
commit d53c4817d2

@ -4,6 +4,7 @@ import cn.teammodel.common.R;
import cn.teammodel.controller.admin.service.ExamService; import cn.teammodel.controller.admin.service.ExamService;
import cn.teammodel.controller.admin.service.LaborEducationService; import cn.teammodel.controller.admin.service.LaborEducationService;
import cn.teammodel.model.dto.admin.exam.OverViewDto; import cn.teammodel.model.dto.admin.exam.OverViewDto;
import cn.teammodel.model.dto.admin.labor.FindDto;
import cn.teammodel.model.dto.admin.labor.LaborDto; import cn.teammodel.model.dto.admin.labor.LaborDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -29,4 +30,10 @@ public class LaborEducationController {
Map<String, Object> res = laborEducationService.getAnalysis(laborDto,request); Map<String, Object> res = laborEducationService.getAnalysis(laborDto,request);
return R.success(res); return R.success(res);
} }
@PostMapping("getDetails")
@ApiOperation("获取指定学生评测和评价数据")
public R<Map<String, Object>> getDetails(@Valid @RequestBody FindDto findDto, HttpServletRequest request) {
Map<String, Object> res = laborEducationService.getDetails(findDto,request);
return R.success(res);
}
} }

@ -1,6 +1,7 @@
package cn.teammodel.controller.admin.service; package cn.teammodel.controller.admin.service;
import cn.teammodel.model.dto.admin.exam.OverViewDto; import cn.teammodel.model.dto.admin.exam.OverViewDto;
import cn.teammodel.model.dto.admin.labor.FindDto;
import cn.teammodel.model.dto.admin.labor.LaborDto; import cn.teammodel.model.dto.admin.labor.LaborDto;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -9,4 +10,5 @@ import java.util.Map;
public interface LaborEducationService { public interface LaborEducationService {
Map<String,Object> getAnalysis(LaborDto laborDto, HttpServletRequest request); Map<String,Object> getAnalysis(LaborDto laborDto, HttpServletRequest request);
Map<String,Object> getDetails(FindDto findDto, HttpServletRequest request);
} }

@ -9,6 +9,7 @@ import cn.teammodel.model.dto.admin.common.GCDto;
import cn.teammodel.model.dto.admin.common.GroupDto; import cn.teammodel.model.dto.admin.common.GroupDto;
import cn.teammodel.model.dto.admin.common.RGroupList; import cn.teammodel.model.dto.admin.common.RGroupList;
import cn.teammodel.model.dto.admin.common.RMember; import cn.teammodel.model.dto.admin.common.RMember;
import cn.teammodel.model.dto.admin.labor.FindDto;
import cn.teammodel.model.dto.admin.labor.LaborDto; import cn.teammodel.model.dto.admin.labor.LaborDto;
import cn.teammodel.model.entity.appraise.Appraise; import cn.teammodel.model.entity.appraise.Appraise;
import cn.teammodel.model.entity.appraise.AppraiseTreeNode; import cn.teammodel.model.entity.appraise.AppraiseTreeNode;
@ -205,6 +206,22 @@ public class LaborEducationServiceImpl implements LaborEducationService {
} }
@Override
public Map<String, Object> getDetails(FindDto findDto, HttpServletRequest request) {
Map<String, Object> resMap = new HashMap<>();
List<Exam> exams;
List<RecordVo> res;
try {
exams = examRepository.findExamByClassId(String.format(PK.EXAM, findDto.getTmdId()), findDto.getClassId(), findDto.getPeriodId(), findDto.getSubjectId());
res= appraiseRecordRepository.getRecords(String.format(PK.PK_APPRAISE_RECORD, findDto.getCode()),findDto.getAcademicYearId(), findDto.getClassId(), findDto.getStudentId());
resMap.put("exams",exams);
resMap.put("res", res);
}catch (Exception e){
throw new ServiceException(ErrorCode.SYSTEM_ERROR.getCode(), "数据查询异常");
}
return resMap;
}
public List<Map<String, Object>> combineScoresWithExamResults( public List<Map<String, Object>> combineScoresWithExamResults(
List<Map<String, Object>> scores, List<Map<String, Object>> scores,
List<ExamClassResult> examResults, List<ExamClassResult> examResults,

@ -0,0 +1,14 @@
package cn.teammodel.model.dto.admin.labor;
import lombok.Data;
@Data
public class FindDto {
public String code;
public String studentId;
public String classId;
public String subjectId;
public String periodId;
public String academicYearId;
public String tmdId;
}

@ -19,6 +19,7 @@ public class RecordVo {
private String targetType; // 评价对象类型 private String targetType; // 评价对象类型
private String creatorId; private String creatorId;
private String creator; private String creator;
private String[] path;
private Long createTime; private Long createTime;
@JsonProperty("isPraise") @JsonProperty("isPraise")
private boolean isPraise; private boolean isPraise;

@ -82,6 +82,18 @@ public interface AppraiseRecordRepository extends CosmosRepository<AppraiseRecor
List<RecordVo> latestRecords(String code, String academicYearId, Long startTime, Long endTime, Collection<String> ids); List<RecordVo> latestRecords(String code, String academicYearId, Long startTime, Long endTime, Collection<String> ids);
/**
*
*/
@Query("select c.id as recordId, c.name as targetName, c.avatar, c.classId,c.className, n.id as recordNodeId, c.targetId, c.targetType, n.creator, n.createTime, n.appraiseNode.name as appraiseName, n.appraiseNode.isPraise, n.device,n.appraiseNode.path from Student as c join n in c.nodes where " +
"c.code = @code and " +
"c.academicYearId = @academicYearId and " +
"c.classId = @classId and " +
"c.targetId = @studentId "
)
List<RecordVo> getRecords(String code, String academicYearId, String classId,String studentId);
@Query("select c.classId as id, count(1) as count from Student as c join n in c.nodes where( " + @Query("select c.classId as id, count(1) as count from Student as c join n in c.nodes where( " +
"c.code = @code) and " + "c.code = @code) and " +
"(c.academicYearId = @academicYearId) and " + "(c.academicYearId = @academicYearId) and " +

@ -12,8 +12,8 @@ import java.util.List;
@Repository @Repository
public interface ExamRepository extends CosmosRepository<Exam, String> { public interface ExamRepository extends CosmosRepository<Exam, String> {
@Query("select * from Exam as s where s.code = @code and array_contains(s.classes,@classId) and s.period.id = @periodId and s.progress = 'finish' order by s.createTime ") @Query("select s.id,s.name,s.average,s.createTime from Exam as s join p in s.subjects where s.code = @code and array_contains(s.classes,@classId) and s.period.id = @periodId and s.progress = 'finish' and p.id =@subjectId order by s.createTime ")
List<Exam> findExamByClassId(@Param("code")String code, @Param("classId")String classId, @Param("periodId")String periodId); List<Exam> findExamByClassId(String code,String classId,String periodId,String subjectId);
@Query("select * from Exam as s where s.code = @code and s.id = @id") @Query("select * from Exam as s where s.code = @code and s.id = @id")
List<Exam> findExamById(@Param("code")String code, @Param("id")String id); List<Exam> findExamById(@Param("code")String code, @Param("id")String id);
@Query("select s.id,s.name,s.average,s.classes,s.stuCount,s.createTime,s.papers from Exam as s where s.code = @code and s.lessonRecordId in (@ids)") @Query("select s.id,s.name,s.average,s.classes,s.stuCount,s.createTime,s.papers from Exam as s where s.code = @code and s.lessonRecordId in (@ids)")

Loading…
Cancel
Save