| | |
| | | package org.jeecg.modules.system.service.impl; |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | import org.jeecg.modules.system.entity.*; |
| | | import org.jeecg.modules.system.mapper.*; |
| | | import org.jeecg.modules.system.model.SysUserSysDepartModel; |
| | | import org.jeecg.modules.system.service.IBaseFactoryService; |
| | | import org.jeecg.modules.system.service.ISysDictService; |
| | | import org.jeecg.modules.system.service.ISysUserService; |
| | | import org.jeecg.modules.system.vo.EamUserRepDepVo; |
| | |
| | | @Slf4j |
| | | public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService { |
| | | |
| | | @Autowired |
| | | @Resource |
| | | private SysUserMapper userMapper; |
| | | @Autowired |
| | | @Resource |
| | | private SysPermissionMapper sysPermissionMapper; |
| | | @Autowired |
| | | @Resource |
| | | private SysUserRoleMapper sysUserRoleMapper; |
| | | @Autowired |
| | | @Resource |
| | | private SysUserDepartMapper sysUserDepartMapper; |
| | | @Autowired |
| | | @Resource |
| | | private SysDepartMapper sysDepartMapper; |
| | | @Autowired |
| | | @Resource |
| | | private SysRoleMapper sysRoleMapper; |
| | | @Autowired |
| | | @Resource |
| | | private SysDepartRoleUserMapper departRoleUserMapper; |
| | | @Autowired |
| | | @Resource |
| | | private SysDepartRoleMapper sysDepartRoleMapper; |
| | | @Resource |
| | | private BaseCommonService baseCommonService; |
| | | @Autowired |
| | | @Resource |
| | | private SysThirdAccountMapper sysThirdAccountMapper; |
| | | @Autowired |
| | | ThirdAppWechatEnterpriseServiceImpl wechatEnterpriseService; |
| | | @Autowired |
| | | ThirdAppDingtalkServiceImpl dingtalkService; |
| | | @Autowired |
| | | @Resource |
| | | SysRoleIndexMapper sysRoleIndexMapper; |
| | | @Resource |
| | | MdcUserProductionMapper mdcUserProductionMapper; |
| | |
| | | EamBaseRepairDepartUserMapper eamBaseRepairDepartUserMapper; |
| | | @Resource |
| | | private ISysDictService sysDictService; |
| | | @Autowired |
| | | private IBaseFactoryService factoryService; |
| | | |
| | | @Override |
| | | @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true) |
| | |
| | | |
| | | /** |
| | | * 获取动态首页路由配置 |
| | | * |
| | | * @param username |
| | | * @param version |
| | | * @return |
| | |
| | | |
| | | /** |
| | | * 通过用户名获取用户角色集合 |
| | | * |
| | | * @param username 用户名 |
| | | * @return 角色集合 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 升级SpringBoot2.6.6,不允许循环依赖 |
| | | * @author:qinfeng |
| | | * @update: 2022-04-07 |
| | | * |
| | | * @param username |
| | | * @return |
| | | * @author:qinfeng |
| | | * @update: 2022-04-07 |
| | | */ |
| | | @Override |
| | | public SysUserCacheInfo getCacheUser(String username) { |
| | |
| | | |
| | | /** |
| | | * 根据部门Id查询 |
| | | * |
| | | * @param page |
| | | * @param departId 部门id |
| | | * @param username 用户账户名称 |
| | |
| | | |
| | | /** |
| | | * 根据角色Id查询 |
| | | * |
| | | * @param page |
| | | * @param roleId 角色id |
| | | * @param username 用户账户名称 |
| | |
| | | |
| | | /** |
| | | * 根据设备车间管理Id查询 |
| | | * |
| | | * @param page |
| | | * @param baseFactoryId 设备车间管理Id |
| | | * @return |
| | |
| | | |
| | | /** |
| | | * 校验用户是否有效 |
| | | * |
| | | * @param sysUser |
| | | * @return |
| | | */ |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<UserSelector> selectOperatorList(String equipmentCode, String productionId, String positionCode) { |
| | | public List<UserSelector> selectOperatorList(String equipmentCode, String factoryOrgCode, String positionCode) { |
| | | LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(SysUser::getPost, positionCode); |
| | | if(StringUtils.isNotBlank(equipmentCode)) { |
| | | queryWrapper.and(q -> q.isNull(SysUser::getEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEquipmentIds, equipmentCode)); |
| | | queryWrapper.and(q -> q.isNull(SysUser::getEamEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEamEquipmentIds, equipmentCode)); |
| | | } |
| | | if(StringUtils.isNotBlank(productionId)) { |
| | | queryWrapper.exists("select 1 from mdc_user_production t where t.user_id=sys_user.id and t.pro_id={0}", productionId); |
| | | if (StringUtils.isNotBlank(factoryOrgCode)) { |
| | | List<String> factoryIds = factoryService.queryFactoryIdsByOrgCode(factoryOrgCode); |
| | | if (CollectionUtil.isNotEmpty(factoryIds)) { |
| | | String factory = String.join(",", factoryIds); |
| | | String inClause = "(" + factory + ")"; |
| | | queryWrapper.exists("select 1 from eam_base_factory_user t where t.user_id=sys_user.id and t.factory_id in {0}", inClause); |
| | | } else { |
| | | return Collections.emptyList(); |
| | | } |
| | | } |
| | | queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); |
| | | queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); |
| | | queryWrapper.orderByDesc(SysUser::getId); |
| | | List<SysUser> sysUsers = userMapper.selectList(queryWrapper); |
| | | List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); |
| | | return collect; |
| | | if (CollectionUtil.isEmpty(sysUsers)) { |
| | | return Collections.emptyList(); |
| | | } |
| | | |
| | | /** |
| | | * 选择用户 |
| | | * @param equipmentCode 选择的设备ID |
| | | * @param factoryId 选择的工厂ID |
| | | * @param positionCode 岗位编号 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<UserSelector> selectOperatorFactoryList(String equipmentCode, String factoryId, String positionCode){ |
| | | LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(SysUser::getPost, positionCode); |
| | | // if(StringUtils.isNotBlank(equipmentCode)) { |
| | | // queryWrapper.and(q -> q.isNull(SysUser::getEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEquipmentIds, equipmentCode)); |
| | | // } |
| | | // if(StringUtils.isNotBlank(factoryId)) { |
| | | // queryWrapper.exists("select 1 from eam_base_factory_user t where t.user_id=sys_user.id and t.factory_id={0}", factoryId); |
| | | // } |
| | | queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); |
| | | queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); |
| | | queryWrapper.orderByDesc(SysUser::getId); |
| | | List<SysUser> sysUsers = userMapper.selectList(queryWrapper); |
| | | List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); |
| | | return collect; |
| | | return sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); |
| | | } |
| | | |
| | | @Override |