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/apply/mapper/ApplyMapper.xml                               |   48 ++++++++
 src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java                |   11 +
 src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java    |   60 ++++++---
 src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java                   |   27 +++-
 src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml             |    2 
 src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java |   68 ++++++++--
 src/main/java/org/springblade/modules/training/excel/TrainingRegistrationImporter.java           |    4 
 src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java                              |   16 ++
 src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java                           |    8 +
 src/main/java/org/springblade/modules/training/excel/TrainingRegistrationExcel.java              |   34 +++++
 src/main/java/org/springblade/modules/exam/service/ExamPaperService.java                         |    8 +
 src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java                  |    2 
 src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java                   |   27 +++-
 src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml                            |   20 +++
 src/main/java/org/springblade/modules/training/service/TrainingRegistrationService.java          |    3 
 15 files changed, 283 insertions(+), 55 deletions(-)

diff --git a/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java b/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java
index 714b1ac..e953b88 100644
--- a/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java
+++ b/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java
@@ -106,9 +106,23 @@
 
 	/**
 	 * 查询保安员个人报名信息
-	 * @param apply 报名信息,包含userId
+	 * @param apply 报名信息
 	 * @return
 	 */
 	@SqlParser(filter = true)
     ApplyVO getSecurityApplyDetail(@Param("apply") ApplyVO apply);
+
+	/**
+	 * 查询培训考试人数
+	 * @param id 考试id
+	 * @return
+	 */
+	int getTrainDeatailNum(Long id);
+
+	/**
+	 * 查询已培训报名的的人信息集合
+	 * @param id 考试id
+	 * @return
+	 */
+	List<ApplyVO> getTrainDetailList(Long id);
 }
diff --git a/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml b/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml
index 45f69ae..98043cf 100644
--- a/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml
+++ b/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml
@@ -245,6 +245,24 @@
         and sa.exam_id is not null
     </select>
 
+    <!-- 查询培训考试人数-->
+    <select id="getTrainDeatailNum" resultType="java.lang.Integer">
+        SELECT
+        count(*)
+        FROM
+        sys_training_registration sr
+        left join
+        blade_user bu
+        on
+        sr.user_id = bu.id
+        WHERE
+        1=1
+        and is_exam = 1
+        and sr.cancel = 1
+        and bu.is_train = 1
+        and sr.train_exam_id is not null
+    </select>
+
     <!--查询已报名的的人信息集合-->
     <select id="getApplyDetailList" resultType="org.springblade.modules.apply.vo.ApplyVO">
         SELECT
@@ -274,6 +292,35 @@
         and sa.exam_id is not null
     </select>
 
+    <!--查询已培训报名的的人信息集合-->
+    <select id="getTrainDetailList" resultType="org.springblade.modules.apply.vo.ApplyVO">
+        SELECT
+            sr.candidate_no candidateNo,sr.training_time applyTime,
+            ke.exam_name examName,
+            bu.real_name realName,bu.cardid idCardNo,bu.sex,
+            bd.dept_name deptName,"保安证" applyCard
+        FROM
+        sys_training_registration sr
+        left join
+        blade_user bu
+        on
+        sr.user_id = bu.id
+        left join
+        ksxt_exam ke
+        on
+        ke.id = sr.train_exam_id
+        left join
+        blade_dept bd
+        on
+        bd.id = bu.dept_id
+        WHERE
+        1=1
+        and is_exam = 1
+        and sr.cancel = 1
+        and bu.is_train = 1
+        and sr.train_exam_id is not null
+    </select>
+
 
     <!--查询保安员个人报名信息-->
     <select id="getSecurityApplyDetail" resultType="org.springblade.modules.apply.vo.ApplyVO">
@@ -294,4 +341,5 @@
             and sa.id = #{apply.id}
         </if>
     </select>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java b/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
index eeb9b16..a702dba 100644
--- a/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
+++ b/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
@@ -361,12 +361,27 @@
 		//查询考试信息
 		ExamPaper paper = examPaperService.getById(apply.getExamId());
 		map.put("examName",paper.getExamName());
