update 五育数据整合 学生个人评价记录

develop
hhb@hotmail.com 2 weeks ago
parent b62bf53ca6
commit 086f63036f

@ -2,6 +2,7 @@ package cn.teammodel.controller.admin.controller;
import cn.teammodel.common.R; import cn.teammodel.common.R;
import cn.teammodel.controller.admin.service.TeacherService; import cn.teammodel.controller.admin.service.TeacherService;
import cn.teammodel.model.dto.admin.common.RecordDto;
import cn.teammodel.model.dto.admin.teacher.CoreUser; import cn.teammodel.model.dto.admin.teacher.CoreUser;
import cn.teammodel.model.dto.admin.teacher.GpTeacherDto; import cn.teammodel.model.dto.admin.teacher.GpTeacherDto;
import cn.teammodel.model.dto.admin.teacher.GpTeacherRequest; import cn.teammodel.model.dto.admin.teacher.GpTeacherRequest;
@ -154,4 +155,10 @@ public class TeacherController {
teacherService.saveFiveScores(teacherDto,request); teacherService.saveFiveScores(teacherDto,request);
return R.success("保存成功"); return R.success("保存成功");
} }
@PostMapping("getStudentRecords")
@ApiOperation("获取学生所有评价记录")
public R<Map<String,Object>> getTeacherRecord(@Valid @RequestBody RecordDto recordDto, HttpServletRequest request) {
Map<String,Object> res = teacherService.getTeacherRecord(recordDto,request);
return R.success(res);
}
} }

@ -1,5 +1,7 @@
package cn.teammodel.controller.admin.service; package cn.teammodel.controller.admin.service;
import cn.teammodel.model.dto.admin.Moral.MoralDto;
import cn.teammodel.model.dto.admin.common.RecordDto;
import cn.teammodel.model.dto.admin.teacher.CoreUser; import cn.teammodel.model.dto.admin.teacher.CoreUser;
import cn.teammodel.model.dto.admin.teacher.GpTeacherDto; import cn.teammodel.model.dto.admin.teacher.GpTeacherDto;
import cn.teammodel.model.dto.admin.teacher.GpTeacherRequest; import cn.teammodel.model.dto.admin.teacher.GpTeacherRequest;
@ -7,6 +9,7 @@ import cn.teammodel.model.dto.admin.teacher.TeacherDto;
import cn.teammodel.model.entity.school.Teacher; import cn.teammodel.model.entity.school.Teacher;
import cn.teammodel.model.entity.teacher.PtTeacherInfo; import cn.teammodel.model.entity.teacher.PtTeacherInfo;
import cn.teammodel.model.vo.admin.GpTeacherVo; import cn.teammodel.model.vo.admin.GpTeacherVo;
import cn.teammodel.model.vo.appraise.RecordVo;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
@ -34,4 +37,5 @@ public interface TeacherService {
void dataSync(GpTeacherRequest gpTeacherRequest, HttpServletRequest request); void dataSync(GpTeacherRequest gpTeacherRequest, HttpServletRequest request);
List<Map <String, Object> > getPtTeacher(TeacherDto teacherDto, HttpServletRequest request); List<Map <String, Object> > getPtTeacher(TeacherDto teacherDto, HttpServletRequest request);
void saveFiveScores(TeacherDto teacherDto, HttpServletRequest request); void saveFiveScores(TeacherDto teacherDto, HttpServletRequest request);
Map<String,Object> getTeacherRecord(RecordDto recordDto, HttpServletRequest request);
} }

