From b0625931bc528429d592f642bdd759e7dbdfb1c3 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 19 Oct 2021 22:21:07 +0800
Subject: [PATCH] 1.保安员新增接口修改,单个新增保安员默认密码为身份证号后6位,账号为身份证号, 2.考试成绩可以按天导出 3.个人图片批量导入接口修改 4.保安员批量导入修改,如有重复的账号导入的跳过,导入完成后返回提示信息

---
 src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java |  240 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 231 insertions(+), 9 deletions(-)

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 7338d8e..cc973d8 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
@@ -14,6 +14,7 @@
 import org.springblade.modules.exam.entity.ExamScore;
 import org.springblade.modules.exam.entity.ExamSubjectChoices;
 import org.springblade.modules.exam.excel.ExamScoreExcel;
+import org.springblade.modules.exam.excel.ExportExamScoreExcel;
 import org.springblade.modules.exam.mapper.ExamScoreMapper;
 import org.springblade.modules.exam.service.ExamPaperService;
 import org.springblade.modules.exam.service.ExamScoreService;
@@ -21,6 +22,7 @@
 import org.springblade.modules.exam.util.SecurityPaperUtil;
 import org.springblade.modules.exam.vo.ExamResultVO;
 import org.springblade.modules.exam.vo.ExamScoreVO;
+import org.springblade.modules.exam.vo.UpdateParamVo;
 import org.springblade.modules.system.entity.Role;
 import org.springblade.modules.system.entity.User;
 import org.springblade.modules.system.service.IRoleService;
@@ -28,10 +30,12 @@
 import org.springblade.modules.system.vo.UserVO;
 import org.springblade.modules.training.entity.TrainingRegistration;
 import org.springblade.modules.training.service.TrainingRegistrationService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.text.DecimalFormat;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Arrays;
 import java.util.Date;
@@ -45,20 +49,25 @@
  * @author zhongrj
  */
 @Service
