智慧保安后台管理-外网项目备份
src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java
@@ -14,8 +14,11 @@
import org.springblade.modules.exam.service.ScoreAuditRecordsService;
import org.springblade.modules.exam.util.SecurityPaperUtil;
import org.springblade.modules.exam.vo.ScoreAuditRecordsVO;
import org.springblade.modules.securitypaper.entity.SecurityPaper;
import org.springblade.modules.securitypaper.service.SecurityPaperService;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.service.MyAsyncService;
import org.springblade.modules.system.vo.UserVO;
import org.springblade.modules.training.entity.TrainingRegistration;
import org.springblade.modules.training.service.TrainingRegistrationService;
@@ -48,6 +51,11 @@
   @Autowired
   private TrainingRegistrationService trainingRegistrationService;
   @Autowired
   private SecurityPaperService securityPaperService;
   @Autowired
   private  MyAsyncService myAsyncService;
   /**
    * 自定义分页
@@ -87,8 +95,15 @@
         ExamScore examScore = examScoreService.getById(auditRecords.getExamScoreId());
         //1.修改培训报名考试状态
         TrainingRegistration trainingRegistration = trainingRegistrationService.getById(examScore.getApplyId());
         //已考试
         trainingRegistration.setIsExam(2);
         //考试状态修改
         if(trainingRegistration.getIsExam()==4) {
            //考试状态修改为纸质考试
            trainingRegistration.setIsExam(5);
            trainingRegistration.setCancel(1);
         }else {
            //考试结束
            trainingRegistration.setIsExam(2);
         }
         //修改
         trainingRegistrationService.updateById(trainingRegistration);
@@ -130,10 +145,12 @@
                  ",qualified = " + "'" + examScore.getQualified() + "'" +
                  " " + "where id = " + "'" + examScore.getId() + "';"+
               "update sys_training_registration set is_exam = " + "'" + trainingRegistration.getIsExam() + "'" +
                  ",cancel = " + "'" + trainingRegistration.getCancel() + "'" +
                  " " + "where id = " + "'" + trainingRegistration.getId() + "';"+
               "update blade_user set is_train = " + "'" +  user.getIsTrain() + "'" +
                  " " + "where id = " + "'" + user.getId() + "'";
            FtpUtil.sqlFileUpload(s1);
            //FtpUtil.sqlFileUpload(s1);
            myAsyncService.dataSync(s1);
         } else {
            //实操成绩不为空
            if (examScore.getTheoryGrade() >= 60 && examScore.getLearnGrade() >= 60) {
@@ -157,19 +174,37 @@
                     result = pre + (decimalFormat.format(count));
                  }
                  user.setSecuritynumber(result);
                  //发证日期
//               user.setPaperTime(new Date());
                  //修改为持证保安
                  user.setHold("1");
                  //更新保安数据
                  userService.updateById(user);
//                  String s1 =
//                     "update blade_user set hold = " + "'" + user.getHold() + "'" +
//                        ",securitynumber = " + "'" + user.getSecuritynumber() + "'" +
//                        ",is_train = " + "'" + user.getIsTrain() + "'" +
//                        " " + "where id = " + "'" + user.getId() + "'";
//                  FtpUtil.sqlFileUpload(s1);
                  //生成保安证的同时向保安证管理表中插入一条数据
                  SecurityPaper securityPaper = new SecurityPaper();
                  securityPaper.setUserId(user.getId());
                  securityPaper.setNumber(result);
                  securityPaper.setCreateTime(new Date());
                  securityPaper.setIdCardNo(user.getCardid());
                  securityPaper.setPeopleName(user.getRealName());
                  securityPaper.setExamId(Long.parseLong(examScore.getExamId()));
                  securityPaper.setApplyId(examScore.getApplyId());
                  securityPaper.setSource(1);
                  //新增保安员证信息
                  securityPaperService.save(securityPaper);
                  //数据同步
                  String s1 =
                     "insert into sys_security_paper(id,number,create_time,people_name,id_card_no,user_id,apply_id,exam_id) " +
                        "values(" + "'" + securityPaper.getId() + "'"
                        + "," + "'" + securityPaper.getNumber() +"'"
                        + "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(securityPaper.getCreateTime()) +"'"
                        + "," + "'" + securityPaper.getPeopleName() + "'"
                        + "," + "'" + securityPaper.getIdCardNo() + "'"
                        + "," + "'" + securityPaper.getUserId() + "'"
                        + "," + "'" + securityPaper.getApplyId() + "'"
                        + "," +"'" + securityPaper.getExamId() + "'" + ")";
                  //FtpUtil.sqlFileUpload(s1);
                  myAsyncService.dataSync(s1);
               }
            } else {
               //不合格
@@ -202,13 +237,15 @@
                  ",qualified = " + "'" + examScore.getQualified() + "'" +
                  " " + "where id = " + "'" + examScore.getId() + "';"+
               "update sys_training_registration set is_exam = " + "'" + trainingRegistration.getIsExam() + "'" +
                  ",cancel = " + "'" + trainingRegistration.getCancel() + "'" +
                  " " + "where id = " + "'" + trainingRegistration.getId() + "';"+
               "update blade_user set hold = " + "'" + user.getHold() + "'" +
                  ",securitynumber = " + "'" + user.getSecuritynumber() + "'" +
                  ",user_type = " + "'" + user.getUserType() + "'" +
                  ",is_train = " + "'" + user.getIsTrain() + "'" +
                  " " + "where id = " + "'" + user.getId() + "'";
            FtpUtil.sqlFileUpload(s1);
            //FtpUtil.sqlFileUpload(s1);
            myAsyncService.dataSync(s1);
         }
      }
      //审核时间
@@ -218,4 +255,174 @@
      //返回
      return true;
   }
   /**
    * 批量申请审核
    * @param scoreAuditRecords 考试成绩修改申请记录审核
    */
   @Override
   public boolean batchAudit(ScoreAuditRecordsVO scoreAuditRecords) {
      List<String> list = Arrays.asList(scoreAuditRecords.getIds().split(","));
      for (String id : list) {
         //审核
         ScoreAuditRecords records = this.getById(id);
         //如果是审核通过,则修改考试成绩,并改变培训考试状态,用户培训状态
         if (scoreAuditRecords.getStatus()==2) {
            //查询考试成绩
            ExamScore examScore = examScoreService.getById(records.getExamScoreId());
            //1.修改培训报名考试状态
            TrainingRegistration trainingRegistration = trainingRegistrationService.getById(examScore.getApplyId());
            //已考试
            trainingRegistration.setIsExam(2);
            //修改
            trainingRegistrationService.updateById(trainingRegistration);
            //2.修改用户培训考试状态
            User user = userService.getById(examScore.getUserId());
            //修改为考试结束状态
            user.setIsTrain(3);
            //3.修改考试理论成绩
            examScore.setTheoryGrade(records.getNewScore());
            //查询用户年龄
            UserVO userVO = userService.getUserAgeById(Long.parseLong(examScore.getUserId()));
            //判断实操成绩是否为空
            if (null == examScore.getLearnGrade()) {
               //如果为空,之间修改理论成绩和总成绩
               //总成绩
               if (userVO.getAge() <= 50) {
                  examScore.setAllGrade(Math.round(examScore.getTheoryGrade()/2));
               }
               if (userVO.getAge() > 50) {
                  examScore.setAllGrade(Math.round(examScore.getTheoryGrade()/2));
               }
               if (examScore.getTheoryGrade() >= 60) {
                  //实操成绩暂未录入
                  examScore.setQualified(2);
               }else {
                  //不合格
                  examScore.setQualified(1);
               }
               //更新保安数据
               userService.updateById(user);
               //更新成绩数据
               examScoreService.updateById(examScore);
               //内网培训报名,人员,成绩数据同步
               String s1 =
                  "update exam_score set theory_grade = " + "'" + examScore.getTheoryGrade() + "'" +
                     ",all_grade = " + "'" + examScore.getAllGrade() + "'" +
                     ",qualified = " + "'" + examScore.getQualified() + "'" +
                     " " + "where id = " + "'" + examScore.getId() + "';"+
                  "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() + "'";
               //FtpUtil.sqlFileUpload(s1);
               myAsyncService.dataSync(s1);
            } else {
               //实操成绩不为空
               if (examScore.getTheoryGrade() >= 60 && examScore.getLearnGrade() >= 60) {
                  //合格
                  examScore.setQualified(0);
                  //设置为未制证的状态
                  user.setUserType(7);
                  //如果已有保安证编号,不更保安证编号信息
                  if (null == user.getSecuritynumber() || user.getSecuritynumber().equals("")) {
                     //去生成保安证编号
                     String pre = SecurityPaperUtil.getSecurityPaper();
                     //查询当前年份已有的保安证编号
                     int count = userService.getSecurityPaperCount(pre);
                     String result = null;
                     if (count == 0) {
                        result = pre + "00001";
                     } else {
                        //格式化
                        DecimalFormat decimalFormat = new DecimalFormat("00000");
                        count++;
                        result = pre + (decimalFormat.format(count));
                     }
                     user.setSecuritynumber(result);
                     //发证日期
//               user.setPaperTime(new Date());
                     //修改为持证保安
                     user.setHold("1");
                     //更新保安数据
                     userService.updateById(user);
                     //生成保安证的同时向保安证管理表中插入一条数据
                     SecurityPaper securityPaper = new SecurityPaper();
                     securityPaper.setUserId(user.getId());
                     securityPaper.setNumber(result);
                     securityPaper.setCreateTime(new Date());
                     securityPaper.setIdCardNo(user.getCardid());
                     securityPaper.setPeopleName(user.getRealName());
                     securityPaper.setExamId(Long.parseLong(examScore.getExamId()));
                     securityPaper.setApplyId(examScore.getApplyId());
                     securityPaper.setSource(1);
                     //新增保安员证信息
                     securityPaperService.save(securityPaper);
//                  String s1 =
//                     "update blade_user set hold = " + "'" + user.getHold() + "'" +
//                        ",securitynumber = " + "'" + user.getSecuritynumber() + "'" +
//                        ",is_train = " + "'" + user.getIsTrain() + "'" +
//                        " " + "where id = " + "'" + user.getId() + "'";
//                  FtpUtil.sqlFileUpload(s1);
                  }
               } else {
                  //不合格
                  examScore.setQualified(1);
               }
               //总成绩
               if (userVO.getAge() <= 50) {
                  if (null != examScore.getTheoryGrade()) {
                     examScore.setAllGrade(Math.round((examScore.getTheoryGrade() + examScore.getLearnGrade()) / 2));
                  } else {
                     examScore.setAllGrade(Math.round(examScore.getLearnGrade() / 2));
                  }
               }
               if (userVO.getAge() > 50) {
                  if (null != examScore.getTheoryGrade()) {
                     examScore.setAllGrade(Integer.parseInt(String.valueOf(Math.round(examScore.getTheoryGrade() * 0.5)))
                        + Integer.parseInt(String.valueOf(Math.round(examScore.getLearnGrade() * 0.5))));
                  } else {
                     examScore.setAllGrade(Math.round(examScore.getLearnGrade() / 2));
                  }
               }
               //更新成绩数据
               examScoreService.updateById(examScore);
               //内网培训报名,人员,成绩数据同步
               String s1 =
                  "update exam_score set theory_grade = " + "'" + examScore.getTheoryGrade() + "'" +
                     ",all_grade = " + "'" + examScore.getAllGrade() + "'" +
                     ",qualified = " + "'" + examScore.getQualified() + "'" +
                     " " + "where id = " + "'" + examScore.getId() + "';"+
                  "update sys_training_registration set is_exam = " + "'" + trainingRegistration.getIsExam() + "'" +
                     " " + "where id = " + "'" + trainingRegistration.getId() + "';"+
                  "update blade_user set hold = " + "'" + user.getHold() + "'" +
                     ",securitynumber = " + "'" + user.getSecuritynumber() + "'" +
                     ",user_type = " + "'" + user.getUserType() + "'" +
                     ",is_train = " + "'" + user.getIsTrain() + "'" +
                     " " + "where id = " + "'" + user.getId() + "'";
               //FtpUtil.sqlFileUpload(s1);
               myAsyncService.dataSync(s1);
            }
         }
         //审核时间
         records.setAuditTime(new Date());
         if (null!=scoreAuditRecords.getAuditDetail() && !scoreAuditRecords.getAuditDetail().equals("")){
            records.setAuditDetail(scoreAuditRecords.getAuditDetail());
         }
         records.setAuditUser(scoreAuditRecords.getAuditUser());
         records.setStatus(scoreAuditRecords.getStatus());
         //修改申请记录信息
         baseMapper.updateById(records);
      }
      //返回
      return true;
   }
}