@ -25,6 +25,8 @@ public class FiveEducationServiceImpl implements FiveEducationService {
@Autowired @Autowired
private MoralEducationService moralLaborService; private MoralEducationService moralLaborService;
@Autowired @Autowired
private TeacherService teacherService;
@Autowired
private ArtService artService; private ArtService artService;
@Override @Override
public Map<String, Object> getAnalysis(FiveDto dto, HttpServletRequest request) { public Map<String, Object> getAnalysis(FiveDto dto, HttpServletRequest request) {
@ -60,6 +62,12 @@ public class FiveEducationServiceImpl implements FiveEducationService {
integratedResult.put("laborAnalysis", moralLaborService.getAnalysis(dto.getLaborDto(), request)); integratedResult.put("laborAnalysis", moralLaborService.getAnalysis(dto.getLaborDto(), request));
}, executor)); }, executor));
} }
// 5. 学生评价记录(异步执行)
if (dto.getRecordDto() != null) {
futures.add(CompletableFuture.runAsync(() -> {
integratedResult.put("studentRecord", teacherService.getTeacherRecord(dto.getRecordDto(), request));
}));
}
// 等待所有异步任务完成 // 等待所有异步任务完成
CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join(); CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join();

@ -202,15 +202,6 @@ public class LaborEducationServiceImpl implements LaborEducationService {
resMap.put("rightCount", rightCount);//表扬评价数 resMap.put("rightCount", rightCount);//表扬评价数
resMap.put("wrongCount", wrongCount);//待改进评价数 resMap.put("wrongCount", wrongCount);//待改进评价数
resMap.put("uniqueTargetIdCount", uniqueTargetIdCount);//评价学生数 resMap.put("uniqueTargetIdCount", uniqueTargetIdCount);//评价学生数
//处理单个学生评价内容列表信息
List<RecordVo> studentAppraise = new ArrayList<>();
if (laborDto.getStudentId() != null) {
studentAppraise = res.stream()
.filter(record -> record.getTargetId().equals(laborDto.getStudentId()))
.collect(Collectors.toList());
resMap.put("studentAppraise", studentAppraise);//学生评价内容
//res= appraiseRecordRepository.getRecords(String.format(PK.PK_APPRAISE_RECORD, laborDto.getCode()),laborDto.getAcademicYearId(), laborDto.getClassId(), laborDto.getStudentId(),"德育");
}
Appraise appraise = appraiseRepository.findAppraiseBySchoolIdAndPeriodIdAndCode(schoolId, periodId, PK.PK_APPRAISE); Appraise appraise = appraiseRepository.findAppraiseBySchoolIdAndPeriodIdAndCode(schoolId, periodId, PK.PK_APPRAISE);
if (appraise != null) { if (appraise != null) {
appraise = evaluationService.buildTree(appraise); appraise = evaluationService.buildTree(appraise);

@ -201,16 +201,6 @@ public class MoralEducationServiceImpl implements MoralEducationService {
resMap.put("rightCount", rightCount);//表扬评价数 resMap.put("rightCount", rightCount);//表扬评价数
resMap.put("wrongCount", wrongCount);//待改进评价数 resMap.put("wrongCount", wrongCount);//待改进评价数
resMap.put("uniqueTargetIdCount", uniqueTargetIdCount);//评价学生数 resMap.put("uniqueTargetIdCount", uniqueTargetIdCount);//评价学生数
//处理单个学生评价内容列表信息
List<RecordVo> studentAppraise = new ArrayList<>();
if (moralDto.getStudentId() != null) {
studentAppraise = res.stream()
.filter(record -> record.getTargetId().equals(moralDto.getStudentId()))
.collect(Collectors.toList());
resMap.put("studentAppraise", studentAppraise);//学生评价内容
//res= appraiseRecordRepository.getRecords(String.format(PK.PK_APPRAISE_RECORD, laborDto.getCode()),laborDto.getAcademicYearId(), laborDto.getClassId(), laborDto.getStudentId(),"德育");
}
Appraise appraise = appraiseRepository.findAppraiseBySchoolIdAndPeriodIdAndCode(schoolId, periodId, PK.PK_APPRAISE); Appraise appraise = appraiseRepository.findAppraiseBySchoolIdAndPeriodIdAndCode(schoolId, periodId, PK.PK_APPRAISE);
if (appraise != null) { if (appraise != null) {
appraise = evaluationService.buildTree(appraise); appraise = evaluationService.buildTree(appraise);

@ -4,8 +4,11 @@ import cn.teammodel.common.ErrorCode;
import cn.teammodel.common.PK; import cn.teammodel.common.PK;
import cn.teammodel.config.exception.ServiceException; import cn.teammodel.config.exception.ServiceException;
import cn.teammodel.controller.admin.service.TeacherService; import cn.teammodel.controller.admin.service.TeacherService;
import cn.teammodel.model.dto.admin.Moral.MoralDto;
import cn.teammodel.model.dto.admin.common.RecordDto;
import cn.teammodel.model.dto.admin.teacher.*; import cn.teammodel.model.dto.admin.teacher.*;
import cn.teammodel.model.entity.User; import cn.teammodel.model.entity.User;
import cn.teammodel.model.entity.common.Exam;
import cn.teammodel.model.entity.common.GroupList; import cn.teammodel.model.entity.common.GroupList;
import cn.teammodel.model.entity.school.*; import cn.teammodel.model.entity.school.*;
import cn.teammodel.model.entity.teacher.HonorInfo; import cn.teammodel.model.entity.teacher.HonorInfo;
@ -13,6 +16,7 @@ import cn.teammodel.model.entity.teacher.PtTeacherInfo;
import cn.teammodel.model.vo.admin.GpTeacherVo; import cn.teammodel.model.vo.admin.GpTeacherVo;
import cn.teammodel.model.vo.admin.SugVo; import cn.teammodel.model.vo.admin.SugVo;
import cn.teammodel.model.vo.admin.TeacherGradeVo; import cn.teammodel.model.vo.admin.TeacherGradeVo;
import cn.teammodel.model.vo.appraise.RecordVo;
import cn.teammodel.repository.*; import cn.teammodel.repository.*;
import cn.teammodel.security.utils.SecurityUtil; import cn.teammodel.security.utils.SecurityUtil;
import cn.teammodel.test.AsyncTeacherService; import cn.teammodel.test.AsyncTeacherService;
@ -65,6 +69,8 @@ public class TeacherServiceImpl implements TeacherService {
private PtTeacherRepository ptTeacherRepository; private PtTeacherRepository ptTeacherRepository;
@Resource @Resource
private TeacherRepository teacherRepository; private TeacherRepository teacherRepository;
@Resource
private AppraiseRecordRepository appraiseRecordRepository;
/** /**
* *
*/ */
@ -2450,6 +2456,26 @@ public class TeacherServiceImpl implements TeacherService {
} }
} }
@Override
public Map<String, Object> getTeacherRecord(RecordDto recordDto, HttpServletRequest request) {
Map<String, Object> resMap = new HashMap<>();
List<RecordVo> res;
List<String> classIds = new ArrayList<>();
try {
classIds.add(recordDto.getClassId());
res= appraiseRecordRepository.latestRecords(String.format(PK.PK_APPRAISE_RECORD, recordDto.getCode()),recordDto.getAcademicYearId(), recordDto.getStartTime(), recordDto.getEndTime(),null,classIds);
if(recordDto.getStudentId() != null) {
res = res.stream()
.filter(record -> record.getTargetId().equals(recordDto.getStudentId()))
.collect(Collectors.toList());
}
resMap.put("res", res);
}catch (Exception e){
throw new ServiceException(ErrorCode.SYSTEM_ERROR.getCode(), "数据查询异常");
}
return resMap;
}
private Double parseScore(Object obj, double defaultValue) { private Double parseScore(Object obj, double defaultValue) {
if (obj instanceof Number) { if (obj instanceof Number) {
return ((Number) obj).doubleValue(); return ((Number) obj).doubleValue();

@ -12,5 +12,6 @@ public class FiveDto {
private LaborDto laborDto; private LaborDto laborDto;
private MoralDto moralDto; private MoralDto moralDto;
private ArtAnalysisDto artAnalysisDto; private ArtAnalysisDto artAnalysisDto;
private RecordDto recordDto;
} }

@ -0,0 +1,16 @@
package cn.teammodel.model.dto.admin.common;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class RecordDto {
@ApiModelProperty("学校编码")
public String code;
public Long startTime;
public Long endTime;
private String academicYearId;
private String classId;
private String studentId;
}
Loading…
Cancel
Save