From cb04ed62736efe70cf5babe534220b4ae4c1ca67 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 20 Jan 2022 21:08:42 +0800
Subject: [PATCH] 1. 定时任务调整 2. 成绩修改审核通过修改状态调整 3. 考试统计查询修改

---
 src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java |   69 ++++++++++++++++++++++++++++++----
 1 files changed, 61 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
index 20acbd3..69479d2 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
@@ -18,20 +18,20 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.utils.TimeSwitchUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.modules.apply.entity.Apply;
 import org.springblade.modules.exam.entity.*;
 import org.springblade.modules.exam.mapper.ExamPaperMapper;
 import org.springblade.modules.exam.service.*;
-import org.springblade.modules.exam.vo.ExamPaperSubjectVO;
-import org.springblade.modules.exam.vo.ExamPaperVO;
-import org.springblade.modules.exam.vo.ExamScoreVO;
-import org.springblade.modules.exam.vo.ExamSubjectChoicesVO;
+import org.springblade.modules.exam.vo.*;
 import org.springblade.modules.training.entity.TrainingRegistration;
 import org.springblade.modules.training.service.TrainingRegistrationService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -80,6 +80,22 @@
 			//模拟考试
 			if (examPaperVO1.getExamType()==2) {
 				examPaperVO1.setNum(baseMapper.getTrainNumber(examPaperVO1));
+				examPaperVO1.setExamNum(baseMapper.getExamNumber(examPaperVO1));
+				//计算截止时间
+				long nowTime = System.currentTimeMillis();
+				long examStartTime = examPaperVO1.getStartTime().getTime();
+				long examEndTime = examPaperVO1.getEndTime().getTime();
+				//判断时间
+				if (nowTime-examEndTime>0){
+					//剩余时间大于1天
+					examPaperVO1.setDeadline("考试已结束");
+				}else if(nowTime-examStartTime>=0 && nowTime-examEndTime<=0){
+					//已到考试时间
+					examPaperVO1.setDeadline("已到考试时间");
+				}else {
+					long time = examStartTime - nowTime;
+					examPaperVO1.setDeadline(TimeSwitchUtil.secondToTime(time));
+				}
 			}
 		});
 		return examPaperVOIPage;
@@ -108,6 +124,8 @@
 				//新增
 //				examExaminationSubjectService.save(ksxtSginup);
 				list.add(ksxtSginup);
+				//将题目答案设置为空字符串,不让前端看到
+				examSubjectChoicesVO.setAnswer("");
 			});
 			//批量新增
 			baseMapper.insertBatch(list);
@@ -144,13 +162,13 @@
 
 	/**
 	 * 查询考生考试信息
-	 * @param userId 用户id
+	 * @param examPaper 用户id
 	 * @return
 	 */
 	@Override
-	public List<ExamPaperVO> getExamDetail(String userId) {
+	public List<ExamPaperVO> getExamDetail(ExamPaperVO examPaper) {
 		//查询考试信息
-		return baseMapper.getExamDetail(userId);
+		return baseMapper.getExamDetail(examPaper);
 	}
 
 	/**
@@ -179,7 +197,7 @@
 	 * @return
 	 */
 	@Override
-	public ExamPaper getExamInfoByExamName(String examName) {
+	public List<ExamPaper> getExamInfoByExamName(String examName) {
 		return baseMapper.getExamInfoByExamName(examName);
 	}
 
@@ -239,4 +257,39 @@
 		}
 		return null;
 	}
+
+
+	/**
+	 * 查询考试统计信息
+	 * @param examPaperVO
+	 * @param page
+	 * @return
+	 */
+	@Override
+	public IPage<ExamStatisticsVO> getExamStatistics(IPage<ExamStatisticsVO> page, ExamPaperVO examPaperVO) {
+		return page.setRecords(baseMapper.getExamStatistics(page,examPaperVO));
+	}
+
+	/**
+	 * 根据考试id 统计查询考试信息
+	 * @param examPaperVO
+	 * @return
+	 */
+	@Override
+	public IPage<ExamStatisticsVO> getExamInfoByExamId(IPage<ExamStatisticsVO> page, ExamStatisticsVO examPaperVO) {
+		List<ExamStatisticsVO> statisticsVOS = baseMapper.getExamInfoByExamId(page, examPaperVO);
+		System.out.println("statisticsVOS = " + statisticsVOS);
+		//遍历,计算占比
+		if (statisticsVOS.size()>0){
+			statisticsVOS.forEach(examStatisticsVO -> {
+				//格式化小数
+				DecimalFormat df = new DecimalFormat("0.00");
+				//返回的是String类型
+				examStatisticsVO.setAbsentProportion(df.format((float)examStatisticsVO.getQknum()/examStatisticsVO.getZnum()*100));
+				DecimalFormat df1 = new DecimalFormat("0.00");
+				examStatisticsVO.setQualifiedProportion(df1.format((float)examStatisticsVO.getYknum()/examStatisticsVO.getZnum()*100));
+			});
+		}
+		return page.setRecords(statisticsVOS);
+	}
 }

--
Gitblit v1.9.3