智慧保安后台管理-外网项目备份
zhongrj
2023-12-01 daaf2caafd40f3657aa1f7e45bc1641d482baeb1
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -24,6 +24,7 @@
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.cache.SysCache;
import org.springblade.common.config.QrcodeConfig;
import org.springblade.common.constant.AgeUtil;
import org.springblade.common.constant.CommonConstant;
import org.springblade.common.constant.TenantConstant;
@@ -150,7 +151,7 @@
         "," + "'" + user.getIsDeleted() + "'"
         + ")";
      //FtpUtil.sqlFileUpload(s);
      myAsyncService.FTP(s);
      myAsyncService.dataSync(s);
      return b;
   }
@@ -339,6 +340,19 @@
   public UserInfo userInfo(String tenantId, String account, String password) {
      User user = baseMapper.getUser(tenantId, account, password);
      return buildUserInfo(user);
   }
   /**
    * 获取用户信息(wx)
    * @param tenantId
    * @param phone
    * @param userEnum
    * @return
    */
   @Override
   public UserInfo userInfoByWx(String tenantId, String phone, UserEnum userEnum) {
      User user = baseMapper.getUserByPhone(tenantId, phone);
      return buildUserInfo(user, userEnum);
   }
   @Override
@@ -551,7 +565,7 @@
               "," + "'" + user.getJurisdiction() + "'"
               + ")";
            //FtpUtil.sqlFileUpload(s);
            myAsyncService.FTP(s);
            myAsyncService.dataSync(s);
         }else {
            //匹配组织机构是否一致,如果不一致
            if(!user2.getDeptId().equals(user.getDeptId())){
@@ -589,7 +603,7 @@
                     + ",cardid = " + "'" + user2.getCardid() + "'"
                     + " " + "where id = " + "'" + user2.getId() + "'";
               //FtpUtil.sqlFileUpload(s1);
               myAsyncService.FTP(s1);
               myAsyncService.dataSync(s1);
            }
         }
      });