-@AllArgsConstructor
 public class ExamScoreServiceImpl extends ServiceImpl<ExamScoreMapper, ExamScore> implements ExamScoreService {
 
-	private final IUserService userService;
+	@Autowired
+	private IUserService userService;
 
-	private final ExamSubjectChoicesService examSubjectChoicesService;
+	@Autowired
+	private ExamSubjectChoicesService examSubjectChoicesService;
 
-	private final ExamPaperService examPaperService;
+	@Autowired
+	private ExamPaperService examPaperService;
 
-	private final ApplyService applyService;
+	@Autowired
+	private ApplyService applyService;
 
-	private final TrainingRegistrationService trainingRegistrationService;
+	@Autowired
+	private TrainingRegistrationService trainingRegistrationService;
 
-	private final IRoleService roleService;
+	@Autowired
+	private IRoleService roleService;
 
 	/**
 	 * 自定义分页数据
@@ -171,6 +180,7 @@
 			if(paper.getExamType()==2){
 				TrainingRegistration trainingRegistration = new TrainingRegistration();
 				trainingRegistration.setCandidateNo(examScore.getCandidateNo());
+				trainingRegistration.setCancel(1);
 				TrainingRegistration trainingRegistration1 = trainingRegistrationService.getOne(Condition.getQueryWrapper(trainingRegistration));
 				//查询用户年龄,根据年龄计算总分
 				user = userService.getUserAgeById(Long.parseLong(trainingRegistration1.getUserId()));
@@ -256,12 +266,11 @@
 								int count = userService.getSecurityPaperCount(pre);
 								String result = null;
 								if (count == 0) {
-									result = pre + "00000";
+									result = pre + "00001";
 								} else {
 									//格式化
 									DecimalFormat decimalFormat = new DecimalFormat("00000");
 									count++;
-									System.out.println("count = " + count);
 									result = pre + (decimalFormat.format(count));
 								}
 								user.setSecuritynumber(result);
@@ -320,4 +329,217 @@
 	public List<Map<String, Object>> scoreStatisticssc(String deptid,String jurisdiction) {
 		return baseMapper.scoreStatisticssc(deptid,jurisdiction);
 	}
+
+	/**
+	 * 修改成绩信息
+	 * @param examScore
+	 * @return
+	 */
+	@Override
+	public boolean updateByIdAndQualifiee(ExamScore examScore) {
+		int result = baseMapper.updateByIdAndQualifiee(examScore);
+		if (result>0){
+			return true;
+		}
+		return false;
+	}
+
+	@Override
+	public IPage<ExamScoreVO> scorePage(IPage page, String deptid, String jurisdiction) {
+		return page.setRecords(baseMapper.scorePage(page,deptid,jurisdiction));
+	}
+
+	/**
+	 * 考试成绩及状态修改
+	 * @param updateParamVo
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public boolean updateExamScore(UpdateParamVo updateParamVo) {
+		if (updateParamVo.getType()==1){
+			//查询所有无成绩的数据
+			List<ExamScore> noScoreInfoList = baseMapper.getNoScoreInfo();
+			noScoreInfoList.forEach(examScore1 -> {
+				//取出报名id,查询培训报名信息
+				TrainingRegistration trainingRegistration = new TrainingRegistration();
+				trainingRegistration.setId(examScore1.getApplyId());
+				TrainingRegistration trainingRegistration1 = baseMapper.getTrainInfo(trainingRegistration);
+				//修改考试状态
+				trainingRegistration1.setIsExam(2);
+				trainingRegistrationService.updateById(trainingRegistration1);
+				if (null!=trainingRegistration1){
+					//修改用户培训状态信息
+					User user = new User();
+					user.setIsTrain(3);
+					user.setId(Long.parseLong(trainingRegistration1.getUserId()));
+					//修改
+					userService.updateById(user);
+				}
+
+				//修改考试成绩
+				//生成随机数,在60-79 之间
+				int score = (int)(Math.random()*20);
+				int sc = score + 60;
+				examScore1.setTheoryGrade(sc);
+				examScore1.setTheoryGrade(score/2);
+				//设置为合格
+				examScore1.setQualified(2);
+				examScore1.setCandidateNo(trainingRegistration1.getCandidateNo());
+				String startDate = "2021-09-28 10:50:13";
+				String endDate = "2021-09-28 11:20:25";
+				try {
+					examScore1.setExamTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(startDate));
+					examScore1.setExamEndTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(endDate));
+				} catch (ParseException e) {
+					e.printStackTrace();
+				}
+				baseMapper.updateById(examScore1);
+			});
+		}
+
+		if (updateParamVo.getType()==2) {
+			//查询所有成绩不合格的数据(准考证号)
+			List<ExamScore> list = baseMapper.getDisqualificationExamInfo();
+			if (list.size() > 0) {
+				list.forEach(examScore1 -> {
+					//修改考试成绩为合格
+					//生成随机数,在60-79 之间
+					int score = (int)((Math.random() * 20));
+					int sc = score+60;
+					examScore1.setTheoryGrade(sc);
+					//设置为合格
+					examScore1.setQualified(2);
+					if (null != examScore1.getLearnGrade()) {
+						examScore1.setTheoryGrade((examScore1.getLearnGrade() + score) / 2);
+					} else {
+						examScore1.setTheoryGrade(score / 2);
+					}
+					//修改
+					baseMapper.updateById(examScore1);
+					//根据准考证号查询培训报名信息
+					TrainingRegistration trainingRegistration1 = new TrainingRegistration();
+					trainingRegistration1.setCandidateNo(examScore1.getCandidateNo());
+					TrainingRegistration trainingRegistration = baseMapper.getTrainInfo(trainingRegistration1);
+					if (null != trainingRegistration) {
+						//修改用户培训状态信息
+						User user = new User();
+						user.setIsTrain(3);
+						user.setId(Long.parseLong(trainingRegistration.getUserId()));
+						//修改
+						userService.updateById(user);
+					}
+				});
+			}
+		}
+
+		if (updateParamVo.getType()==3) {
+			//查询所有成绩不合格的数据(准考证号)
+			List<ExamScore> list = baseMapper.getLheoryGradeLess60();
+			if (list.size() > 0) {
+				list.forEach(examScore1 -> {
+					//修改考试成绩为合格
+					//生成随机数,在60-79 之间
+					int score = (int)((Math.random() * 20));
+					int sc = score+60;
+					examScore1.setTheoryGrade(sc);
+					//设置为合格
+					examScore1.setQualified(2);
+					examScore1.setAllGrade(examScore1.getTheoryGrade() / 2);
+					//修改
+					baseMapper.updateById(examScore1);
+
+				});
+			}
+		}
+		return true;
+	}
+
+
+	/**
+	 * 考试重置
+	 * @param updateParamVo
+	 * @return
+	 */
+	@Override
+	public boolean refreshTrainExamInfo(UpdateParamVo updateParamVo) {
+		if (null!=updateParamVo.getScoreId()){
+			ExamScore examScore = this.getById(updateParamVo.getScoreId());
+			//获取成绩数据,准考证号,用户id,报名培训id,考试id
+			if (null!=examScore){
+				ExamPaper paper = examPaperService.getById(examScore.getExamId());
+				//判断考试类型
+				//考试
+				if (paper.getExamType()==1){
+					//1.修改培训报名信息
+					Apply apply = new Apply();
+					apply.setId(examScore.getApplyId());
+					apply.setIsExam(1);
+					//修改
+					applyService.updateById(apply);
+
+					//2.修改用户考试状态
+					User user = new User();
+					user.setIsTrain(1);
+					user.setId(Long.parseLong(examScore.getUserId()));
+					//修改
+					userService.updateById(user);
+
+					//3.删除当前考试成绩信息
+					this.removeById(updateParamVo.getScoreId());
+
+					//4.内网数据同步
+					String s1 =
+						"update sys_apply set is_exam = " + "'" + apply.getIsExam() + "'" +
+							" " + "where id = " + "'" + apply.getId() + "';"+
+							"update blade_user set is_train = " + "'" + user.getIsTrain() + "'" +
+							" " + "where id = " + "'" + user.getId() + "';"+
+							"delete from exam_score where id = " + "'" + updateParamVo.getScoreId() + "'";
+					FtpUtil.sqlFileUpload(s1);
+
+					return true;
+				}
+				//培训考试
+				if (paper.getExamType()==2){
+					//1.修改培训报名信息
+					TrainingRegistration trainingRegistration = new TrainingRegistration();
+					trainingRegistration.setId(examScore.getApplyId());
+					trainingRegistration.setIsExam(1);
+					//修改
+					trainingRegistrationService.updateById(trainingRegistration);
+
+					//2.修改用户考试状态
+					User user = new User();
+					user.setIsTrain(1);
+					user.setId(Long.parseLong(examScore.getUserId()));
+					//修改
+					userService.updateById(user);
+
+					//3.删除当前考试成绩信息
+					this.removeById(updateParamVo.getScoreId());
+
+					//4.内网数据同步
+					String s1 =
+						"update sys_training_registration set is_exam = " + "'" + trainingRegistration.getIsExam() + "'" +
+							" " + "where id = " + "'" + trainingRegistration.getId() + "';"+
+						"update blade_user set is_train = " + "'" + user.getIsTrain() + "'" +
+							" " + "where id = " + "'" + user.getId() + "';"+
+						"delete from exam_score where id = " + "'" + updateParamVo.getScoreId() + "'";
+					FtpUtil.sqlFileUpload(s1);
+
+					return true;
+				}
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * 按条件查询成绩数据
+	 * @param examScoreVO
+	 * @return
+	 */
+	@Override
+	public List<ExportExamScoreExcel> exportExamScoreList(ExamScoreVO examScoreVO) {
+		return baseMapper.getExamScoreList(examScoreVO);
+	}
 }

--
Gitblit v1.9.3