package com.hw.dms.mapper;

import java.util.List;
import com.hw.dms.domain.DmsInspectInstanceDetailProject;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * 点巡检工单明细项目信息;质检检查每个项目的质检结果详情Mapper接口
 *
 * @author xins
 * @date 2024-03-19
 */
public interface DmsInspectInstanceDetailProjectMapper
{
    /**
     * 查询点巡检工单明细项目信息;质检检查每个项目的质检结果详情
     *
     * @param instanceDetailProjectId 点巡检工单明细项目信息;质检检查每个项目的质检结果详情主键
     * @return 点巡检工单明细项目信息;质检检查每个项目的质检结果详情
     */
    public DmsInspectInstanceDetailProject selectDmsInspectInstanceDetailProjectByInstanceDetailProjectId(Long instanceDetailProjectId);

    /**
     * 查询点巡检工单明细项目信息;质检检查每个项目的质检结果详情列表
     *
     * @param dmsInspectInstanceDetailProject 点巡检工单明细项目信息;质检检查每个项目的质检结果详情
     * @return 点巡检工单明细项目信息;质检检查每个项目的质检结果详情集合
     */
    public List<DmsInspectInstanceDetailProject> selectDmsInspectInstanceDetailProjectList(DmsInspectInstanceDetailProject dmsInspectInstanceDetailProject);

    /**
     * 新增点巡检工单明细项目信息;质检检查每个项目的质检结果详情
     *
     * @param dmsInspectInstanceDetailProject 点巡检工单明细项目信息;质检检查每个项目的质检结果详情
     * @return 结果
     */
    public int insertDmsInspectInstanceDetailProject(DmsInspectInstanceDetailProject dmsInspectInstanceDetailProject);

    /**
     * 修改点巡检工单明细项目信息;质检检查每个项目的质检结果详情
     *
     * @param dmsInspectInstanceDetailProject 点巡检工单明细项目信息;质检检查每个项目的质检结果详情
     * @return 结果
     */
    public int updateDmsInspectInstanceDetailProject(DmsInspectInstanceDetailProject dmsInspectInstanceDetailProject);

    /**
     * 删除点巡检工单明细项目信息;质检检查每个项目的质检结果详情
     *
     * @param instanceDetailProjectId 点巡检工单明细项目信息;质检检查每个项目的质检结果详情主键
     * @return 结果
     */
    public int deleteDmsInspectInstanceDetailProjectByInstanceDetailProjectId(Long instanceDetailProjectId);

    /**
     * 批量删除点巡检工单明细项目信息;质检检查每个项目的质检结果详情
     *
     * @param instanceDetailProjectIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDmsInspectInstanceDetailProjectByInstanceDetailProjectIds(Long[] instanceDetailProjectIds);






    /**
     * 查询点巡检工单明细项目信息;Join
     *
     * @param dmsInspectInstanceDetailProject 点巡检工单明细项目信息;质检检查每个项目的质检结果详情
     * @return 点巡检工单明细项目信息;质检检查每个项目的质检结果详情集合
     */
    public List<DmsInspectInstanceDetailProject> selectDmsInspectInstanceDetailProjectJoinList(DmsInspectInstanceDetailProject dmsInspectInstanceDetailProject);


    /**
     * 通过工单id与巡检步骤查询工单明细项目信息
     * */
    List<DmsInspectInstanceDetailProject> selectDmsInspectInstanceDetailProjectByInspectInstanceId(@Param("inspectInstanceId") Long inspectInstanceId, @Param("lineStep") Long lineStep);

}
