智慧保安后台管理-外网
Administrator
2021-12-25 497df0adf57c8a076596fa763cdbe5a554b96b5b
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -55,6 +55,8 @@
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.*;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.accreditation.entity.AccreditationRecords;
import org.springblade.modules.accreditation.service.AccreditationRecordsService;
import org.springblade.modules.dispatcher.entity.Dispatcher;
import org.springblade.modules.dispatcher.service.IDispatcherService;
import org.springblade.modules.exam.excel.ExportExamScoreExcel;
@@ -62,6 +64,10 @@
import org.springblade.modules.experience.service.IExperienceService;
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.signinrecords.entity.SignInRecords;
import org.springblade.modules.signinrecords.service.SignInRecordsService;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.entity.Role;
import org.springblade.modules.system.entity.User;
@@ -73,6 +79,8 @@
import org.springblade.modules.system.vo.DeptVO;
import org.springblade.modules.system.vo.UserVO;
import org.springblade.modules.system.wrapper.UserWrapper;
import org.springblade.modules.training.entity.TrainingRegistration;
import org.springblade.modules.training.service.TrainingRegistrationService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -90,6 +98,7 @@
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import static org.springblade.common.config.FtpConfig.*;
import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
@@ -115,6 +124,16 @@
   private final JurisdictionService jurisdictionService;
   private final IDispatcherService dispatcherService;
   private final SignInRecordsService signInRecordsService;
   private final TrainingRegistrationService trainingRegistrationService;
   private final AccreditationRecordsService accreditationRecordsService;
   private final SecurityPaperService securityPaperService;
   /**
    * 查询单条
@@ -281,7 +300,7 @@
   public R update(@Valid @RequestBody User user) throws Exception {
      CacheUtil.clear(USER_CACHE);
      User user1 = userService.getById(user.getId());
      String url = null;
      String url = "";
      if (null!=user.getFingerprint() && !user.getFingerprint().equals("")) {
         if (user.getFingerprint().length()>100) {
            //指纹图片上传并返回url
@@ -292,6 +311,28 @@
            url = split[1];
         }
      }
      //判断是否持证
//      if (user.getHold().equals("1") && null!=user.getSecuritynumber() && !user.getSecuritynumber().equals("")){
//         //持证,校验保安证编号是否合法
//         SecurityPaper securityPaper = new SecurityPaper();
//         securityPaper.setIdCardNo(user.getCardid());
//         List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
//         if (securityPaperList.size()>0){
//            boolean status = false;
//            //遍历
//            for (SecurityPaper paper : securityPaperList) {
//               if (paper.getNumber().equals(user.getSecuritynumber())){
//                  status = true;
//               }
//            }
//            if (!status){
//               throw new ServiceException("保安证编号不匹配,请核实!");
//            }
//         }else {
//            throw new ServiceException("保安证编号不匹配,请核实!");
//         }
//      }
      //如果是离职
      if (null!=user.getStatus()){
@@ -388,44 +429,74 @@
      }
      user.setPassword(user1.getPassword());
      user.setUpdateTime(new Date());
      userService.updateById(user);
      String rtime;
      if (user.getRtime() == null) {
         rtime = null;
         String s1 =
            "update blade_user set account = " + "'" + user.getAccount() + "'"
               + ",name = " + "'" + user.getName() + "'"
               + ",real_name = " + "'" + user.getRealName() + "'"
               + ",avatar = " + "'" + user.getAvatar() + "'"
               + ",email = " + "'" + user.getEmail() + "'"
               + ",phone = " + "'" + user.getPhone() + "'"
               + ",sex = " + "'" + user.getSex() + "'"
               + ",role_id = " + "'" + user.getRoleId() + "'"
               + ",dept_id = " + "'" + user.getDeptId() + "'"
               + ",cardid = " + "'" + user.getCardid() + "'"
               + ",nativePlace = " + "'" + user.getNativeplace() + "'"
               + ",nation = " + "'" + user.getNation() + "'"
               + ",education = " + "'" + user.getEducation() + "'"
               + ",politicaloutlook = " + "'" + user.getPoliticaloutlook() + "'"
               + ",healstats = " + "'" + user.getHealstats() + "'"
               + ",height = " + "'" + user.getHeight() + "'"
               + ",fingerprint = " + "'" + url + "'"
               + ",my_picture = " + "'" + user.getMyPicture() + "'"
               + ",address = " + "'" + user.getAddress() + "'"
               + ",registered = " + "'" + user.getRegistered() + "'"
               + ",dispatch = " + "'" + user.getDispatch() + "'"
               + ",securitynumber = " + "'" + user.getSecuritynumber() + "'"
               + ",hold = " + "'" + user.getHold() + "'"
               + ",jurisdiction = " + "'" + user.getJurisdiction() + "'"
               + ",reason_for_leav = " + "'" + user.getReasonForLeav() + "'"
               + ",guncode = " + "'" + user.getGuncode() + "'"
               + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'"
               + " " + "where id = " + "'" + user.getId() + "'";
         FtpUtil.sqlFileUpload(s1);
      } else {
         rtime = new SimpleDateFormat("yyyy-MM-dd").format(user.getRtime());
         String s1 =
            "update blade_user set account = " + "'" + user.getAccount() + "'"
               + ",name = " + "'" + user.getName() + "'"
               + ",real_name = " + "'" + user.getRealName() + "'"
               + ",avatar = " + "'" + user.getAvatar() + "'"
               + ",email = " + "'" + user.getEmail() + "'"
               + ",phone = " + "'" + user.getPhone() + "'"
               + ",sex = " + "'" + user.getSex() + "'"
               + ",role_id = " + "'" + user.getRoleId() + "'"
               + ",dept_id = " + "'" + user.getDeptId() + "'"
               + ",cardid = " + "'" + user.getCardid() + "'"
               + ",nativePlace = " + "'" + user.getNativeplace() + "'"
               + ",nation = " + "'" + user.getNation() + "'"
               + ",education = " + "'" + user.getEducation() + "'"
               + ",politicaloutlook = " + "'" + user.getPoliticaloutlook() + "'"
               + ",healstats = " + "'" + user.getHealstats() + "'"
               + ",height = " + "'" + user.getHeight() + "'"
               + ",fingerprint = " + "'" + url + "'"
               + ",my_picture = " + "'" + user.getMyPicture() + "'"
               + ",address = " + "'" + user.getAddress() + "'"
               + ",registered = " + "'" + user.getRegistered() + "'"
               + ",rtime = " + "'" + rtime + "'"
               + ",dispatch = " + "'" + user.getDispatch() + "'"
               + ",securitynumber = " + "'" + user.getSecuritynumber() + "'"
               + ",hold = " + "'" + user.getHold() + "'"
               + ",jurisdiction = " + "'" + user.getJurisdiction() + "'"
               + ",reason_for_leav = " + "'" + user.getReasonForLeav() + "'"
               + ",guncode = " + "'" + user.getGuncode() + "'"
               + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'"
               + " " + "where id = " + "'" + user.getId() + "'";
         FtpUtil.sqlFileUpload(s1);
      }
      String s1 =
         "update blade_user set account = " + "'" + user.getAccount() + "'"
            + ",name = " + "'" + user.getName() + "'"
            + ",real_name = " + "'" + user.getRealName() + "'"
            + ",avatar = " + "'" + user.getAvatar() + "'"
            + ",email = " + "'" + user.getEmail() + "'"
            + ",phone = " + "'" + user.getPhone() + "'"
            + ",sex = " + "'" + user.getSex() + "'"
            + ",role_id = " + "'" + user.getRoleId() + "'"
            + ",dept_id = " + "'" + user.getDeptId() + "'"
            + ",cardid = " + "'" + user.getCardid() + "'"
            + ",nativePlace = " + "'" + user.getNativeplace() + "'"
            + ",nation = " + "'" + user.getNation() + "'"
            + ",education = " + "'" + user.getEducation() + "'"
            + ",politicaloutlook = " + "'" + user.getPoliticaloutlook() + "'"
            + ",healstats = " + "'" + user.getHealstats() + "'"
            + ",height = " + "'" + user.getHeight() + "'"
            + ",fingerprint = " + "'" + url + "'"
            + ",my_picture = " + "'" + user.getMyPicture() + "'"
            + ",address = " + "'" + user.getAddress() + "'"
            + ",registered = " + "'" + user.getRegistered() + "'"
            + ",rtime = " + "'" + rtime + "'"
            + ",dispatch = " + "'" + user.getDispatch() + "'"
            + ",securitynumber = " + "'" + user.getSecuritynumber() + "'"
            + ",hold = " + "'" + user.getHold() + "'"
            + ",jurisdiction = " + "'" + user.getJurisdiction() + "'"
            + ",reason_for_leav = " + "'" + user.getReasonForLeav() + "'"
            + ",guncode = " + "'" + user.getGuncode() + "'"
            + " " + "where id = " + "'" + user.getId() + "'";
      FtpUtil.sqlFileUpload(s1);
      return R.success("修改成功");
   }
@@ -434,7 +505,7 @@
    * 修改
    */
   @PostMapping("/updateUserInfo")
   public R updateUserInfo(@Valid @RequestBody User user) throws Exception {
   public R updateUserInfo(@Valid @RequestBody UserVO user) throws Exception {
      String url = null;
      if (null!=user.getFingerprint() && !user.getFingerprint().equals("")) {
         if (user.getFingerprint().length()>100) {
@@ -446,8 +517,38 @@
            url = split[1];
         }
      }
      user.setUpdateTime(new Date());
      //更新
      userService.updateById(user);
      //生成签到记录
      if (null!=user.getCandidateNo() && !user.getCandidateNo().equals("")){
         //查询签到记录,如果已有,则更新,没有就新增
         SignInRecords signInRecords = new SignInRecords();
         signInRecords.setCandidateNo(user.getCandidateNo());
         SignInRecords inRecordsServiceOne = signInRecordsService.getOne(Condition.getQueryWrapper(signInRecords));
         //如果为null
         if (null==inRecordsServiceOne){
            //查询报名信息
            TrainingRegistration trainingRegistration = new TrainingRegistration();
            trainingRegistration.setCandidateNo(user.getCandidateNo());
            TrainingRegistration one = trainingRegistrationService.getOne(Condition.getQueryWrapper(trainingRegistration));
            //新增,数据封装
            SignInRecords sign = new SignInRecords();
            sign.setCreateTime(new Date());
            sign.setUpdateTime(new Date());
            sign.setCandidateNo(user.getCandidateNo());
            sign.setUserId(user.getId());
            sign.setApplyId(one.getId());
            sign.setExamId(Long.parseLong(one.getTrainExamId()));
            //新增
            signInRecordsService.save(sign);
         }else {
            //更新
            inRecordsServiceOne.setUpdateTime(new Date());
            signInRecordsService.updateById(inRecordsServiceOne);
         }
      }
      //内网同步
      String s1 =
@@ -462,6 +563,7 @@
            + ",address = " + "'" + user.getAddress() + "'"
            + ",registered = " + "'" + user.getRegistered() + "'"
            + ",securitynumber = " + "'" + user.getSecuritynumber() + "'"
            + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'"
            + ",hold = " + "'" + user.getHold() + "'"
            + ",cell = " + "'" + user.getCell() + "'"
            + " " + "where id = " + "'" + user.getId() + "'";
@@ -534,6 +636,7 @@
   @PostMapping("/updatePaperTime")
   public R updatePaperTime(@RequestBody User user) {
      user.setPaperTime(new Date());
      user.setUpdateTime(new Date());
      userService.updateById(user);
      String paperTime = null;
      //发证日期处理
@@ -542,9 +645,41 @@
      } else {
         paperTime = new SimpleDateFormat("yyyy-MM-dd").format(user.getPaperTime());
      }
      //更新制证记录制证状态
      AccreditationRecords accreditationRecords = new AccreditationRecords();
      accreditationRecords.setUserId(user.getId());
      //审核通过的
      accreditationRecords.setAuditStatus(2);
      //未制证的记录
      accreditationRecords.setStatus(1);
      //查询
      List<AccreditationRecords> list = accreditationRecordsService.list(Condition.getQueryWrapper(accreditationRecords));
      if (list.size()>0) {
         //排序
         List<AccreditationRecords> collect = list.stream().sorted(Comparator.comparing(AccreditationRecords::getId).reversed()).collect(Collectors.toList());
         //取出第一个
         AccreditationRecords accreditationRecords1 = collect.get(0);
         //修改为已制证状态
         accreditationRecords1.setStatus(2);
         //更新
         accreditationRecordsService.updateById(accreditationRecords1);
         //同步
         String s1 =
            "update blade_user set paper_time = " + "'" + paperTime + "'"
               + ",user_type = " + "'" + user.getUserType() + "'"
               + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'"
               + " " + "where id = " + "'" + user.getId() + "';" +
            "update sys_accreditation_records set status = " + "'" + accreditationRecords1.getStatus() + "'" +
               " " + "where id = " + "'" + accreditationRecords1.getId() + "'";
         FtpUtil.sqlFileUpload(s1);
         //返回
         return R.success("修改成功");
      }
      String s1 =
         "update blade_user set paper_time = " + "'" + paperTime + "'"
            + ",user_type = " + "'" + user.getUserType() + "'"
            + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'"
            + " " + "where id = " + "'" + user.getId() + "'";
      FtpUtil.sqlFileUpload(s1);
      return R.success("修改成功");
@@ -963,7 +1098,6 @@
      user.setExaminationType("0");
      user.setAccount(user.getCardid());
//      Integer userCount = userService.selectCount(user.getAccount());
      User user1 = new User();
      user1.setIsDeleted(0);
      user1.setStatus(1);
@@ -978,14 +1112,16 @@
                  if(!user2.getDeptId().equals(user.getDeptId())) {
                     user2.setStatus(2);
                     //先将原有人员离职  cell 1:手动录入  2:自动录入
                     user2.setUpdateTime(new Date());
                     userService.updateById(user2);
                     //内网同步
                     String s1 = "update blade_user set status = " + user2.getStatus() +
                        ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'" +
                        " where id = " + "'" + user2.getId() + "'";
                     FtpUtil.sqlFileUpload(s1);
                     //人员离职后修改派遣记录,修改从业记录
                     updateUserDispatcherExp(user);
                     updateUserDispatcherExp(user2);
                  }else {
                     throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
                  }
@@ -998,7 +1134,29 @@
         }
      }
      String url = null;
      //判断是否持证
