智慧保安后台管理-外网项目备份
Administrator
2022-03-07 fb2eb76b71b1a203ad226e802fc99a7a123acfc8
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -50,6 +50,8 @@
import org.springblade.modules.information.service.IInformationService;
import org.springblade.modules.jurisdiction.entity.Jurisdiction;
import org.springblade.modules.jurisdiction.service.JurisdictionService;
import org.springblade.modules.securitypaper.entity.SecurityPaper;
import org.springblade.modules.securitypaper.service.SecurityPaperService;
import org.springblade.modules.system.entity.*;
import org.springblade.modules.system.excel.QrCodeExcel;
import org.springblade.modules.system.excel.SecurityExcel;
@@ -62,7 +64,6 @@
import org.springblade.modules.system.wrapper.UserWrapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -92,6 +93,8 @@
   private final IDeptService deptService;
   private final JurisdictionService jurisdictionService;
   private final IExperienceService experienceService;
   private final MyAsyncService myAsyncService;
   private final SecurityPaperService securityPaperService;
   @Override
   @Transactional(rollbackFor = Exception.class)
@@ -144,7 +147,8 @@
         "," + "'" + user.getJurisdiction() + "'"+
         "," + "'" + user.getIsDeleted() + "'"
         + ")";
      FtpUtil.sqlFileUpload(s);
      //FtpUtil.sqlFileUpload(s);
      myAsyncService.FTP(s);
      return b;
   }
