package com.ozs.kpim.mapper.kpiconfig;

import com.ozs.kpim.dto.kpiconfig.KpiConfigForListDTO;
import com.ozs.kpim.dto.kpiconfig.KpiConfigPO;
import org.apache.ibatis.annotations.Param;

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

/* *
 * @Author jade
 * @Description KPI配置Mapper
 * @Date 2019/2/22
**/
public interface KpiConfigMapper {

    /* *
     * @Author jade
     * @Description 插入
     * @Date 2019/2/22
     * @Param [record]
     * @return int
    **/
    int insert(KpiConfigPO record);

    /* *
     * @Author jade
     * @Description 修改
     * @Date 2019/2/22
     * @Param [record]
     * @return int
    **/
    int update(KpiConfigPO record);

    /* *
     * @Author jade
     * @Description 删除
     * @Date 2019/2/22
     * @Param [id]
     * @return int
    **/
    int delete(@Param("id")String id);

    /* *
     * @Author jade
     * @Description 查询详细
     * @Date 2019/2/22
     * @Param [id]
     * @return KpiConfigDTO
    **/
    KpiConfigPO getById(@Param("id")String id);

    /* *
     * @Author jade
     * @Description 查询最大KPI CODE
     * @Date 2019/2/22
     * @Param []
     * @return java.lang.String
    **/
    String getMaxKpiCode();
    
    /* *
     * @Author jade
     * @Description 列表查询
     * @Date 2019/2/25
     * @Param [params]
     * @return java.util.List<KpiConfigForListDTO>
    **/
    List<KpiConfigForListDTO> listKpiConfigs(Map<String, Object> params);

    /* *
     * @Author jade
     * @Description 查询主题下的配置管理列表
     * @Date 2019/2/26
     * @Param [topicId]
     * @return java.util.List<KpiConfigForListDTO>
    **/
    List<KpiConfigForListDTO> listKpiConfigsByTopic(@Param("topicId")String topicId,@Param("topicCode")String topicCode,@Param("enableStatus")Integer enableStatus);

    /* *
     * @Author jade
     * @Description 启用/停用
     * @Date 2019/3/6
     * @Param [id, enableStatus]
     * @return int
    **/
    int updateEnableStatus(@Param("id")String id, @Param("enableStatus")Integer enableStatus);

}
