package com.palmnest.service.estateserve;

import com.palmnest.application.bean.Page;
import com.palmnest.application.dto.OutTreeDTO;
import com.palmnest.model.Staff;
import com.palmnest.service.GenericManager;

import java.util.List;

/**
 * @author yubing
 * @since 2015-04-02
 */
public interface StaffManager extends GenericManager<Staff, Integer> {

	/**
	 * 分页查询员工信息
	 *
	 * @param pageNo 当前页数
	 * @param strSQL 执行sql语句
	 * @return
	 */
	public Page queryStaffList(int pageNo, String whereSQL);

	/**
	 * 分页查询员工信息
	 *
	 * @param pageNo
	 * @param whereSQL
	 * @param organizationId 项目ID
	 * @return
	 */
	public Page queryStaffListByOrganization(int pageNo, String whereSQL, String organizationId);

	/**
	 * 查询员工信息（编码等于staffNo，ID不等于staffId）
	 *
	 * @param staffNo
	 * @param staffId
	 * @return
	 */
	public Staff getStaffByStaffNoOrStaffId(String staffNo, String staffId);

	/**
	 * 查询员工关联的项目楼栋信息
	 *
	 * @param staffId 员工ID
	 * @param deptId  部门ID
	 * @return
	 */
	public List<OutTreeDTO> getStaffRelationBuildTree(Integer staffId, Integer deptId);

	/**
	 * 处理员工-组织关联信息
	 *
	 * @param buildIds
	 * @param staffId
	 */
	public void assignStaffRelationBuild(String buildIds, int staffId);

	/**
	 * 删除员工信息
	 *
	 * @param staff
	 */
	public void deleteStaff(Staff staff);
}
