From 8853292babb2ad94de4a3207966f1e83b767cd2d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sun, 17 Sep 2023 16:38:34 +0800
Subject: [PATCH] 新增流程节点进程查询接口

---
 src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java |  243 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 202 insertions(+), 41 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 66f0507..49831ac 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
@@ -14,8 +14,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;
@@ -48,6 +51,11 @@
 
 	@Autowired
 	private TrainingRegistrationService trainingRegistrationService;
+
+	@Autowired
+	private SecurityPaperService securityPaperService;
+	@Autowired
+	private  MyAsyncService myAsyncService;
 
 	/**
 	 * 自定义分页
@@ -87,8 +95,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);
 
@@ -104,13 +119,6 @@
 			//判断实操成绩是否为空
 			if (null == examScore.getLearnGrade()) {
 				//如果为空,之间修改理论成绩和总成绩
-				//总成绩
-				if (userVO.getAge() <= 50) {
-					examScore.setAllGrade(Math.round(examScore.getTheoryGrade()/2));
-				}
-				if (userVO.getAge() > 50) {
-					examScore.setAllGrade(Math.round(examScore.getTheoryGrade()/2));
-				}
 				if (examScore.getTheoryGrade() >= 60) {
 					//实操成绩暂未录入
 					examScore.setQualified(2);
@@ -126,67 +134,73 @@
 				//内网培训报名,人员,成绩数据同步
 				String s1 =
 					"update exam_score set theory_grade = " + "'" + examScore.getTheoryGrade() + "'" +
-						",all_grade = " + "'" + examScore.getAllGrade() + "'" +
 						",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.dataSync(s1);
 			} else {
-				if (examScore.getTheoryGrade() >= 60 && examScore.getLearnGrade() >= 60) {
+				//实操成绩不为空
+				if (examScore.getTheoryGrade() >= 60 && examScore.getLearnGrade() ==0) {
 					//合格
 					examScore.setQualified(0);
+					//设置为未制证的状态
+					user.setUserType(7);
 					//如果已有保安证编号,不更保安证编号信息
-					if (null == user.getSecuritynumber() || user.getSecuritynumber() == "") {
+					if (null == user.getSecuritynumber() || user.getSecuritynumber().equals("")) {
 						//去生成保安证编号
 						String pre = SecurityPaperUtil.getSecurityPaper();
 						//查询当前年份已有的保安证编号
 						int count = userService.getSecurityPaperCount(pre);
 						String result = null;
 						if (count == 0) {
-							result = pre + "00001";
+							result = pre + "000001";
 						} else {
 							//格式化
-							DecimalFormat decimalFormat = new DecimalFormat("00000");
+							DecimalFormat decimalFormat = new DecimalFormat("000000");
 							count++;
 							result = pre + (decimalFormat.format(count));
 						}
 						user.setSecuritynumber(result);
-						//发证日期
-//					user.setPaperTime(new Date());
 						//修改为持证保安
 						user.setHold("1");
 						//更新保安数据
 						userService.updateById(user);
 
-//						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);
+						//新增保安员证信息
+						securityPaperService.save(securityPaper);
+
+						//数据同步
+						String s1 =
+							"insert into sys_security_paper(id,number,create_time,people_name,id_card_no,user_id,apply_id,exam_id) " +
+								"values(" + "'" + securityPaper.getId() + "'"
+								+ "," + "'" + securityPaper.getNumber() +"'"
+								+ "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(securityPaper.getCreateTime()) +"'"
+								+ "," + "'" + securityPaper.getPeopleName() + "'"
+								+ "," + "'" + securityPaper.getIdCardNo() + "'"
+								+ "," + "'" + securityPaper.getUserId() + "'"
+								+ "," + "'" + securityPaper.getApplyId() + "'"
+								+ "," +"'" + securityPaper.getExamId() + "'" + ")";
+						//FtpUtil.sqlFileUpload(s1);
+						myAsyncService.dataSync(s1);
 					}
 				} else {
 					//不合格
 					examScore.setQualified(1);
-				}
-				//总成绩
-				if (userVO.getAge() <= 50) {
-					if (null != examScore.getTheoryGrade()) {
-						examScore.setAllGrade(Math.round((examScore.getTheoryGrade() + examScore.getLearnGrade()) / 2));
-					} else {
-						examScore.setAllGrade(Math.round(examScore.getLearnGrade() / 2));
-					}
-				}
-				if (userVO.getAge() > 50) {
-					if (null != examScore.getTheoryGrade()) {
-						examScore.setAllGrade(Integer.parseInt(String.valueOf(Math.round(examScore.getTheoryGrade() * 0.5)))
-							+ Integer.parseInt(String.valueOf(Math.round(examScore.getLearnGrade() * 0.5))));
-					} else {
-						examScore.setAllGrade(Math.round(examScore.getLearnGrade() / 2));
-					}
 				}
 
 				//更新成绩数据
@@ -195,16 +209,18 @@
 				//内网培训报名,人员,成绩数据同步
 				String s1 =
 					"update exam_score set theory_grade = " + "'" + examScore.getTheoryGrade() + "'" +
-						",all_grade = " + "'" + examScore.getAllGrade() + "'" +
 						",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);
+				//FtpUtil.sqlFileUpload(s1);
+				myAsyncService.dataSync(s1);
 			}
 		}
 		//审核时间
@@ -214,4 +230,149 @@
 		//返回
 		return true;
 	}
+
+
+	/**
+	 * 批量申请审核
+	 * @param scoreAuditRecords 考试成绩修改申请记录审核
+	 */
+	@Override
+	public boolean batchAudit(ScoreAuditRecordsVO scoreAuditRecords) {
+		List<String> list = Arrays.asList(scoreAuditRecords.getIds().split(","));
+		for (String id : list) {
+			//审核
+			ScoreAuditRecords records = this.getById(id);
+			//如果是审核通过,则修改考试成绩,并改变培训考试状态,用户培训状态
+			if (scoreAuditRecords.getStatus()==2) {
+				//查询考试成绩
+				ExamScore examScore = examScoreService.getById(records.getExamScoreId());
+				//1.修改培训报名考试状态
+				TrainingRegistration trainingRegistration = trainingRegistrationService.getById(examScore.getApplyId());
+				//已考试
+				trainingRegistration.setIsExam(2);
+				//修改
+				trainingRegistrationService.updateById(trainingRegistration);
+
+				//2.修改用户培训考试状态
+				User user = userService.getById(examScore.getUserId());
+				//修改为考试结束状态
+				user.setIsTrain(3);
+
+				//3.修改考试理论成绩
+				examScore.setTheoryGrade(records.getNewScore());
+				//查询用户年龄
+				UserVO userVO = userService.getUserAgeById(Long.parseLong(examScore.getUserId()));
+				//判断实操成绩是否为空
+				if (null == examScore.getLearnGrade()) {
+					//如果为空,之间修改理论成绩和总成绩
+					if (examScore.getTheoryGrade() >= 60) {
+						//实操成绩暂未录入
+						examScore.setQualified(2);
+					}else {
+						//不合格
+						examScore.setQualified(1);
+					}
+					//更新保安数据
+					userService.updateById(user);
+					//更新成绩数据
+					examScoreService.updateById(examScore);
+
+					//内网培训报名,人员,成绩数据同步
+					String s1 =
+						"update exam_score set theory_grade = " + "'" + examScore.getTheoryGrade() + "'" +
+							",qualified = " + "'" + examScore.getQualified() + "'" +
+							" " + "where id = " + "'" + examScore.getId() + "';"+
+						"update sys_training_registration set is_exam = " + "'" + trainingRegistration.getIsExam() + "'" +
+							" " + "where id = " + "'" + trainingRegistration.getId() + "';"+
+						"update blade_user set is_train = " + "'" +  user.getIsTrain() + "'" +
+							" " + "where id = " + "'" + user.getId() + "'";
+					//FtpUtil.sqlFileUpload(s1);
+					myAsyncService.dataSync(s1);
+				} else {
+					//实操成绩不为空
+					if (examScore.getTheoryGrade() >= 60 && examScore.getLearnGrade() == 0) {
+						//合格
+						examScore.setQualified(0);
+						//设置为未制证的状态
+						user.setUserType(7);
+						//如果已有保安证编号,不更保安证编号信息
+						if (null == user.getSecuritynumber() || user.getSecuritynumber().equals("")) {
+							//去生成保安证编号
+							String pre = SecurityPaperUtil.getSecurityPaper();
+							//查询当前年份已有的保安证编号
+							int count = userService.getSecurityPaperCount(pre);
+							String result = null;
+							if (count == 0) {
+								result = pre + "000001";
+							} else {
+								//格式化
+								DecimalFormat decimalFormat = new DecimalFormat("000000");
+								count++;
+								result = pre + (decimalFormat.format(count));
+							}
+							user.setSecuritynumber(result);
+							//发证日期
+//					user.setPaperTime(new Date());
+							//修改为持证保安
+							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() + "'" +
+//								",securitynumber = " + "'" + user.getSecuritynumber() + "'" +
+//								",is_train = " + "'" + user.getIsTrain() + "'" +
+//								" " + "where id = " + "'" + user.getId() + "'";
+//						FtpUtil.sqlFileUpload(s1);
+						}
+					} else {
+						//不合格
+						examScore.setQualified(1);
+					}
+
+					//更新成绩数据
+					examScoreService.updateById(examScore);
+
+					//内网培训报名,人员,成绩数据同步
+					String s1 =
+						"update exam_score set theory_grade = " + "'" + examScore.getTheoryGrade() + "'" +
+							",qualified = " + "'" + examScore.getQualified() + "'" +
+							" " + "where id = " + "'" + examScore.getId() + "';"+
+						"update sys_training_registration set is_exam = " + "'" + trainingRegistration.getIsExam() + "'" +
+							" " + "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.dataSync(s1);
+				}
+			}
+			//审核时间
+			records.setAuditTime(new Date());
+			if (null!=scoreAuditRecords.getAuditDetail() && !scoreAuditRecords.getAuditDetail().equals("")){
+				records.setAuditDetail(scoreAuditRecords.getAuditDetail());
+			}
+			records.setAuditUser(scoreAuditRecords.getAuditUser());
+			records.setStatus(scoreAuditRecords.getStatus());
+			//修改申请记录信息
+			baseMapper.updateById(records);
+		}
+		//返回
+		return true;
+	}
 }

--
Gitblit v1.9.3