@@ -185,35 +189,67 @@
   @Override
   public IPage<UserVO> selectUserPages(IPage<UserVO> page, UserVO user) {
      List<UserVO> userVOS = baseMapper.selectUserPages(page, user);
      //机构名称拼接
      userVOS.forEach(userVO -> {
         if (null != userVO.getCardid() && userVO.getCardid() != "") {
            userVO.setAge(AgeUtil.idCardToAge(userVO.getCardid()));
         } else {
            userVO.setAge(null);
         }
         if (null!=userVO.getDeptId()) {
            List<String> list = baseMapper.getDeptName(userVO.getDeptId());
            if (list.size() > 1) {
               if (null != list.get(1) && list.get(1) != "") {
                  String s = list.get(1).toString();
                  if (s.equals("本市保安公司") || s.equals("保安培训学校") || s.equals("自招保安单位") || s.equals("武装押运公司") || s.equals("分公司") || s.equals("其他")){
      if (null!=user.getAgeType() && user.getAgeType()!=4){
         List<UserVO> userVOS = baseMapper.selectUserPagesByAge(page, user);
         //机构名称拼接
         userVOS.forEach(userVO -> {
//            if (null != userVO.getCardid() && userVO.getCardid() != "") {
//               userVO.setAge(AgeUtil.idCardToAge(userVO.getCardid()));
//            } else {
//               userVO.setAge(null);
//            }
            if (null!=userVO.getDeptId()) {
               List<String> list = baseMapper.getDeptName(userVO.getDeptId());
               if (list.size() > 1) {
                  if (null != list.get(1) && list.get(1) != "") {
                     String s = list.get(1).toString();
                     if (s.equals("本市保安公司") || s.equals("保安培训学校") || s.equals("自招保安单位") || s.equals("武装押运公司") || s.equals("分公司") || s.equals("其他")){
                        userVO.setDeptName(list.get(0));
                     }
                     else {
                        userVO.setDeptName(list.get(1) + "," + list.get(0));
                     }
                  } else {
                     userVO.setDeptName(list.get(0));
                  }
                  else {
                     userVO.setDeptName(list.get(1) + "," + list.get(0));
                  }
               } else {
               }
               if (list.size() == 1) {
                  userVO.setDeptName(list.get(0));
               }
            }
            if (list.size() == 1) {
               userVO.setDeptName(list.get(0));
         });
         return page.setRecords(userVOS);
      }else {
         List<UserVO> userVOS = baseMapper.selectUserPages(page, user);
         //机构名称拼接
         userVOS.forEach(userVO -> {
//            if (null != userVO.getCardid() && userVO.getCardid() != "") {
//               userVO.setAge(AgeUtil.idCardToAge(userVO.getCardid()));
//            } else {
//               userVO.setAge(null);
//            }
            if (null!=userVO.getDeptId()) {
               List<String> list = baseMapper.getDeptName(userVO.getDeptId());
               if (list.size() > 1) {
                  if (null != list.get(1) && list.get(1) != "") {
                     String s = list.get(1).toString();
                     if (s.equals("本市保安公司") || s.equals("保安培训学校") || s.equals("自招保安单位") || s.equals("武装押运公司") || s.equals("分公司") || s.equals("其他")){
                        userVO.setDeptName(list.get(0));
                     }
                     else {
                        userVO.setDeptName(list.get(1) + "," + list.get(0));
                     }
                  } else {
                     userVO.setDeptName(list.get(0));
                  }
               }
               if (list.size() == 1) {
                  userVO.setDeptName(list.get(0));
               }
            }
         }
      });
      return page.setRecords(userVOS);
         });
         return page.setRecords(userVOS);
      }
   }
   @Override
@@ -512,7 +548,8 @@
               "," + "'" + user.getIsDeleted() + "'" +
               "," + "'" + user.getJurisdiction() + "'"
               + ")";
            FtpUtil.sqlFileUpload(s);
            //FtpUtil.sqlFileUpload(s);
            myAsyncService.FTP(s);
         }else {
            //匹配组织机构是否一致,如果不一致
            if(!user2.getDeptId().equals(user.getDeptId())){
@@ -549,7 +586,8 @@
                     + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'"
                     + ",cardid = " + "'" + user2.getCardid() + "'"
                     + " " + "where id = " + "'" + user2.getId() + "'";
               FtpUtil.sqlFileUpload(s1);
               //FtpUtil.sqlFileUpload(s1);
               myAsyncService.FTP(s1);
            }
         }
      });
@@ -806,6 +844,8 @@
      List<String> errorList = new ArrayList<>();
      //年龄不符的保安员信息存入集合
      List<String> ageErrorList = new ArrayList<>();
      //保安员证编号不符的保安员信息存入集合
      List<String> securityInvalidList = new ArrayList<>();
      //将需要更新的保安员信息存入集合
      List<User> updateList = new ArrayList<>();
      //需要新增的保安员集合
@@ -815,6 +855,7 @@
      //导入状态,默认为true ,如果有一个出现问题则为 false
      AtomicBoolean status = new AtomicBoolean(true);
      AtomicBoolean agetStatus = new AtomicBoolean(true);
      AtomicBoolean securityInvalidStatus = new AtomicBoolean(true);
      //遍历
      for (SecurityExcel userExcel : data) {
         User user = Objects.requireNonNull(BeanUtil.copy(userExcel, User.class));
@@ -856,6 +897,7 @@
               continue;
            }
         }
         //判断当前用户是否已在本单位,如果是的更新数据
         User user1 = new User();
         user1.setAccount(user.getCardid());
