using APT.BaseData.Domain.Entities.FM;
using APT.MS.Domain.Entities.BI;
using System;
using System.Collections.Generic;

namespace APT.BaseData.Domain.IServices.BI
{
    public interface IBIHomeService
    {
        /// <summary>
        /// 查询首页的隐患原因
        /// </summary>
        /// <param name="OrgID"></param>
        /// <param name="listDep">查询部门</param>
        /// <returns></returns>
        IEnumerable<T_BI_HOME_BSRISKREASON> GetHomeReasons(Guid? OrgID, List<T_FM_DEPARTMENT> listDep);

        /// <summary>
        /// 查询首页的隐患整改情况
        /// </summary>
        /// <param name="OrgID"></param>
        /// <param name="listDep">查询部门</param>
        /// <param name="MonthBefo">提前月份</param>
        /// <returns></returns>
        IEnumerable<T_BI_HOME_BSRISKREASON> GetHomeCorrect(Guid? OrgID, List<T_FM_DEPARTMENT> listDep, int? MonthBefo = 5);


        /// <summary>
        /// 查询首页的隐患整改情况 年度 方法使用前提 先执行一下12个月的 整改情况
        /// </summary>
        /// <param name="OrgID"></param>
        /// <param name="listDep">查询部门</param>
        /// <param name="MonthBefo">提前月份</param>
        /// <returns></returns>
        IEnumerable<T_BI_HOME_BSRISKREASON> GetHomeCorrectYear(Guid? OrgID, List<T_FM_DEPARTMENT> listDep, int MonthBefo = 0);

        /// <summary>
        /// 安全检查 月度 检查类型 数量
        /// </summary>
        /// <param name="OrgID"></param>
        /// <param name="listDep">查询部门</param>
        /// <param name="MonthBefo">提前月份</param>
        /// <returns></returns>
        IEnumerable<T_BI_HOME_BSRISKREASON> GetHomeCheckCountMonth(Guid? OrgID, List<T_FM_DEPARTMENT> listDep, int? MonthBefo = 5);

    }
}
