平时成绩模块显示

This commit is contained in:
wuchunlei
2024-08-29 16:12:43 +08:00
parent e3801fa8a5
commit 2e5d8bf24d
2 changed files with 66 additions and 54 deletions

View File

@@ -37,6 +37,7 @@ public class ClassExamController {
@RequestMapping("/importSubject")
@Transactional
public R importSubject(@RequestParam("file") MultipartFile file, @RequestParam("courseId") int courseId) {
int num = 0;
try (InputStream fis = file.getInputStream()) {
List<ClassExamOption> optionList = new ArrayList<>();
Long time = System.currentTimeMillis();
@@ -76,6 +77,7 @@ public class ClassExamController {
//出题人
subject.setCreateUser(map.containsKey("Q"+i)?map.get("Q"+i):"");
classExamSubjectService.save(subject);
num++;
insertOption(optionList,subject.getId(),map.containsKey("C"+i)?map.get("C"+i):"",map.containsKey("I"+i)?map.get("I"+i):"");
insertOption(optionList,subject.getId(),map.containsKey("D"+i)?map.get("D"+i):"",map.containsKey("I"+i)?map.get("I"+i):"");
insertOption(optionList,subject.getId(),map.containsKey("E"+i)?map.get("E"+i):"",map.containsKey("I"+i)?map.get("I"+i):"");
@@ -90,7 +92,7 @@ public class ClassExamController {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return R.error(e.getMessage());
}
return R.ok();
return R.ok("导入成功"+num+"");
}
public void insertOption(List<ClassExamOption> optionList,int subjectId,String content,String rightAnswer){
if (StringUtils.isNotEmpty(content)){

View File

@@ -957,72 +957,82 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
@Override
public Map<String, Object> getUserScore(Map<String, Object> params) {
ClassEntity classEntity = this.getBaseMapper().selectById(params.get("classId").toString());
ClassModel classModel = classModelDao.selectById(classEntity.getModelId());
Map<String,Object> map = new HashMap<>();
double task0Score = 0;
MPJLambdaWrapper<ClassTaskAndQuesReply> task0wrapper = new MPJLambdaWrapper<>();
task0wrapper.leftJoin(ClassTask.class,ClassTask::getId,ClassTaskAndQuesReply::getRelationId);
task0wrapper.selectAll(ClassTaskAndQuesReply.class);
task0wrapper.eq(ClassTask::getClassId,params.get("classId"));
task0wrapper.eq(ClassTask::getType,"0");
task0wrapper.eq(ClassTaskAndQuesReply::getUserId,ShiroUtils.getUId());
List<ClassTaskAndQuesReply> task0Replys = classTaskAndQuesReplyDao.selectList(task0wrapper);
if (task0Replys.size() > 0) {
for (ClassTaskAndQuesReply reply : task0Replys) {
if (reply.getScoreSuccess()>1){
task0Score += reply.getScore();
if (classModel.getIsQuestion()==1){
double questionScore = 0;
MPJLambdaWrapper<ClassTaskAndQuesReply> questionWrapper = new MPJLambdaWrapper<>();
questionWrapper.leftJoin(CourseCatalogueChapterEntity.class,CourseCatalogueChapterEntity::getId,ClassTaskAndQuesReply::getRelationId);
questionWrapper.leftJoin(ClassCourse.class,ClassCourse::getCourseId,CourseCatalogueChapterEntity::getCourseId);
questionWrapper.leftJoin(ClassModel.class,ClassModel::getId,ClassCourse::getModelId);
questionWrapper.leftJoin(ClassEntity.class,ClassEntity::getModelId,ClassModel::getId);
questionWrapper.selectAll(ClassTaskAndQuesReply.class);
questionWrapper.eq(ClassEntity::getId,params.get("classId"));
questionWrapper.eq(ClassTaskAndQuesReply::getUserId,ShiroUtils.getUId());
questionWrapper.eq(ClassTaskAndQuesReply::getClassId,params.get("classId"));
List<ClassTaskAndQuesReply> questionReplys = classTaskAndQuesReplyDao.selectList(questionWrapper);
if (questionReplys.size() > 0) {
for (ClassTaskAndQuesReply reply : questionReplys) {
if (reply.getScoreSuccess()>=1){
questionScore += reply.getScore();
}
}
}
map.put("questionScore",questionScore);
}
double task1Score = 0;
MPJLambdaWrapper<ClassTaskAndQuesReply> task1wrapper = new MPJLambdaWrapper<>();
task1wrapper.leftJoin(ClassTask.class,ClassTask::getId,ClassTaskAndQuesReply::getRelationId);
task1wrapper.selectAll(ClassTaskAndQuesReply.class);
task1wrapper.eq(ClassTask::getClassId,params.get("classId"));
task1wrapper.eq(ClassTask::getType,"1");
task1wrapper.eq(ClassTaskAndQuesReply::getUserId,ShiroUtils.getUId());
List<ClassTaskAndQuesReply> task1Replys = classTaskAndQuesReplyDao.selectList(task1wrapper);
if (task1Replys.size() > 0) {
for (ClassTaskAndQuesReply reply : task1Replys) {
if (reply.getScoreSuccess()>1){
task1Score += reply.getScore();
if (classModel.getIsTask()==1){
double task0Score = 0;
MPJLambdaWrapper<ClassTaskAndQuesReply> task0wrapper = new MPJLambdaWrapper<>();
task0wrapper.leftJoin(ClassTask.class,ClassTask::getId,ClassTaskAndQuesReply::getRelationId);
task0wrapper.selectAll(ClassTaskAndQuesReply.class);
task0wrapper.eq(ClassTask::getClassId,params.get("classId"));
task0wrapper.eq(ClassTask::getType,"0");
task0wrapper.eq(ClassTaskAndQuesReply::getUserId,ShiroUtils.getUId());
List<ClassTaskAndQuesReply> task0Replys = classTaskAndQuesReplyDao.selectList(task0wrapper);
if (task0Replys.size() > 0) {
for (ClassTaskAndQuesReply reply : task0Replys) {
if (reply.getScoreSuccess()>1){
task0Score += reply.getScore();
}
}
}
map.put("task0Score",task0Score);
}
double experienceScore = 0;
MPJLambdaWrapper<ClassTask> experiencewrapper = new MPJLambdaWrapper<>();
experiencewrapper.eq(ClassTask::getUserId,ShiroUtils.getUId());
experiencewrapper.eq(ClassTask::getClassId,params.get("classId"));
experiencewrapper.eq(ClassTask::getType,"2");
List<ClassTask> experiences = classTaskDao.selectList(experiencewrapper);
if (experiences.size() > 0) {
for (ClassTask task : experiences) {
if (task.getScoreSuccess()>=1){
experienceScore += task.getScore();
if (classModel.getIsMedicalcase()==1){
double task1Score = 0;
MPJLambdaWrapper<ClassTaskAndQuesReply> task1wrapper = new MPJLambdaWrapper<>();
task1wrapper.leftJoin(ClassTask.class,ClassTask::getId,ClassTaskAndQuesReply::getRelationId);
task1wrapper.selectAll(ClassTaskAndQuesReply.class);
task1wrapper.eq(ClassTask::getClassId,params.get("classId"));
task1wrapper.eq(ClassTask::getType,"1");
task1wrapper.eq(ClassTaskAndQuesReply::getUserId,ShiroUtils.getUId());
List<ClassTaskAndQuesReply> task1Replys = classTaskAndQuesReplyDao.selectList(task1wrapper);
if (task1Replys.size() > 0) {
for (ClassTaskAndQuesReply reply : task1Replys) {
if (reply.getScoreSuccess()>1){
task1Score += reply.getScore();
}
}
}
map.put("task1Score",task1Score);
}
double questionScore = 0;
MPJLambdaWrapper<ClassTaskAndQuesReply> questionWrapper = new MPJLambdaWrapper<>();
questionWrapper.leftJoin(CourseCatalogueChapterEntity.class,CourseCatalogueChapterEntity::getId,ClassTaskAndQuesReply::getRelationId);
questionWrapper.leftJoin(ClassCourse.class,ClassCourse::getCourseId,CourseCatalogueChapterEntity::getCourseId);
questionWrapper.leftJoin(ClassModel.class,ClassModel::getId,ClassCourse::getModelId);
questionWrapper.leftJoin(ClassEntity.class,ClassEntity::getModelId,ClassModel::getId);
questionWrapper.selectAll(ClassTaskAndQuesReply.class);
questionWrapper.eq(ClassEntity::getId,params.get("classId"));
questionWrapper.eq(ClassTaskAndQuesReply::getUserId,ShiroUtils.getUId());
questionWrapper.eq(ClassTaskAndQuesReply::getClassId,params.get("classId"));
List<ClassTaskAndQuesReply> questionReplys = classTaskAndQuesReplyDao.selectList(questionWrapper);
if (questionReplys.size() > 0) {
for (ClassTaskAndQuesReply reply : questionReplys) {
if (reply.getScoreSuccess()>=1){
questionScore += reply.getScore();
if (classModel.getIsExperience()==1){
double experienceScore = 0;
MPJLambdaWrapper<ClassTask> experiencewrapper = new MPJLambdaWrapper<>();
experiencewrapper.eq(ClassTask::getUserId,ShiroUtils.getUId());
experiencewrapper.eq(ClassTask::getClassId,params.get("classId"));
experiencewrapper.eq(ClassTask::getType,"2");
List<ClassTask> experiences = classTaskDao.selectList(experiencewrapper);
if (experiences.size() > 0) {
for (ClassTask task : experiences) {
if (task.getScoreSuccess()>=1){
experienceScore += task.getScore();
}
}
}
map.put("experienceScore",experienceScore);
}
map.put("task0Score",task0Score);
map.put("task1Score",task1Score);
map.put("experienceScore",experienceScore);
map.put("questionScore",questionScore);
return map;
}