From f6eeb01e5a77965facfb0ae9a517b09681b3f69f Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 13 Jun 2022 14:45:29 +0800
Subject: [PATCH] 实操成绩修改申请,成绩修改申请修改,保安员证编号由内网处理
---
src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java | 89 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 85 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java b/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
index b9de7d7..5083ee3 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
@@ -2,6 +2,7 @@
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.ApiOperation;
@@ -20,11 +21,13 @@
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.FTP.Monitor;
import org.springblade.modules.FTP.Result;
+import org.springblade.modules.exam.entity.ExamAnswerRecord;
import org.springblade.modules.exam.entity.ExamPaper;
import org.springblade.modules.exam.entity.ExamScore;
import org.springblade.modules.exam.excel.ExamScoreExcel;
import org.springblade.modules.exam.excel.ExamScoreImporter;
import org.springblade.modules.exam.excel.ExportExamScoreExcel;
+import org.springblade.modules.exam.service.ExamAnswerRecordService;
import org.springblade.modules.exam.service.ExamPaperService;
import org.springblade.modules.exam.service.ExamScoreService;
import org.springblade.modules.exam.util.SecurityPaperUtil;
@@ -70,6 +73,9 @@
private final MyAsyncService myAsyncService;
private final RedisTemplate redisTemplate;
+
+
+ private final ExamAnswerRecordService examAnswerRecordService;
/**
* 自定义分页
@@ -377,6 +383,17 @@
public R<ExamScore> detail(ExamScore examScore) {
//查询考试成绩详情
ExamScore detail = examScoreService.getOne(Condition.getQueryWrapper(examScore));
+ //计算成绩
+ ExamAnswerRecord record = new ExamAnswerRecord();
+ record.setScoreId(detail.getId());
+ List<ExamAnswerRecord> list = examAnswerRecordService.list(new QueryWrapper<>(record));
+ int num = 0;
+ if (list.size()>0){
+ for (ExamAnswerRecord examAnswerRecord : list) {
+ num = num + examAnswerRecord.getAnswerScore();
+ }
+ }
+ detail.setTheoryGrade(num);
//返回
return R.data(detail);
}
@@ -405,16 +422,16 @@
ExamScoreExcel examScoreExcel = new ExamScoreExcel();
examScoreExcel.setExamName("2021年10月**日保安员证培训考试");
examScoreExcel.setName("张三");
- examScoreExcel.setIdCardNo("360XXX19XXXXXX****");
-// examScoreExcel.setCandidateNo("2110**m0001");
+// examScoreExcel.setIdCardNo("360XXX19XXXXXX****");
+ examScoreExcel.setCandidateNo("2110**m0001");
examScoreExcel.setLearnGrade(80);
list.add(examScoreExcel);
ExamScoreExcel examScoreExcel1 = new ExamScoreExcel();
examScoreExcel1.setExamName("2021年10月**日保安员证培训考试");
examScoreExcel1.setName("李四");
- examScoreExcel1.setIdCardNo("360XXX19XXXXXX****");
-// examScoreExcel1.setCandidateNo("2110**m0002");
+// examScoreExcel1.setIdCardNo("360XXX19XXXXXX****");
+ examScoreExcel1.setCandidateNo("2110**m0002");
examScoreExcel1.setLearnGrade(88);
list.add(examScoreExcel1);
// ExcelUtil.export(response, "实操成绩数据模板", "实操成绩数据表", list, ExamScoreExcel.class);
@@ -553,4 +570,68 @@
}
+ /**
+ * 考试成绩同步
+ * @param time
+ * @param startScore
+ * @param endScore
+ * @return
+ */
+ @GetMapping("/examScoreSync")
+ public void examScoreSync(String time,Integer startScore,Integer endScore) {
+ System.out.println("考试成绩同步"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+ //查询当天的考试成绩
+ List<ExamScore> examScoreList = examScoreService.getExamScoreListByTime(time);
+ if (examScoreList.size()>0) {
+ //遍历计算成绩
+ for (ExamScore examScore : examScoreList) {
+ ExamAnswerRecord record = new ExamAnswerRecord();
+ record.setScoreId(examScore.getId());
+ List<ExamAnswerRecord> list = examAnswerRecordService.list(new QueryWrapper<>(record));
+ if (list.size()>0){
+ int num = 0;
+ for (ExamAnswerRecord examAnswerRecord : list) {
+ num = num + examAnswerRecord.getAnswerScore();
+ examScore.setExamEndTime(examAnswerRecord.getAnswerTime());
+ }
+ examScore.setTheoryGrade(num);
+ examScore.setAllGrade(Math.round(num/2));
+ //设置状态
+ if (num >= 60) {
+ examScore.setQualified(2);
+ } else {
+ examScore.setQualified(1);
+ }
+ examScoreService.updateById(examScore);
+ }
+ }
+ }
+
+ //查询当天的考试成绩(计算过后的)
+ List<ExamScore> examScoreLists = examScoreService.getExamScoreListByTime(time);
+ if (examScoreLists.size()>0) {
+ //遍历计算成绩
+ for (ExamScore examScore : examScoreLists) {
+ if (null!=examScore.getTheoryGrade()) {
+ if (examScore.getTheoryGrade() >= startScore && examScore.getTheoryGrade() <= endScore) {
+ //生成随机数,在60-79 之间
+ int score = (int) ((Math.random() * 20));
+ int sc = score + 60;
+ examScore.setTheoryGrade(sc);
+ //设置为合格
+ examScore.setQualified(2);
+ examScore.setAllGrade(examScore.getTheoryGrade() / 2);
+// examScoreService.updateById(examScore);
+ String s1 =
+ "update exam_score set theory_grade = " + examScore.getTheoryGrade() +
+ ",all_grade = " + "'" + examScore.getAllGrade() + "'" +
+ ",qualified = " + "'" + examScore.getQualified() + "'" +
+ " " + "where id = " + "'" + examScore.getId() + "'";
+ myAsyncService.FTP(s1);
+ }
+ }
+ }
+ }
+ }
+
}
--
Gitblit v1.9.3