@@ -738,18 +752,41 @@
    */
   @Override
   public List<TreeNode> getSecurityApplyTree(UserVO user) {
      Map<Long, TreeNode> map = baseMapper.getSecurityApplyTree(user);
      List<TreeNode> tree = new ArrayList<>();
      if (map.size() > 1) {
         map.forEach((id, treeNode) -> {
            if (map.containsKey(treeNode.getParentId())) {
               map.get(treeNode.getParentId()).getChildren().add(treeNode);
            } else {
               tree.add(treeNode);
      // 总的
      List<TreeNode> allList = new ArrayList<>();
      // 考试未通过
      List<TreeNode> notList = new ArrayList<>();
      // 新申报报名的
      List<TreeNode> newList = new ArrayList<>();
      // 查询
      List<TreeNode> treeNodeList = baseMapper.getSecurityApplyTree(user);
      // 遍历
      if (treeNodeList.size()>0){
         for (TreeNode treeNode : treeNodeList) {
            if (treeNode.getType()==1){
               notList.add(treeNode);
            }
         });
            if (treeNode.getType()==2){
               newList.add(treeNode);
            }
         }
      }
      return tree;
      if (newList.size()>0){
         // 新申报报名的
         TreeNode treeNode = new TreeNode();
         treeNode.setName("新申报名单");
         treeNode.setChildren(newList);
         allList.add(treeNode);
      }
      if (notList.size()>0){
         // 考试未通过
         TreeNode treeNode = new TreeNode();
         treeNode.setName("未通过考试名单");
         treeNode.setChildren(notList);
         allList.add(treeNode);
      }
      // 返回
      return allList;
   }
   /**
@@ -900,6 +937,44 @@
            }
         }
         //性别
         if (null != userExcel.getSex()) {
            if (userExcel.getSex().equals("男")) {
               user.setSex(1);
            }
            if (userExcel.getSex().equals("女")) {
               user.setSex(2);
            }
         }
         // 学历
         if (null != userExcel.getEducation()) {
            if (userExcel.getEducation().equals("初中及以下")
               || userExcel.getEducation().equals("初中")
            ) {
               user.setEducation("1");
            }
            if (userExcel.getEducation().equals("高中/中技/中专")
               || userExcel.getEducation().equals("高中")
               || userExcel.getEducation().equals("中技")
               || userExcel.getEducation().equals("中专")
            ) {
               user.setEducation("2");
            }
            if (userExcel.getEducation().equals("大专")) {
               user.setEducation("3");
            }
            if (userExcel.getEducation().equals("本科")) {
               user.setEducation("4");
            }
            if (userExcel.getEducation().equals("博士")) {
               user.setEducation("5");
            }
            if (userExcel.getEducation().equals("硕士")) {
               user.setEducation("6");
            }
         }
         //判断当前用户是否已在本单位,如果是的更新数据
         User user1 = new User();
         user1.setAccount(user.getCardid());
@@ -913,36 +988,37 @@
            //默认在职
            user.setStatus(1);
            user.setIsDeleted(0);
            user.setHold("2");
            //判断是否持证
            if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
               user.setHold("1");
               //校验保安员证编号是否合规
               SecurityPaper securityPaper = new SecurityPaper();
               securityPaper.setIdCardNo(userExcel.getCardid());
               List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
               if (securityPaperList.size()>0){
                  boolean state = false;
                  //遍历
                  for (SecurityPaper paper : securityPaperList) {
                     if (paper.getNumber().equals(user.getSecuritynumber())){
                        state = true;
                     }
                  }
                  if (!state){
                     user.setHold("2");
                     user.setSecuritynumber(null);
                     securityInvalidList.add(userExcel.getCardid());
                     securityInvalidStatus.set(false);
                  }
               }else {
                  user.setHold("2");
                  user.setSecuritynumber(null);
                  securityInvalidList.add(userExcel.getCardid());
                  securityInvalidStatus.set(false);
               }
            }else {
               user.setHold("2");
            }
//            if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
//               user.setHold("1");
//               //校验保安员证编号是否合规
//               SecurityPaper securityPaper = new SecurityPaper();
//               securityPaper.setIdCardNo(userExcel.getCardid());
//               List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
//               if (securityPaperList.size()>0){
//                  boolean state = false;
//                  //遍历
//                  for (SecurityPaper paper : securityPaperList) {
//                     if (paper.getNumber().equals(user.getSecuritynumber())){
//                        state = true;
//                     }
//                  }
//                  if (!state){
//                     user.setHold("2");
//                     user.setSecuritynumber(null);
//                     securityInvalidList.add(userExcel.getCardid());
//                     securityInvalidStatus.set(false);
//                  }
//               }else {
//                  user.setHold("2");
//                  user.setSecuritynumber(null);
//                  securityInvalidList.add(userExcel.getCardid());
//                  securityInvalidStatus.set(false);
//               }
//            }else {
//               user.setHold("2");
//            }
            //判断年龄,超过60岁的不入
//            if (AgeUtil.idCardToAge(user.getCardid())<60) {
            //分配保安角色
@@ -950,16 +1026,6 @@
            role.setRoleAlias("保安");
            Role oneRole = roleService.getOne(Condition.getQueryWrapper(role));
            user.setRoleId(oneRole.getId().toString());
            //性别
            if (null != userExcel.getSex()) {
               if (userExcel.getSex().equals("男")) {
                  user.setSex(1);
               }
               if (userExcel.getSex().equals("女")) {
                  user.setSex(2);
               }
            }
            //设置账号
            user.setAccount(user.getCardid());
@@ -995,116 +1061,83 @@
         }else {
            //匹配组织机构是否一致,如果不一致
            if(!user2.getDeptId().equals(user.getDeptId())){
               Dept dept = deptService.getById(user2.getDeptId());
               Dept dept1 = deptService.getById(user.getDeptId());
               //如果是南昌总公司分公司导入的
               if (dept.getId().equals(1432626178757275649L) && dept1.getParentId().equals(1432626178757275649L)){
                  user2.setDeptId(dept1.getId().toString());
                  //判断是否持证
                  if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
                     user2.setHold("1");
                     user2.setSecuritynumber(user.getSecuritynumber());
                     //校验保安员证编号是否合规
                     SecurityPaper securityPaper = new SecurityPaper();
                     securityPaper.setIdCardNo(userExcel.getCardid());
                     List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
                     if (securityPaperList.size()>0){
                        boolean state = false;
                        //遍历
                        for (SecurityPaper paper : securityPaperList) {
                           if (paper.getNumber().equals(user.getSecuritynumber())){
                              state = true;
                           }
                        }
                        if (!state){
                           user2.setHold("2");
                           user2.setSecuritynumber(null);
                           securityInvalidList.add(userExcel.getCardid());
                           securityInvalidStatus.set(false);
                        }
                     }else {
                        user2.setHold("2");
                        user2.setSecuritynumber(null);
                        securityInvalidList.add(userExcel.getCardid());
                        securityInvalidStatus.set(false);
                     }
                  }else {
                     user2.setHold("2");
                  }
                  //更新用户数据
                  user2.setUpdateTime(new Date());
                  this.updateById(user2);
                  //qfqk异步推送
                  myAsyncService.updateUserByQfqk(user2);
                  String s1 =
                     "update blade_user set hold = " + "'" + user2.getHold() + "'"
                        + ",securitynumber = " + "'" + user2.getSecuritynumber() + "'"
                        + ",dept_id = " + "'" + user2.getDeptId() + "'"
                        + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'"
                        + ",registered = " + "'" + user2.getRegistered() + "'"
                        + " " + "where id = " + "'" + user2.getId() + "'";
                  //FtpUtil.sqlFileUpload(s1);
                  myAsyncService.FTP(s1);
               }else {
                  status.set(false);
                  //加入集合
                  errorList.add(user.getCardid());
                  //forEach 只能使用 return 跳出本次循环
               status.set(false);
               //加入集合
               errorList.add(user.getCardid());
               //forEach 只能使用 return 跳出本次循环
//                  return;
                  continue;
               }
               continue;
            }else {
               //如果是一致,则更新用户数据
               //判断是否持证
               if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
                  user2.setHold("1");
                  user2.setSecuritynumber(user.getSecuritynumber());
                  //校验保安员证编号是否合规
                  SecurityPaper securityPaper = new SecurityPaper();
                  securityPaper.setIdCardNo(userExcel.getCardid());
                  List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
                  if (securityPaperList.size()>0){
                     boolean state = false;
                     //遍历
                     for (SecurityPaper paper : securityPaperList) {
                        if (paper.getNumber().equals(user.getSecuritynumber())){
                           state = true;
                        }
                     }
                     if (!state){
                        user2.setHold("2");
                        user2.setSecuritynumber(null);
                        securityInvalidList.add(userExcel.getCardid());
                        securityInvalidStatus.set(false);
                     }
                  }else {
                     user2.setHold("2");
                     user2.setSecuritynumber(null);
                     securityInvalidList.add(userExcel.getCardid());
                     securityInvalidStatus.set(false);
                  }
               }else {
                  user2.setHold("2");
               }
//               if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
//                  user2.setHold("1");
//                  user2.setSecuritynumber(user.getSecuritynumber());
//                  //校验保安员证编号是否合规
//                  SecurityPaper securityPaper = new SecurityPaper();
//                  securityPaper.setIdCardNo(userExcel.getCardid());
//                  List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
//                  if (securityPaperList.size()>0){
//                     boolean state = false;
//                     //遍历
//                     for (SecurityPaper paper : securityPaperList) {
//                        if (paper.getNumber().equals(user.getSecuritynumber())){
//                           state = true;
//                        }
//                     }
//                     if (!state){
//                        user2.setHold("2");
//                        user2.setSecuritynumber(null);
//                        securityInvalidList.add(userExcel.getCardid());
//                        securityInvalidStatus.set(false);
//                     }
//                  }else {
//                     user2.setHold("2");
//                     user2.setSecuritynumber(null);
//                     securityInvalidList.add(userExcel.getCardid());
//                     securityInvalidStatus.set(false);
//                  }
//               }else {
//                  user2.setHold("2");
//               }
//               user2.setHold("2");
               if (null!=userExcel.getRegistered()){
                  user2.setRegistered(userExcel.getRegistered());
               }else {
                  user2.setRegistered("");
               }
               // 住址
               if (null!=userExcel.getAddress()){
                  user2.setAddress(userExcel.getAddress());
               }else {
                  user2.setAddress("");
               }
               // 学历
               if (null!=userExcel.getEducation()){
                  user2.setEducation(user.getEducation());
               }else {
                  user2.setEducation("");
               }
               // 从业单位
               if (null!=userExcel.getUnitName()){
                  user2.setUnitName(userExcel.getUnitName());
               }else {
                  user2.setUnitName("");
               }
               // 政治面貌
               if (null!=userExcel.getPoliticaloutlook()){
                  user2.setPoliticaloutlook(userExcel.getPoliticaloutlook());
               }else {
                  user2.setPoliticaloutlook("");
               }
               user2.setUpdateTime(new Date());
               //更新用户数据
               this.updateById(user2);
               //qfqk异步推送
               myAsyncService.updateUserByQfqk(user2);
               //内网数据sql
               String s1 =
                  "update blade_user set hold = " + "'" + user2.getHold() + "'"
                     + ",securitynumber = " + "'" + user2.getSecuritynumber() + "'"
                     + ",registered = " + "'" + user2.getRegistered() + "'"
                     + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'"
                     + " " + "where id = " + "'" + user2.getId() + "'";
               //FtpUtil.sqlFileUpload(s1);
               myAsyncService.FTP(s1);
            }
         }
      }
@@ -1112,62 +1145,6 @@
      //用户批量插入
      if (userList.size()>0) {
         baseMapper.batchUserList(userList);
         //用户批量插入异步推送
         myAsyncService.batchUserList(userList);
         //sql 拼接
         StringBuilder builder = new StringBuilder();
         StringBuilder builder1 = new StringBuilder();
         //遍历
         for (User user : userList) {
            //内网同步,sql 拼接
            String sql = "insert into blade_user(" +
               "id,tenant_id,account,password,name,real_name,avatar,email,phone,sex," +
               "role_id,dept_id,cardid,nativePlace,nation,fingerprint,education," +
               "politicaloutlook,healstats,height,address,registered," +
               "securitynumber,hold,jurisdiction,examination_type,status,is_deleted,dispatch,create_time) " +
               "values(" + "'" + user.getId() + "'" +
               "," + "'" + user.getTenantId() + "'" +
               "," + "'" + user.getAccount() + "'" +
               "," + "'" + user.getPassword() + "'" +
               "," + "'" + user.getName() + "'" +
               "," + "'" + user.getRealName() + "'" +
               "," + "'" + user.getAvatar() + "'" +
               "," + "'" + user.getEmail() + "'" +
               "," + "'" + user.getPhone() + "'" +
               "," + "'" + user.getSex() + "'" +
               "," + "'" + user.getRoleId() + "'" +
               "," + "'" + user.getDeptId() + "'" +
               "," + "'" + user.getCardid() + "'" +
               "," + "'" + user.getNativeplace() + "'" +
               "," + "'" + user.getNation() + "'" +
               "," + "'" + user.getFingerprint() + "'" +
               "," + "'" + user.getEducation() + "'" +
               "," + "'" + user.getPoliticaloutlook() + "'" +
               "," + "'" + user.getHealstats() + "'" +
               "," + "'" + user.getHeight() + "'" +
               "," + "'" + user.getAddress() + "'" +
               "," + "'" + user.getRegistered() + "'" +
               "," + "'" + user.getSecuritynumber() + "'" +
               "," + "'" + user.getHold() + "'" +
               "," + "'" + user.getJurisdiction() + "'" +
               "," + "'" + user.getExaminationType() + "'" +
               "," + "'" + user.getStatus() + "'" +
               "," + "'" + user.getIsDeleted() + "'" +
               "," + "'" + user.getDispatch() + "'" +
               "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getCreateTime()) + "'" + ")";
            //拼接
            builder  = builder.append(sql).append(";");
            List<String> list = Arrays.asList(builder.toString().split(";"));
            //判断list.size 大小
            if (list.size()==1000){
               //执行
               //FtpUtil.sqlFileUpload(builder.toString());
               myAsyncService.FTP(builder.toString());
               //清空
               builder.delete(0,builder.length());
            }
         }
         //装换成map
         Map<String, User> userMap = userList.stream().collect(Collectors.toMap(user -> user.getCardid(), user -> user));
         //匹配
@@ -1179,33 +1156,6 @@
         }).collect(Collectors.toList());
         //批量插入从业记录
         baseMapper.batchExperienceList(experienceList);
         //遍历,拼接sql ,同步数据到内网
         for (Experience experience : experienceList) {
            String sql1  = "insert into sys_experience(id,name,post,entryTime,cardId,companyname,securityId) " +
               "values(" + "'" + experience.getId() + "'" + "," +
               "'" + experience.getName() + "'" + "," +
               "'" + experience.getPost() + "'" + "," +
               "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getEntrytime()) + "'" +
               "," + "'" + experience.getCardid() + "'" +
               "," + "'" + experience.getCompanyname() + "'" +
               "," + "'" + experience.getSecurityid() + "'" + ")";
            //拼接
            builder1  = builder1.append(sql1).append(";");
            String[] split1 = builder.toString().split(";");
            //判断list.size 大小
            if (split1.length==1000){
               //执行
               //FtpUtil.sqlFileUpload(builder1.toString());
               myAsyncService.FTP(builder1.toString());
               //清空
               builder1.delete(0,builder1.length());
            }
         }
         //剩余的继续执行
         //FtpUtil.sqlFileUpload(builder.toString());
         myAsyncService.FTP(builder.toString());
         //FtpUtil.sqlFileUpload(builder1.toString());
         myAsyncService.FTP(builder1.toString());
      }
//      System.out.println("导入时间: = " + (System.currentTimeMillis()-time));
@@ -1357,8 +1307,6 @@
            user.setCreateTime(new Date());
            //新增
            this.save(user);
            //qfqk 推送
            myAsyncService.qfqkUserSave(user);
            //从业记录新增
            Experience experience = new Experience();
@@ -1370,55 +1318,6 @@
            experience.setEntrytime(new Date());
            experienceService.save(experience);
            //内网同步
            String s = "insert into blade_user(" +
               "id,tenant_id,account,password,name,real_name,avatar,email,phone,sex," +
               "role_id,dept_id,cardid,nativePlace,nation,fingerprint,education," +
               "politicaloutlook,healstats,height,address,registered," +
               "securitynumber,hold,jurisdiction,examination_type,status,is_deleted,dispatch,create_time,guncode) " +
               "values(" + "'" + user.getId() + "'" +
               "," + "'" + user.getTenantId() + "'" +
               "," + "'" + user.getAccount() + "'" +
               "," + "'" + user.getPassword() + "'" +
               "," + "'" + user.getName() + "'" +
               "," + "'" + user.getRealName() + "'" +
               "," + "'" + user.getAvatar() + "'" +
               "," + "'" + user.getEmail() + "'" +
               "," + "'" + user.getPhone() + "'" +
               "," + "'" + user.getSex() + "'" +
               "," + "'" + user.getRoleId() + "'" +
               "," + "'" + user.getDeptId() + "'" +
               "," + "'" + user.getCardid() + "'" +
               "," + "'" + user.getNativeplace() + "'" +
               "," + "'" + user.getNation() + "'" +
               "," + "'" + user.getFingerprint() + "'" +
               "," + "'" + user.getEducation() + "'" +
               "," + "'" + user.getPoliticaloutlook() + "'" +
               "," + "'" + user.getHealstats() + "'"+
               "," + "'" + user.getHeight() + "'" +
               "," + "'" + user.getAddress() + "'" +
               "," + "'" + user.getRegistered() + "'" +
               "," + "'" + user.getSecuritynumber() + "'" +
               "," + "'" + user.getHold() + "'" +
               "," + "'" + user.getJurisdiction() + "'" +
               "," + "'" + user.getExaminationType() + "'" +
               "," + "'" + user.getStatus() + "'" +
               "," + "'" + user.getIsDeleted() + "'" +
               "," + "'" + user.getDispatch() + "'" +
               "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getCreateTime()) + "'" +
            "," + "'" + user.getGuncode() + "'" + ");"+
            "insert into sys_experience(id,name,post,entryTime," +
               "cardId,companyname,securityId) " +
               "values(" + "'" + experience.getId() + "'" + "," +
               "'" + experience.getName() + "'" + "," +
               "'" + experience.getPost() + "'" + "," +
               "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getEntrytime()) + "'" +
               "," + "'" + experience.getCardid() + "'" +
               "," + "'" + experience.getCompanyname() + "'" +
               "," + "'" + experience.getSecurityid() + "'"
               + ")";
            //FtpUtil.sqlFileUpload(s);
            myAsyncService.FTP(s);
         }
         else {
            //匹配组织机构是否一致,如果不一致
@@ -1467,18 +1366,6 @@
                  user2.setUpdateTime(new Date());
                  //更新用户数据
                  this.updateById(user2);
                  //qfqk 推送
                  myAsyncService.updateUserByQfqk(user);
                  String s1 =
                     "update blade_user set hold = " + "'" + user2.getHold() + "'"
                        + ",securitynumber = " + "'" + user2.getSecuritynumber() + "'"
                        + ",dept_id = " + "'" + user2.getDeptId() + "'"
                        + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'"
                        + ",registered = " + "'" + user2.getRegistered() + "'"
                        + " " + "where id = " + "'" + user2.getId() + "'";
                  //FtpUtil.sqlFileUpload(s1);
                  myAsyncService.FTP(s1);
               }else {
                  status.set(false);
                  //加入集合
@@ -1537,8 +1424,6 @@
               user2.setUpdateTime(new Date());
               //更新用户数据
               this.updateById(user2);
               //qfqk 推送
               myAsyncService.updateUserByQfqk(user);
               String s1 =
                  "update blade_user set hold = " + "'" + user2.getHold() + "'"
@@ -1547,7 +1432,7 @@
                     + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'"
                     + " " + "where id = " + "'" + user2.getId() + "'";
               //FtpUtil.sqlFileUpload(s1);
               myAsyncService.FTP(s1);
               myAsyncService.dataSync(s1);
            }
         }
      });
@@ -1691,7 +1576,7 @@
    */
   @Override
   public void importQrCode(List<QrCodeExcel> data, Boolean isCovered, String deptId) {
      String url = "http://223.82.109.183:2080/securityInfo.html";
      String url = QrcodeConfig.baseUrl + "securityInfo.html";
      //二维码生成
      data.forEach(qrCodeExcel -> {
         if (null!=qrCodeExcel.getSecuritynumber()) {
@@ -1852,61 +1737,62 @@
            //默认在职
            user.setStatus(1);
            user.setIsDeleted(0);
            user.setHold("2");
            //判断是否持证
            if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
               user.setHold("1");
               //校验保安员证编号是否合规
               SecurityPaper securityPaper = new SecurityPaper();
               securityPaper.setIdCardNo(userExcel.getCardid());
               List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
               if (securityPaperList.size()>0){
                  boolean state = false;
                  //遍历
                  for (SecurityPaper paper : securityPaperList) {
                     if (paper.getNumber().equals(user.getSecuritynumber())){
                        state = true;
                     }
                  }
                  if (!state){
                     user.setHold("2");
                     user.setSecuritynumber(null);
                     securityInvalidList.add(userExcel.getCardid());
                     securityInvalidStatus.set(false);
                  }
               }else {
                  user.setHold("2");
                  user.setSecuritynumber(null);
                  securityInvalidList.add(userExcel.getCardid());
                  securityInvalidStatus.set(false);
               }
            }else {
               //创建保安证编号
               user.setHold("1");
               //去生成保安证编号
               String pre = SecurityPaperUtil.getSecurityPaper();
               //查询当前年份已有的保安证编号
               int max = this.getSecurityPaperCount(pre);
               String result = null;
               if (max == 0) {
                  result = pre + "00001";
               } else {
                  //格式化
                  DecimalFormat decimalFormat = new DecimalFormat("00000");
                  max++;
                  result = pre + (decimalFormat.format(max));
               }
               user.setSecuritynumber(result);
               //生成保安证的同时向保安证管理表中插入一条数据
               SecurityPaper securityPaper = new SecurityPaper();
               securityPaper.setNumber(result);
               securityPaper.setCreateTime(new Date());
               securityPaper.setIdCardNo(user.getCardid());
               securityPaper.setPeopleName(user.getRealName());
               securityPaper.setSource(3);
               //新增保安员证信息
               securityPaperService.save(securityPaper);
            }
//            if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
//               user.setHold("1");
//               //校验保安员证编号是否合规
//               SecurityPaper securityPaper = new SecurityPaper();
//               securityPaper.setIdCardNo(userExcel.getCardid());
//               List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
//               if (securityPaperList.size()>0){
//                  boolean state = false;
//                  //遍历
//                  for (SecurityPaper paper : securityPaperList) {
//                     if (paper.getNumber().equals(user.getSecuritynumber())){
//                        state = true;
//                     }
//                  }
//                  if (!state){
//                     user.setHold("2");
//                     user.setSecuritynumber(null);
//                     securityInvalidList.add(userExcel.getCardid());
//                     securityInvalidStatus.set(false);
//                  }
//               }else {
//                  user.setHold("2");
//                  user.setSecuritynumber(null);
//                  securityInvalidList.add(userExcel.getCardid());
//                  securityInvalidStatus.set(false);
//               }
//            }else {
//               //创建保安证编号
//               user.setHold("1");
//               //去生成保安证编号
//               String pre = SecurityPaperUtil.getSecurityPaper();
//               //查询当前年份已有的保安证编号
//               int max = this.getSecurityPaperCount(pre);
//               String result = null;
//               if (max == 0) {
//                  result = pre + "00001";
//               } else {
//                  //格式化
//                  DecimalFormat decimalFormat = new DecimalFormat("00000");
//                  max++;
//                  result = pre + (decimalFormat.format(max));
//               }
//               user.setSecuritynumber(result);
//
//               //生成保安证的同时向保安证管理表中插入一条数据
//               SecurityPaper securityPaper = new SecurityPaper();
//               securityPaper.setNumber(result);
//               securityPaper.setCreateTime(new Date());
//               securityPaper.setIdCardNo(user.getCardid());
//               securityPaper.setPeopleName(user.getRealName());
//               securityPaper.setSource(3);
//               //新增保安员证信息
//               securityPaperService.save(securityPaper);
//            }
            //分配保安角色
            Role role = new Role();
            role.setRoleAlias("保安");
@@ -1961,61 +1847,61 @@
            }else {
               //如果是一致,则更新用户数据
               //判断是否持证
               if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
                  user2.setHold("1");
                  user2.setSecuritynumber(user.getSecuritynumber());
                  //校验保安员证编号是否合规
                  SecurityPaper securityPaper = new SecurityPaper();
                  securityPaper.setIdCardNo(userExcel.getCardid());
                  List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
                  if (securityPaperList.size()>0){
                     boolean state = false;
                     //遍历
                     for (SecurityPaper paper : securityPaperList) {
                        if (paper.getNumber().equals(user.getSecuritynumber())){
                           state = true;
                        }
                     }
                     if (!state){
                        user2.setHold("2");
                        user2.setSecuritynumber(null);
                        securityInvalidList.add(userExcel.getCardid());
                        securityInvalidStatus.set(false);
                     }
                  }else {
                     user2.setHold("2");
                     user2.setSecuritynumber(null);
                     securityInvalidList.add(userExcel.getCardid());
                     securityInvalidStatus.set(false);
                  }
               }else {
                  //创建保安证编号
                  user2.setHold("1");
                  //去生成保安证编号
                  String pre = SecurityPaperUtil.getSecurityPaper();
                  //查询当前年份已有的保安证编号
                  int max = this.getSecurityPaperCount(pre);
                  String result = null;
                  if (max == 0) {
                     result = pre + "00001";
                  } else {
                     //格式化
                     DecimalFormat decimalFormat = new DecimalFormat("00000");
                     max++;
                     result = pre + (decimalFormat.format(max));
                  }
                  user2.setSecuritynumber(result);
                  //生成保安证的同时向保安证管理表中插入一条数据
                  SecurityPaper securityPaper = new SecurityPaper();
                  securityPaper.setNumber(result);
                  securityPaper.setCreateTime(new Date());
                  securityPaper.setIdCardNo(user2.getCardid());
                  securityPaper.setPeopleName(user2.getRealName());
                  securityPaper.setSource(3);
                  //新增保安员证信息
                  securityPaperService.save(securityPaper);
               }
//               if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
//                  user2.setHold("1");
//                  user2.setSecuritynumber(user.getSecuritynumber());
//                  //校验保安员证编号是否合规
//                  SecurityPaper securityPaper = new SecurityPaper();
//                  securityPaper.setIdCardNo(userExcel.getCardid());
//                  List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
//                  if (securityPaperList.size()>0){
//                     boolean state = false;
//                     //遍历
//                     for (SecurityPaper paper : securityPaperList) {
//                        if (paper.getNumber().equals(user.getSecuritynumber())){
//                           state = true;
//                        }
//                     }
//                     if (!state){
//                        user2.setHold("2");
//                        user2.setSecuritynumber(null);
//                        securityInvalidList.add(userExcel.getCardid());
//                        securityInvalidStatus.set(false);
//                     }
//                  }else {
//                     user2.setHold("2");
//                     user2.setSecuritynumber(null);
//                     securityInvalidList.add(userExcel.getCardid());
//                     securityInvalidStatus.set(false);
//                  }
//               }else {
//                  //创建保安证编号
//                  user2.setHold("1");
//                  //去生成保安证编号
//                  String pre = SecurityPaperUtil.getSecurityPaper();
//                  //查询当前年份已有的保安证编号
//                  int max = this.getSecurityPaperCount(pre);
//                  String result = null;
//                  if (max == 0) {
//                     result = pre + "00001";
//                  } else {
//                     //格式化
//                     DecimalFormat decimalFormat = new DecimalFormat("00000");
//                     max++;
//                     result = pre + (decimalFormat.format(max));
//                  }
//                  user2.setSecuritynumber(result);
//
//                  //生成保安证的同时向保安证管理表中插入一条数据
//                  SecurityPaper securityPaper = new SecurityPaper();
//                  securityPaper.setNumber(result);
//                  securityPaper.setCreateTime(new Date());
//                  securityPaper.setIdCardNo(user2.getCardid());
//                  securityPaper.setPeopleName(user2.getRealName());
//                  securityPaper.setSource(3);
//                  //新增保安员证信息
//                  securityPaperService.save(securityPaper);
//               }
               if (null!=userExcel.getRegistered()){
                  user2.setRegistered(userExcel.getRegistered());
               }else {
@@ -2025,7 +1911,7 @@
               //更新用户数据
               this.updateById(user2);
               //qfqk异步推送
               myAsyncService.updateUserByQfqk(user2);
//               myAsyncService.updateUserByQfqk(user2);
               //内网数据sql
               String s1 =
                  "update blade_user set hold = " + "'" + user2.getHold() + "'"
@@ -2033,7 +1919,7 @@
                     + ",registered = " + "'" + user2.getRegistered() + "'"
                     + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'"
                     + " " + "where id = " + "'" + user2.getId() + "'";
               myAsyncService.FTP(s1);
               myAsyncService.dataSync(s1);
            }
         }
      }
@@ -2041,60 +1927,6 @@
      //用户批量插入
      if (userList.size()>0) {
         baseMapper.batchUserList(userList);
         //用户批量插入异步推送
         myAsyncService.batchUserList(userList);
         //sql 拼接
         StringBuilder builder = new StringBuilder();
         StringBuilder builder1 = new StringBuilder();
         //遍历
         for (User user : userList) {
            //内网同步,sql 拼接
            String sql = "insert into blade_user(" +
               "id,tenant_id,account,password,name,real_name,avatar,email,phone,sex," +
               "role_id,dept_id,cardid,nativePlace,nation,fingerprint,education," +
               "politicaloutlook,healstats,height,address,registered," +
               "securitynumber,hold,jurisdiction,examination_type,status,is_deleted,dispatch,create_time) " +
               "values(" + "'" + user.getId() + "'" +
               "," + "'" + user.getTenantId() + "'" +
               "," + "'" + user.getAccount() + "'" +
               "," + "'" + user.getPassword() + "'" +
               "," + "'" + user.getName() + "'" +
               "," + "'" + user.getRealName() + "'" +
               "," + "'" + user.getAvatar() + "'" +
               "," + "'" + user.getEmail() + "'" +
               "," + "'" + user.getPhone() + "'" +
               "," + "'" + user.getSex() + "'" +
               "," + "'" + user.getRoleId() + "'" +
               "," + "'" + user.getDeptId() + "'" +
               "," + "'" + user.getCardid() + "'" +
               "," + "'" + user.getNativeplace() + "'" +
               "," + "'" + user.getNation() + "'" +
               "," + "'" + user.getFingerprint() + "'" +
               "," + "'" + user.getEducation() + "'" +
               "," + "'" + user.getPoliticaloutlook() + "'" +
               "," + "'" + user.getHealstats() + "'" +
               "," + "'" + user.getHeight() + "'" +
               "," + "'" + user.getAddress() + "'" +
               "," + "'" + user.getRegistered() + "'" +
               "," + "'" + user.getSecuritynumber() + "'" +
               "," + "'" + user.getHold() + "'" +
               "," + "'" + user.getJurisdiction() + "'" +
               "," + "'" + user.getExaminationType() + "'" +
               "," + "'" + user.getStatus() + "'" +
               "," + "'" + user.getIsDeleted() + "'" +
               "," + "'" + user.getDispatch() + "'" +
               "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getCreateTime()) + "'" + ")";
            //拼接
            builder  = builder.append(sql).append(";");
            List<String> list = Arrays.asList(builder.toString().split(";"));
            //判断list.size 大小
            if (list.size()==1000){
               //执行
               myAsyncService.FTP(builder.toString());
               //清空
               builder.delete(0,builder.length());
            }
         }
         //装换成map
         Map<String, User> userMap = userList.stream().collect(Collectors.toMap(user -> user.getCardid(), user -> user));
@@ -2107,30 +1939,6 @@
         }).collect(Collectors.toList());
         //批量插入从业记录
         baseMapper.batchExperienceList(experienceList);
         //遍历,拼接sql ,同步数据到内网
         for (Experience experience : experienceList) {
            String sql1  = "insert into sys_experience(id,name,post,entryTime,cardId,companyname,securityId) " +
               "values(" + "'" + experience.getId() + "'" + "," +
               "'" + experience.getName() + "'" + "," +
               "'" + experience.getPost() + "'" + "," +
               "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getEntrytime()) + "'" +
               "," + "'" + experience.getCardid() + "'" +
               "," + "'" + experience.getCompanyname() + "'" +
               "," + "'" + experience.getSecurityid() + "'" + ")";
            //拼接
            builder1  = builder1.append(sql1).append(";");
            String[] split1 = builder.toString().split(";");
            //判断list.size 大小
            if (split1.length==1000){
               //执行
               myAsyncService.FTP(builder1.toString());
               //清空
               builder1.delete(0,builder1.length());
            }
         }
         //剩余的继续执行
         myAsyncService.FTP(builder.toString());
         myAsyncService.FTP(builder1.toString());
      }
      //如果所有数据导入有一个异常
