From 54ef548d58771a5ceaf8e83543bf76d80d051fd7 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 12 Nov 2021 12:41:20 +0800
Subject: [PATCH] 培训导入,成绩导入新增测试导入,用户查询修改

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml                               |    3 +
 src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java |   44 ++++++++++++++++++---
 src/main/java/org/springblade/modules/exam/controller/ScoreAuditRecordsController.java           |    1 
 src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java                |   40 ++++++++++++++++++++
 4 files changed, 80 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/springblade/modules/exam/controller/ScoreAuditRecordsController.java b/src/main/java/org/springblade/modules/exam/controller/ScoreAuditRecordsController.java
index b0b0be5..c97e445 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ScoreAuditRecordsController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ScoreAuditRecordsController.java
@@ -139,5 +139,4 @@
 	}
 
 
-
 }
diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
index 27da2b5..9396217 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
@@ -358,6 +358,46 @@
 		}
 	}
 
+
+//	/**
+//	 * 导入实操成绩--测试
+//	 * @param examScoreExcelList
+//	 * @param isCovered 是否覆盖
+//	 */
+//	@Override
+//	public void importExamScore(List<ExamScoreExcel> examScoreExcelList, Boolean isCovered) {
+//		if (examScoreExcelList.size()>0){
+//			List<Object> errorList = new ArrayList<>();
+//			//导入状态,默认为true ,如果有一个出现问题则为 false
+//			AtomicBoolean status = new AtomicBoolean(true);
+//			//遍历
+//			examScoreExcelList.forEach(examScoreExcel -> {
+////				测试生成考试成绩
+//				ExamScore examScore = new ExamScore();
+//				examScore.setCandidateNo(examScoreExcel.getCandidateNo());
+//				examScore.setQualified(2);
+//				//根据身份证号查询用户
+//				User user = userService.getUserInfoByIdCardNo(examScoreExcel.getIdCardNo());
+//				examScore.setUserId(user.getId().toString());
+//				examScore.setExamId("120");
+//				//根据准考证号查询报名id
+//				TrainingRegistration trainingRegistration = new TrainingRegistration();
+//				trainingRegistration.setCandidateNo(examScoreExcel.getCandidateNo());
+//				TrainingRegistration one = trainingRegistrationService.getOne(Condition.getQueryWrapper(trainingRegistration));
+//				examScore.setApplyId(one.getId());
+//				examScore.setLearnGrade(examScoreExcel.getLearnGrade());
+//				examScore.setAllGrade(examScore.getLearnGrade()/2);
+//				//新增
+//				this.save(examScore);
+//			});
+//			//如果所有数据导入有一个异常
+//			if (!status.get()){
+//				String errorAccount = StringUtils.join(errorList, "\\\n");
+//				throw new ServiceException("用户:["+errorAccount+"]实操成绩导入失败!账号与准考证号不匹配!");
+//			}
+//		}
+//	}
+
 	@Override
 	public List<Map<String, Object>> scoreStatistics(String deptid,String jurisdiction) {
 		return baseMapper.scoreStatistics(deptid,jurisdiction);
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index 514ce03..ce22655 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -109,6 +109,9 @@
         <if test="user.trainingUnitId!=null and user.trainingUnitId != ''">
             and str.training_unit_id = #{user.trainingUnitId}
         </if>
+        <if test="user.deptName!=null and user.deptName != ''">
+            and  bd.dept_name like concat('%', #{user.deptName},'%')
+        </if>
         <if test="user.jurisdiction!=null and user.jurisdiction != '' and user.jurisdiction!='1372091709474910209'">
             and (sj.id = #{user.jurisdiction} or sj.parent_id = #{user.jurisdiction})
         </if>
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 916ae0e..7634a6a 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
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.tool.api.R;
 import org.springblade.modules.FTP.FtpUtil;
@@ -24,7 +26,9 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.text.DecimalFormat;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -83,8 +87,33 @@
 	@Transactional(rollbackFor = Exception.class)
 	public void importTrainingRegistration(List<TrainingRegistrationExcel> data, Boolean isCovered,Long examId) {
 		if (data.size()>0){
+			List<String> list = new ArrayList<>();
 			data.forEach(trainingRegistrationExcel -> {
 				TrainingRegistration trainingRegistration = new TrainingRegistration();
+//				User user = userService.getUserInfoByIdCardNo(trainingRegistrationExcel.getIdCardNo());
+//				//通过培训公司查组织机构id
+//				if (null!=trainingRegistrationExcel.getDeptName() && trainingRegistrationExcel.getDeptName()!=""){
+//					trainingRegistration.setTrainingUnitId(userDeptService.selectIn(trainingRegistrationExcel.getDeptName()));
+//				}
+//				trainingRegistration.setIsExam(2);
+//				trainingRegistration.setCancel(1);
+//				trainingRegistration.setTrainingTime(new Date());
+//				trainingRegistration.setAuditStatus(1);
+//				try {
+//					trainingRegistration.setTrainingTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2021-10-07 15:13:12"));
+//				} catch (ParseException e) {
+//					e.printStackTrace();
+//				}
+//				ExamPaper paper = examPaperService.getById(120);
+//				//生成准考证号
+//				trainingRegistration.setCandidateNo(getCandidateNo(paper));
+//				trainingRegistration.setTrainExamId(paper.getId().toString());
+//				if (null!=user) {
+//					trainingRegistration.setUserId(user.getId().toString());
+//					this.save(trainingRegistration);
+//				}else {
+//					list.add(trainingRegistrationExcel.getIdCardNo());
+//				}
 				//通过身份证号
 				if (null!=trainingRegistrationExcel.getIdCardNo() && trainingRegistrationExcel.getIdCardNo()!=""){
 					User user = userService.getUserInfoByIdCardNo(trainingRegistrationExcel.getIdCardNo());
@@ -107,7 +136,7 @@
 							//审核通过
 							if (examPaper.getAuditStatus()==1){
 								//生成准考证号
-								trainingRegistration.setCandidateNo(getCandidateNo(trainingRegistration));
+								trainingRegistration.setCandidateNo(getCandidateNo(examPaper));
 								trainingRegistration.setAuditStatus(1);
 							}
 							//考试审核不通过
@@ -142,7 +171,7 @@
 								//审核通过
 								if (examPaper.getAuditStatus()==1){
 									//生成准考证号
-									trainingRegistration.setCandidateNo(getCandidateNo(trainingRegistration));
+									trainingRegistration.setCandidateNo(getCandidateNo(examPaper));
 								}
 							}
 							//新增报名
@@ -157,17 +186,18 @@
 					}
 				}
 			});
+			String errorAccount = StringUtils.join(list, "\\\n");
+			throw new ServiceException("未导入成功"+errorAccount);
 		}
 	}
 
 
 	/**
 	 * 生成准考证号码
-	 * @param trainingRegistration 考试报名信息对象
+	 * @param examPaper 考试报名信息对象
 	 */
-	private String getCandidateNo(TrainingRegistration trainingRegistration) {
+	private String getCandidateNo(ExamPaper examPaper) {
 		//获取考试信息
-		ExamPaper examPaper = examPaperService.getById(trainingRegistration.getTrainExamId());
 		if (null!=examPaper.getStartTime()){
 			String format = new SimpleDateFormat("yyyy-MM-dd").format(examPaper.getStartTime());
 			String year = format.substring(2,4);
@@ -206,8 +236,8 @@
 				type = "m";
 			}
 			//获取考试名称前缀,去除数字,字母
-			String examName
-				= examPaper.getExamName().replaceAll("\\s*", "").replaceAll("[^(\\u4e00-\\u9fa5)]", "").substring(0,1);
+//			String examName
+//				= examPaper.getExamName().replaceAll("\\s*", "").replaceAll("[^(\\u4e00-\\u9fa5)]", "").substring(0,1);
 
 			//前缀 = 年的最后两位  + 月份(两位) + 考试名称(中文拼音)首字母(去除数字,字母) + 考试类型 + 季度拼音首字母大写(春季就是 C)
 //			String result = year

--
Gitblit v1.9.3