"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fontesEscopo1Rodoviario3 = void 0; const resposta_1 = require("../../../../resposta"); const fatorEmissaoCombustivel_1 = require("../../../ListasFatoresEmissao/fatorEmissaoCombustivel"); const gwp_1 = require("../../../ListasFatoresEmissao/gwp"); const listaFatorAno_1 = require("../../../ListasFatoresEmissao/listaFatorAno"); const listas_1 = require("../../../ListasFatoresEmissao/listas"); const tiposVeiculos_1 = require("../../../ListasFatoresEmissao/tiposVeiculos"); const interfaces_1 = require("../../../interfaces"); exports.fontesEscopo1Rodoviario3 = { escopo: "Escopo1", idTipoFonte: "combustaoMovelRodoviario3", descricao: "Combustão Móvel Rodoviário (Por distância percorrida no ano)", estruturaCadastro: [ { idCampo: "tipo", descricao: "Tipo da frota de veículo", tipo: interfaces_1.tiposCamposGee.opcoes, opcoes: listas_1.listaVeiculos, }, { idCampo: "ano", descricao: "Ano do veículo", tipo: interfaces_1.tiposCamposGee.opcoes, opcoes: listas_1.listaAno, }, ], estruturaRegistro: [ { campo: "distancia", descricao: "Distância mensal percorrida (Km)", tipo: interfaces_1.tiposCamposGee.numero, }, ], formula: ({ cad, reg, inventario }) => { const detalheTipoVeiculo = Object.values(tiposVeiculos_1.tiposDeVeiculosDetalhe).find((a) => a.descricao == cad.tipo); if (!detalheTipoVeiculo) { return resposta_1.respostaCM.addErro("não foi encontrado tipo de veiculo"); } const ano = cad.ano; if (!ano) { return resposta_1.respostaCM.addErro("não foi encontrado ano da frota"); } const distancia = reg.distancia; let [CH4, CO2, N2O, BIO, QTDCombustivelBio, QTDCombustivelFossil] = [ 0, 0, 0, 0, 0, 0, ]; if (detalheTipoVeiculo.categoria == "Gasolina") { CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_CH4; CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_CO2; N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_N2O; BIO = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_CO2; QTDCombustivelFossil = distancia * (1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percGasolina); QTDCombustivelBio = distancia * (1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio); } //Seleção de etanol else if (detalheTipoVeiculo.categoria == "Etanol") { CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_CH4; CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_CO2; N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_N2O; BIO = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_CO2; QTDCombustivelFossil = distancia * (1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percGasolina); QTDCombustivelBio = distancia * (1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio); } //Seleção do GNV else if (detalheTipoVeiculo.categoria == "GNV") { CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_CH4; CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_CO2; N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_N2O; BIO = 0; QTDCombustivelFossil = distancia; } //Seleção do Diesel else if (detalheTipoVeiculo.categoria == "Diesel") { CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_CH4; CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_CO2; N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_N2O; BIO = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_CO2; QTDCombustivelFossil = distancia * (1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percGasolina); QTDCombustivelBio = distancia * (1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio); } const fatores = listaFatorAno_1.listaFatorAno.find((a) => a.ano == Number(ano)); fatores?.automovelEtanol; const fatorAno = listaFatorAno_1.listaFatorAno.find((a) => a.ano == Number(ano)); if (!fatorAno) { return resposta_1.respostaCM.addErro("não foi encontrado fator de ano"); } const consumoMedio = fatorAno[detalheTipoVeiculo.tipo]; const calculoCombustivel = distancia / consumoMedio; const emissaoCO2 = QTDCombustivelFossil * (CO2 / 1000); const emissaoCH4 = (CH4 * calculoCombustivel) / 1000; const emissaoN2O = (N2O * calculoCombustivel) / 1000; const carbono = emissaoCO2 * Number(gwp_1.gwp[0].gwp) + emissaoCH4 * Number(gwp_1.gwp[1].gwp) + emissaoN2O * Number(gwp_1.gwp[2].gwp); const bio = (BIO * QTDCombustivelBio) / 1000; return resposta_1.respostaCM.addResultado([carbono, bio]); }, }; //# sourceMappingURL=escopo1Rodoviario3.js.map