Транспортное средство
Единица реестра ТС: принадлежность организационному объекту, вид и назначение, характеристики, от которых зависит норма расхода топлива.
1. Открытые вопросы
Открытые вопросы о транспортном средстве собраны в эпике: OQ_Vehicle.
Связи
classDiagram
direction LR
class Vehicle {
+Guid id
+Guid ais_id
+Boolean is_absent_in_ais
+NavEntity org_object_id
+String name
+String license_plate
+String model_name
+String model_name_special
+Int32 manufacture_year
+VehicleKind vehicle_kind_id
+VehicleMark vehicle_mark_id
+VehicleModel vehicle_model_id
+VehicleModification vehicle_modification_id
+String passport_type_name
+VehicleFunction vehicle_function_id
+FuelKind fuel_kind_primary_id
+FuelKind fuel_kind_secondary_id
+Decimal norm_per_mileage_summer_l_per_100km
+Decimal norm_per_mileage_winter_l_per_100km
+Decimal norm_per_hour_summer_l_per_h
+Decimal norm_per_hour_winter_l_per_h
+Decimal cargo_capacity
+Int32 passenger_capacity
+Decimal trailer_mass
+DateTime start_date
+DateTime finish_date
+Decimal consumption_rate_when_using_heater
+Decimal time_when_using_heater
+Decimal dump_truck_transport_work_consumption_rate
+Int32 trips_with_cargo_per_shift
+Decimal population_allowance
+Decimal tech_stop_allowance
+Decimal low_speed_allowance
+Decimal special_vehicle_allowance
+Decimal emergency_allowance
+Decimal forced_idle_allowance
}
class NavEntity
class VehicleKind
class VehicleMark
class VehicleModel
class VehicleModification
class VehicleFunction
class FuelKind
Vehicle "1" --> "1" NavEntity : org_object_id
Vehicle "0..1" --> "1" VehicleKind : vehicle_kind_id
Vehicle "0..1" --> "1" VehicleMark : vehicle_mark_id
Vehicle "0..1" --> "1" VehicleModel : vehicle_model_id
Vehicle "0..1" --> "1" VehicleModification : vehicle_modification_id
Vehicle "0..1" --> "1" VehicleFunction : vehicle_function_id
Vehicle "0..1" --> "1" FuelKind : fuel_kind_primary_id
Vehicle "0..1" --> "1" FuelKind : fuel_kind_secondary_id
Структура
| Наименование | Атрибут | Тип | Обязательно для создания | Требуется для расчёта | ЕИ | Диапазон / формат | Значение по умолчанию | Неизменяемость | Описание |
|---|---|---|---|---|---|---|---|---|---|
| Идентификатор записи | id | Guid | Да | UUID | Да | ||||
| ИД объекта в АИС | ais_id | Guid | Нет | Да | ИД объекта в АИС ОИА ПЭО | ||||
| Признак отсутствия в АИС | is_absent_in_ais | Boolean | Нет | Нет | Записи нет в последней выгрузке АИС; импорт не удаляет ТС и не меняет данные модуля | ||||
| Организационный объект — владелец ТС | org_object_id | NavEntity | Да | Тип организационного объекта: {Company; Mes; Pmes} | Определяет субъект РФ для зимней надбавки. ТС числятся за ПМЭС и МЭС | ||||
| Наименование | name | String | Да | ||||||
| Государственный регистрационный знак | license_plate | String | Нет | ||||||
| Марка и модель базы ТС | model_name | String | Нет | ||||||
| Модель спец. автомобиля | model_name_special | String | Нет | ||||||
| Год выпуска | manufacture_year | Int32 | Нет | ||||||
| Вид ТС | vehicle_kind_id | VehicleKind | Нет | Да | Определяет формулу расчёта: легковой, автобус, грузовой бортовой, тягач, самосвал, фургон, специальный | ||||
| Марка ТС | vehicle_mark_id | VehicleMark | Нет | Проставляется в модуле; заполняется, когда известна только марка | |||||
| Модель ТС | vehicle_model_id | VehicleModel | Нет | Проставляется в модуле; заполняется, если модель известна (иначе достаточно марки) | |||||
| Модификация ТС | vehicle_modification_id | VehicleModification | Нет | Проставляется в модуле; заполняется, если известна модификация (иначе достаточно марки/модели) | |||||
| Тип по паспорту ТС | passport_type_name | String | Нет | ||||||
| Назначение ТС | vehicle_function_id | VehicleFunction | Нет | ||||||
| Основной вид топлива | fuel_kind_primary_id | FuelKind | Нет | Да | Задаёт норму расхода на транспортную работу: 2 л/100 т·км для бензина, 1,3 л/100 т·км для дизельного топлива | ||||
| Дополнительный вид топлива | fuel_kind_secondary_id | FuelKind | Нет | ||||||
| Норма расхода топлива на пробег, летняя | norm_per_mileage_summer_l_per_100km | Decimal | Нет | л/100 км | вещественное, > 0 | ||||
| Норма расхода топлива на пробег, зимняя | norm_per_mileage_winter_l_per_100km | Decimal | Нет | л/100 км | вещественное, > 0 | ||||
| Норма расхода топлива на час работы, летняя | norm_per_hour_summer_l_per_h | Decimal | Нет | л/ч | вещественное, ≥ 0 | Для спецавтомобилей: работа оборудования | |||
| Норма расхода топлива на час работы, зимняя | norm_per_hour_winter_l_per_h | Decimal | Нет | л/ч | вещественное, ≥ 0 | Для спецавтомобилей: работа оборудования | |||
| Грузоподъёмность, т | cargo_capacity | Decimal | Нет | т | вещественное, ≥ 0 | ||||
| Пассажировместимость, чел. | passenger_capacity | Int32 | Нет | чел. | целое, ≥ 0 | Для автобусов задаёт нормируемую загрузку пассажиров | |||
| Собственная масса прицепа (полуприцепа), т | trailer_mass | Decimal | Нет | т | вещественное, ≥ 0 | Вносится в модуле, из АИС не приходит; для грузовых | |||
| Дата начала эксплуатации | start_date | DateTime | Нет | Да | Вместе с отчётной датой задаёт срок эксплуатации для поправочного коэффициента D_{эксп} | ||||
| Дата окончания эксплуатации | finish_date | DateTime | Нет | Заполнена — ТС выбыло из эксплуатации | |||||
| Норма расхода топлива при использовании штатных отопителей, л/ч | consumption_rate_when_using_heater | Decimal | Нет | л/ч | вещественное, ≥ 0 | Вносится в модуле, из АИС не приходит; для автобусов | |||
| Время работы автомобиля с включённым отопителем, ч | time_when_using_heater | Decimal | Нет | ч | вещественное, ≥ 0 | Вносится в модуле, из АИС не приходит; для автобусов | |||
| Норма расхода топлива на транспортную работу автомобиля-самосвала и на дополнительную массу самосвального прицепа или полуприцепа, л/100 т·км | dump_truck_transport_work_consumption_rate | Decimal | Нет | л/100 т·км | вещественное, ≥ 0 | Вносится в модуле, из АИС не приходит; для самосвалов | |||
| Количество поездок с грузом за смену, шт. | trips_with_cargo_per_shift | Int32 | Нет | шт. | целое, ≥ 0 | Вносится в модуле, из АИС не приходит; для самосвалов | |||
| Поправочный коэффициент на численность населения, % | population_allowance | Decimal | Нет | % | вещественное, ≥ 0 | Вносится в модуле, по умолчанию 0 | |||
| Поправочный коэффициент на частые технологические остановки, % | tech_stop_allowance | Decimal | Нет | % | вещественное, ≥ 0 | Вносится в модуле, по умолчанию 0 | |||
| Поправочный коэффициент при движении с пониженной скоростью, % | low_speed_allowance | Decimal | Нет | % | вещественное, ≥ 0 | Вносится в модуле, по умолчанию 0 | |||
| Поправочный коэффициент при работе специальных автомобилей, % | special_vehicle_allowance | Decimal | Нет | % | вещественное, ≥ 0 | Вносится в модуле, по умолчанию 0 | |||
| Поправочный коэффициент при работе в условиях ЧС, % | emergency_allowance | Decimal | Нет | % | вещественное, ≥ 0 | Вносится в модуле, по умолчанию 0 | |||
| Поправочный коэффициент при вынужденном простое, % | forced_idle_allowance | Decimal | Нет | % | вещественное, ≥ 0 | Вносится в модуле, по умолчанию 0 |
Исходник
public class Vehicle
{
/// <summary>Идентификатор записи</summary>
[DomainField(Alias = "id", RequiredOnCreate = true, Range = "UUID", Immutable = true)]
public Guid Id { get; set; }
/// <summary>ИД объекта в АИС</summary>
[DomainField(Alias = "ais_id", Description = "ИД объекта в АИС ОИА ПЭО", Immutable = true)]
public Guid AisId { get; set; }
/// <summary>Признак отсутствия в АИС</summary>
[DomainField(Alias = "is_absent_in_ais", Default = "Нет",
Description = "Записи нет в последней выгрузке АИС; импорт не удаляет ТС и не меняет данные модуля")]
public bool IsAbsentInAis { get; set; }
/// <summary>Организационный объект — владелец ТС</summary>
[Relation]
[DomainField(Alias = "org_object_id", RequiredOnCreate = true,
Range = "Тип организационного объекта: {Company; Mes; Pmes}",
Description = "Определяет субъект РФ для зимней надбавки. ТС числятся за ПМЭС и МЭС")]
public NavEntity? OrgObject { get; set; }
/// <summary>Наименование</summary>
[DomainField(Alias = "name", RequiredOnCreate = true)]
public string? Name { get; set; }
/// <summary>Государственный регистрационный знак</summary>
[DomainField(Alias = "license_plate")]
public string? LicensePlate { get; set; }
/// <summary>Марка и модель базы ТС</summary>
[DomainField(Alias = "model_name")]
public string? ModelName { get; set; }
/// <summary>Модель спец. автомобиля</summary>
[DomainField(Alias = "model_name_special")]
public string? ModelNameSpecial { get; set; }
/// <summary>Год выпуска</summary>
[DomainField(Alias = "manufacture_year")]
public int? ManufactureYear { get; set; }
/// <summary>Вид ТС</summary>
[Relation]
[DomainField(Alias = "vehicle_kind_id", RequiredForCalc = "Да",
Description = "Определяет формулу расчёта: легковой, автобус, грузовой бортовой, тягач, самосвал, фургон, специальный")]
public VehicleKind? VehicleKind { get; set; }
/// <summary>Марка ТС</summary>
[Relation]
[DomainField(Alias = "vehicle_mark_id",
Description = "Проставляется в модуле; заполняется, когда известна только марка")]
public VehicleMark? VehicleMark { get; set; }
/// <summary>Модель ТС</summary>
[Relation]
[DomainField(Alias = "vehicle_model_id",
Description = "Проставляется в модуле; заполняется, если модель известна (иначе достаточно марки)")]
public VehicleModel? VehicleModel { get; set; }
/// <summary>Модификация ТС</summary>
[Relation]
[DomainField(Alias = "vehicle_modification_id",
Description = "Проставляется в модуле; заполняется, если известна модификация (иначе достаточно марки/модели)")]
public VehicleModification? VehicleModification { get; set; }
/// <summary>Тип по паспорту ТС</summary>
[DomainField(Alias = "passport_type_name")]
public string? TypeNamePassport { get; set; }
/// <summary>Назначение ТС</summary>
[Relation]
[DomainField(Alias = "vehicle_function_id")]
public VehicleFunction? VehicleFunction { get; set; }
/// <summary>Основной вид топлива</summary>
[Relation]
[DomainField(Alias = "fuel_kind_primary_id", RequiredForCalc = "Да",
Description = "Задаёт норму расхода на транспортную работу: 2 л/100 т·км для бензина, 1,3 л/100 т·км для дизельного топлива")]
public FuelKind? FuelKindPrimary { get; set; }
/// <summary>Дополнительный вид топлива</summary>
[Relation]
[DomainField(Alias = "fuel_kind_secondary_id")]
public FuelKind? FuelKindSecondary { get; set; }
/// <summary>Норма расхода топлива на пробег, летняя</summary>
[DomainField(Alias = "norm_per_mileage_summer_l_per_100km", Unit = "л/100 км",
Range = "вещественное, > 0")]
public decimal? NormPerMileageSummer { get; set; }
/// <summary>Норма расхода топлива на пробег, зимняя</summary>
[DomainField(Alias = "norm_per_mileage_winter_l_per_100km", Unit = "л/100 км",
Range = "вещественное, > 0")]
public decimal? NormPerMileageWinter { get; set; }
/// <summary>Норма расхода топлива на час работы, летняя</summary>
[DomainField(Alias = "norm_per_hour_summer_l_per_h", Unit = "л/ч", Range = "вещественное, ≥ 0",
Description = "Для спецавтомобилей: работа оборудования")]
public decimal? ConsumptionRatePerHourSummer { get; set; }
/// <summary>Норма расхода топлива на час работы, зимняя</summary>
[DomainField(Alias = "norm_per_hour_winter_l_per_h", Unit = "л/ч", Range = "вещественное, ≥ 0",
Description = "Для спецавтомобилей: работа оборудования")]
public decimal? ConsumptionRatePerHourWinter { get; set; }
/// <summary>Грузоподъёмность, т</summary>
[DomainField(Alias = "cargo_capacity", Unit = "т", Range = "вещественное, ≥ 0")]
public decimal? CargoCapacity { get; set; }
/// <summary>Пассажировместимость, чел.</summary>
[DomainField(Alias = "passenger_capacity", Unit = "чел.", Range = "целое, ≥ 0",
Description = "Для автобусов задаёт нормируемую загрузку пассажиров")]
public int? PassengerCapacity { get; set; }
/// <summary>Собственная масса прицепа (полуприцепа), т</summary>
[DomainField(Alias = "trailer_mass", Unit = "т", Range = "вещественное, ≥ 0",
Description = "Вносится в модуле, из АИС не приходит; для грузовых")]
public decimal? TrailerMass { get; set; }
/// <summary>Дата начала эксплуатации</summary>
[DomainField(Alias = "start_date", RequiredForCalc = "Да",
Description = "Вместе с отчётной датой задаёт срок эксплуатации для поправочного коэффициента D_{эксп}")]
public DateTime? StartDate { get; set; }
/// <summary>Дата окончания эксплуатации</summary>
[DomainField(Alias = "finish_date",
Description = "Заполнена — ТС выбыло из эксплуатации")]
public DateTime? FinishDate { get; set; }
/// <summary>Норма расхода топлива при использовании штатных отопителей, л/ч</summary>
[DomainField(Alias = "consumption_rate_when_using_heater", Unit = "л/ч", Range = "вещественное, ≥ 0",
Description = "Вносится в модуле, из АИС не приходит; для автобусов")]
public decimal? ConsumptionRateForUsingHeater { get; set; }
/// <summary>Время работы автомобиля с включённым отопителем, ч</summary>
[DomainField(Alias = "time_when_using_heater", Unit = "ч", Range = "вещественное, ≥ 0",
Description = "Вносится в модуле, из АИС не приходит; для автобусов")]
public decimal? TimeWhenUsingHeater { get; set; }
/// <summary>Норма расхода топлива на транспортную работу автомобиля-самосвала и на дополнительную массу самосвального прицепа или полуприцепа, л/100 т·км</summary>
[DomainField(Alias = "dump_truck_transport_work_consumption_rate", Unit = "л/100 т·км", Range = "вещественное, ≥ 0",
Description = "Вносится в модуле, из АИС не приходит; для самосвалов")]
public decimal? DumpTruckTransportWorkConsumptionRate { get; set; }
/// <summary>Количество поездок с грузом за смену, шт.</summary>
[DomainField(Alias = "trips_with_cargo_per_shift", Unit = "шт.", Range = "целое, ≥ 0",
Description = "Вносится в модуле, из АИС не приходит; для самосвалов")]
public int? TripsWithCargoPerShift { get; set; }
/// <summary>Поправочный коэффициент на численность населения, %</summary>
[DomainField(Alias = "population_allowance", Unit = "%", Range = "вещественное, ≥ 0",
Description = "Вносится в модуле, по умолчанию 0")]
public decimal? PopulationAllowance { get; set; }
/// <summary>Поправочный коэффициент на частые технологические остановки, %</summary>
[DomainField(Alias = "tech_stop_allowance", Unit = "%", Range = "вещественное, ≥ 0",
Description = "Вносится в модуле, по умолчанию 0")]
public decimal? TechStopAllowance { get; set; }
/// <summary>Поправочный коэффициент при движении с пониженной скоростью, %</summary>
[DomainField(Alias = "low_speed_allowance", Unit = "%", Range = "вещественное, ≥ 0",
Description = "Вносится в модуле, по умолчанию 0")]
public decimal? LowSpeedAllowance { get; set; }
/// <summary>Поправочный коэффициент при работе специальных автомобилей, %</summary>
[DomainField(Alias = "special_vehicle_allowance", Unit = "%", Range = "вещественное, ≥ 0",
Description = "Вносится в модуле, по умолчанию 0")]
public decimal? SpecialVehicleAllowance { get; set; }
/// <summary>Поправочный коэффициент при работе в условиях ЧС, %</summary>
[DomainField(Alias = "emergency_allowance", Unit = "%", Range = "вещественное, ≥ 0",
Description = "Вносится в модуле, по умолчанию 0")]
public decimal? EmergencyAllowance { get; set; }
/// <summary>Поправочный коэффициент при вынужденном простое, %</summary>
[DomainField(Alias = "forced_idle_allowance", Unit = "%", Range = "вещественное, ≥ 0",
Description = "Вносится в модуле, по умолчанию 0")]
public decimal? ForcedIdleAllowance { get; set; }
}Структурные связи
Использует
- Доменная сущность Вид автомобильного топлива
- Доменная сущность Вид ТС
- Доменная сущность Марка ТС
- Доменная сущность Марка, модель и модификация ТС
- Доменная сущность Модель ТС
- Доменная сущность Назначение ТС
- Доменная сущность Организационный объект
Используется
- Документ Политика статуса обработки ТС
- Доменная сущность Запуск импорта из АИС
- Доменная сущность Модель входных данных расчёта
- Доменная сущность Расчёт ТС
- Доменная сущность Сводная статистика ТС
- Запрос на изменение Учёт фактического потребления и затрат
- Инфраструктура Приём данных из АИС ОИА ПЭО
- Прикладной сервис Подбор группы модификаций ТС
- Прикладной сервис Распознавание марки и модели ТС
- Экран Импорт данных из АИС ОИА ПЭО
- Экран Карточка транспортного средства
- Экран Окно подбора модификаций
- Экран Реестр транспортных средств
- BC-модуль Домен ЭНТС
- Epic Расчёт нормативного расхода топлива
- Use Case Получение нормативного расхода топлива по ТС
- Use Case Создание модификации ТС из карточки ТС
- Vision Модуль «Эталоны и нормативы потребления автомобильного топлива транспортными средствами ПАО „Россети“»