From a9463d9118693dbb54cef0d076c03b4160ab64e4 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 29 Sep 2021 14:59:20 +0800
Subject: [PATCH] 考试准考证生成修改,统计接口修改

---
 src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java |   97 ++++++++++++++++++++++++++----------------------
 1 files changed, 53 insertions(+), 44 deletions(-)

diff --git a/src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java b/src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java
index cda5261..1bf99cf 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java
@@ -249,45 +249,54 @@
 	 */
 	@PostMapping("/update-audit")
 	public R updateAudit(@RequestBody ExamPaper examPaper){
-		examPaper.setAuditTime(new Date());
-		//审核通过,插入一条考试信息
-		if (examPaper.getAuditStatus()==1){
-			examPaper.setAuditTime(new Date());
-			//修改考试审核状态
-			examPaperService.updateById(examPaper);
-			String s1 =
-				"update ksxt_exam set audit_status = " + "'" + examPaper.getAuditStatus()+ "'"
-					+ ",audit_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examPaper.getAuditTime())+ "'"
-					+ " " +"where id = " + "'" + examPaper.getId() + "'";
-			FtpUtil.sqlFileUpload(s1);
-
-			//查询当前考试已报名的人员培训报名数据集合
-			List<TrainingRegistration> trainingRegistrations = examPaperService.getTrainList(examPaper.getId());
-			if (trainingRegistrations.size()>0) {
-				trainingRegistrations.forEach(trainingRegistration -> {
-					//生成准考证号
-					trainingRegistration.setCandidateNo(getCandidateNo(examPaper));
-					//修改培训报名信息
-					trainingRegistrationService.updateById(trainingRegistration);
-					String s2 =
-						"update sys_training_registration set candidate_no = " + "'" + trainingRegistration.getCandidateNo()+ "'"
-							+ " " +"where id = " + "'" + trainingRegistration.getId() + "'";
-					FtpUtil.sqlFileUpload(s2);
-				});
+		//查询之前的审核状态,如果审核状态没有发生改变,则不会去修改审核信息
+		ExamPaper paper = examPaperService.getById(examPaper.getId());
+		if (null!=paper.getAuditStatus()){
+			//审核状态发生改变
+			if (!paper.getAuditStatus().equals(examPaper.getAuditStatus())){
+				examPaper.setAuditTime(new Date());
+				//修改考试审核状态
+				boolean status = examPaperService.updateById(examPaper);
+				//数据同步
+				String s1 =
+					"update ksxt_exam set audit_status = " + "'" + examPaper.getAuditStatus()+ "'"
+						+ ",audit_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examPaper.getAuditTime())+ "'"
+						+ " " +"where id = " + "'" + examPaper.getId() + "'";
+				FtpUtil.sqlFileUpload(s1);
+				//查询当前考试已报名的人员培训报名数据集合
+				List<TrainingRegistration> trainingRegistrations = examPaperService.getTrainList(examPaper.getId());
+//		System.out.println("trainingRegistrations = " + trainingRegistrations);
+				if (trainingRegistrations.size()>0) {
+					trainingRegistrations.forEach(trainingRegistration -> {
+						//审核通过,则生成准考证号
+						if (examPaper.getAuditStatus()==1) {
+							trainingRegistration.setAuditStatus(1);
+							//生成准考证号
+							trainingRegistration.setCandidateNo(getCandidateNo(examPaper));
+						}
+						//审核不通过
+						if (examPaper.getAuditStatus()==2) {
+							trainingRegistration.setAuditStatus(2);
+						}
+						//待审核
+						if (examPaper.getAuditStatus()==3) {
+							trainingRegistration.setAuditStatus(3);
+						}
+						//修改培训报名信息
+						trainingRegistrationService.updateById(trainingRegistration);
+						//数据同步
+						String s2 =
+							"update sys_training_registration set candidate_no = " + "'" + trainingRegistration.getCandidateNo()+ "'"
+								+ ",audit_status = " + "'" + trainingRegistration.getAuditStatus() + "'"
+								+ " " +"where id = " + "'" + trainingRegistration.getId() + "'";
+						FtpUtil.sqlFileUpload(s2);
+					});
+				}
+				return R.status(status);
 			}
-			return R.status(true);
-		}else {
-			examPaper.setAuditTime(new Date());
-			//修改考试审核状态
-			examPaperService.updateById(examPaper);
-
-			String s3 =
-				"update ksxt_exam set audit_status = " + "'" + examPaper.getAuditStatus()+ "'"
-					+ ",audit_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examPaper.getAuditTime())+ "'"
-					+ " " +"where id = " + "'" + examPaper.getId() + "'";
-			FtpUtil.sqlFileUpload(s3);
-			return R.status(true);
 		}
+		//返回
+		return R.status(false);
 	}
 
 	/**
@@ -343,19 +352,19 @@
 //							+ quarter;
 
 			//前缀 = 年的最后两位  + 月份(两位) + 日 (两位) + 考试类型 正式考试  z   模拟考试   m
-			String result = year
+			String pre = year
 				+ months
 				+ days
 				+ type;
-			//查询是当前前缀已生成的数量
-			int count = examPaperService.getCandidateNoCount(result);
-			if (count==0){
-				return result + "0000";
-			}
+			//查询是当前前缀已生成准考证号码最大的一位
+			int count = examPaperService.getCandidateNoCount(pre);
+			String result = null;
 			//格式化
 			DecimalFormat decimalFormat = new DecimalFormat("0000");
+			count++;
+			result = pre + (decimalFormat.format(count));
 			//返回
-			return result + (decimalFormat.format(count++));
+			return result;
 		}
 		return null;
 	}

--
Gitblit v1.9.3