package com.ibiz.core.r7rt_org.service;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.math.BigInteger;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.ibiz.core.r7rt_org.domain.OrgDept;
import com.ibiz.core.r7rt_org.filter.OrgDeptSearchContext;

/**
 * 实体[OrgDept] 服务对象接口
 */

public interface IOrgDeptService{
     boolean save(OrgDept orgDept) ;
     OrgDept syncToUserGroup(OrgDept orgDept) ;
     OrgDept getOrgDeptChild(OrgDept orgDept) ;
     boolean remove(String orgDeptId) ;
     OrgDept get(String orgDeptId) ;
     OrgDept get(OrgDept orgDept) ;
     boolean update(OrgDept orgDept) ;
     OrgDept getDraft(OrgDept orgDept) ;
     boolean create(OrgDept orgDept) ;
     boolean checkKey(OrgDept orgDept) ;
     OrgDept getOrgDeptPrent(OrgDept orgDept) ;

    /**
     * 查询集合 DEFAULT
     */
    Page<OrgDept> searchDefault(OrgDeptSearchContext context) ;

    /**
     * 查询集合 当前组织下的部门
     */
    Page<OrgDept> searchCUR_ORG(OrgDeptSearchContext context) ;

    /**
     * 根据部门查询
     */
     Page<OrgDept> selectByPOrgDept(String orgdeptid) ;
     List<OrgDept> selectByPOrgDept2(String orgdeptid);

    /**
     * 根据组织查询
     */
     Page<OrgDept> selectByOrg(String orgid) ;
     List<OrgDept> selectByOrg2(String orgid);

}
