package com.gx.obe.server.management.im.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gx.obe.server.management.im.entity.Department;

import java.util.List;
 
/** 
 * @Description: 
 * @author mazc 
 */
public interface DepartmentService extends IService<Department> {

 	/**
	 * @Description: 批量更新
	 * @author mazc
	 * @param DepartmentList 
	 */
 	Integer updateByBatch(List<Department> DepartmentList);
	
	/**
	 * @Description: 批量插入
	 * @author mazc
	 * @param DepartmentList 
	 */
	Integer insertByBatch(List<Department> DepartmentList);
	
	/**
     * @Description: 指定字段修改
     * @author chenxw
     * @param Department
	 * @param attributes
     */
    boolean updateAssignProperty(Department Department, String[] attributes);
    
    /**
     * @Description: 批量指定字段修改
     * @author chenxw
     * @param DepartmentList
	 * @param attributes
     */
    Integer batchUpdateProperty(List<Department> DepartmentList, String[] attributes);
	
	/** 
	 * @Description: 批量添加或跟新
	 * @author chenxw
	 * @param DepartmentList
	 * @param attributes
	 * @return 
	 */
    Integer batchSaveOrUpdate(List<Department> DepartmentList, String[] attributes);
    
	/**
	 * @Description:  获得部门最大序号
	 * @author mazc
	 * @param parentId
	 * @return 
	 */
	public int getMaxDepartmentSortNo(String parentId);
	

	/**
	 * @Description:  获得所有部门列表
	 * @author mazc
	 * @return 
	 */
	public List<Department> getAllDepartmentList();
 
	/**
	 * @Description:  获得员工所属部门
	 * @author mazc
	 * @param employeeId
	 * @return 
	 */
	public List<Department> getDirectAssignedDepartment(String employeeId);
	
}