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 |   96 ++++++++++++++++++++++++++----------------------
 1 files changed, 52 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 8b2421d..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,46 +249,54 @@
 	 */
 	@PostMapping("/update-audit")
 	public R updateAudit(@RequestBody ExamPaper examPaper){
-		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 -> {
-				//生成准考证号
-				trainingRegistration.setCandidateNo(getCandidateNo(examPaper));
-				//审核通过
-				if (examPaper.getAuditStatus()==1) {
-					trainingRegistration.setAuditStatus(1);
-				}
-				//审核不通过
-				if (examPaper.getAuditStatus()==2) {
-					trainingRegistration.setAuditStatus(2);
-				}
-				//待审核
-				if (examPaper.getAuditStatus()==3) {
-					trainingRegistration.setAuditStatus(3);
-				}
-				//修改培训报名信息
-				trainingRegistrationService.updateById(trainingRegistration);
+		//查询之前的审核状态,如果审核状态没有发生改变,则不会去修改审核信息
+		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 s2 =
-					"update sys_training_registration set candidate_no = " + "'" + trainingRegistration.getCandidateNo()+ "'"
-						+ ",audit_status = " + "'" + trainingRegistration.getAuditStatus() + "'"
-						+ " " +"where id = " + "'" + trainingRegistration.getId() + "'";
-				FtpUtil.sqlFileUpload(s2);
-			});
+				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(status);
+		return R.status(false);
 	}
 
 	/**
@@ -344,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