package com.palmnest.service.estateserve;

import com.palmnest.application.bean.Page;
import com.palmnest.application.dto.bo.VirServiceBO;
import com.palmnest.application.dto.output.enterprise.OpenedFunctionOutDto;
import com.palmnest.application.dto.output.enterprise.VirPermConfigDTO;
import com.palmnest.model.enterprise.VirPermConfig;
import com.palmnest.service.GenericManager;

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

/**
 * Created by HIAPAD on 2019/2/25.
 */
public interface EnterprisePermissionManager extends GenericManager<VirPermConfig, Long> {

	void addUpdateVirPerm(VirServiceBO virServiceBO);

	Page queryVirPermListPage(int pageNo, int pageSize, String s);

	void delVirPerm(Long id);

	void batchSetVirPerm(String virIds, String virPermId);

	VirPermConfigDTO virPermInfo(Long virPermId);

	Boolean checkedHasFuncPerm(Integer id, String serviceCode, Integer accountType);

	List<OpenedFunctionOutDto> checkedServiceChild(Integer id);

	List<Map<String, Object>> getOrgRelationVirPermList(Integer orgId);

	List<Map<String, Object>> getVirPermServiceRelation(Long id);

	String getVirPermServiceRelationStr(Long id);

	List<Map<String, Object>> getVirPermService(long id);

	void saveOrUpdateGoodsConfig(Long orgId, String[] virLists, String[] proLists, String[] passVirLists, String[] passProLists, boolean isSaveGoodsRelease,String companyName,String type);

	void saveOrUpdateMoreGoodsConfig(Long orgId, Integer processType,String processName,String[] virLists, String[] proLists, String[] virNameLists, String[] proNameLists, boolean isSaveGoodsRelease,String companyName,String type);

	void delMoreGoodsConfig(Long orgId, boolean isSaveGoodsRelease);

	void saveOrUpdateAirConfig(Long orgId, String[] virLists, String[] proLists);
	
	Map<String, Object> getGoodsConfig(Long id);


	List<Map<String, Object>>  getProcessName(Long orgId, String types);
	Map<String, Object> getMoreGoodsConfig(Long id,String processName);

	List<Map<String, Object>> getPermByCheckRole(Long orgId);
}
