package com.ozs.rpm.service;

import java.util.List;

import com.ozs.rpm.dto.MenuDTO;
import com.ozs.rpm.dto.ReportDTO;
import com.ozs.rpm.dto.ReportKPIDTO;
import com.ozs.rpm.dto.ReportShowTypeDTO;
import com.ozs.rpm.util.R;

public interface MenuService {

	/**
	 * 获取分类树
	 * 
	 * @param menuName
	 * @return
	 * @throws Exception
	 */
	public R<List<MenuDTO>> getMenuTree(String menuName) throws Exception;

	public R<MenuDTO> getMenu(String menuCode) throws Exception;

	public R<String> updateMenu(MenuDTO menuDTO) throws Exception;

	public R<String> saveMenu(MenuDTO menuDTO) throws Exception;

	public R<String> removeMenu(String menuCode) throws Exception;

	// ***************报表查询******************end
	// ***************报表配置，步骤1******************begin
	public R<List<ReportShowTypeDTO>> listShowType() throws Exception;

	public R<List<MenuDTO>> getMenuTreeOnlyLeaf() throws Exception;

	public R<String> saveReportBasicInfo(ReportDTO reportDTO) throws Exception;

	// ***************报表配置，步骤1******************end
	// ***************报表配置，步骤2******************begin
	public R<String> saveReportKPI(ReportKPIDTO reportKPIDTO) throws Exception;
	// ***************报表配置，步骤2******************end
	// ***************报表配置，步骤3******************begin

	public R<List<MenuDTO>> listMenuTreeOnlyLeaf(String menuName, String reportId);

	// ***************报表配置，步骤3******************end
	// ***************报表配置，步骤4******************begin

	// ***************报表配置，步骤4******************end
	// ***************报表配置，步骤5******************begin

	// ***************报表配置，步骤5******************end
	// ***************报表配置，步骤6******************begin

	// ***************报表配置，步骤6******************end

}