@@ -870,13 +912,34 @@
            user.setStatus(1);
            user.setIsDeleted(0);
            //判断是否持证
            if (null != userExcel.getHold() && userExcel.getHold() != "") {
               if (userExcel.getHold().equals("是")) {
                  user.setHold("1");
               }
               if (userExcel.getHold().equals("否")) {
            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) {
@@ -936,24 +999,41 @@
               if (dept.getId().equals(1432626178757275649L) && dept1.getParentId().equals(1432626178757275649L)){
                  user2.setDeptId(dept1.getId().toString());
                  //判断是否持证
                  if (null != userExcel.getHold() && userExcel.getHold() != "") {
                     if (userExcel.getHold().equals("是") && userExcel.getSecuritynumber()!=null && !userExcel.getSecuritynumber().equals("")) {
                        user2.setHold("1");
                        //更新保安证编号
                        user2.setSecuritynumber(user.getSecuritynumber());
                     }
                     if (userExcel.getHold().equals("否")) {
                  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);
                     }
                  }
                  if (null!=userExcel.getRegistered()){
                     user2.setRegistered(userExcel.getRegistered());
                  }else {
                     user2.setRegistered("");
                     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() + "'"
@@ -961,7 +1041,8 @@
                        + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'"
                        + ",registered = " + "'" + user2.getRegistered() + "'"
                        + " " + "where id = " + "'" + user2.getId() + "'";
                  FtpUtil.sqlFileUpload(s1);
                  //FtpUtil.sqlFileUpload(s1);
                  myAsyncService.FTP(s1);
               }else {
                  status.set(false);
                  //加入集合
@@ -973,15 +1054,35 @@
            }else {
               //如果是一致,则更新用户数据
               //判断是否持证
               if (null != userExcel.getHold() && userExcel.getHold() != "") {
                  if (userExcel.getHold().equals("是") && userExcel.getSecuritynumber()!=null && !userExcel.getSecuritynumber().equals("")) {
                     user2.setHold("1");
                     //更新保安证编号
                     user2.setSecuritynumber(user.getSecuritynumber());
                  }
                  if (userExcel.getHold().equals("否")) {
               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.getRegistered()){
                  user2.setRegistered(userExcel.getRegistered());
@@ -991,13 +1092,17 @@
               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);
               //FtpUtil.sqlFileUpload(s1);
               myAsyncService.FTP(s1);
            }
         }
      }
@@ -1005,6 +1110,8 @@
      //用户批量插入
      if (userList.size()>0) {
         baseMapper.batchUserList(userList);
         //用户批量插入异步推送
         myAsyncService.batchUserList(userList);
         //sql 拼接
         StringBuilder builder = new StringBuilder();
         StringBuilder builder1 = new StringBuilder();
@@ -1052,7 +1159,8 @@
            //判断list.size 大小
            if (list.size()==1000){
               //执行
               FtpUtil.sqlFileUpload(builder.toString());
               //FtpUtil.sqlFileUpload(builder.toString());
               myAsyncService.FTP(builder.toString());
               //清空
               builder.delete(0,builder.length());
            }
@@ -1085,38 +1193,38 @@
            //判断list.size 大小
            if (split1.length==1000){
               //执行
               FtpUtil.sqlFileUpload(builder1.toString());
               //FtpUtil.sqlFileUpload(builder1.toString());
               myAsyncService.FTP(builder1.toString());
               //清空
               builder1.delete(0,builder1.length());
            }
         }
         //剩余的继续执行
         FtpUtil.sqlFileUpload(builder.toString());
         FtpUtil.sqlFileUpload(builder1.toString());
         //FtpUtil.sqlFileUpload(builder.toString());
         myAsyncService.FTP(builder.toString());
         //FtpUtil.sqlFileUpload(builder1.toString());
         myAsyncService.FTP(builder1.toString());
      }
