"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.escopo3hidroviario1 = void 0; const resposta_1 = require("../../../../resposta"); const gwp_1 = require("../../../ListasFatoresEmissao/gwp"); const listaHidroEscopo3_1 = require("../../../ListasFatoresEmissao/listaHidroEscopo3"); const interfaces_1 = require("../../../interfaces"); exports.escopo3hidroviario1 = { escopo: "Escopo3", idTipoFonte: "escopo3hidroviario1", descricao: "(Upstream) Transporte Hidroviário com base no tipo de navio", estruturaCadastro: [ { idCampo: "descricao", descricao: "Registro da embarcação", tipo: interfaces_1.tiposCamposGee.texto, }, { idCampo: "tipoNavio", descricao: "Tipo de navio", tipo: interfaces_1.tiposCamposGee.opcoes, opcoes: listaHidroEscopo3_1.listaHidroEscopo3.reduce((pre, cur) => ({ ...pre, [cur.tipoNavio]: cur.tipoNavio }), {}), }, { idCampo: "subtipo", descricao: "Subtipo de navio", tipo: interfaces_1.tiposCamposGee.opcoes, opcoes: listaHidroEscopo3_1.listaHidroEscopo3.reduce((pre, cur) => ({ ...pre, [cur.subtipo]: cur.subtipo }), {}), }, { idCampo: "tamanho", descricao: "Subtipo de navio", tipo: interfaces_1.tiposCamposGee.opcoes, opcoes: listaHidroEscopo3_1.listaHidroEscopo3.reduce((pre, cur) => ({ ...pre, [cur.tamanho]: cur.tamanho }), {}), }, ], 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: ({ reg, cad }) => { const distancia = reg.distancia; const carga = reg.carga; const massa = carga * distancia; const fator = listaHidroEscopo3_1.listaHidroEscopo3.find((a) => a.ref == cad.tamanho); if (!fator) { return resposta_1.respostaCM.addErro("não foi encontrado tipo de veiculo"); } const fatorCO2 = fator.fatorCO2; const fatorCH4 = fator.fatorCH4; const fatorN2O = fator.fatorN2O; const emissaoCO2 = (massa * fatorCO2) / 1000; const emissaoCH4 = (massa * fatorCH4) / 1000; const emissaoN2O = (massa * fatorN2O) / 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=hidroviario1.js.map