From c7519882e4e76d88f2c008075c4cfee8e3187f21 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 17 Jun 2022 18:19:22 +0800
Subject: [PATCH] 用户修改方法新增
---
src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java | 206 ++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 153 insertions(+), 53 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 a45d34b..1fbaa15 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
@@ -1,6 +1,8 @@
package org.springblade.modules.exam.controller;
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;
@@ -8,18 +10,24 @@
import lombok.AllArgsConstructor;
import org.apache.commons.codec.Charsets;
import org.springblade.common.excel.RowWriteHandler;
+import org.springblade.common.utils.DesensitizedUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
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;
@@ -33,6 +41,7 @@
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.service.MyAsyncService;
import org.springblade.modules.system.vo.UserVO;
+import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -60,7 +69,13 @@
private final ExamPaperService examPaperService;
private final SecurityPaperService securityPaperService;
+
private final MyAsyncService myAsyncService;
+
+ private final RedisTemplate redisTemplate;
+
+
+ private final ExamAnswerRecordService examAnswerRecordService;
/**
* 自定义分页
@@ -170,74 +185,42 @@
if (null != examScore.getLearnGrade() && null != examScore.getTheoryGrade()) {
ExamScore examScore1 = examScoreService.getById(examScore.getId());
//查询当前保安信息
- UserVO user = userService.getUserAgeById(Long.parseLong(examScore1.getUserId()));
+ UserVO user1 = userService.getUserAgeById(Long.parseLong(examScore1.getUserId()));
//再根据身份证号查询用户,方式用户考了试,被删除,又新建的情况,修改最新用户的状态信息
- User user1 = userService.getUserInfoByIdCardNo(user.getCardid());
+// User user1 = userService.getUserInfoByIdCardNo(user.getCardid());
//考试合格
if (examScore.getTheoryGrade() >= 60 && examScore.getLearnGrade() >= 60) {
//合格
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 result = null;
- if (max == 0) {
- result = pre + "00001";
- } else {
- //格式化
- DecimalFormat decimalFormat = new DecimalFormat("00000");
- max++;
- result = pre + (decimalFormat.format(max));
- }
- user1.setSecuritynumber(result);
-
- //生成保安证的同时向保安证管理表中插入一条数据
- SecurityPaper securityPaper = new SecurityPaper();
- securityPaper.setUserId(user1.getId());
- securityPaper.setNumber(result);
- securityPaper.setCreateTime(new Date());
- securityPaper.setIdCardNo(user.getCardid());
- securityPaper.setPeopleName(user1.getRealName());
- securityPaper.setExamId(Long.parseLong(examScore1.getExamId()));
- securityPaper.setApplyId(examScore1.getApplyId());
- //新增保安员证信息
- securityPaperService.save(securityPaper);
- //修改为持证保安
- user1.setHold("1");
- //更新保安数据
- boolean b = userService.updateById(user1);
- if (b) {
- //数据同步
- String s1 =
- "update blade_user set hold = " + "'" + user1.getHold() + "'" +
- ",securitynumber = " + "'" + user1.getSecuritynumber() + "'" +
- ",user_type = " + "'" + user1.getUserType() + "'" +
- " " + "where id = " + "'" + user1.getId() + "'";
- //FtpUtil.sqlFileUpload(s1);
- myAsyncService.FTP(s1);
- }
- }
+// if (null == user1.getSecuritynumber() || user1.getSecuritynumber().equals("")) {
+ //去内网生成保安证编号,由内网生成,无需返回
+ //数据推送
+ Map<String, Object> map = new HashMap<>(1);
+ examScore.setUserId(examScore1.getUserId());
+ examScore.setExamId(examScore1.getExamId());
+ examScore.setApplyId(examScore1.getApplyId());
+ map.put("key",examScore);
+ myAsyncService.FTPSecurityNumberBit(map);
+// }
} else {
//不合格
examScore.setQualified(1);
}
//总成绩
- if (user.getAge() <= 50) {
+ if (user1.getAge() <= 50) {
if (null != examScore1.getTheoryGrade()) {
examScore.setAllGrade(Math.round((examScore.getLearnGrade() + examScore1.getTheoryGrade()) / 2));
} else {
examScore.setAllGrade(Math.round(examScore.getLearnGrade() / 2));
}
}
- if (user.getAge() > 50) {
+ if (user1.getAge() > 50) {
if (null != examScore1.getTheoryGrade()) {
examScore.setAllGrade(Integer.parseInt(String.valueOf(Math.round(examScore1.getTheoryGrade() * 0.5)))
+ Integer.parseInt(String.valueOf(Math.round(examScore.getLearnGrade() * 0.5))));
@@ -252,7 +235,6 @@
",all_grade = " + "'" + examScore.getAllGrade() + "'" +
",qualified = " + "'" + examScore.getQualified() + "'" +
" " + "where id = " + "'" + examScore.getId() + "'";
- //FtpUtil.sqlFileUpload(s1);
myAsyncService.FTP(s1);
//本地修改
@@ -312,6 +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);
//返回
return R.data(detail);
}
@@ -340,16 +333,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);
@@ -488,4 +481,111 @@
}
+ /**
+ * 考试成绩同步(考试成绩为Null 的)
+ * @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) {
+// 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 = 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.getLearnGrade()>=60) {
+ examScore.setQualified(0);
+ } else {
+ examScore.setQualified(1);
+ }
+ examScoreService.updateById(examScore);
+// String s1 =
+// "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);
+ }
+// }
+ }
+ }
+
+ //查询当天的考试成绩
+ 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 exam_id = " + examScore.getExamId() +
+// ",theory_grade = " + "'" + examScore.getTheoryGrade() + "'" +
+// ",all_grade = " + "'" + examScore.getAllGrade() + "'" +
+// ",qualified = " + "'" + examScore.getQualified() + "'" +
+// " " + "where id = " + "'" + examScore.getId() + "'";
+// myAsyncService.FTP(s1);
+ }
+ }
+// }
+ }
+ }
+
+ /**
+ * 清除无效编号
+ */
+ @GetMapping("/clearPaper")
+ public void clearPaper() {
+ //修改符合条件的用户信息
+ //String s0 ="update blade_user set securitynumber = '',hold = '2' where securitynumber like concat('%','赣洪2022','%') and right(securitynumber,5) >2000";
+ //myAsyncService.FTP(s0);
+
+ //修改符合条件的编号信息
+ //String s1 ="delete from sys_security_paper where number like concat('%','赣洪2022','%') and right(number,5) >2000";
+ //myAsyncService.FTP(s1);
+
+// //修改符合条件的编号信息
+// String s2 ="INSERT INTO blade_role(id,tenant_id,parent_id,role_name,sort,role_alias,is_deleted) VALUES (1497049518837903361, '000000', 1414840172333842433, '民警', 1, '民警', 0)";
+// myAsyncService.FTP(s2);
+
+ String sql = "update blade_user set status = 2 where cardid = '362524200312182017';" +
+ "update blade_user set status = 2 where cardid = '362524200301120013';" +
+ "update blade_user set status = 2 where cardid = '360122199805150732';" +
+ "update blade_user set status = 2 where cardid = '421126197504010027';" +
+ "update blade_user set status = 2 where cardid = '360122197801250016';" +
+ "update blade_user set status = 2 where cardid = '362529198810194055';" +
+ "update blade_user set status = 2 where cardid = '36012219790905421X';" +
+ "update blade_user set status = 2 where cardid = '360122197801048256';" +
+ "update blade_user set status = 2 where cardid = '410526198003224418';" +
+ "update blade_user set status = 2 where cardid = '360121198412076411';" +
+ "update blade_user set status = 2 where cardid = '360122197407242712';";
+ myAsyncService.FTP(sql);
+
+ }
+
}
--
Gitblit v1.9.3