package org.qinan.safetyeval.domain.change.gateway;

import org.qinan.safetyeval.domain.change.model.QualFilingMaterialChangeE;

import java.util.List;

/**
 * 备案申请材料-变更网关
 *
 * @Author: WGG
 * @Date: 2022/3/22 16:49
 */
public interface QualFilingMaterialChangeGateway {

    /**
     * 新增备案申请材料-变更
     *
     * @param qualFilingMaterialChangeE 备案申请材料-变更
     * @return 结果
     */
    Boolean add(QualFilingMaterialChangeE qualFilingMaterialChangeE);

    /**
     * 修改备案申请材料-变更
     *
     * @param qualFilingMaterialChangeE 备案申请材料-变更
     * @return 结果
     */
    Boolean update(QualFilingMaterialChangeE qualFilingMaterialChangeE);

    /**
     * 删除备案申请材料-变更
     *
     * @param id
     * @return 结果
     */
    Boolean deletedQualFilingMaterialChangeById(Long id);

    /**
     * 删除备案申请材料-变更
     *
     * @param ids
     * @return 结果
     */
    Boolean deletedQualFilingMaterialChangeByIds(Long[] ids);

    /**
     * 根据filingId查询备案申请材料-变更列表
     */
    List<QualFilingMaterialChangeE> listByFilingId(Long filingId);

    /**
     * 统计指定filingId下满足上传状态和材料类型的记录数
     */
    int countByFilingIdAndUploadStatusCodeAndMaterialType(Long filingId, Integer uploadStatusCode, String materialType);
}
