SysOrgDao.java 3.96 KB
package com.zteits.sys.dao;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.dto.sys.param.OrgByOrgLevelRequest;
import com.zteits.clouds.api.dto.sys.param.SysOpOrgSaveOrModifyRequest;
import com.zteits.clouds.api.dto.sys.param.SysOrgPageQueryRequest;
import com.zteits.clouds.api.dto.sys.param.SysOrgSaveRequest;
import com.zteits.sys.domain.SysOp;
import com.zteits.sys.domain.SysOrg;

/**
 * 
 * 
 * Copyright: Copyright (c) 2017  zteits
 * 
 * @ClassName: SysOrgDao.java
 * @Description: 
 * @version: v1.0.0
 * @author: langlw
 * @date: 2017年5月10日   下午1:53:56 
 * Modification History:
 * Date             Author          Version            Description
 *---------------------------------------------------------*
 * 2017年5月10日      langlw          v1.0.0               创建
 */
public interface SysOrgDao {

	/**
	 * 根据父节点查询组织
	 * @param parentId 父节点名称
	 * @return
	 */
	List<SysOrg> querySysOrgByParentId(Long parentId);



	 /**
     * 根据查询条件分页查询组织
     *
     * langlw 2017-08-14
     * @return
     * @
     */
    PageInfo<SysOrg> queryPageSysOrgForList(SysOrgPageQueryRequest request);
    
    /**
     * 根据组织ID集合 批量查询组织
     *
     * @param ids        要查询的集合 必填
     * @param dataStatus 数据状态 可选,如果为null,查询所有状态下的组织
     * @param sysCode    系统编码 必填
     * @return
     * @throws Exception
     */
    List<SysOrg> queryBatchSysOrgById(List<Long> ids, Integer dataStatus, String sysCode);

    /**
	  * 保存/修改用户与组织关系.<br/>
	  * 保存修改处理逻辑:
	  *    1.先删除掉用户组织关系主键不为空的关系.
	  *    2.然后全量保存.<br/>
	  * @param SysOpOrgSaveOrModifyRequest
	  * @return
	  */
	Boolean saveOrModifySysOpAndSysOrgRelation(SysOpOrgSaveOrModifyRequest sysOpOrgSaveOrModifyRequest)throws Exception;

	/**
	  * 添加用户与组织关系.<br/>
	  * 
	  * @param SysOpOrgSaveOrModifyRequest
	  * @return
	  */
	Boolean insertSysOpAndSysOrgRelation(SysOpOrgSaveOrModifyRequest sysOpOrgSaveOrModifyRequest)throws Exception;
	 /**
     * 通过主键查询组织对象
     *
     * @param id 组织Id
     * @return
     * langlw 2017-08-14
     */
	SysOrg getSysOrgById(Long id);
	
	 /**
     * 通过主键删除组织
     *
     * @param ids 主键集合
     * @return
     * langlw 2017-08-14
     */
    Boolean deleteSysOrgByIds(List<Long> ids);
    /**
     * 保存系统组织
     *
     * @param request 入参请求对象
     * @return 主键id
     * langlw 2017-08-14
     */
    Long saveSysOrg(SysOrgSaveRequest request);
    /**
     * 通过主键 修改系统组织
     *
     * @param request 入参请求对象
     * @return
     * langlw 2017-08-14
     */
    Boolean updateSysOrgById(SysOrg sysOrg);
    /**
     * 根据组织ID集合 查询所有组织下面有哪些用户
     *
     * @param orgIds   组织ID 必填
     * @param dataState 数据状态 可选,如果为null 则查询所有状态数据R
     * @param sysCode   系统编码 必填
     * @return 操作人ID集合
     */
	List<Long> queryOpIdsByOrgId(List<Long> orgIds, Integer dataState, String sysCode);
	/**
     * 根据组织ID分页查询所有用户
     *
     * @param orgId 必填
     * @return
     * langlw 2017-08-15
     */
	PageInfo<SysOp> queryOpByorgIdForPage(Long orgId,Integer pageSize,Integer pageNum,String sysCode);
	/**
	 * 新增或更新组织后更新组织排序序号
	 * @return
	 * langlw 2017-08-17
	 */
	Integer updateSysOrgSortNumOfSaveOrUpdate(Long id, Long parentOrgId, int sortNum, int oldSortNum);

	/**
     * 删除后更新组织的排序
     * @param id
     * @return
     * langlw 2017-08-17
     */
	Integer updateSysOrgSortNumOfDelete(Long id);
	
	/**
	 * 通过组织等级查询组织信息.<br/>
	 * @param orgByOrgLevelRequest
	 * @return
	 */
	List<SysOrg> queryOrgByOrgLevel(OrgByOrgLevelRequest orgByOrgLevelRequest);
	
	
}