package com.ruoyi.project.check.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.project.check.domain.TCheckCheckpoints;

/**
 * 检测点Service接口
 *
 * @author ruoyi
 * @date 2022-12-01
 */
public interface ITCheckCheckpointsService
{
    /**
     * 查询检测点
     *
     * @param checkId 检测点主键
     * @return 检测点
     */
    public TCheckCheckpoints selectTCheckCheckpointsByCheckId(Long checkId);

    /**
     * 查询检测点列表
     *
     * @param tCheckCheckpoints 检测点
     * @return 检测点集合
     */
    public List<TCheckCheckpoints> selectTCheckCheckpointsList(TCheckCheckpoints tCheckCheckpoints);
    public TCheckCheckpoints selectTCheckCheckpointByEntity(TCheckCheckpoints tCheckCheckpoints);
    public List<TCheckCheckpoints> selectPointsByIds(Long[] checkIds);

    /**
     * 新增检测点
     *
     * @param tCheckCheckpoints 检测点
     * @return 结果
     */
    public int insertTCheckCheckpoints(TCheckCheckpoints tCheckCheckpoints);

    public int insertTCheckCheckpointsByList(List<TCheckCheckpoints> tCheckCheckpoints);

    /**
     * 修改检测点
     *
     * @param tCheckCheckpoints 检测点
     * @return 结果
     */
    public int updateTCheckCheckpoints(TCheckCheckpoints tCheckCheckpoints);
    public int updateTCheckCheckpointsByUpload(TCheckCheckpoints tCheckCheckpoints);
    public int updateTCheckCheckpointsByCheckIds(TCheckCheckpoints tCheckCheckpoints);
    public int updateApproveStatusByIds(TCheckCheckpoints tCheckCheckpoints);
    public int deleteCheckpoints(TCheckCheckpoints tCheckCheckpoints);

    /**
     * 批量删除检测点
     *
     * @param checkIds 需要删除的检测点主键集合
     * @return 结果
     */
    public int deleteTCheckCheckpointsByCheckIds(Long[] checkIds);

    /**
     * 删除检测点信息
     *
     * @param checkId 检测点主键
     * @return 结果
     */
    public int deleteTCheckCheckpointsByCheckId(Long checkId);

    public AjaxResult toApprove(TCheckCheckpoints tCheckCheckpoints);
    public AjaxResult approveAll(TCheckCheckpoints tCheckCheckpoints);
}
