package com.pqs9300.mapper.formdata;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.njcn.pojo.configuration.DicData;
import com.pqs9300.pojo.formdata.ConditionDataDto;
import com.pqs9300.pojo.formdata.FormData;
import com.pqs9300.pojo.formdata.LimitRateDto;
import com.pqs9300.pojo.transaction.OverRunLog;

public interface FormDataMapper {
    List<FormData> getListDepts(@Param("sysType") String sysType); //获取有监测点配置的部门guid

    List<FormData> getListDeptsByIndex(@Param("deptsIndex") List<String> deptsIndex); //获取部门guid

    List<Long> getListLineByDepts(@Param("deptsIndex") String deptsIndex, @Param("sysType") String sysType, @Param("level") List<String> level);

    List<LimitRateDto> getLimitRate(@Param("conditionData") ConditionDataDto conditionData);

    List<String> getOptionList(@Param("list") List<String> list);

    void insertSuperData(@Param("formData") FormData formData, @Param("type") Integer type);

    void insertOverData(@Param("lineId") Integer lineId, @Param("supIndex") String supIndex, @Param("des") String des, @Param("time") Date time, @Param("times") Integer times, @Param("name") String name);

    void deleteBySupIndex(@Param("supIndex") String supIndex);
    
    List<String> getUserIndexByDeptsIndex(@Param("deptsIndex") String deptsIndex);

    List<DicData> getLevel(@Param("name") String name);
    
    List<OverRunLog> getExistLog(@Param("start") Date start,@Param("type") Integer type);
    
    List<OverRunLog> getLogBySupIndex(@Param("supIndex") String supIndex);

    /**
     * 根据部门获取当前部门配置的所有监测点
     */
    List<Long> getStrategyLineByDept(@Param("list")List<String> list,@Param("grade")Integer grade);

    List<Long> getAlarmStrategyLineByDept(@Param("list")List<String> list,@Param("grade")Integer grade);

}
