package com.njcn.gather.device.mapper;

import com.github.yulichang.base.MPJBaseMapper;
import com.njcn.gather.device.pojo.param.PqDevParam;
import com.njcn.gather.device.pojo.po.PqDev;
import com.njcn.gather.device.pojo.vo.PqDevVO;
import com.njcn.gather.device.pojo.vo.PreDetection;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author caozehui
 * @date 2024-11-06
 */
public interface PqDevMapper extends MPJBaseMapper<PqDev> {

    /**
     * 根据装置id集合获取装置信息
     * @param devIds 装置id
     * @return: java.util.List<com.njcn.gather.device.pojo.vo.PreDetection>
     * @Author: wr
     * @Date: 2024/12/12 11:46
     */
    List<PreDetection> selectDevInfo(@Param("devIds") List<String> devIds);

    void finishPlan(@Param("planId")String planId);

    void updateReportState(@Param("id")String id);

    /**
     * 修改检测计划的检测结果
     *
     * @param planId
     * @param checkResult
     */
    void updatePlanCheckResult(@Param("planId")String planId, @Param("checkResult")Integer checkResult);

    /**
     * 修改检测计划的检测状态
     *
     * @param planId
     * @param testState
     */
    void updatePlanTestState(@Param("planId")String planId, @Param("testState")Integer testState);

    /**
     * 根据计划id获取脚本id
     *
     * @param planId
     */
    String getScriptIdByPlanId(@Param("planId")String planId);

    List<PqDevVO> selectByQueryParam(PqDevParam.QueryParam param);

    PqDevVO selectByDevId(@Param("devId") String devId);

    List<PqDevVO> listByDevIds(@Param("devIds") List<String> devIds);
}

