package com.goafanti.organization.service;

import com.goafanti.admin.bo.AdminListBo;
import com.goafanti.core.mybatis.page.Pagination;
import com.goafanti.organization.bo.DepOut;
import com.goafanti.organization.bo.InputDep;
import com.goafanti.organization.bo.OrganizationListOut;

import java.util.List;

public interface OrganizationService {
	/**
	 * 部门组织管理查询
	 * @param olo
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	Pagination<OrganizationListOut>
	listOrganizationManagement(OrganizationListOut olo,Integer pageNo, Integer pageSize);
	/**组织名称查上级组织*/
	List<DepOut> selectSuperId(Integer hideSign);

	List<DepOut> getAllDep(Integer hideSign);
	/**
	 *
	 * @param name 组织名称
	 * @param managerId 负责人ID
	 * @param type 组织类型
	 * @param superId 上级组织
	 * @param desc 组织职能说明
	 * @return
	 */
	int addOrganization(String name,String managerId,String type,String superId,String desc,
						Integer workingHoursType,Integer hideSign,String depNo);
	/**
	 * 模糊查询负责人名称
	 * @param name
	 * @return
	 */
	List<AdminListBo> selectName(String name);

	OrganizationListOut selectAllById(String id);

	int deleteById(String id);

	int updateOrganization(InputDep in);

	boolean checkDepNo(String depNo,Integer type);


}
