⟨/⟩ Ntr/55_Backend/Calc/SummaryCalc.cs

123 строк · в начало

using System;
using Rugrid.Sdaid.Notation.Documents;

namespace Rugrid.Sdaid.Epas.Ntr.Backend.Calc
{
    /// <summary>
    /// Перенесено дословно из ntr-01/ntr-calc/summary-calc.md.
    /// Каждый заголовок источника — отдельная секция; идентификаторы methodSectionId
    /// сохранены статиками и служат ключом трассировки на калькуляторы src/Ntr.Calc.
    /// </summary>
    public class DOC_SummaryCalc : IApplicationServiceDocument, IHasStructuralLinks, IFolder<NtrBackendFolder>
    {
        public SdaidLink[] Links => new[]
        {
            Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Backend.Calc.DOC_TtrCalc>(),
            Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Backend.Calc.DOC_EeCalc>(),
            Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Backend.Calc.DOC_CalcModel>(),
            Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Domain.ConsumptionModel.DOC_OperatingConditions>(),
            Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Domain.Reference.DOC_HeatingType>(),
        };

        public static string _refName = "Сводные показатели потребления";

        public string Name => "";

        public string Description => @"";

        public string Version => "1.0";
        public string Status => "accepted";
        public string[] Comments => new string[0];
    }

    /// <summary>Секция методики: summary.te_consumption_kwh.</summary>
    public class SummaryTeConsumptionKwh : ISdaidDocumentSection
    {
        /// <summary>Идентификатор секции методики; тот же идентификатор стоит в XML-doc калькулятора Ntr.Calc.</summary>
        public static string MethodSectionId = "summary.te_consumption_kwh";

        public Type Document => typeof(DOC_SummaryCalc);
        public Type Parent => typeof(object);
        public int Order => 10;
        public string Number => "";
        public string Name => "Потребление тепловой энергии $H^{kWh}$ зданием, кВт·ч";

        public string Body => """"
`methodSectionId: summary.te_consumption_kwh`

Потребление тепловой энергии $H^{kWh}$ зданием (кВт·ч) определяется в зависимости от "[[../ntr-01/domain/consumption-model/operating-conditions|Условия эксплуатации]] --> [[../ntr-01/domain/reference/heating-type|Тип системы отопления]]. Наименование":

- если одно из {`Централизованное с независимым графиком`, `Централизованное с зависимым графиком`}: $H^{kWh}=H_{h}^{kWh}$;
- иначе: $H^{kWh}=0$.

где:

- $H_{h}^{kWh}$ - потребление тепловой энергии на отопление и вентиляцию за отопительный период, кВт·ч. Расчётный параметр: `methodSectionId: te.te_consumption_kwh`
"""";

        public string Version => "";
        public string Status => "";
        public string[] Comments => new string[0];
    }

    /// <summary>Секция методики: summary.te_consumption_gcal.</summary>
    public class SummaryTeConsumptionGcal : ISdaidDocumentSection
    {
        /// <summary>Идентификатор секции методики; тот же идентификатор стоит в XML-doc калькулятора Ntr.Calc.</summary>
        public static string MethodSectionId = "summary.te_consumption_gcal";

        public Type Document => typeof(DOC_SummaryCalc);
        public Type Parent => typeof(object);
        public int Order => 20;
        public string Number => "";
        public string Name => "Потребление тепловой энергии $H^{Gcal}$ зданием, Гкал";

        public string Body => """"
`methodSectionId: summary.te_consumption_gcal`

Потребление тепловой энергии $H^{Gcal}$ зданием, Гкал:

$$H^{Gcal}=0,0008598·H^{kWh}$$

где:

- $H^{kWh}$ - Потребление тепловой энергии зданием, кВт·ч. Расчётный параметр: `methodSectionId: summary.te_consumption_kwh`
"""";

        public string Version => "";
        public string Status => "";
        public string[] Comments => new string[0];
    }

    /// <summary>Секция методики: summary.ee_consumption_kwh.</summary>
    public class SummaryEeConsumptionKwh : ISdaidDocumentSection
    {
        /// <summary>Идентификатор секции методики; тот же идентификатор стоит в XML-doc калькулятора Ntr.Calc.</summary>
        public static string MethodSectionId = "summary.ee_consumption_kwh";

        public Type Document => typeof(DOC_SummaryCalc);
        public Type Parent => typeof(object);
        public int Order => 30;
        public string Number => "";
        public string Name => "Потребление электрической энергии $E^{kWh}$ зданием, кВт·ч";

        public string Body => """"
`methodSectionId: summary.ee_consumption_kwh`

Потребление электрической энергии $E^{kWh}$ зданием (кВт·ч) определяется в зависимости от "[[../ntr-01/domain/consumption-model/operating-conditions|Условия эксплуатации]] --> [[../ntr-01/domain/reference/heating-type|Тип системы отопления]]. Наименование":

- если одно из {`Электрическое ТСО`, `Электрическое (ТСН)`}: $E^{kWh}=E_{c}^{kWh}+E_{h}^{kWh}$;
- иначе: $E^{kWh}=E_{c}^{kWh}$

где:

- $E_{h}^{kWh}$ - потребление электрической энергии на отопление и вентиляцию, кВт·ч. Расчётный параметр: $E_{h}^{kWh}=H_{h}^{kWh}$, где $H_{h}^{kWh}$ - потребление тепловой энергии на отопление и вентиляцию, кВт·ч, Расчётный параметр: `methodSectionId: te.te_consumption_kwh`.
- $E_{c}^{kWh}$ - потребление электрической энергии на хозяйственно-бытовые нужды, кВт·ч. Расчётный параметр: `methodSectionId: ee.ee_consumption_kwh`
"""";

        public string Version => "";
        public string Status => "";
        public string[] Comments => new string[0];
    }
}