//      if (user.getHold().equals("1")){
//         //持证,校验保安证编号是否合法
//         SecurityPaper securityPaper = new SecurityPaper();
//         securityPaper.setIdCardNo(user.getCardid());
//         List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
//         if (securityPaperList.size()>0){
//            boolean status = false;
//            //遍历
//            for (SecurityPaper paper : securityPaperList) {
//               if (paper.getNumber().equals(user.getSecuritynumber())){
//                  status = true;
//               }
//            }
//            if (!status){
//               throw new ServiceException("保安证编号不匹配,请核实!");
//            }
//         }else {
//            throw new ServiceException("保安证编号不匹配,请核实!");
//         }
//      }
      String url = "";
      if (null!=user.getFingerprint() && !user.getFingerprint().equals("")) {
         if (user.getFingerprint().length()>100) {
            String s = uploadBase64String(user);
@@ -1007,22 +1165,14 @@
            url = split[1];
         }
      }
//         }
      //未持证
//         if (user.getHold().equals("2")){
//            //分配未持证保安角色
//            Role role = new Role();
//            role.setRoleAlias("未持证保安");
//            Role oneRole = roleService.getOne(Condition.getQueryWrapper(role));
//            user.setRoleId(oneRole.getId().toString());
//         }
//      }
      //密码加密
      if (Func.isNotEmpty(user.getCardid())) {
//         user.setPassword(DigestUtil.encrypt(user.getPassword()));
         //取身份证号码后6位作为密码
         user.setPassword(DigestUtil.encrypt(user.getCardid().substring(user.getCardid().length() - 6)));
      }
      user.setCreateTime(new Date());
      user.setTenantId("000000");
      //用户新增
      boolean status = userService.save(user);
@@ -1063,7 +1213,7 @@
         "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,rtime," +
         "securitynumber,hold,jurisdiction,examination_type,status,is_deleted,dispatch,guncode,cell) " +
         "securitynumber,hold,jurisdiction,examination_type,status,is_deleted,dispatch,guncode,create_time,cell) " +
         "values(" + "'" + user.getId() + "'" +
         "," + "'" + user.getTenantId() + "'" +
         "," + "'" + user.getAccount() + "'" +
@@ -1095,6 +1245,7 @@
         "," + "'" + user.getIsDeleted() + "'" +
         "," + "'" + user.getDispatch() + "'" +
         "," + "'" + user.getGuncode() + "'" +
         "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getCreateTime()) + "'" +
         "," + "'" + user.getCell() + "'" + ");"+
      "insert into sys_experience(id,name,post,entryTime," +
         "cardId,companyname,securityId) " +