package com.ozs.appshow.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.ozs.appshow.dto.ChartInfoDTO;
import com.ozs.appshow.dto.ChartTypeDTO;

public interface ChartInfoMapper {
	/**
	 * 获取图表类型列表
	 * 
	 * @return
	 */
	List<ChartTypeDTO> listChartType();

	/**
	 * 获取图表列表
	 * 
	 * @param reportName
	 * @param chartType
	 * @return
	 */
	List<ChartInfoDTO> listChartInfo(@Param("chartName") String chartName, @Param("chartType") Integer chartType);

	/**
	 * 根据ID获取图表信息
	 * 
	 * @param chartId
	 * @return
	 */
	ChartInfoDTO getChartInfo(@Param("chartId") String chartId);

	/**
	 * 根据图表名称获取图表信息
	 * 
	 * @param chartName
	 * @return
	 */
	ChartInfoDTO getChartInfoByName(@Param("chartName") String chartName);

	/**
	 * 保存
	 * 
	 * @param chartInfoDTO
	 * @return
	 */
	Integer saveChartInfo(ChartInfoDTO chartInfoDTO);

	/**
	 * 修改
	 * 
	 * @param chartInfoDTO
	 */
	Integer updateChartInfo(ChartInfoDTO chartInfoDTO);

	/**
	 * 编辑图表
	 * 
	 * @param chartInfoDTO
	 */
	Integer updateChartJson(ChartInfoDTO chartInfoDTO);

	Integer removeChart(@Param("id") String id);

	Integer countRelSubjectChart(@Param("chartId") String chartId);

	/**
	 * 通过分类编号获取分类下图表
	 * 
	 * @param classCode
	 * @return
	 */
	List<ChartInfoDTO> listChartInfoByClass(@Param("classCode") String classCode);

}
