From 8e99321db3dfeedaf910c7a7c7f5afde60caafb7 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 06 May 2022 15:21:08 +0800
Subject: [PATCH] 枪支,派遣单位,考试成绩保存,成绩审查,主要管理人员,出资人,用户导入,新增,许可证信息等信息修改变动

---
 src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java |  142 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 119 insertions(+), 23 deletions(-)

diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java
index ad0d782..d3778d5 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java
@@ -4,8 +4,12 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.AllArgsConstructor;
+import org.springblade.common.utils.DesensitizedUtil;
 import org.springblade.common.utils.QRCodeUtil;
+import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.modules.FTP.FtpUtil;
+import org.springblade.modules.FTP.Monitor;
+import org.springblade.modules.FTP.Result;
 import org.springblade.modules.accreditation.excel.ExportSecurityPaperExcel;
 import org.springblade.modules.exam.entity.ExamScore;
 import org.springblade.modules.exam.entity.ScoreAuditRecords;
@@ -14,8 +18,11 @@
 import org.springblade.modules.exam.service.ScoreAuditRecordsService;
 import org.springblade.modules.exam.util.SecurityPaperUtil;
 import org.springblade.modules.exam.vo.ScoreAuditRecordsVO;
+import org.springblade.modules.securitypaper.entity.SecurityPaper;
+import org.springblade.modules.securitypaper.service.SecurityPaperService;
 import org.springblade.modules.system.entity.User;
 import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.system.service.MyAsyncService;
 import org.springblade.modules.system.vo.UserVO;
 import org.springblade.modules.training.entity.TrainingRegistration;
 import org.springblade.modules.training.service.TrainingRegistrationService;
@@ -28,10 +35,7 @@
 import java.net.URLEncoder;
 import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * 考试成绩修改申请记录服务实现类
@@ -48,6 +52,11 @@
 
 	@Autowired
 	private TrainingRegistrationService trainingRegistrationService;
