package com.usky.fire.service;

import com.usky.common.core.bean.CommonPage;
import com.usky.fire.domain.DemReportInfo;
import com.usky.common.mybatis.core.CrudService;
import com.usky.fire.service.vo.DemReportInfoIdVo;
import com.usky.fire.service.vo.DemReportInfoVo;

import java.util.List;

/**
 * <p>
 * 报告信息表 服务类
 * </p>
 *
 * @author han
 * @since 2023-03-02
 */
public interface DemReportInfoService extends CrudService<DemReportInfo> {
    /**
     * 消防报告-历史报告列表查询
     *
     * @param companyId  单位名称
     * @param sourceType  来源类型
     * @param pageNum      当前页
     * @param pageSize     每页条数
     * @return
     */
    CommonPage<DemReportInfo> reportInfoList(String companyId, String sourceType, Integer pageNum, Integer pageSize);

    /**
     * 生成报告单位信息-列表查询
     *
     * @param demReportInfoVo
     * @return
     */
    List<DemReportInfoVo> reportInfoAdd(DemReportInfoVo demReportInfoVo);

    /**
     * 消防报告-推送
     *
     * @param demReportInfoIdVo
     * @return
     */
    void propelsReport(DemReportInfoIdVo demReportInfoIdVo);

    /**
     * 消防报告-查询
     *
     * @param id   报告主键ID
     * @return
     */
    List<DemReportInfo> reportById(Integer id);

    /**
     * 批量更新已读状态
     * @param id 主键ID
     */
    void updateReadStatus(Integer id);
}
