From ddebcfaf85cbb400668f38b1efd82e439c6e1012 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 13 Aug 2021 08:39:43 +0800
Subject: [PATCH] 报名考试接口修改

---
 src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java |  116 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 99 insertions(+), 17 deletions(-)

diff --git a/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java b/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
index 2470d65..d04e472 100644
--- a/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
+++ b/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
@@ -22,11 +22,13 @@
 import org.springblade.modules.apply.vo.ApplyVO;
 import org.springblade.modules.exam.entity.ExamPaper;
 import org.springblade.modules.exam.entity.ExamScore;
+import org.springblade.modules.exam.excel.ExamScoreExcel;
 import org.springblade.modules.exam.service.ExamPaperService;
 import org.springblade.modules.system.entity.User;
 import org.springblade.modules.system.service.IUserService;
 import org.springblade.modules.training.entity.TrainExam;
 import org.springblade.modules.training.entity.TrainingRegistration;
+import org.springblade.modules.training.excel.TrainingRegistrationExcel;
 import org.springblade.modules.training.excel.TrainingRegistrationImporter;
 import org.springblade.modules.training.service.TrainExamService;
 import org.springblade.modules.training.service.TrainingRegistrationService;
@@ -37,10 +39,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
 
 /**
  * @author zhongrj
@@ -229,27 +228,39 @@
 		return R.data(detail);
 	}
 
-	/**
-	 * 导出报名数数据
-	 * @param response
-	 * @param trainingRegistration 培训报名对象
-	 */
-	@GetMapping("export-apply")
-	@ApiOperation(value = "导出报名清册")
-	public void exportApply(HttpServletResponse response,TrainingRegistrationVo trainingRegistration) {
-		List<ApplyInfoExcel> list = trainingRegistrationService.getTrainingRegistrationExcelList(trainingRegistration);
-		ExcelUtil.export(response, "考试报名清册数据"+ DateUtil.time(), "考试报名清册数据表", list, ApplyInfoExcel.class);
-	}
+//	/**
+//	 * 导出报名数数据
+//	 * @param response
+//	 * @param trainingRegistration 培训报名对象
+//	 */
+//	@GetMapping("export-apply")
+//	@ApiOperation(value = "导出报名清册")
+//	public void exportApply(HttpServletResponse response,TrainingRegistrationVo trainingRegistration) {
+//		List<TrainingRegistrationExcel> list = trainingRegistrationService.getTrainingRegistrationExcelList(trainingRegistration);
+//		ExcelUtil.export(response, "培训报名清册数据"+ DateUtil.time(), "培训报名清册数据表", list, TrainingRegistrationExcel.class);
+//	}
+
+
 
 	/**
 	 * 导入报名考试数据
 	 */
 	@PostMapping("import-trainingRegistration")
-	@ApiOperation(value = "导入报名考试数据", notes = "传入excel")
+	@ApiOperation(value = "导入培训报名数据", notes = "传入excel")
 	public R importUser(MultipartFile file, Integer isCovered) {
 		TrainingRegistrationImporter trainingRegistrationImporter = new TrainingRegistrationImporter(trainingRegistrationService, false);
-		ExcelUtil.save(file, trainingRegistrationImporter, ApplyInfoExcel.class);
+		ExcelUtil.save(file, trainingRegistrationImporter, TrainingRegistrationExcel.class);
 		return R.success("操作成功");
+	}
+
+	/**
+	 * 导出模板
+	 */
+	@GetMapping("export-template")
+	@ApiOperation(value = "导出模板")
+	public void exportUser(HttpServletResponse response) {
+		List<TrainingRegistrationExcel> list = new ArrayList<>();
+		ExcelUtil.export(response, "培训报名数据模板", "培训报名数据表", list, TrainingRegistrationExcel.class);
 	}
 
 
@@ -386,4 +397,75 @@
 		}
 		return pinyinStr;
 	}
+
+
+	/**
+	 * 生成试卷,报名
+	 * @param ids 报名ids
+	 */
+	@PostMapping("/batchExam")
+	public R batchExam(@RequestParam String ids,
+					   @RequestParam String examTime,
+					   @RequestParam Date startTime,
+					   @RequestParam Date endTime){
+		if (!ids.equals("")){
+			List<String> list = Arrays.asList(ids.split(","));
+			if (list.size()>0){
+				ExamPaper examPaper = new ExamPaper();
+				examPaper.setExamTime(examTime);
+				examPaper.setExamType(2);
+				examPaper.setStartTime(startTime);
+				examPaper.setEndTime(endTime);
+				Calendar instance = Calendar.getInstance();
+				instance.setTime(startTime);
+				int year = instance.get(Calendar.YEAR);
+				int month = instance.get(Calendar.MONTH)+1;
+				int day = instance.get(Calendar.DAY_OF_MONTH);
+				String examName = year + "年" + month+ "月"+ day +"日" +"保安员证模拟考试";
+				examPaper.setExamName(examName);
+				//待审核
+				examPaper.setAuditStatus(3);
+				//生成考试
+				examPaperService.save(examPaper);
+				//修改报名信息
+				list.forEach(id ->{
+					TrainingRegistration trainingRegistration = new TrainingRegistration();
+					trainingRegistration.setId(Long.parseLong(id));
+					trainingRegistration.setTrainExamId(examPaper.getId().toString());
+					trainingRegistrationService.updateById(trainingRegistration);
+				});
+			}
+
+		}else {
+			//查询已报名未关联试卷的人员
+			List<Long> applyIds = trainingRegistrationService.getTrainIds();
+			if (applyIds.size()>0){
+				//生成考试
+				ExamPaper examPaper = new ExamPaper();
+				examPaper.setExamTime(examTime);
+				examPaper.setExamType(2);
+				examPaper.setStartTime(startTime);
+				examPaper.setEndTime(endTime);
+				Calendar instance = Calendar.getInstance();
+				instance.setTime(startTime);
+				int year = instance.get(Calendar.YEAR);
+				int month = instance.get(Calendar.MONTH)+1;
+				int day = instance.get(Calendar.DAY_OF_MONTH);
+				String examName = year + "年" + month+ "月"+ day +"日" +"保安员证模拟考试";
+				examPaper.setExamName(examName);
+				//待审核
+				examPaper.setAuditStatus(3);
+				//生成考试
+				examPaperService.save(examPaper);
+				//修改报名信息
+				applyIds.forEach(id ->{
+					TrainingRegistration trainingRegistration = new TrainingRegistration();
+					trainingRegistration.setId(id);
+					trainingRegistration.setTrainExamId(examPaper.getId().toString());
+					trainingRegistrationService.updateById(trainingRegistration);
+				});
+			}
+		}
+		return null;
+	}
 }

--
Gitblit v1.9.3