智慧保安后台管理-外网
src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java
@@ -4,8 +4,12 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.springblade.common.utils.DesensitizedUtil;
import org.springblade.common.utils.QRCodeUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.FTP.Monitor;
import org.springblade.modules.FTP.Result;
import org.springblade.modules.accreditation.excel.ExportSecurityPaperExcel;
import org.springblade.modules.exam.entity.ExamScore;
import org.springblade.modules.exam.entity.ScoreAuditRecords;
@@ -31,10 +35,7 @@
import java.net.URLEncoder;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.*;
/**
 * 考试成绩修改申请记录服务实现类
@@ -163,21 +164,57 @@
                  //去生成保安证编号
                  String pre = SecurityPaperUtil.getSecurityPaper();
                  //查询当前年份已有的保安证编号
                  int count = userService.getSecurityPaperCount(pre);
//                  int count = userService.getSecurityPaperCount(pre);
                  //需调用内网查询
                  //生成随机数
                  String uuid = UUID.randomUUID().toString();
                  //数据推送
                  Map<String, Object> map = new HashMap<>(1);
                  map.put(uuid,pre);
                  myAsyncService.FTPSecurityNumberBit(map);
                  int count = 0;
                  Result result0 = new Result();
                  //调用ftp获取返回数据
                  while (true){
                     try {
                        Thread.sleep(1000);
                     } catch (InterruptedException e) {
                        e.printStackTrace();
                     }
                     //调用ftp获取返回数据
                     result0 = Monitor.getSecurityNumberBit(uuid);
                     //如果返回true,就退处
                     if (result0.getCode()==200){
                        break;
                     }else{
                        //计数
                        count++;
                        //如果超过100s 没有读取到,则退出
                        if (count == 100) {
                           break;
                        }
                     }
                  }
                  int max = Integer.parseInt(result0.getMsg());
                  String result = null;
                  if (count == 0) {
                  if (max == 0) {
                     result = pre + "00001";
                  } else {
                     //格式化
                     DecimalFormat decimalFormat = new DecimalFormat("00000");
                     count++;
                     result = pre + (decimalFormat.format(count));
                     max++;
                     result = pre + (decimalFormat.format(max));
                  }
                  user.setSecuritynumber(result);
                  //修改为持证保安
                  user.setHold("1");
                  //创建保安证脱敏对象
                  User user1 = user;
                  //更新保安数据
                  userService.updateById(user);
                  user1.setSecuritynumber(DesensitizedUtil.desensitizedSecurityNumber(result));
                  userService.updateById(user1);
                  //生成保安证的同时向保安证管理表中插入一条数据
                  SecurityPaper securityPaper = new SecurityPaper();
@@ -189,21 +226,29 @@
                  securityPaper.setExamId(Long.parseLong(examScore.getExamId()));
                  securityPaper.setApplyId(examScore.getApplyId());
                  securityPaper.setSource(1);
                  //创建内网对象
                  SecurityPaper paper = Objects.requireNonNull(BeanUtil.copy(securityPaper,SecurityPaper.class));
                  //脱敏
                  securityPaper.setNumber(DesensitizedUtil.desensitizedSecurityNumber(result));
                  securityPaper.setIdCardNo("");
                  //新增保安员证信息
                  securityPaperService.save(securityPaper);
                  //设置id
                  paper.setId(securityPaper.getId());
                  //数据同步
                  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);
                  String s1 = "insert into sys_security_paper(id,number,create_time,people_name,id_card_no,user_id,apply_id,exam_id,source) " +
                     "values(" + "'" + paper.getId() + "'" + "," +
                     "'" + paper.getNumber() + "'" + "," +
                     "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(paper.getCreateTime()) + "'" +
                     "," + "'" + paper.getPeopleName() + "'" +
                     "," + "'" + paper.getIdCardNo() + "'" +
                     "," + "'" + paper.getUserId() + "'" +
                     "," + "'" + paper.getApplyId() + "'" +
                     "," + "'" + paper.getExamId() + "'" +
                     "," + "'" + paper.getSource() + "'"
                     + ")";
                  myAsyncService.FTP(s1);
               }
            } else {
@@ -244,7 +289,6 @@
                  ",user_type = " + "'" + user.getUserType() + "'" +
                  ",is_train = " + "'" + user.getIsTrain() + "'" +
                  " " + "where id = " + "'" + user.getId() + "'";
            //FtpUtil.sqlFileUpload(s1);
            myAsyncService.FTP(s1);
         }
      }