+
+	@Autowired
+	private SecurityPaperService securityPaperService;
+	@Autowired
+	private  MyAsyncService myAsyncService;
 
 	/**
 	 * 自定义分页
@@ -87,8 +96,15 @@
 			ExamScore examScore = examScoreService.getById(auditRecords.getExamScoreId());
 			//1.修改培训报名考试状态
 			TrainingRegistration trainingRegistration = trainingRegistrationService.getById(examScore.getApplyId());
-			//已考试
-			trainingRegistration.setIsExam(2);
+			//考试状态修改
+			if(trainingRegistration.getIsExam()==4) {
+				//考试状态修改为纸质考试
+				trainingRegistration.setIsExam(5);
+				trainingRegistration.setCancel(1);
+			}else {
+				//考试结束
+				trainingRegistration.setIsExam(2);
+			}
 			//修改
 			trainingRegistrationService.updateById(trainingRegistration);
 
@@ -130,10 +146,12 @@
 						",qualified = " + "'" + examScore.getQualified() + "'" +
 						" " + "where id = " + "'" + examScore.getId() + "';"+
 					"update sys_training_registration set is_exam = " + "'" + trainingRegistration.getIsExam() + "'" +
+						",cancel = " + "'" + trainingRegistration.getCancel() + "'" +
 						" " + "where id = " + "'" + trainingRegistration.getId() + "';"+
 					"update blade_user set is_train = " + "'" +  user.getIsTrain() + "'" +
 						" " + "where id = " + "'" + user.getId() + "'";
-				FtpUtil.sqlFileUpload(s1);
+				//FtpUtil.sqlFileUpload(s1);
+				myAsyncService.FTP(s1);
 			} else {
 				//实操成绩不为空
 				if (examScore.getTheoryGrade() >= 60 && examScore.getLearnGrade() >= 60) {
@@ -146,30 +164,92 @@
 						//去生成保安证编号
 						String pre = SecurityPaperUtil.getSecurityPaper();
 						//查询当前年份已有的保安证编号
-						int count = userService.getSecurityPaperCount(pre);
+//						int count = userService.getSecurityPaperCount(pre);
+						//需调用内网查询
+						//生成随机数
+						String uuid = UUID.randomUUID().toString();
+
+						//数据推送
+						Map<String, Object> map = new HashMap<>(1);
+						map.put(uuid,pre);
+						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 (count == 0) {
+						if (max == 0) {
 							result = pre + "00001";
 						} else {
 							//格式化
 							DecimalFormat decimalFormat = new DecimalFormat("00000");
-							count++;
-							result = pre + (decimalFormat.format(count));
+							max++;
+							result = pre + (decimalFormat.format(max));
 						}
 						user.setSecuritynumber(result);
-						//发证日期
-//					user.setPaperTime(new Date());
 						//修改为持证保安
 						user.setHold("1");
+						//创建保安证脱敏对象
+						User user1 = user;
 						//更新保安数据
-						userService.updateById(user);
+						user1.setSecuritynumber(DesensitizedUtil.desensitizedSecurityNumber(result));
+						userService.updateById(user1);
 
-//						String s1 =
-//							"update blade_user set hold = " + "'" + user.getHold() + "'" +
-//								",securitynumber = " + "'" + user.getSecuritynumber() + "'" +
-//								",is_train = " + "'" + user.getIsTrain() + "'" +
-//								" " + "where id = " + "'" + user.getId() + "'";
-//						FtpUtil.sqlFileUpload(s1);
+						//生成保安证的同时向保安证管理表中插入一条数据
+						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() + "'"
+							+ ")";
+						myAsyncService.FTP(s1);
 					}
 				} else {
 					//不合格
@@ -202,13 +282,14 @@
 						",qualified = " + "'" + examScore.getQualified() + "'" +
 						" " + "where id = " + "'" + examScore.getId() + "';"+
 					"update sys_training_registration set is_exam = " + "'" + trainingRegistration.getIsExam() + "'" +
+						",cancel = " + "'" + trainingRegistration.getCancel() + "'" +
 						" " + "where id = " + "'" + trainingRegistration.getId() + "';"+
 					"update blade_user set hold = " + "'" + user.getHold() + "'" +
 						",securitynumber = " + "'" + user.getSecuritynumber() + "'" +
 						",user_type = " + "'" + user.getUserType() + "'" +
 						",is_train = " + "'" + user.getIsTrain() + "'" +
 						" " + "where id = " + "'" + user.getId() + "'";
-				FtpUtil.sqlFileUpload(s1);
+				myAsyncService.FTP(s1);
 			}
 		}
 		//审核时间
@@ -282,7 +363,8 @@
 							" " + "where id = " + "'" + trainingRegistration.getId() + "';"+
 						"update blade_user set is_train = " + "'" +  user.getIsTrain() + "'" +
 							" " + "where id = " + "'" + user.getId() + "'";
-					FtpUtil.sqlFileUpload(s1);
+					//FtpUtil.sqlFileUpload(s1);
+					myAsyncService.FTP(s1);
 				} else {
 					//实操成绩不为空
 					if (examScore.getTheoryGrade() >= 60 && examScore.getLearnGrade() >= 60) {
@@ -312,6 +394,19 @@
 							user.setHold("1");
 							//更新保安数据
 							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);
+							//新增保安员证信息
+							securityPaperService.save(securityPaper);
 
 //						String s1 =
 //							"update blade_user set hold = " + "'" + user.getHold() + "'" +
@@ -357,7 +452,8 @@
 							",user_type = " + "'" + user.getUserType() + "'" +
 							",is_train = " + "'" + user.getIsTrain() + "'" +
 							" " + "where id = " + "'" + user.getId() + "'";
-					FtpUtil.sqlFileUpload(s1);
+					//FtpUtil.sqlFileUpload(s1);
+					myAsyncService.FTP(s1);
 				}
 			}
 			//审核时间

--
Gitblit v1.9.3