package com.jiuqi.mobile.nigo.comeclose.manager.base;
import java.util.List;
import com.jiuqi.mobile.nigo.comeclose.bean.LoadOnGetList;
import com.jiuqi.mobile.nigo.comeclose.bean.base.InnerManagementBean;
import com.jiuqi.mobile.nigo.comeclose.manager.ISimpleUserManger;
import com.jiuqi.mobile.nigo.comeclose.manager.ManagerAnnotation;
import com.jiuqi.mobile.nigo.comeclose.manager.master.SelectInnerManagermentKey;
import com.jiuqi.mobile.nigo.comeclose.portal.PortalAnnotation;
@ManagerAnnotation(implClass = "com.jiuqi.mobile.nigo.biz.base.manager.InnerManagementManagerImpl")
@PortalAnnotation(implClass = "com.jiuqi.mobile.nigo.biz.base.manager.InnerManagementManagerImpl")
public interface IInnerManagementManager extends
ISimpleUserManger<InnerManagementBean> {
/**
* @Title: search
* @Description: TODO(根据条件查询员工,带分页)
* @param @param key
* @param @return 设定文件
* @return LoadOnGetList<InnerManagementBean> 返回类型
* @throws
*/
LoadOnGetList<InnerManagementBean> search(SelectInnerManagermentKey key);
/**
* 更新所属分组
*
* @param guid
* @param groupGuid
* @return
*/
int updateGroup(String guid, String groupGuid);
/**
* 根据员工所属机构和分组查询员工
*
* @param orgGuid
* @param groupGuid
* @return
*/
List<InnerManagementBean> findEmployeeByOrgAndGroup(String orgGuid,
String groupGuid);
/**
* @Title: findEmployeeByNameAndOrgAndGroup
* @Description: 根据员工名称、员工所属机构和分组查询员工
* @param @param name 员工名称
* @param @param orgGuid 机构guid
* @param @param groupGuid 分组guid
* @param @return 设定文件
* @return List<InnerManagementBean> 返回类型
* @throws
*/
List<InnerManagementBean> findEmployeeByNameAndOrgAndGroup(String name,
String orgGuid, String groupGuid);
/**
* 根据员工姓名或者电话号码查询员工
*
* @param fastFind
* @return
*/
List<InnerManagementBean> queryByContactPersonalOrcontactNumber(
String fastFind, String orgGuid);
/**
* @Title: queryBySql
* @Description: 属性结构专用,查询员工
* @param @param sql
* @param @param guid
* @param @param flag
* @param @return 设定文件
* @return List<InnerManagementBean> 返回类型
* @throws
*/
List<InnerManagementBean> queryBySql(String sql, String guid, int flag);
/**
* @Title: queryAllInnerBySql
* @Description: TODO( 查询内部员工,包括操作员下的员工)
* @param @param sql
* @param @param guid
* @param @param operateGuid 根据管理员guid获取的操作员guid(以逗号隔开的串)
* @param @param flag
* @param @return 设定文件
* @return List<InnerManagementBean> 返回类型
* @throws
*/
List<InnerManagementBean> queryAllInnerBySql(String sql, String guid,
String operateGuid, int flag);
/**
* @Title: queryInnerBySql
* @Description: 查未分组员工
* @param @param sql =groupManager.getAllGroupSql(user.getGuid())
* @param @param guid 机构guid
* @param @param flag
* @param @param name 员工名称
* @param @return 设定文件
* @return List<InnerManagementBean> 返回类型
* @throws
*/
List<InnerManagementBean> queryInnerBySql(String sql, String guid,
int flag, String name);
/**
* @Title: findByGroupGuid
* @Description: TODO(根据分组guid,查询员工信息)
* @param @param groupGuid
* @param @return 设定文件
* @return List<InnerManagementBean> 返回类型
* @throws
*/
List<InnerManagementBean> findByGroupGuid(String groupGuid);
/**
*
* @方法描述:根据组织机构guid查询员工 (仅适用于安徽)<br/>
* @项目名称:comeclose<br/>
* @类路径:com.jiuqi.mobile.nigo.comeclose.manager.base.IInnerManagementManager.java<br/>
* @版权所有(c):JOIN-CHEER <br/>
* @作者:xuzhe <br/>
* @创建时间:2015-2-5下午3:30:11 <br/>
* @修改时间:<br/>
* @修改备注: <br/>
* @返回类型:List<InnerManagementBean><br/>
* @param orgGuid
* @return
*/
List<InnerManagementBean> findByOrgGuid(String orgGuid);
/**
*
* @方法描述:根据组织机构guid查询员工 人数(仅适用于安徽) <br/>
* @项目名称:comeclose<br/>
* @类路径:com.jiuqi.mobile.nigo.comeclose.manager.base.IInnerManagementManager.java<br/>
* @版权所有(c):JOIN-CHEER <br/>
* @作者:xuzhe <br/>
* @创建时间:2015-2-6上午9:12:13 <br/>
* @修改时间:<br/>
* @修改备注: <br/>
* @返回类型:int<br/>
* @param orgGuid
* @return
*/
int findByOrgGuidCount(String orgGuid);
/**
*
* @方法描述: 根据用户名或者电话号码查询员工(安徽短信书使用)<br/>
* @项目名称:comeclose<br/>
* @类路径:com.jiuqi.mobile.nigo.comeclose.manager.base.IInnerManagementManager.java<br/>
* @版权所有(c):JOIN-CHEER <br/>
* @作者:xuzhe <br/>
* @创建时间:2015-2-5下午4:58:24 <br/>
* @修改时间:<br/>
* @修改备注: <br/>
* @返回类型:List<InnerManagementBean><br/>
* @param fast
* @return
*/
List<InnerManagementBean> fastFindByUserNameOrMobileNumberAndOrgGuid(
String fast);
}