-		//查询已报名的总人数
-		int num = baseMapper.getApplyDeatailNum(paper.getId());
-		map.put("num",num);
-		//查询已报名的的人信息集合
-		List<ApplyVO> applyVOList = baseMapper.getApplyDetailList(paper.getId());
-		map.put("applyList",applyVOList);
+
+		int num = 0;
+		if (paper.getExamType()==1){
+			//查询已报名的总人数
+			num = baseMapper.getApplyDeatailNum(paper.getId());
+			map.put("num",num);
+			//查询已报名的的人信息集合
+			List<ApplyVO> applyVOList = baseMapper.getApplyDetailList(paper.getId());
+			map.put("applyList",applyVOList);
+		}
+
+		//模拟考试
+		if (paper.getExamType()==2){
+			//查询已报名的总人数
+			num = baseMapper.getTrainDeatailNum(paper.getId());
+			map.put("num",num);
+			//查询已报名的的人信息集合
+			List<ApplyVO> applyVOList = baseMapper.getTrainDetailList(paper.getId());
+			map.put("applyList",applyVOList);
+		}
+
 		//返回数据
 		return map;
 	}
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 2b69dd5..1673428 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java
@@ -34,6 +34,8 @@
 import org.springblade.modules.exam.vo.ExamPaperVO;
 import org.springblade.modules.exam.wrapper.ExamPaperWrapper;
 import org.springblade.modules.training.entity.TrainExam;
+import org.springblade.modules.training.entity.TrainingRegistration;
+import org.springblade.modules.training.service.TrainingRegistrationService;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
@@ -54,6 +56,9 @@
 public class ExamPaperController extends BladeController {
 
 	private final ExamPaperService examPaperService;
+
+
+	private final TrainingRegistrationService trainingRegistrationService;
 
 
 	/**
@@ -219,13 +224,23 @@
 			examPaper.setAuditTime(new Date());
 			//修改考试审核状态
 			examPaperService.updateById(examPaper);
-
-			//查询当前考试已报名的人员集合数据
-			//生成准考证号
-			getCandidateNo(examPaper);
-			//查询
+			//查询当前考试已报名的人员培训报名数据集合
+			List<TrainingRegistration> trainingRegistrations = examPaperService.getTrainList(examPaper.getId());
+			if (trainingRegistrations.size()>0) {
+				trainingRegistrations.forEach(trainingRegistration -> {
+					//生成准考证号
+					trainingRegistration.setCandidateNo(getCandidateNo(examPaper));
+					//修改培训报名信息
+					trainingRegistrationService.updateById(trainingRegistration);
+				});
+			}
+			return R.status(true);
+		}else {
+			examPaper.setAuditTime(new Date());
+			//修改考试审核状态
+			examPaperService.updateById(examPaper);
+			return R.status(true);
 		}
-		return R.status(false);
 	}
 
 	/**
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java
index 8702de5..50504ba 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java
@@ -23,6 +23,7 @@
 import org.springblade.modules.exam.entity.ExamSubjectChoices;
 import org.springblade.modules.exam.vo.ExamPaperSubjectVO;
 import org.springblade.modules.exam.vo.ExamPaperVO;
+import org.springblade.modules.training.entity.TrainingRegistration;
 
 import java.util.List;
 
@@ -64,4 +65,11 @@
 	 * @return
 	 */
 	int getCandidateNoCount(String result);
+
+	/**
+	 * 查询当前考试已报名的人员培训报名数据集合
+	 * @param id 考试id
+	 * @return
+	 */
+	List<TrainingRegistration> getTrainList(Long id);
 }
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
index 30c18aa..8bacda6 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -183,4 +183,24 @@
         </if>
     </select>
 
+    <!--查询当前考试已报名的人员培训报名数据集合-->
+    <select id="getTrainList" resultType="org.springblade.modules.training.entity.TrainingRegistration">
+        SELECT
+        str.id
+        FROM
+        sys_training_registration str
+        left join
+        ksxt_exam ke
+        on
+        ke.id = str.train_exam_id
+        left join
+        blade_user bu
+        on
+        bu.id = str.user_id
+        where 1=1
+        and bu.is_train = 1
+        and str.is_exam = 1
+        and str.cancel = 1
+    </select>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/exam/service/ExamPaperService.java b/src/main/java/org/springblade/modules/exam/service/ExamPaperService.java
index b2cb0c3..b15db62 100644
--- a/src/main/java/org/springblade/modules/exam/service/ExamPaperService.java
+++ b/src/main/java/org/springblade/modules/exam/service/ExamPaperService.java
@@ -23,6 +23,7 @@
 import org.springblade.modules.exam.vo.ExamPaperSubjectVO;
 import org.springblade.modules.exam.vo.ExamPaperVO;
 import org.springblade.modules.exam.vo.ExamScoreVO;
+import org.springblade.modules.training.entity.TrainingRegistration;
 
 import java.util.List;
 import java.util.Map;
@@ -72,4 +73,11 @@
 	 * @return
 	 */
     int getCandidateNoCount(String result);
+
+	/**
+	 * 查询当前考试已报名的人员培训报名数据集合
+	 * @param id 考试id
+	 * @return
+	 */
+	List<TrainingRegistration> getTrainList(Long id);
 }
diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
index 8eaaf23..e6cf583 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
@@ -25,6 +25,7 @@
 import org.springblade.modules.exam.vo.ExamPaperSubjectVO;
 import org.springblade.modules.exam.vo.ExamPaperVO;
 import org.springblade.modules.exam.vo.ExamScoreVO;
+import org.springblade.modules.training.entity.TrainingRegistration;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -97,4 +98,14 @@
 	public int getCandidateNoCount(String result) {
 		return baseMapper.getCandidateNoCount(result);
 	}
+
+	/**
+	 * 查询当前考试已报名的人员培训报名数据集合
+	 * @param id 考试id
+	 * @return
+	 */
+	@Override
+	public List<TrainingRegistration> getTrainList(Long id) {
+		return baseMapper.getTrainList(id);
+	}
 }
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 55186da..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;
@@ -226,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);
 	}
 
 
@@ -413,6 +427,13 @@
 				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 {
@@ -437,13 +458,12 @@
 				//生成考试
 				examPaperService.save(examPaper);
 				//修改报名信息
-//				applyIds.forEach(id ->{
-//					Apply apply = new Apply();
-//					apply.setId(id);
-//					apply.setExamId(examPaper.getId());
-//					apply.setCandidateNo(getCandidateNo(apply));
-//					applyService.updateById(apply);
-//				});
+				applyIds.forEach(id ->{
+					TrainingRegistration trainingRegistration = new TrainingRegistration();
+					trainingRegistration.setId(id);
+					trainingRegistration.setTrainExamId(examPaper.getId().toString());
+					trainingRegistrationService.updateById(trainingRegistration);
+				});
 			}
 		}
 		return null;
diff --git a/src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java b/src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java
index ad170fb..8e15ad8 100644
--- a/src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java
+++ b/src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java
@@ -59,7 +59,7 @@
 	private String weight;
 
 	/**
-	 * 培训报名申请id
+	 * 考试id
 	 */
 	@TableField("train_exam_id")
 	private String trainExamId;
diff --git a/src/main/java/org/springblade/modules/training/excel/TrainingRegistrationExcel.java b/src/main/java/org/springblade/modules/training/excel/TrainingRegistrationExcel.java
new file mode 100644
index 0000000..ebfa491
--- /dev/null
+++ b/src/main/java/org/springblade/modules/training/excel/TrainingRegistrationExcel.java
@@ -0,0 +1,34 @@
+package org.springblade.modules.training.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * TrainingRegistrationExcel
+ * @author zhongrj
+ * @since 2021-08-12
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class TrainingRegistrationExcel implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	@ColumnWidth(25)
+	@ExcelProperty("培训机构名称")
+	private String deptName;
+
+	@ColumnWidth(15)
+	@ExcelProperty("姓名")
+	private String realName;
+
+	@ColumnWidth(20)
+	@ExcelProperty("身份证号")
+	private String idCardNo;
+}
diff --git a/src/main/java/org/springblade/modules/training/excel/TrainingRegistrationImporter.java b/src/main/java/org/springblade/modules/training/excel/TrainingRegistrationImporter.java
index 23129e3..f64a24c 100644
--- a/src/main/java/org/springblade/modules/training/excel/TrainingRegistrationImporter.java
+++ b/src/main/java/org/springblade/modules/training/excel/TrainingRegistrationImporter.java
@@ -31,13 +31,13 @@
  * @since 2021-08-03
  */
 @RequiredArgsConstructor
