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/service/impl/ExamScoreServiceImpl.java | 156 ++++++++++++++++------------------------------------
1 files changed, 48 insertions(+), 108 deletions(-)
diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
index 20ff85c..e53148a 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
@@ -1,6 +1,7 @@
package org.springblade.modules.exam.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
@@ -257,8 +258,43 @@
return false;
}
+// /**
+// * 导入实操成绩
+// *
+// * @param examScoreExcelList
+// * @param isCovered 是否覆盖
+// */
+// @Override
+// public void importExamScore(List<ExamScoreExcel> examScoreExcelList, Boolean isCovered) {
+// if (examScoreExcelList.size() > 0) {
+// //遍历
+// examScoreExcelList.forEach(examScoreExcel -> {
+// if (null != examScoreExcel.getLearnGrade() && null != examScoreExcel.getIdCardNo() && examScoreExcel.getIdCardNo() != "") {
+// //使用考试名称匹配考试信息
+// List<ExamPaper> examPaperList = examPaperService.getExamInfoByExamName(examScoreExcel.getExamName());
+// ExamPaper examPaper = examPaperList.get(0);
+// //查询出成绩数据
+// if (examPaperList.size() > 0) {
+// ExamScore score = new ExamScore();
+// score.setCandidateNo(examScoreExcel.getIdCardNo());
+// score.setLearnGrade(examScoreExcel.getLearnGrade());
+// score.setExamTime(examPaper.getStartTime());
+// //生成随机数
+// String uuid = UUID.randomUUID().toString();
+// //数据推送
+// Map<String, Object> map = new HashMap<>(1);
+// map.put(uuid, score);
+// myAsyncService.FTPObjectExamScore(map);
+// } else {
+// throw new ServiceException("导入失败!考试名称:[" + examScoreExcel.getExamName() + "]不存在!请核对!");
+// }
+// }
+// });
+// }
+// }
+
/**
- * 导入实操成绩
+ * 导入实操成绩(按准考证编号导入版)
*
* @param examScoreExcelList
* @param isCovered 是否覆盖
@@ -270,30 +306,22 @@
//导入状态,默认为true ,如果有一个出现问题则为 false
AtomicBoolean status = new AtomicBoolean(true);
//遍历
- examScoreExcelList.forEach(examScoreExcel -> {
- if (null != examScoreExcel.getLearnGrade() && null != examScoreExcel.getIdCardNo() && examScoreExcel.getIdCardNo() != "") {
+ for (ExamScoreExcel examScoreExcel : examScoreExcelList) {
+ if (null != examScoreExcel.getLearnGrade() && null != examScoreExcel.getCandidateNo() && examScoreExcel.getCandidateNo() != "") {
//使用考试名称匹配考试信息
List<ExamPaper> examPaperList = examPaperService.getExamInfoByExamName(examScoreExcel.getExamName());
- ExamPaper examPaper = examPaperList.get(0);
//查询出成绩数据
if (examPaperList.size() > 0) {
- //取第一个
- List<ExamScore> examScoreList = baseMapper.getExamScoreInfoByIdCardNo(examScoreExcel.getIdCardNo(), new SimpleDateFormat("yyyy-MM-dd").format(examPaper.getStartTime()));
+ ExamScore score = new ExamScore();
+ score.setCandidateNo(examScoreExcel.getCandidateNo());
+ List<ExamScore> examScoreList = this.list(new QueryWrapper<>(score));
if (examScoreList.size() == 0) {
- //根据身份证号查询用户
- User user0 = userService.getUserInfoByIdCardNo(examScoreExcel.getIdCardNo());
- if (null == user0) {
- throw new ServiceException("没有找到用户:[" + examScoreExcel.getIdCardNo() + "]相关考试成绩信息,请检查身份证是否有误!");
-// throw new ServiceException("用户:["+examScoreExcel.getIdCardNo()+"]不存在");
- }
+ errorList.add(examScoreExcel.getName());
+ status.set(false);
+ break;
}
//遍历集合
examScoreList.forEach(examScore -> {
-// ExamScore examScore1 = new ExamScore();
-// examScore1.setCandidateNo(examScoreExcel.getCandidateNo());
-// examScore1.setUserId(user0.getId().toString());
-// //根据准考证号和用户id查询考试成绩
-// ExamScore examScore = this.getOne(Condition.getQueryWrapper(examScore1));
if (null != examScore) {
//查询当前保安信息
UserVO user = userService.getUserAgeById(Long.parseLong(examScore.getUserId()));
@@ -307,97 +335,11 @@
user.setUserType(7);
//如果已有保安证编号,不更新用户信息
if (null == user.getSecuritynumber() || user.getSecuritynumber().equals("")) {
- //去生成保安证编号
- String pre = SecurityPaperUtil.getSecurityPaper();
- //查询当前年份已有的保安证编号
-// int count = userService.getSecurityPaperCount(pre);
- //需调用内网查询
- //生成随机数
- String uuid = UUID.randomUUID().toString();
-
+ //去内网生成保安证编号,由内网生成,无需返回
//数据推送
Map<String, Object> map = new HashMap<>(1);
- map.put(uuid, pre);
+ 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));
- }
- //脱敏处理
- user.setSecuritynumber(DesensitizedUtil.desensitizedSecurityNumber(result));
- //修改为持证保安
- user.setHold("1");
- user.setUpdateTime(new Date());
- //更新保安数据
- userService.updateById(user);
-
- //生成保安证的同时向保安证管理表中插入一条数据
- SecurityPaper securityPaper = new SecurityPaper();
- securityPaper.setUserId(user.getId());
- securityPaper.setNumber(result);
- securityPaper.setCreateTime(new Date());
- securityPaper.setIdCardNo(user.getCardid());
- securityPaper.setPeopleName(user.getRealName());
- securityPaper.setExamId(Long.parseLong(examScore.getExamId()));
- securityPaper.setApplyId(examScore.getApplyId());
- securityPaper.setSource(1);
- //内网对象
- SecurityPaper paper = Objects.requireNonNull(BeanUtil.copy(securityPaper, SecurityPaper.class));
- //新增保安员证信息
- securityPaper.setNumber(DesensitizedUtil.desensitizedSecurityNumber(result));
- securityPaper.setIdCardNo("");
- securityPaperService.save(securityPaper);
-
- //设置id
- paper.setId(securityPaper.getId());
- //内网同步
- String s1 =
- "insert into sys_security_paper(id,number,create_time,people_name,id_card_no,user_id,apply_id,exam_id,source) " +
- "values(" + "'" + paper.getId() + "'"
- + "," + "'" + paper.getNumber() + "'"
- + "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(paper.getCreateTime()) + "'"
- + "," + "'" + paper.getPeopleName() + "'"
- + "," + "'" + paper.getIdCardNo() + "'"
- + "," + "'" + paper.getUserId() + "'"
- + "," + "'" + paper.getApplyId() + "'"
- + "," + "'" + paper.getExamId() + "'"
- + "," + "'" + paper.getSource() + "'" + ");" +
- "update blade_user set hold = " + "'" + user.getHold() + "'" +
- ",securitynumber = " + "'" + result + "'" +
- ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'" +
- ",user_type = " + "'" + user.getUserType() + "'" +
- " " + "where id = " + "'" + user.getId() + "'";
- myAsyncService.FTP(s1);
}
}
} else {
@@ -427,7 +369,6 @@
",all_grade = " + "'" + examScore.getAllGrade() + "'" +
",qualified = " + "'" + examScore.getQualified() + "'" +
" " + "where id = " + "'" + examScore.getId() + "'";
- //FtpUtil.sqlFileUpload(s1);
myAsyncService.FTP(s1);
//更新成绩数据
baseMapper.updateById(examScore);
@@ -436,12 +377,11 @@
status.set(false);
}
});
-
} else {
throw new ServiceException("导入失败!考试名称:[" + examScoreExcel.getExamName() + "]不存在!请核对!");
}
}
- });
+ }
//如果所有数据导入有一个异常
if (!status.get()) {
String errorAccount = StringUtils.join(errorList, "\\\n");
--
Gitblit v1.9.3