| | |
| | | import org.springblade.modules.dispatcher.vo.DispatcherVO; |
| | | import org.springblade.modules.information.entity.Information; |
| | | 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.system.entity.*; |
| | | import org.springblade.modules.system.excel.QrCodeExcel; |
| | | import org.springblade.modules.system.excel.SecurityExcel; |
| | |
| | | private final BladeTenantProperties tenantProperties; |
| | | private final IInformationService iInformationService; |
| | | private final IDeptService deptService; |
| | | private final JurisdictionService jurisdictionService; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | return deleteLogic(Func.toLongList(userIds)); |
| | | } |
| | | |
| | | /** |
| | | * 用户民警的导入 |
| | | * @param data |
| | | * @param isCovered |
| | | * @param deptId |
| | | */ |
| | | @Override |
| | | // @Transactional(rollbackFor = Exception.class) 去除事务回滚 |
| | | public void importUser(List<UserExcel> data, Boolean isCovered,String deptId) { |
| | | //将不能导入的保安员账号存起来 |
| | | //将不能导入的账号存起来 |
| | | List<String> errorList = new ArrayList<>(); |
| | | //将需要新增的保安员信息存入集合 |
| | | List<User> insertList = new ArrayList<>(); |
| | | //将需要更新的保安员信息存入集合 |
| | | List<User> updateList = new ArrayList<>(); |
| | | //导入状态,默认为true ,如果有一个出现问题则为 false |
| | | AtomicBoolean status = new AtomicBoolean(true); |
| | | data.forEach(userExcel -> { |
| | | User user = Objects.requireNonNull(BeanUtil.copy(userExcel, User.class)); |
| | | //设置部门id |
| | | String deptIds = userDeptService.selectIn(user.getDeptId()); |
| | | if (null!=deptIds && !deptIds.equals("")) { |
| | | if (null != deptId && !deptId.equals("")) { |
| | | if (!deptId.equals(deptIds)) { |
| | | throw new ServiceException("导入失败!不能导入不是本公司的保安员数据!"); |
| | | } |
| | | } |
| | | // if (null!=deptIds && !deptIds.equals("")) { |
| | | // if (null != deptId && !deptId.equals("")) { |
| | | // if (!deptId.equals(deptIds)) { |
| | | // throw new ServiceException("导入失败!不能导入不是当前辖区(机构)的数据!"); |
| | | // } |
| | | // } |
| | | // user.setDeptId(deptIds); |
| | | // }else { |
| | | // //如果deptIds 为空,则说明还没有改公司 |
| | | // throw new ServiceException("导入失败!机构名:["+user.getDeptId()+"]不存在!"); |
| | | // } |
| | | user.setDeptId(deptIds); |
| | | }else { |
| | | //如果deptIds 为空,则说明还没有改公司 |
| | | throw new ServiceException("导入失败!公司名:["+user.getDeptId()+"]不存在!"); |
| | | } |
| | | //判断当前用户是否已在本单位,如果是的更新数据 |
| | | User user1 = new User(); |
| | | user1.setAccount(user.getCardid()); |
| | | user1.setAccount(user.getDeptId()); |
| | | // user1.setAccount(user.getCode()); |
| | | user1.setIsDeleted(0); |
| | | user1.setStatus(1); |
| | | User user2 = this.getOne(Condition.getQueryWrapper(user1)); |
| | |
| | | user.setTenantId("000000"); |
| | | //默认在职 |
| | | user.setStatus(1); |
| | | //分配保安角色 |
| | | user.setIsDeleted(0); |
| | | user.setCreateTime(new Date()); |
| | | user.setUpdateTime(new Date()); |
| | | //设置账号 |
| | | user.setAccount(userExcel.getDeptId()); |
| | | //user.setAccount(user.getCode()); |
| | | //分配角色 |
| | | Role role = new Role(); |
| | | role.setRoleAlias("保安"); |
| | | role.setRoleAlias("公安管理员"); |
| | | Role oneRole = roleService.getOne(Condition.getQueryWrapper(role)); |
| | | user.setRoleId(oneRole.getId().toString()); |
| | | //性别 |
| | |
| | | } |
| | | } |
| | | |
| | | //设置账号 |
| | | user.setAccount(user.getCardid()); |
| | | //获取辖区的数据 |
| | | Jurisdiction jurisdiction = new Jurisdiction(); |
| | | jurisdiction.setDeptName(userExcel.getDeptId()); |
| | | Jurisdiction one = jurisdictionService.getOne(Condition.getQueryWrapper(jurisdiction)); |
| | | user.setJurisdiction(one.getId().toString()); |
| | | |
| | | |
| | | //获取默认密码配置 |
| | | user.setPassword(user.getCardid().substring(user.getCardid().length() - 6)); |
| | | // user.setPassword(ParamCache.getValue(DEFAULT_PARAM_PASSWORD)); |
| | | user.setPassword("123456"); |
| | | // user.setPassword(user.getCode()); |
| | | //加密 |
| | | if (Func.isNotEmpty(user.getPassword())) { |
| | | user.setPassword(DigestUtil.encrypt(user.getPassword())); |
| | | } |
| | | Integer userCount = baseMapper.selectCountAccount(user.getAccount()); |
| | | if (userCount > 0 && Func.isEmpty(user.getId())) { |
| | | throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount())); |
| | | } |
| | | //新增 |
| | | this.submit(user); |
| | | this.save(user); |
| | | //内网同步 |
| | | String s = "insert into blade_user(" + |
| | | "id,tenant_id,code,account,password,real_name,phone,sex,role_id,dept_id," + |
| | | "create_time,update_time,cardid,status,is_deleted,jurisdiction) " + |
| | | "values(" + "'" + user.getId() + "'" + "," + |
| | | "'" + user.getTenantId() + "'" + "," + |
| | | "'" + user.getCode() + "'" + "," + |
| | | "'" + user.getAccount() + "'" + "," + |
| | | "'" + user.getPassword() + "'" + "," + |
| | | "'" + user.getRealName() + "'" + "," + |
| | | "'" + user.getPhone() + "'" + "," + |
| | | "'" + user.getSex() + "'" + "," + |
| | | "'" + user.getRoleId() + "'" + |
| | | "," + "'" + user.getDeptId() + "'" + |
| | | "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getCreateTime()) + "'" + |
| | | "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'" + |
| | | "," + "'" + user.getCardid() + "'" + |
| | | "," + "'" + user.getStatus() + "'" + |
| | | "," + "'" + user.getIsDeleted() + "'" + |
| | | "," + "'" + user.getJurisdiction() + "'" |
| | | + ")"; |
| | | FtpUtil.sqlFileUpload(s); |
| | | }else { |
| | | //匹配组织机构是否一致,如果不一致 |
| | | if(!user2.getDeptId().equals(user.getDeptId())){ |
| | | Dept dept = deptService.getById(user2.getDeptId()); |
| | | // throw new ServiceException("用户:"+"["+user.getCardid()+"]"+"已在其他单位存在!"); |
| | | status.set(false); |
| | | //加入集合 |
| | | errorList.add(user.getCardid()); |
| | |
| | | }else { |
| | | //如果是一致,则更新用户数据 |
| | | //更新用户数据 |
| | | user2.setUpdateTime(new Date()); |
| | | if (null!=user.getPhone() && !user.getPhone().equals("")){ |
| | | user2.setPhone(user.getPhone()); |
| | | } |
| | | if (null!=user.getRealName() && !user.getRealName().equals("")){ |
| | | user2.setRealName(user.getRealName()); |
| | | } |
| | | if (null!=user.getCardid() && !user.getCardid().equals("")){ |
| | | user2.setCardid(user.getCardid()); |
| | | } |
| | | if (null!=user.getCode() && !user.getCode().equals("")){ |
| | | user2.setCode(user.getCode()); |
| | | user2.setAccount(user.getCode()); |
| | | } |
| | | user2.setAccount(userExcel.getDeptId()); |
| | | this.updateById(user2); |
| | | String s1 = |
| | | "update blade_user set hold = " + "'" + user2.getHold() + "'" |
| | | + ",securitynumber = " + "'" + user2.getSecuritynumber() + "'" |
| | | + ",registered = " + "'" + user2.getRegistered() + "'" |
| | | "update blade_user set account = " + "'" + user2.getAccount() + "'" |
| | | + ",code = " + "'" + user2.getCode() + "'" |
| | | + ",real_name = " + "'" + user2.getRealName() + "'" |
| | | + ",phone = " + "'" + user2.getPhone() + "'" |
| | | + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'" |
| | | + ",cardid = " + "'" + user2.getCardid() + "'" |
| | | + " " + "where id = " + "'" + user2.getId() + "'"; |
| | | FtpUtil.sqlFileUpload(s1); |
| | | } |