package cn.superdesk.uniorder.dubbo.facade.organisation;

import cn.superdesk.uniorder.common.rest.response.R;
import cn.superdesk.uniorder.dao.entity.organisation.SysOrganization;
import cn.superdesk.uniorder.dto.param.organisation.SysOrgQueryParam;
import cn.superdesk.uniorder.dto.vo._function.select.SelectOptionOrg;
import cn.superdesk.uniorder.dto.vo.sys.SysOrgVo;
import cn.superdesk.uniorder.dto.vo.sys.SysSelectVo;

import java.util.List;
import java.util.Map;

public interface DubboSysOrganizationService {

	void addObj(SysOrganization t);

	void updateObj(SysOrganization t);

	List<SysOrganization> findByOutOrgId(Long orgId);

	List<SysOrganization> findByOutOrgIds(List<Long> outOrgIds);

	List<String> convertOutOrgIds2OrgNames(List<Long> outOrgIds);

	List<SysOrganization> findByOutOrgName(String organizationName);

	R<List<SelectOptionOrg>> getProjectSelect(Map<String, Object> params, int pageNum, int pageSize);

	void delObj(Long id);

	/****************************************** 服务之窗-项目 start ******************************************/

	void mergeReceiveOrganization(String message);

	void deleteReceiveOrganization(String message);

	/****************************************** 服务之窗-项目   end ******************************************/

	R<List<SysOrgVo>> getOrgList(SysOrgQueryParam param);

	List<SysSelectVo> selectList(SysOrgQueryParam param);
}
