package com.hw.qms.mapper;

import java.util.List;
import com.hw.qms.domain.QmsCheckResult;
import com.hw.qms.domain.QmsCheckResultDetail;

/**
 * 质检结果Mapper接口
 *
 * @author xins
 * @date 2024-01-23
 */
public interface QmsCheckResultMapper
{
    /**
     * 查询质检结果
     *
     * @param checkResultId 质检结果主键
     * @return 质检结果
     */
    public QmsCheckResult selectQmsCheckResultByCheckResultId(Long checkResultId);

    /**
     * 查询质检结果列表
     *
     * @param qmsCheckResult 质检结果
     * @return 质检结果集合
     */
    public List<QmsCheckResult> selectQmsCheckResultList(QmsCheckResult qmsCheckResult);

    /**
     * 新增质检结果
     *
     * @param qmsCheckResult 质检结果
     * @return 结果
     */
    public int insertQmsCheckResult(QmsCheckResult qmsCheckResult);

    /**
     * 修改质检结果
     *
     * @param qmsCheckResult 质检结果
     * @return 结果
     */
    public int updateQmsCheckResult(QmsCheckResult qmsCheckResult);

    /**
     * 删除质检结果
     *
     * @param checkResultId 质检结果主键
     * @return 结果
     */
    public int deleteQmsCheckResultByCheckResultId(Long checkResultId);

    /**
     * 批量删除质检结果
     *
     * @param checkResultIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteQmsCheckResultByCheckResultIds(Long[] checkResultIds);

    /**
     * 批量删除质检结果详情
     *
     * @param checkResultIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteQmsCheckResultDetailByCheckResultIds(Long[] checkResultIds);

    /**
     * 批量新增质检结果详情
     *
     * @param qmsCheckResultDetailList 质检结果详情列表
     * @return 结果
     */
    public int batchQmsCheckResultDetail(List<QmsCheckResultDetail> qmsCheckResultDetailList);


    /**
     * 通过质检结果主键删除质检结果详情信息
     *
     * @param checkResultId 质检结果ID
     * @return 结果
     */
    public int deleteQmsCheckResultDetailByCheckResultId(Long checkResultId);





    /**
     * 查询质检结果
     *
     * @param materialBatch 物料批次号
     * @return 质检结果
     */
    public QmsCheckResult selectQmsCheckResultByMaterialBatch(String materialBatch);


    /**
     * 查询质检结果列表,Join material
     *
     * @param qmsCheckResult 质检结果
     * @return 质检结果集合
     */
    public List<QmsCheckResult> selectQmsCheckResultJoinList(QmsCheckResult qmsCheckResult);
}
