package com.cmvr.inspection.mapper;

import java.util.List;
import com.cmvr.inspection.domain.InspectionTaskInstance;
import com.cmvr.inspection.domain.dto.InspectionTaskInstanceQuery;
import com.cmvr.inspection.domain.vo.InspectionTaskInstanceVo;
import com.github.yulichang.base.MPJBaseMapper;

/**
 * 巡检任务执行实例Mapper接口
 * 
 * @author cmvr-iot
 * @since 2026-06-01
 */
public interface InspectionTaskInstanceMapper  extends MPJBaseMapper<InspectionTaskInstance>
{
    /**
     * 查询巡检任务执行实例
     * 
     * @param id 巡检任务执行实例主键
     * @return 巡检任务执行实例
     */
    InspectionTaskInstance selectInspectionTaskInstanceById(String id);

    /**
     * 查询巡检任务执行实例视图详情（包含关联信息）
     * 
     * @param id 巡检任务执行实例主键
     * @return 巡检任务执行实例视图
     */
    InspectionTaskInstanceVo selectInspectionTaskInstanceVoById(String id);

    /**
     * 新增巡检任务执行实例
     * 
     * @param inspectionTaskInstance 巡检任务执行实例
     * @return 结果
     */
    int insertInspectionTaskInstance(InspectionTaskInstance inspectionTaskInstance);

    /**
     * 修改巡检任务执行实例
     * 
     * @param inspectionTaskInstance 巡检任务执行实例
     * @return 结果
     */
    int updateInspectionTaskInstance(InspectionTaskInstance inspectionTaskInstance);

    /**
     * 批量删除巡检任务执行实例
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteInspectionTaskInstanceByIds(String[] ids);

    /**
     * 查询巡检任务执行实例视图列表（包含关联信息）
     * 
     * @param inspectionTaskInstanceQuery 巡检任务执行查询对象
     * @return 巡检任务执行实例视图集合
     */
    List<InspectionTaskInstanceVo> selectInspectionTaskInstanceVoList(InspectionTaskInstanceQuery inspectionTaskInstanceQuery);
}
