package com.inspect.taskinfo.mapper;


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

import com.inspect.taskinfo.domain.PatrolTaskInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface PatrolTaskInfoMapper {
    PatrolTaskInfo selectPatrolTaskInfoByLineId(Long lineId);

    PatrolTaskInfo selectTaskInfoByBaseId(String baseId);

    List<PatrolTaskInfo> selectTaskInfoByBaseIds(@Param("baseIds") List<String> baseIds);

    String selectAlgSubtypeIdsByPatrolPointId(String patrolPointId);

    Map<String, String> selectVideoPosByPointId(String pointId);

    List<Map<String, String>> selectVideoPosByPointIdByEqpbookIds(@Param("list") List<String> pointIds);

    Map<String, String> selectPoseInfo(@Param("devId") String devId, @Param("eqbookId") String eqBookId);

    List<PatrolTaskInfo> selectPatrolTaskInfoList(PatrolTaskInfo patrolTaskInfo);

    List<PatrolTaskInfo> selectPatrolTask(PatrolTaskInfo patrolTaskInfo);

    List<String> selectPatrolTaskInfoListByMajorId(String patrolTaskInfo);

    List<String> selectPatrolTaskInfoListByMajorIdEither(String patrolTaskInfo);

    List<String> selectPatrolTaskInfoListByMajorIdFull(String patrolTaskInfo);

    List<PatrolTaskInfo> selectPatrolAbnormalTaskList(PatrolTaskInfo patrolTaskInfo);

    int insertPatrolTaskInfo(PatrolTaskInfo patrolTaskInfo);

    int batchInsertPatrolTaskInfo(@Param("patrolTaskInfos") List<PatrolTaskInfo> patrolTaskInfos);

    int updatePatrolTaskInfo(PatrolTaskInfo patrolTaskInfo);

    int deletePatrolTaskInfoByLineId(Long lineIds);

    int deletePatrolTaskInfoByLineIds(Long[] lineIds);

    int deletePatrolTaskInfoByMajorIds(Long[] majorIds);

    List<Map<String, Object>> selectPatrolTaskInfoCount(@Param("list") List<String> taskInfoIds);

    int deletePatrolTaskInfoByMajorId(Long taskMajorId);

    int countPatrolTaskInfoByMajorId(String taskMajorId);
}
