package com.palmnest.service.dinner.manager;

import com.palmnest.application.bean.Page;
import com.palmnest.model.dinner.Department;
import com.palmnest.service.GenericManager;

import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @Author hxt
 * @Description TODO
 * @Date 2019/1/3 17:45
 **/
public interface DeptManager extends GenericManager<Department, Long> {

	/**
	 * 新增/修改部门信息
	 *
	 * @param department 实体
	 */
	public void saveUpdateDept(Department department) throws Exception;

	/**
	 * 查询部门列表
	 *
	 * @param pageNo
	 * @param pageSize
	 * @param map
	 * @return
	 */
	public Page deptList(int pageNo, int pageSize, HashMap<String, String> map);

	/**
	 * 根据企业id和部门名称模糊搜索部门列表
	 *
	 * @param virId    企业id
	 * @param deptName 部门名称
	 * @return
	 */
	public List<Map<String, String>> getDeptByVirIdAndDeptName(int virId, String deptName);

	/**
	 * 获取部门详情
	 *
	 * @param deptId
	 * @return
	 */
	public Map<String, Object> getDeptInfo(long deptId);

	List<Department> getAllDept(String orgId, String virId, String name);

	/**
	 * 删除部门
	 *
	 * @param department
	 */
	void delDept(Department department);

	/**
	 * 根据企业id和部门名称查询部门信息
	 *
	 * @param virId
	 * @param name
	 * @return
	 */
	Department getDeptByNameAndVirId(int virId, String name);

	/**
	 * 导入部门
	 *
	 * @param ins
	 * @param orgId
	 * @param virId
	 * @return
	 */
	Map<String, Object> importDept(InputStream ins, String orgId, String virId);
}
