using System;
using System.Collections.Generic;
using System.Text;
using Song.Entities;
namespace Song.ServiceInterfaces
{
///
/// 院系员工的管理
///
public interface IEmployee : WeiSha.Common.IBusinessInterface
{
///
/// 添加
///
/// 业务实体
int Add(EmpAccount entity);
///
/// 修改
///
/// 业务实体
void Save(EmpAccount entity);
///
/// 删除
///
/// 业务实体
void Delete(EmpAccount entity);
///
/// 删除,按主键ID;
///
/// 实体的主键
void Delete(int identify);
///
/// 获取单一实体对象,按主键ID;
///
/// 实体的主键
///
EmpAccount GetSingle(int identify);
///
/// 登录
///
/// 账号,或身份证,或手机
/// 密码
///
///
EmpAccount EmpLogin(string acc, string pw, int orgid);
///
/// 根据公司id获取本公司的管理员
///
/// 公司id
///
EmpAccount GetAdminByOrgId(int orgid);
///
/// 获取单一实体对象,按员工手机号码
///
/// 手机号
///
EmpAccount GetSingleByPhone(string phoneNumber);
///
/// 获取单一实体对象,按员工名称
///
///
///
EmpAccount GetSingleByName(string name);
///
/// 获取单一实体对象,按员工帐号名称与密码
///
/// 员工帐号名称
/// 员工密码,MD5加密字符串
///
EmpAccount GetSingle(string acc, string pw);
EmpAccount GetSingle(int orgid, string acc, string pw);
///
/// 获取当前员工所在的院系
///
///
///
Depart Get4Depart(int identify);
///
/// 当前员工是否为超级管理员
///
///
///
bool IsSuperAdmin(int identify);
///
/// 当前员工是否为根机构员工
///
///
///
bool IsForRoot(int identify);
///
/// 当前用户是否为超级管理员
///
/// 当前用户对象
///
bool IsSuperAdmin(EmpAccount acc);
///
/// 当前员工是否为管理员
///
///
///
bool IsAdmin(int identify);
///
/// 当前员工是否存在(通过帐号判断)
///
/// 所有机构的Id
///
/// 如果已经存在,则返回true
bool IsExists(int orgid, EmpAccount acc);
///
/// 验证能否登录
///
/// 员工帐号
/// 密码
///
bool LoginCheck(int orgid, string accname, string pw);
///
/// 通过手机号码验证,当前员工是否为在职员工
///
/// 手机号
///
bool IsOnJob(string phoneNumber);
///
/// 获取对象;即所有员工;
///
///
EmpAccount[] GetAll(int orgid);
EmpAccount[] GetAll(int orgid, int depId, bool? isUse, string searTxt);
///
/// 获取某个分厂的所有员工帐号;
///
/// 分厂id
///
/// 员工名称
///
EmpAccount[] GetAll4Org(int orgid, bool? isUse, string searTxt);
///
/// 分页获取所有的员工帐号;
///
/// 每页显示几条记录
/// 当前第几页
/// 记录总数
///
EmpAccount[] GetPager(int orgid, int size, int index, out int countSum);
///
/// 分页获取某院系,所有的员工帐号;
///
/// 院系Id
/// 每页显示几条记录
/// 当前第几页
/// 记录总数
///
EmpAccount[] GetPager(int orgid, int dep_id, int size, int index, out int countSum);
EmpAccount[] GetPager(int orgid, int? dep_id, bool? isUse, string searName, int size, int index, out int countSum);
#region 职务(头衔)管理
///
/// 添加
///
/// 业务实体
void TitileAdd(EmpTitle entity);
///
/// 修改
///
/// 业务实体
void TitleSave(EmpTitle entity);
///
/// 删除
///
/// 业务实体
void TitleDelete(EmpTitle entity);
///
/// 删除,按主键ID;
///
/// 实体的主键
void TitleDelete(int identify);
///
/// 获取单一实体对象,按主键ID;
///
/// 实体的主键
///
EmpTitle TitleSingle(int identify);
///
/// 获取对象;即所有职位;
///
///
EmpTitle[] TitleAll(int orgid);
EmpTitle[] TitleAll(int orgid, bool? isUse);
///
/// 获取当前职务的所有员工
///
/// 职务Id
/// 是否在职
///
EmpAccount[] Title4Emplyee(int titleid, bool? isUse);
///
/// 当前对象名称是否重名
///
/// 业务实体
///
bool TitleIsExist(int orgid,EmpTitle entity);
///
/// 将当前项目向上移动;仅在当前对象的同层移动,即同一父节点下的对象这前移动;
///
///
/// 如果已经处于顶端,则返回false;移动成功,返回true
bool TitleRemoveUp(int orgid,int id);
///
/// 将当前项目向下移动;仅在当前对象的同层移动,即同一父节点下的对象这前移动;
///
///
/// 如果已经处于顶端,则返回false;移动成功,返回true
bool TitleRemoveDown(int orgid,int id);
#endregion
}
}