-public class TrainingRegistrationImporter implements ExcelImporter<ApplyInfoExcel> {
+public class TrainingRegistrationImporter implements ExcelImporter<TrainingRegistrationExcel> {
 
 	private final TrainingRegistrationService service;
 	private final Boolean isCovered;
 
 	@Override
-	public void save(List<ApplyInfoExcel> data) {
+	public void save(List<TrainingRegistrationExcel> data) {
 		service.importTrainingRegistration(data, isCovered);
 	}
 }
diff --git a/src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml b/src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml
index 115c6bd..821922c 100644
--- a/src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml
+++ b/src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml
@@ -144,7 +144,7 @@
         limit 1
     </select>
 
-    <!--查询已报名培训公司未关联考试的人员-->
+    <!--查询已报名培训公司未关联考试的报名信息-->
     <select id="getTrainIds" resultType="java.lang.Long">
         SELECT
         str.id
diff --git a/src/main/java/org/springblade/modules/training/service/TrainingRegistrationService.java b/src/main/java/org/springblade/modules/training/service/TrainingRegistrationService.java
index 95b0726..bb3111a 100644
--- a/src/main/java/org/springblade/modules/training/service/TrainingRegistrationService.java
+++ b/src/main/java/org/springblade/modules/training/service/TrainingRegistrationService.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.springblade.modules.apply.excel.ApplyInfoExcel;
 import org.springblade.modules.training.entity.TrainingRegistration;
+import org.springblade.modules.training.excel.TrainingRegistrationExcel;
 import org.springblade.modules.training.vo.TrainingRegistrationVo;
 
 import java.util.List;
@@ -40,7 +41,7 @@
 	 * @param data
 	 * @param isCovered
 	 */
-	void importTrainingRegistration(List<ApplyInfoExcel> data, Boolean isCovered);
+	void importTrainingRegistration(List<TrainingRegistrationExcel> data, Boolean isCovered);
 
 	/**
 	 * 查询准考证前缀相同的数量
diff --git a/src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java b/src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
index 30c5378..59bc92a 100644
--- a/src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
+++ b/src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
@@ -3,16 +3,24 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.AllArgsConstructor;
 import org.springblade.core.mp.support.Condition;
+import org.springblade.core.tool.api.R;
 import org.springblade.modules.apply.entity.Apply;
 import org.springblade.modules.apply.excel.ApplyInfoExcel;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IUserDeptService;
+import org.springblade.modules.system.service.IUserService;
 import org.springblade.modules.training.entity.TrainingRegistration;
+import org.springblade.modules.training.excel.TrainingRegistrationExcel;
 import org.springblade.modules.training.mapper.TrainingRegistrationMapper;
 import org.springblade.modules.training.service.TrainingRegistrationService;
 import org.springblade.modules.training.util.LongTimeUtil;
 import org.springblade.modules.training.vo.TrainingRegistrationVo;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -20,7 +28,13 @@
  * @author zhongrj
  */
 @Service
+@AllArgsConstructor
 public class TrainingRegistrationServiceImpl extends ServiceImpl<TrainingRegistrationMapper, TrainingRegistration> implements TrainingRegistrationService {
+
+	private final IUserService userService;
+
+	private final IUserDeptService userDeptService;
+
 
 	@Override
 	public IPage<TrainingRegistrationVo> selectTrainingRegistrationPage(IPage<TrainingRegistrationVo> page, TrainingRegistrationVo trainingRegistration) {
@@ -56,25 +70,45 @@
 	 * @param isCovered
 	 */
 	@Override
-	public void importTrainingRegistration(List<ApplyInfoExcel> data, Boolean isCovered) {
-		data.forEach(applyInfoExcel -> {
-			//通过准考证号
-			if (null!=applyInfoExcel.getCandidateNo() && applyInfoExcel.getIdCardNo()!=""){
+	@Transactional(rollbackFor = Exception.class)
+	public void importTrainingRegistration(List<TrainingRegistrationExcel> data, Boolean isCovered) {
+		if (data.size()>0){
+			data.forEach(trainingRegistrationExcel -> {
 				TrainingRegistration trainingRegistration = new TrainingRegistration();
-				trainingRegistration.setCandidateNo(applyInfoExcel.getCandidateNo());
-				//查询报名信息
-				TrainingRegistration trainingRegistration1  = baseMapper.selectOne(Condition.getQueryWrapper(trainingRegistration));
-				trainingRegistration1.setIsExam(2);
-				baseMapper.updateById(trainingRegistration1);
-				//内网新增
-				try {
-//					arg.test01(arg.url+"/apply/update",apply1);
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-			}
+				//通过准考证号
+				if (null!=trainingRegistrationExcel.getIdCardNo() && trainingRegistrationExcel.getIdCardNo()!=""){
+					trainingRegistration.setCandidateNo(trainingRegistrationExcel.getIdCardNo());
+					User user = userService.getUserInfoByIdCardNo(trainingRegistrationExcel.getIdCardNo());
+					trainingRegistration.setUserId(user.getId().toString());
 
-		});
+					//通过培训公司查组织机构id
+					if (null!=trainingRegistrationExcel.getDeptName() && trainingRegistrationExcel.getDeptName()!=""){
+						trainingRegistration.setTrainingUnitId(userDeptService.selectIn(trainingRegistrationExcel.getDeptName()));
+					}
+					if(null==user.getIsTrain()){
+						trainingRegistration.setIsExam(1);
+						trainingRegistration.setCancel(1);
+						trainingRegistration.setTrainingTime(new Date());
+						//新增报名
+						this.save(trainingRegistration);
+						//修改保安报名状态
+						user.setIsTrain(1);
+						userService.updateById(user);
+					}else {
+						if (2 == user.getIsTrain()) {
+							trainingRegistration.setIsExam(1);
+							trainingRegistration.setCancel(1);
+							trainingRegistration.setTrainingTime(new Date());
+							//新增报名
+							this.save(trainingRegistration);
+							//修改保安报名状态
+							user.setIsTrain(1);
+							userService.updateById(user);
+						}
+					}
+				}
+			});
+		}
 	}
 
 

--
Gitblit v1.9.3