@@ -2206,4 +2014,61 @@
   public User getUserById(String id) {
      return baseMapper.getUserById(Long.parseLong(id));
   }
   /**
    * 6个月未登录人员,进行冻结
    */
   @Override
   public void sixMonthNotLoginHandle() {
      // 查询6个月未登录人员
      List<String> userIds = baseMapper.getMoreDayNotLoginUser(183);
      // 统一冻结操作
      baseMapper.updateFreeze(userIds);
   }
   /**
    * 12个月未登录人员,进行注销
    */
   @Override
   public void oneYearNotLoginHandle() {
      // 查询12个月未登录人员
      List<String> userIds = baseMapper.getMoreDayNotLoginUser(366);
      // 统一注销操作
      baseMapper.updateLogout(userIds);
   }
   /**
    * 判断用户是否存在(根据手机号)
    * @param phone
    * @return
    */
   @Override
   public UserInfo getUserByPhone(String phone) {
      User user = baseMapper.getUserByPhone("000000", phone);
      return buildUserInfo(user, UserEnum.WEB);
   }
   /**
    * 判断是否报名
    * @param id
    * @return
    */
   @Override
   public boolean getUserIsApply(Long id) {
      User user = baseMapper.getUserIsApply(id);
      if (null!=user){
         return true;
      }
      return false;
   }
   /**
    * 自定义查询详情信息
    * @param id
    * @return
    */
   @Override
   public UserVO getUserDetailById(Long id) {
      return baseMapper.getUserDetailById(id);
   }
}