"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fontesEscopo1Rodoviario = 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 listaRodoviarioMes_1 = require("../../../ListasFatoresEmissao/listaRodoviarioMes"); const listas_1 = require("../../../ListasFatoresEmissao/listas"); const tiposVeiculos_1 = require("../../../ListasFatoresEmissao/tiposVeiculos"); const interfaces_1 = require("../../../interfaces"); exports.fontesEscopo1Rodoviario = { escopo: "Escopo1", idTipoFonte: "combustaoMovelRodoviario", descricao: "Combustão Móvel Rodoviário (Por ano, tipo e quantidade de combustível)", estruturaCadastro: [ { idCampo: "tipo", descricao: "Tipo de combustível", 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: "consumo", descricao: "Consumo de combustível", tipo: interfaces_1.tiposCamposGee.numero, }, { campo: "unidade", descricao: "Unidade de medida consumida", tipo: interfaces_1.tiposCamposGee.opcoes, opcoes: ["m³ (GNV)", "Litros"], }, ], formula: ({ cad, reg, inventario, fonte, registro }) => { 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 tipo de veiculo"); } const consumo = reg.consumo; let [CH4, CO2, N2O, BIO, QTDCombustivelBio, QTDCombustivelFossil] = [ 0, 0, 0, 0, 0, 0, ]; const mesAno = fonte.quantidadeRegistros; //Calculo por ano if (mesAno == 1) { 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[10].fator_emissao_CO2; QTDCombustivelFossil = consumo * (1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000] .percGasolina); QTDCombustivelBio = consumo - QTDCombustivelFossil; } 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 = consumo * (1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000] .percGasolina); QTDCombustivelBio = consumo - QTDCombustivelFossil; } 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 = consumo; } 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[9].fator_emissao_CO2; QTDCombustivelFossil = consumo * (1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000] .percGasolina); QTDCombustivelBio = consumo - QTDCombustivelFossil; } } const periodo = Number((registro.periodoInicio || "").split("-")[1]); //Calculo por mes if (mesAno != 1) { 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[10].fator_emissao_CO2; if (periodo == 1) { QTDCombustivelFossil = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolJan); QTDCombustivelBio = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolJan); } if (periodo == 2) { QTDCombustivelFossil = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolFev); QTDCombustivelBio = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolFev); } if (periodo == 3) { QTDCombustivelFossil = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolMar); QTDCombustivelBio = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolMar); } if (periodo == 4) { QTDCombustivelFossil = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolAbr); QTDCombustivelBio = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolAbr); } if (periodo == 5) { QTDCombustivelFossil = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolMai); QTDCombustivelBio = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolMai); } if (periodo == 6) { QTDCombustivelFossil = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolJun); QTDCombustivelBio = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolJun); } if (periodo == 7) { QTDCombustivelFossil = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolJul); QTDCombustivelBio = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolJul); } if (periodo == 8) { QTDCombustivelFossil = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolAgo); QTDCombustivelBio = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolAgo); } if (periodo == 9) { QTDCombustivelFossil = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolSet); QTDCombustivelBio = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolSet); } if (periodo == 10) { QTDCombustivelFossil = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolOut); QTDCombustivelBio = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolOut); } if (periodo == 11) { QTDCombustivelFossil = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolNov); QTDCombustivelBio = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolNov); } if (periodo == 12) { QTDCombustivelFossil = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolDez); QTDCombustivelBio = consumo * (1 - listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2000] .etanolDez); } } 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 = consumo * (1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000] .percGasolina); QTDCombustivelBio = consumo - QTDCombustivelFossil; } 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 = consumo; } 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[9].fator_emissao_CO2; QTDCombustivelFossil = consumo * (1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000] .percGasolina); QTDCombustivelBio = consumo - QTDCombustivelFossil; } } const emissaoCO2 = (CO2 * QTDCombustivelFossil) / 1000; const emissaoCH4 = (CH4 * consumo) / 1000; const emissaoN2O = (N2O * consumo) / 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=escopo1Rodoviario.js.map