From 8b375fe00a241b3a769b82fe3dac8d1c9dce8a02 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 16 Jun 2022 14:36:07 +0800
Subject: [PATCH] 模拟考试修改
---
src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java | 193 +++++++++++-------------------------------------
1 files changed, 44 insertions(+), 149 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 5083ee3..e5185db 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
@@ -193,109 +193,20 @@
//合格
examScore.setQualified(0);
//设置为未制证的状态
- user1.setUserType(7);
+// user1.setUserType(7);
//正式考试通过生成保安证编号
- ExamPaper paper = examPaperService.getById(examScore.getExamId());
+// ExamPaper paper = examPaperService.getById(examScore.getExamId());
// if (paper.getExamType() == 1) {
//如果已有保安证编号,不更新用户信息
if (null == user1.getSecuritynumber() || user1.getSecuritynumber().equals("")) {
- //去生成保安证编号
- String pre = SecurityPaperUtil.getSecurityPaper();
- //查询当前年份已有的保安证编号
-// int max = userService.getSecurityPaperCount(pre);
- //需调用内网查询
- //生成随机数
- String uuid = UUID.randomUUID().toString();
-
+ //去内网生成保安证编号,由内网生成,无需返回
//数据推送
Map<String, Object> map = new HashMap<>(1);
- map.put(uuid,pre);
+ examScore.setUserId(examScore1.getUserId());
+ examScore.setExamId(examScore1.getExamId());
+ examScore.setApplyId(examScore1.getApplyId());
+ map.put("key",examScore);
myAsyncService.FTPSecurityNumberBit(map);
-
- int count = 0;
- Result result0 = new Result();
- //调用ftp获取返回数据
- while (true){
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- //调用ftp获取返回数据
- result0 = Monitor.getSecurityNumberBit(uuid);
- //如果返回true,就退处
- if (result0.getCode()==200){
- break;
- }else{
- //计数
- count++;
- //如果超过100s 没有读取到,则退出
- if (count == 100) {
- break;
- }
- }
- }
- int max = Integer.parseInt(result0.getMsg());
- String result = null;
- if (max == 0) {
- result = pre + "00001";
- } else {
- //格式化
- DecimalFormat decimalFormat = new DecimalFormat("00000");
- max++;
- result = pre + (decimalFormat.format(max));
- }
-
- //生成保安证的同时向保安证管理表中插入一条数据
- SecurityPaper securityPaper = new SecurityPaper();
- securityPaper.setUserId(user1.getId());
- securityPaper.setNumber(result);
- securityPaper.setCreateTime(new Date());
- securityPaper.setIdCardNo(user1.getCardid());
- securityPaper.setPeopleName(user1.getRealName());
- securityPaper.setExamId(Long.parseLong(examScore1.getExamId()));
- securityPaper.setApplyId(examScore1.getApplyId());
- securityPaper.setSource(1);
-
- //脱敏,内网
- SecurityPaper paper1 = Objects.requireNonNull(BeanUtil.copy(securityPaper,SecurityPaper.class));
- //新增保安员证信息
- securityPaper.setIdCardNo("");
- securityPaper.setNumber(DesensitizedUtil.desensitizedSecurityNumber(result));
- securityPaperService.save(securityPaper);
-
- //保安证编号同步内网
- //设置id
- paper1.setId(securityPaper.getId());
- //数据同步
- String s = "insert into sys_security_paper(id,number,create_time,people_name,id_card_no,user_id,apply_id,exam_id,source) " +
- "values(" + "'" + paper1.getId() + "'" + "," +
- "'" + paper1.getNumber() + "'" + "," +
- "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(paper1.getCreateTime()) + "'" +
- "," + "'" + paper1.getPeopleName() + "'" +
- "," + "'" + paper1.getIdCardNo() + "'" +
- "," + "'" + paper1.getUserId() + "'" +
- "," + "'" + paper1.getApplyId() + "'" +
- "," + "'" + paper1.getExamId() + "'" +
- "," + "'" + paper1.getSource() + "'"
- + ")";
- myAsyncService.FTP(s);
-
-
- //修改为持证保安
- user1.setHold("1");
- user1.setSecuritynumber(DesensitizedUtil.desensitizedSecurityNumber(result));
- //更新保安数据
- boolean b = userService.updateById(user1);
- if (b) {
- //数据同步
- String s1 =
- "update blade_user set hold = " + "'" + user1.getHold() + "'" +
- ",securitynumber = " + "'" + result + "'" +
- ",user_type = " + "'" + user1.getUserType() + "'" +
- " " + "where id = " + "'" + user1.getId() + "'";
- myAsyncService.FTP(s1);
- }
}
} else {
//不合格
@@ -383,17 +294,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);
+// //计算成绩
+// 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);
}
@@ -571,7 +482,7 @@
/**
- * 考试成绩同步
+ * 考试成绩同步(考试成绩为Null 的)
* @param time
* @param startScore
* @param endScore
@@ -585,48 +496,32 @@
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);
+ if (null==examScore.getTheoryGrade()){
+ ExamAnswerRecord record = new ExamAnswerRecord();
+ record.setScoreId(examScore.getId());
+ List<ExamAnswerRecord> list = examAnswerRecordService.list(new QueryWrapper<>(record));
+ if (list.size()>0){
+ int num = 2;
+ 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);
String s1 =
- "update exam_score set theory_grade = " + examScore.getTheoryGrade() +
- ",all_grade = " + "'" + examScore.getAllGrade() + "'" +
- ",qualified = " + "'" + examScore.getQualified() + "'" +
- " " + "where id = " + "'" + examScore.getId() + "'";
+ "update exam_score set exam_id = " + examScore.getExamId() +
+ ",theory_grade = " + "'" + examScore.getTheoryGrade() + "'" +
+ ",all_grade = " + "'" + examScore.getAllGrade() + "'" +
+ ",exam_end_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:dd").format(examScore.getExamEndTime()) + "'" +
+ ",qualified = " + "'" + examScore.getQualified() + "'" +
+ " " + "where id = " + "'" + examScore.getId() + "'";
myAsyncService.FTP(s1);
}
}
--
Gitblit v1.9.3