package com.hw.dms.service;

import java.util.List;
import com.hw.dms.domain.DmsInspectInstanceDetailProject;

/**
 * 点巡检工单明细项目信息;质检检查每个项目的质检结果详情Service接口
 *
 * @author xins
 * @date 2024-04-10
 */
public interface IDmsInspectInstanceDetailProjectService
{
    /**
     * 查询点巡检工单明细项目信息;质检检查每个项目的质检结果详情
     *
     * @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 instanceDetailProjectIds 需要删除的点巡检工单明细项目信息;质检检查每个项目的质检结果详情主键集合
     * @return 结果
     */
    public int deleteDmsInspectInstanceDetailProjectByInstanceDetailProjectIds(Long[] instanceDetailProjectIds);

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

    List<DmsInspectInstanceDetailProject> selectDmsInspectInstanceDetailProjectByInspectInstanceId(Long inspectInstanceId,Long lineStep);
}
