package com.artfess.uc.dao; import java.time.LocalDateTime; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Param; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.artfess.uc.model.OrgUser; /** * *
 * 描述:用户组织关系 DAO接口
 * 构建组:x5-bpmx-platform
 * 作者:ray
 * 邮箱:zhangyg@jee-soft.cn
 * 日期:2016-06-30 10:27:31
 * 版权:广州宏天软件有限公司
 * 
*/ public interface OrgUserDao extends BaseMapper{ /** *删除所有已逻辑删除的实体(物理删除) * @param entityId 实体对象ID */ Integer removePhysical(); /** * * @param id * @param relId * @return */ int updateUserPost(@Param("id") String id,@Param("relId") String relId,@Param("updateTime")LocalDateTime updateTime); /** * * @param orgId * @param userId * @return */ int removeByOrgIdUserId(@Param("orgId") String orgId,@Param("userId") String userId,@Param("updateTime")LocalDateTime updateTime); /** * 获取指定用户的主岗位/主组织 *

按照默认维度主岗位、主组织的优先级排序

* @param userId * @return */ List getMainPostOrOrgByUserId(String userId); /** * 获取用户的主岗位组织关系 * @return */ List getOrgUserMaster(@Param("userId") String userId,@Param("demId") String demId); /** * 设置主部门 * @param id * @return */ boolean setMaster(@Param("id") String id); /** * 取消主部门。 * @param userId * @param demId * @return */ boolean cancelUserMasterOrg(@Param("userId") String userId,@Param("demId") String demId,@Param("updateTime")LocalDateTime updateTime); /** * 根据用户ID取消用户主部门。 * @param userId * @return */ boolean cancelUserMasterOrgByUserId(@Param("userId") String userId,@Param("updateTime")LocalDateTime updateTime); /** * 根据组织和关系id获取用户列表。 * @param convert2iPage * @param queryFilter * @return */ @SuppressWarnings("rawtypes") IPage> getUserByGroup(IPage convert2iPage,@Param(Constants.WRAPPER) Wrapper wrapper); /** * 根据组织id查询组织下面的人员数量 * @param params * @return */ List getUserNumByOrgId(Map params) ; List getUserNumByOrgCode(Map params); /** * 根据用户ids删除该用户的组织 * @param ids */ void removeByUserId(@Param("userId") String userId,@Param("updateTime")LocalDateTime updateTime); /** * 取消orgId部门的主负责人 * @param orgId */ void updateCancleMainCharge(@Param("orgId") String orgId,@Param("updateTime")LocalDateTime updateTime); /** * 根据组织ID获取组织的负责人组织关系 * @param orgId 组织ID * @param isMain 是否获取主负责人 * @return */ public List getChargesByOrgId(@Param("orgId") String orgId,@Param("isMain") Integer isMain); /** * 根据组织id删除组织人员关系 * 将删除本组织及其子组织下的人员关系 * @param orgIds */ void delByOrgId(@Param("orgId") String orgId,@Param("updateTime")LocalDateTime updateTime); /** * 获取组织人员关系 * map中可以传orgId,userId,relId(岗位id),isMaster,isCharge * @param map * @return */ List getByParms(Map map); /** * 获取组织人员关系 * map中可以传orgId,userId,relId(岗位id),isMaster,isCharge * @param map * @return */ List queryParms(Map map); /** * 根据组织编码、角色编码获取 * @param orgCode * @param roleCode * @return */ List getByOrgCodeAndroleCode(@Param("orgCode") String orgCode,@Param("roleCode") String roleCode); /** * 根据组织编码、岗位编码获取 * @param orgCode * @param roleCode * @return */ List getByPostCodeAndOrgCode(@Param("orgCode") String orgCode,@Param("postCode") String postCode); /** * 设置人员主岗位 * @param id */ void updateUserMasterOrg(@Param("id") String id,@Param("updateTime")LocalDateTime updateTime); /** * 将部门的主负责人取消, 设置为负责人 * @param orgId */ void cancleMainCharge(@Param("orgId") String orgId,@Param("updateTime")LocalDateTime updateTime); /** * 通过用户账号获取其所属组织和岗位(包括逻辑删除的数据) * @param account * @return */ List getByAccount(String account); /** * 检查岗位是否在设置的有效期内 * @param updateTime * @param endDate */ void checkIsInActiveTime(@Param("startDate")LocalDateTime startDate,@Param("endDate")LocalDateTime endDate); /** * 根据组织获取相关数据列表。 * @param queryFilter * @return */ @SuppressWarnings("rawtypes") List getOrgUserData(@Param(Constants.WRAPPER)Wrapper wrapper) ; /** * 获取组织用户 * @param convert2iPage * @param queryFilter * @return */ @SuppressWarnings("rawtypes") IPage getUserOrgPage(IPage convert2iPage,@Param(Constants.WRAPPER) Wrapper wrapper); /** * 根据组织id和用户id删除组织下的用户,并岗位id为空 * @param params */ void deleteOrgById(Map params); /** * 更新岗位下用户的所属组织id * @param postId * @param orgId */ void updateUserOrgByPostId(@Param("postId") String postId,@Param("orgId")String orgId); /** * 获取用户id岗位总数 * @param wrapper * @return */ List getUserByGroupList(@Param(Constants.WRAPPER)Wrapper wrapper); /** * 根据用户id删除用户的组织、岗位信息 * @param userId */ void delByUserId(@Param("userId") String userId); /** * 批量插入 * @param list * @return */ boolean insertBatch(@Param("list")List list); /** * 删除多余用户和组织的关系数据(导入时导致的) */ void removeMores(); /** * 根据用户Id 查询出用户的职务和岗位数据 * @param userId 用户Id * @return */ List getListPostAndJob(String userId); }