package com.xinyilu.system.mapper.kindergartenCheckReport;

import com.xinyilu.system.domain.dto.KindergartenCheckReportDTO;
import com.xinyilu.system.domain.dto.KindergartenExamineAndApproveDTO;
import com.xinyilu.system.domain.kindergartenCheckReport.KindergartenCheckReport;
import com.xinyilu.system.domain.vo.personalcheckreport.ExistCheckReportVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * 幼儿园检测报告Mapper接口
 *
 * @author xinyilu
 * @date 2022-09-22
 */
public interface KindergartenCheckReportMapper {
    /**
     * 查询幼儿园检测报告
     *
     * @param id 幼儿园检测报告主键
     * @return 幼儿园检测报告
     */
    public KindergartenCheckReport selectKindergartenCheckReportById(Long id);

    /**
     * 查询幼儿园检测报告列表
     *
     * @param kindergartenCheckReport 幼儿园检测报告
     * @return 幼儿园检测报告集合
     */
    List<KindergartenCheckReportDTO> selectKindergartenCheckReportList(KindergartenCheckReportDTO kindergartenCheckReport);

    /**
     * 查询幼儿园检测报告列表-无分页
     *
     * @param batchCode 批次编码
     * @return 幼儿园检测报告集合
     */
    List<KindergartenExamineAndApproveDTO> selectKindergartenCheckReportListAll(@Param("batchCode") String batchCode);

    /**
     * 查询幼儿园报告表中-已审核信息
     *
     * @param batchCode 批次编码
     * @return 幼儿园检测报告集合
     */
    List<KindergartenExamineAndApproveDTO> selectKindergartenCheckReportPass(@Param("batchCode") String batchCode, @Param("checkStatus") Integer checkStatus);

    /**
     * 新增幼儿园检测报告
     *
     * @param kindergartenCheckReport 幼儿园检测报告
     * @return 结果
     */
    public int insertKindergartenCheckReport(KindergartenCheckReport kindergartenCheckReport);

    /**
     * 修改幼儿园检测报告
     *
     * @param kindergartenCheckReport 幼儿园检测报告
     * @return 结果
     */
    public int updateKindergartenCheckReport(KindergartenCheckReport kindergartenCheckReport);

    /**
     * 删除幼儿园检测报告
     *
     * @param id 幼儿园检测报告主键
     * @return 结果
     */
    public int deleteKindergartenCheckReportById(Long id);

    /**
     * 批量删除幼儿园检测报告
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteKindergartenCheckReportByIds(Long[] ids);

    /**
     * 根据幼儿园id和批次编号查询幼儿园检测报告
     *
     * @param kindergartenId 幼儿园id
     * @param batchCode      批次编号
     * @return 幼儿园检测报告
     */
    ExistCheckReportVO getKindergartenCheckReportInfo(@Param("kindergartenId") Long kindergartenId, @Param("batchCode") String batchCode);

    /**
     * 根据幼儿园id和批次编号删除信息
     *
     * @param kindergartenId
     * @param batchCode
     * @return
     */
    int deleteKindergartenReportInfo(@Param("kindergartenId") Long kindergartenId, @Param("batchCode") String batchCode);
}
