_comuns/dist/GEE/Escopo3/downstream/ferroviarioDownstream/ferroviario1.js
2024-05-06 08:45:08 -03:00

57 lines
No EOL
2.2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.escopo3ferroviarioDownstream1 = void 0;
const resposta_1 = require("../../../../resposta");
const gwp_1 = require("../../../ListasFatoresEmissao/gwp");
const listaConcessionaria_1 = require("../../../ListasFatoresEmissao/listaConcessionaria");
const listas_1 = require("../../../ListasFatoresEmissao/listas");
const interfaces_1 = require("../../../interfaces");
exports.escopo3ferroviarioDownstream1 = {
escopo: "Escopo3",
idTipoFonte: "escopo3ferroviarioDownstream1",
descricao: "(Downstream) Transporte Ferroviário por carga fracionada e distância",
estruturaCadastro: [
{
idCampo: "descricao",
descricao: "Descrição da frota de trens",
tipo: interfaces_1.tiposCamposGee.texto,
},
{
idCampo: "concessionaria",
descricao: "Concessionária",
tipo: interfaces_1.tiposCamposGee.opcoes,
opcoes: listas_1.listaConcessionarias,
},
],
estruturaRegistro: [
{
campo: "distancia",
descricao: "Distância percorrida (km)",
tipo: interfaces_1.tiposCamposGee.numero,
},
{
campo: "carga",
descricao: "Carga transportada (tonelada)",
tipo: interfaces_1.tiposCamposGee.numero,
},
],
formula: ({ cad, reg }) => {
const fator = listaConcessionaria_1.listaConcessionaria.find((a) => a.ref == cad.concessionaria);
if (!fator) {
return resposta_1.respostaCM.addErro("não foi encontrado tipo de veiculo");
}
const distancia = reg.distancia;
const carga = reg.carga;
const massa = carga * distancia;
const emissaoCO2 = (massa * fator.CO2) / 1000;
const emissaoCH4 = (massa * fator.CH4) / 1000;
const emissaoN2O = (massa * fator.N2O) / 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 = 0;
//Arredondamento para duas casas do valor
return resposta_1.respostaCM.addResultado([carbono, bio]);
},
};
//# sourceMappingURL=ferroviario1.js.map