| | |
| | | import org.springblade.core.tool.jackson.JsonUtil; |
| | | import org.springblade.core.tool.support.Kv; |
| | | import org.springblade.core.tool.utils.*; |
| | | import org.springblade.modules.FTP.FtpUtil; |
| | | import org.springblade.modules.auth.enums.UserEnum; |
| | | import org.springblade.modules.dispatcher.service.IDispatcherService; |
| | | import org.springblade.modules.dispatcher.vo.DispatcherUnitVO; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | import static org.springblade.common.constant.CommonConstant.DEFAULT_PARAM_PASSWORD; |
| | |
| | | if (Func.isNotEmpty(user.getPassword())) { |
| | | user.setPassword(DigestUtil.encrypt(user.getPassword())); |
| | | } |
| | | // Integer userCount = baseMapper.selectCount(Wrappers.<User>query().lambda().eq(User::getTenantId, tenantId).eq(User::getAccount, user.getAccount())); |
| | | // if (userCount > 0 && Func.isEmpty(user.getId())) { |
| | | // throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount())); |
| | | // } |
| | | return save(user) && submitUserDept(user); |
| | | Integer userCount = baseMapper.selectCount(Wrappers.<User>query().lambda().eq(User::getTenantId, tenantId).eq(User::getAccount, user.getAccount())); |
| | | if (userCount > 0 && Func.isEmpty(user.getId())) { |
| | | throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount())); |
| | | } |
| | | boolean b = save(user) && submitUserDept(user); |
| | | String rtime = null; |
| | | if (null != user.getRtime()) { |
| | | rtime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getRtime()); |
| | | } |
| | | user.setIsDeleted(0); |
| | | String s = "insert into blade_user(id,tenant_id,account,password,real_name,email,phone,sex,role_id,dept_id,cardid,nativePlace,nation," + |
| | | "politicaloutlook,healstats,height,address,registered,securitynumber,hold,status,dispatch,jurisdiction,is_deleted) " + |
| | | "values(" + "'" + user.getId() + "'" + "," + "'" + user.getTenantId() + "'" + "," + "'" + user.getAccount() + "'" + "," + |
| | | "'" + user.getPassword() + "'" + "," + "'" + user.getRealName() + "'" + "," + |
| | | "'" + user.getEmail() + "'" + "," + "'" + user.getPhone() + "'" + "," + "'" + user.getSex() + "'" + "," + "'" + user.getRoleId() + "'" + |
| | | "," + "'" + user.getDeptId() + "'" + |
| | | "," + "'" + user.getCardid() + "'" + |
| | | "," + "'" + user.getNativeplace() + "'" + |
| | | "," + "'" + user.getNation() + "'" + |
| | | "," + "'" + user.getPoliticaloutlook() + "'" + |
| | | "," + "'" + user.getHealstats() + "'" |
| | | + "," + "'" + user.getHeight() + "'" + |
| | | "," + "'" + user.getAddress() + "'" + |
| | | "," + "'" + user.getRegistered() + "'" + "," + |
| | | "'" + user.getSecuritynumber() + "'" + |
| | | "," + "'" + user.getHold() + "'" + |
| | | "," + "'" + user.getStatus() + "'" + |
| | | "," + "'" + user.getDispatch() + "'"+ |
| | | "," + "'" + user.getJurisdiction() + "'"+ |
| | | "," + "'" + user.getIsDeleted() + "'" |
| | | + ")"; |
| | | FtpUtil.sqlFileUpload(s); |
| | | return b; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean updateUser(User user) { |
| | | String tenantId = user.getTenantId(); |
| | | Integer userCount = baseMapper.selectCount( |
| | | Wrappers.<User>query().lambda() |
| | | .eq(User::getTenantId, tenantId) |
| | | .eq(User::getAccount, user.getAccount()) |
| | | .notIn(User::getId, user.getId()) |
| | | ); |
| | | if (userCount > 0) { |
| | | throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount())); |
| | | } |
| | | // String tenantId = user.getTenantId(); |
| | | // Integer userCount = baseMapper.selectCount( |
| | | // Wrappers.<User>query().lambda() |
| | | // .eq(User::getTenantId, tenantId) |
| | | // .eq(User::getAccount, user.getAccount()) |
| | | // .notIn(User::getId, user.getId()) |
| | | // ); |
| | | // if (userCount > 0) { |
| | | // throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount())); |
| | | // } |
| | | return updateUserInfo(user) && submitUserDept(user); |
| | | } |
| | | |
| | |
| | | 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()!=""){ |
| | | if (null != userVO.getCardid() && userVO.getCardid() != "") { |
| | | userVO.setAge(AgeUtil.idCardToAge(userVO.getCardid())); |
| | | }else { |
| | | } else { |
| | | userVO.setAge(null); |
| | | } |
| | | }); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public IPage<User> selectUserPage(IPage<User> page, User user, Long deptId, String tenantId) { |
| | | public IPage<UserVO> selectUserPage(IPage<UserVO> page, User user, Long deptId, String tenantId) { |
| | | List<Long> deptIdList = SysCache.getDeptChildIds(deptId); |
| | | return page.setRecords(baseMapper.selectUserPage(page, user, deptIdList, tenantId)); |
| | | List<UserVO> users = baseMapper.selectUserPage(page, user, deptIdList, tenantId); |
| | | if(users.size()>0){ |
| | | //遍历获取部门名称,角色名称 |
| | | users.forEach(userVO -> { |
| | | //查询当前部门名称及父级部门名称 |
| | | if (null!=userVO.getDeptId()) { |
| | | List<String> list = baseMapper.getDeptName(userVO.getDeptId()); |
| | | if (list.size() > 1) { |
| | | if (null != list.get(1) && list.get(1) != "") { |
| | | userVO.setDeptName(list.get(1) + "," + list.get(0)); |
| | | } else { |
| | | userVO.setDeptName(list.get(0)); |
| | | } |
| | | } |
| | | if (list.size() == 1) { |
| | | userVO.setDeptName(list.get(0)); |
| | | } |
| | | } |
| | | //查询角色名称 |
| | | if (null!=userVO.getRoleId()) { |
| | | List<String> asList = Arrays.asList(userVO.getRoleId().split(",")); |
| | | StringBuilder builder = new StringBuilder(); |
| | | asList.forEach(roleIs -> { |
| | | Role role = roleService.getById(roleIs); |
| | | if (null != role) { |
| | | builder.append(role.getRoleName() + ","); |
| | | } |
| | | }); |
| | | String substringRoleName = null; |
| | | if (builder.toString().length() > 0) { |
| | | substringRoleName = builder.toString().substring(0, builder.toString().length() - 1); |
| | | } |
| | | userVO.setRoleName(substringRoleName); |
| | | } |
| | | }); |
| | | } |
| | | return page.setRecords(users); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importUser(List<UserExcel> data, Boolean isCovered) { |
| | | public void importUser(List<UserExcel> data, Boolean isCovered,String deptId) { |
| | | data.forEach(userExcel -> { |
| | | User user = Objects.requireNonNull(BeanUtil.copy(userExcel, User.class)); |
| | | // 设置租户ID |
| | |
| | | if (userExcel.getHold().equals("是")) { |
| | | user.setHold("1"); |
| | | } |
| | | if(userExcel.getHold().equals("否")) { |
| | | if (userExcel.getHold().equals("否")) { |
| | | user.setHold("2"); |
| | | } |
| | | } |
| | |
| | | Role oneRole = roleService.getOne(Condition.getQueryWrapper(role)); |
| | | user.setRoleId(oneRole.getId().toString()); |
| | | //性别 |
| | | if (null!=userExcel.getSex()) { |
| | | if (null != userExcel.getSex()) { |
| | | if (userExcel.getSex().equals("男")) { |
| | | user.setSex(1); |
| | | } |
| | |
| | | } |
| | | } |
| | | //设置部门id |
| | | user.setDeptId(userDeptService.selectIn(user.getDeptId())); |
| | | String deptIds = userDeptService.selectIn(user.getDeptId()); |
| | | if (null!=deptIds && !deptIds.equals("")) { |
| | | if (null != deptId && !deptId.equals("")) { |
| | | if (!deptId.equals(deptIds)) { |
| | | throw new ServiceException("不能导入不是本公司的保安员数据!"); |
| | | } |
| | | } |
| | | user.setDeptId(deptIds); |
| | | } |
| | | //设置账号 |
| | | user.setAccount(user.getCardid()); |
| | | //获取默认密码配置 |
| | | user.setPassword(user.getCardid().substring(user.getCardid().length()-6)); |
| | | user.setPassword(user.getCardid().substring(user.getCardid().length() - 6)); |
| | | // user.setPassword(ParamCache.getValue(DEFAULT_PARAM_PASSWORD)); |
| | | //新增 |
| | | this.submit(user); |
| | |
| | | |
| | | /** |
| | | * 查询当前公司未持证保安没有报名的人员 |
| | | * |
| | | * @param deptId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 计算保安人员年龄 |
| | | * |
| | | * @param userId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 导入保安员 |
| | | * |
| | | * @param data |
| | | * @param isCovered |
| | | */ |
| | |
| | | user.setTenantId("000000"); |
| | | //默认在职 |
| | | user.setStatus(1); |
| | | user.setDispatch("1"); |
| | | //判断是否持证 |
| | | if (null != userExcel.getHold() && userExcel.getHold() != "") { |
| | | if (userExcel.getHold().equals("是")) { |
| | | user.setHold("1"); |
| | | } |
| | | if(userExcel.getHold().equals("否")) { |
| | | if (userExcel.getHold().equals("否")) { |
| | | user.setHold("2"); |
| | | } |
| | | } |
| | |
| | | Role oneRole = roleService.getOne(Condition.getQueryWrapper(role)); |
| | | user.setRoleId(oneRole.getId().toString()); |
| | | |
| | | if (null!=userExcel.getSex()) { |
| | | if (null != userExcel.getSex()) { |
| | | if (userExcel.getSex().equals("男")) { |
| | | user.setSex(1); |
| | | } |
| | |
| | | //设置账号 |
| | | user.setAccount(user.getCardid()); |
| | | //获取默认密码配置 |
| | | user.setPassword(user.getCardid().substring(user.getCardid().length()-6)); |
| | | user.setPassword(user.getCardid().substring(user.getCardid().length() - 6)); |
| | | // user.setPassword(ParamCache.getValue(DEFAULT_PARAM_PASSWORD)); |
| | | //新增 |
| | | this.submit(user); |
| | |
| | | |
| | | /** |
| | | * 根据保安员编码查询保安信息 |
| | | * |
| | | * @param securityNumber 保安证编码 |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 保安员信息 |
| | | * |
| | | * @param user |
| | | * @return |
| | | */ |
| | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param type 1:派遣 2:保安向 |
| | | * @param type 1:派遣 2:保安向 |
| | | * @param deptid |
| | | * @param jurisdiction |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> seleL(String type,String deptid, String jurisdiction,Long userId) { |
| | | public List<Map<String, Object>> seleL(String type, String deptid, String jurisdiction, Long userId) { |
| | | List<Map<String, Object>> list = new ArrayList<>(); |
| | | //派遣 |
| | | if (Integer.parseInt(type)==1){ |
| | | if (Integer.parseInt(type) == 1) { |
| | | list = baseMapper.getDispaterInfo(deptid, jurisdiction); |
| | | } |
| | | //工作汇报 |
| | | //保安向保安 |
| | | if (Integer.parseInt(type)==2){ |
| | | list = baseMapper.getWorkReportInfo(type,deptid, jurisdiction); |
| | | if (Integer.parseInt(type) == 2) { |
| | | list = baseMapper.getWorkReportInfo(type, deptid, jurisdiction); |
| | | } |
| | | //保安向民警 |
| | | if (Integer.parseInt(type)==3){ |
| | | if (Integer.parseInt(type) == 3) { |
| | | //查询用户信息 |
| | | User user = this.getById(userId); |
| | | //判断用户是否被派遣 |
| | | if (null!=user.getDispatch()){ |
| | | if (null != user.getDispatch()) { |
| | | if (user.getDispatch().equals("0")) { |
| | | //在派遣中,向派遣所在地辖区民警汇报 |
| | | //查询派遣信息 |
| | | DispatcherVO dispatcherVO = baseMapper.getDispatcherInfoByUserId(userId); |
| | | list = baseMapper.getWorkReportInfos(null, null, dispatcherVO.getJurisdiction()); |
| | | } |
| | | if (user.getDispatch().equals("1")){ |
| | | if (user.getDispatch().equals("1")) { |
| | | //未派遣或已派遣结束,向单位所在辖区民警汇报 |
| | | Information information = new Information(); |
| | | information.setDepartmentid(user.getDeptId()); |
| | | Information one = iInformationService.getOne(Condition.getQueryWrapper(information)); |
| | | list = baseMapper.getWorkReportInfos(type,null, one.getJurisdiction()); |
| | | list = baseMapper.getWorkReportInfos(type, null, one.getJurisdiction()); |
| | | } |
| | | }else { |
| | | } else { |
| | | //未派遣或已派遣结束,向单位所在辖区民警汇报 |
| | | Information information = new Information(); |
| | | information.setDepartmentid(user.getDeptId()); |
| | | Information one = iInformationService.getOne(Condition.getQueryWrapper(information)); |
| | | list = baseMapper.getWorkReportInfos(type,null, one.getJurisdiction()); |
| | | list = baseMapper.getWorkReportInfos(type, null, one.getJurisdiction()); |
| | | } |
| | | |
| | | } |
| | | //民警对民警 |
| | | if (Integer.parseInt(type)==4){ |
| | | list = baseMapper.getWorkReportInfo(type,deptid, jurisdiction); |
| | | if (Integer.parseInt(type) == 4) { |
| | | list = baseMapper.getWorkReportInfo(type, deptid, jurisdiction); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | /** |
| | | * 查询账号相同的用户数量 |
| | | * |
| | | * @param account |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Integer selectCount(String account) { |
| | | return baseMapper.selectCountAccount(account); |
| | | } |
| | | |
| | | /** |
| | | * 查询用户表中未删除,未离职的用户信息 |
| | | * @param username |
| | | * @return |
| | | */ |
| | | @Override |
| | | public User getUserInfo(String username) { |
| | | return baseMapper.getUserInfo(username); |
| | | } |
| | | } |