//      System.out.println("导入时间: = " + (System.currentTimeMillis()-time));
      //如果所有数据导入有一个异常
      if (!status.get() || !agetStatus.get()){
         if (!status.get() && agetStatus.get()) {
            String errorAccount = StringUtils.join(errorList, "\\\n");
            throw new ServiceException("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
         }
         if (!agetStatus.get() && status.get()) {
            String errorAccount = StringUtils.join(ageErrorList, "\\\n");
            throw new ServiceException("用户:[" + errorAccount + "]导入失败!身份证号码不正确,请核对!");
         }
         if (!status.get() && !agetStatus.get()) {
            String errorAccount = StringUtils.join(errorList, "\\\n");
            String errorAgeAccount = StringUtils.join(ageErrorList, "\\\n");
            throw new ServiceException("用户:[" + errorAccount + "]导入失败!已在其他单位存在!"+
               "用户:[" + errorAgeAccount + "]导入失败!身份证号码不正确,请核对!");
         }
      StringBuilder errorBuilder = new StringBuilder();
      if (!status.get()){
         String errorAccount = StringUtils.join(errorList, "\\\n");
         errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
      }
//      if (!status.get()) {
//         String errorAccount = StringUtils.join(errorList, "\\\n");
//         throw new ServiceException("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
//      }
      if (!agetStatus.get()){
         String errorAccount = StringUtils.join(ageErrorList, "\\\n");
         errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
      }
      if (!securityInvalidStatus.get()){
         String errorAccount = StringUtils.join(securityInvalidList, "\\\n");
         errorBuilder.append("用户:[" + errorAccount + "]保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
      }
      //抛出异常
      if (errorBuilder.length()>0){
         throw new ServiceException(errorBuilder.toString());
      }
   }
   @Override
@@ -1125,11 +1233,14 @@
      List<String> errorList = new ArrayList<>();
      //将需要新增的保安员信息存入集合
      List<String> ageErrorList = new ArrayList<>();
      //保安员证编号不符的保安员信息存入集合
      List<String> securityInvalidList = new ArrayList<>();
      //将需要更新的保安员信息存入集合
      List<User> updateList = new ArrayList<>();
      //导入状态,默认为true ,如果有一个出现问题则为 false
      AtomicBoolean status = new AtomicBoolean(true);
      AtomicBoolean agetStatus = new AtomicBoolean(true);
      AtomicBoolean securityInvalidStatus = new AtomicBoolean(true);
      data.forEach(userExcel -> {
         User user = Objects.requireNonNull(BeanUtil.copy(userExcel, User.class));
         //设置部门id
@@ -1184,13 +1295,34 @@
            user.setStatus(1);
            user.setIsDeleted(0);
            //判断是否持证
            if (null != userExcel.getHold() && userExcel.getHold() != "") {
               if (userExcel.getHold().equals("是")) {
                  user.setHold("1");
               }
               if (userExcel.getHold().equals("否")) {
            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");
            }
            //分配保安角色
            Role role = new Role();
@@ -1223,6 +1355,8 @@
            user.setCreateTime(new Date());
            //新增
            this.save(user);
            //qfqk 推送
            myAsyncService.qfqkUserSave(user);
            //从业记录新增
            Experience experience = new Experience();
@@ -1281,7 +1415,8 @@
               "," + "'" + experience.getCompanyname() + "'" +
               "," + "'" + experience.getSecurityid() + "'"
               + ")";
            FtpUtil.sqlFileUpload(s);
            //FtpUtil.sqlFileUpload(s);
            myAsyncService.FTP(s);
         }
         else {
            //匹配组织机构是否一致,如果不一致
@@ -1299,15 +1434,45 @@
               if (dept.getId().equals(1432626178757275649L) && dept1.getParentId().equals(1432626178757275649L)){
                  user2.setDeptId(dept1.getId().toString());
                  //判断是否持证
                  if (null != userExcel.getHold() && userExcel.getHold() != "") {
                     if (userExcel.getHold().equals("是") && userExcel.getSecuritynumber()!=null && !userExcel.getSecuritynumber().equals("")) {
                        user2.setHold("1");
                        //更新保安证编号
                        user2.setSecuritynumber(user.getSecuritynumber());
                     }
                     if (userExcel.getHold().equals("否")) {
//                  if (null != userExcel.getHold() && userExcel.getHold() != "") {
//                     if (userExcel.getHold().equals("是") && userExcel.getSecuritynumber()!=null && !userExcel.getSecuritynumber().equals("")) {
//                        user2.setHold("1");
//                        //更新保安证编号
//                        user2.setSecuritynumber(user.getSecuritynumber());
//                     }
//                     if (userExcel.getHold().equals("否")) {
//                        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");
                  }
                  if (null!=userExcel.getRegistered()){
                     user2.setRegistered(userExcel.getRegistered());
@@ -1317,6 +1482,9 @@
                  user2.setUpdateTime(new Date());
                  //更新用户数据
                  this.updateById(user2);
                  //qfqk 推送
                  myAsyncService.updateUserByQfqk(user);
                  String s1 =
                     "update blade_user set hold = " + "'" + user2.getHold() + "'"
                        + ",securitynumber = " + "'" + user2.getSecuritynumber() + "'"
@@ -1324,7 +1492,8 @@
                        + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'"
                        + ",registered = " + "'" + user2.getRegistered() + "'"
                        + " " + "where id = " + "'" + user2.getId() + "'";
                  FtpUtil.sqlFileUpload(s1);
                  //FtpUtil.sqlFileUpload(s1);
                  myAsyncService.FTP(s1);
               }else {
                  status.set(false);
                  //加入集合
@@ -1335,15 +1504,45 @@
            }else {
               //如果是一致,则更新用户数据
               //判断是否持证
               if (null != userExcel.getHold() && userExcel.getHold() != "") {
                  if (userExcel.getHold().equals("是") && userExcel.getSecuritynumber()!=null && !userExcel.getSecuritynumber().equals("")) {
                     user2.setHold("1");
                     //更新保安证编号
                     user2.setSecuritynumber(user.getSecuritynumber());
                  }
                  if (userExcel.getHold().equals("否")) {
//               if (null != userExcel.getHold() && userExcel.getHold() != "") {
//                  if (userExcel.getHold().equals("是") && userExcel.getSecuritynumber()!=null && !userExcel.getSecuritynumber().equals("")) {
//                     user2.setHold("1");
//                     //更新保安证编号
//                     user2.setSecuritynumber(user.getSecuritynumber());
//                  }
//                  if (userExcel.getHold().equals("否")) {
//                     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");
               }
               if (null!=userExcel.getRegistered()){
                  user2.setRegistered(userExcel.getRegistered());
@@ -1353,36 +1552,37 @@
               user2.setUpdateTime(new Date());
               //更新用户数据
               this.updateById(user2);
               //qfqk 推送
               myAsyncService.updateUserByQfqk(user);
               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);
               //FtpUtil.sqlFileUpload(s1);
               myAsyncService.FTP(s1);
            }
         }
      });
      //如果所有数据导入有一个异常
//      if (!status.get()){
//         String errorAccount = StringUtils.join(errorList, "\\\n");
//         throw new ServiceException("用户:["+errorAccount+"]导入失败!已在其他单位存在!");
//      }
      if (!status.get() || !agetStatus.get()){
         if (!status.get() && agetStatus.get()) {
            String errorAccount = StringUtils.join(errorList, "\\\n");
            throw new ServiceException("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
         }
         if (!agetStatus.get() && status.get()) {
            String errorAccount = StringUtils.join(ageErrorList, "\\\n");
            throw new ServiceException("用户:[" + errorAccount + "]导入失败!身份证号码不正确,请核对!");
         }
         if (!status.get() && !agetStatus.get()) {
            String errorAccount = StringUtils.join(errorList, "\\\n");
            String errorAgeAccount = StringUtils.join(ageErrorList, "\\\n");
            throw new ServiceException("用户:[" + errorAccount + "]导入失败!已在其他单位存在!"+
               "用户:[" + errorAgeAccount + "]导入失败!身份证号码不正确,请核对!");
         }
      StringBuilder errorBuilder = new StringBuilder();
      if (!status.get()){
         String errorAccount = StringUtils.join(errorList, "\\\n");
         errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
      }
      if (!agetStatus.get()){
         String errorAccount = StringUtils.join(ageErrorList, "\\\n");
         errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
      }
      if (!securityInvalidStatus.get()){
         String errorAccount = StringUtils.join(securityInvalidList, "\\\n");
         errorBuilder.append("用户:[" + errorAccount + "]保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
      }
      //抛出异常
      if (errorBuilder.length()>0){
         throw new ServiceException(errorBuilder.toString());
      }
   }
@@ -1446,8 +1646,8 @@
    * @return
    */
   @Override
   public UserVO getUserInfoBySecurityNumber(String securityNumber) {
      UserVO userVO = baseMapper.getUserInfoBySecurityNumber(securityNumber);
   public UserVO getUserInfoBySecurityNumber(String securityNumber,String cardid) {
      UserVO userVO = baseMapper.getUserInfoBySecurityNumber(securityNumber,cardid);
      //查询派遣信息
      if (null!=userVO) {
         DispatcherVO dispatcherVO = baseMapper.getUserDispatcherInfo(userVO.getId());
@@ -1558,49 +1758,53 @@
    */
   @Override
   public void importQrCode(List<QrCodeExcel> data, Boolean isCovered, String deptId) {
//      String url = "http://223.82.109.183:2080/securityInfo.html";
//      data.forEach(qrCodeExcel -> {
//         if (null!=qrCodeExcel.getSecuritynumber()) {
//            String encoded = null;
//            try {
//               //中文字符串编码
//               encoded = URLEncoder.encode(qrCodeExcel.getSecuritynumber(),"UTF-8");
//            } catch (UnsupportedEncodingException e) {
//               e.printStackTrace();
//            }
//            //url 拼接
//            String content = url + "?securityNumber=" + encoded;
//            byte[] qrCodeImage = new byte[0];
//            try {
//               //生成二维码字节流
//               qrCodeImage = QRCodeUtil.getQRCodeImage(content, 350, 350);
//            } catch (WriterException e) {
//               e.printStackTrace();
//            } catch (IOException e) {
//               e.printStackTrace();
//            }
//            String path = "D:\\QrCode\\";
//            FileOutputStream fileOutputStream = null;
//            try {
//               fileOutputStream = new FileOutputStream(path+qrCodeExcel.getSecuritynumber()+".png");
//            } catch (FileNotFoundException e) {
//               e.printStackTrace();
//            }
//            try {
//               //图片下载到本地
//               fileOutputStream.write(qrCodeImage,0,qrCodeImage.length);
//               fileOutputStream.flush();
//               fileOutputStream.close();
//            } catch (IOException e) {
//               e.printStackTrace();
//            }
//         }
//      });
      String url = "http://223.82.109.183:2080/securityInfo.html";
      //二维码生成
      data.forEach(qrCodeExcel -> {
         if (null!=qrCodeExcel.getSecuritynumber()) {
            String encoded = null;
            try {
               //中文字符串编码
               encoded = URLEncoder.encode(qrCodeExcel.getSecuritynumber(),"UTF-8");
            } catch (UnsupportedEncodingException e) {
               e.printStackTrace();
            }
            //url 拼接
            String content = url + "?securityNumber=" + encoded;
            byte[] qrCodeImage = new byte[0];
            try {
               //生成二维码字节流
               qrCodeImage = QRCodeUtil.getQRCodeImage(content, 350, 350);
            } catch (WriterException e) {
               e.printStackTrace();
            } catch (IOException e) {
               e.printStackTrace();
            }
            String path = "D:\\QrCode\\";
            FileOutputStream fileOutputStream = null;
            try {
               fileOutputStream = new FileOutputStream(path+qrCodeExcel.getSecuritynumber()+".png");
            } catch (FileNotFoundException e) {
               e.printStackTrace();
            }
            try {
               //图片下载到本地
               fileOutputStream.write(qrCodeImage,0,qrCodeImage.length);
               fileOutputStream.flush();
               fileOutputStream.close();
            } catch (IOException e) {
               e.printStackTrace();
            }
         }
      });
      //头像生成
      data.forEach(qrCodeExcel -> {
         if (null!=qrCodeExcel.getSecuritynumber()) {
            //查询用户头像url
            User user = new User();
            user.setRealName(qrCodeExcel.getRealName());
            user.setStatus(1);
            user.setIsDeleted(0);
            user.setSecuritynumber(qrCodeExcel.getSecuritynumber());
            User user1 = this.getOne(Condition.getQueryWrapper(user));
            //url 拼接
@@ -1696,4 +1900,53 @@
   public List<Map<String, Object>> selectEquipent() {
      return baseMapper.selectEquipent();
   }
   /**
    * 年龄分布查询
    * @param user
    * @return
    */
   @Override
   public Object getAgeStatistics(UserVO user) {
      //获取年龄分布数据
      List<Integer> list = baseMapper.getAgeStatistics(user);
      //返回
      return list;
   }
   /**
    * 查询登录密码还是 123456 的单位信息
    * @return
    */
   @Override
   public Object getNotUpdatePwdInfo() {
      //查询角色为保安公司管理员的用户信息
      User user = new User();
      user.setRoleId("1414575196264300546");
      user.setStatus(1);
      user.setIsDeleted(0);
      List<User> list = this.list(Condition.getQueryWrapper(user));
      List<User> list1 = new ArrayList<>();
      //遍历
      if (list.size()>0){
         byte[] bytes = DigestUtil.decodeHex(list.get(0).getPassword());
         try {
            System.out.println("解密的密码 = " + new String(bytes));
         } catch (Exception e) {
            e.printStackTrace();
         }
      }
      return list;
   }
   /**
    * 根据用户 id 查询用户信息
    * @param id
    * @return
    */
   @Override
   public User getUserById(String id) {
      return baseMapper.getUserById(Long.parseLong(id));
   }
}