"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fontesEscopo2EletricidadeEsc = void 0; const resposta_1 = require("../../../resposta"); const gwp_1 = require("../../ListasFatoresEmissao/gwp"); const listaEnergia_1 = require("../../ListasFatoresEmissao/listaEnergia"); const listas_1 = require("../../ListasFatoresEmissao/listas"); const interfaces_1 = require("../../interfaces"); exports.fontesEscopo2EletricidadeEsc = { escopo: "Escopo2", idTipoFonte: "eletricidadeEsc", descricao: "Eletricidade escolha por compra", estruturaCadastro: [ { idCampo: "tipoFonte", descricao: "Tipo de fonte de geração de energia", tipo: interfaces_1.tiposCamposGee.opcoes, opcoes: [ "Eólica", "Fotovoltaica", "Heliotérmica", "Geotérmica", "Hidroelétrica", "Termoelétrica", "Maremotriz", ], }, { idCampo: "combustivel", descricao: "Combustível", tipo: interfaces_1.tiposCamposGee.opcoes, opcoes: listas_1.listaEnergiaEmissoes, }, { idCampo: "possuiFator", descricao: "Você possui o fator de emissão para essa fonte?", tipo: interfaces_1.tiposCamposGee.opcoes, opcoes: ["Sim", "Não"], }, { idCampo: "eficiencia", descricao: "Qual a eficiência da planta geradora?", tipo: interfaces_1.tiposCamposGee.numero, }, ], estruturaRegistro: [ { campo: "eletricidade", descricao: "Eletricidade abordagem Esc.Compra", tipo: interfaces_1.tiposCamposGee.numero, }, { campo: "fatorEmissao", descricao: "Fator de emissão CH4 sugerido", tipo: interfaces_1.tiposCamposGee.numero, }, { campo: "fatorEmissaoCO2", descricao: "Fator de emissão CO2 sugerido", tipo: interfaces_1.tiposCamposGee.numero, }, { campo: "fatorEmissaoN2O", descricao: "Fator de emissão N2O sugerido", tipo: interfaces_1.tiposCamposGee.numero, }, { campo: "fatorEmissaoBio", descricao: "Fator de emissão CH4 Biogênico sugerido", tipo: interfaces_1.tiposCamposGee.numero, }, ], formula: ({ cad, reg }) => { const tipoFonte = cad.tipoFonte; if (!tipoFonte) { return resposta_1.respostaCM.addErro("Não foi encontrado tipo de fonte"); } const combustivel = listaEnergia_1.listaEnergia.find((a) => a.ref == cad.combustivel) || null; if (combustivel == null) { console.log("teste"); } const possuiFator = cad.possuiFator; if (!possuiFator) { return resposta_1.respostaCM.addErro("Não foi encontrado possui fator?"); } const eficiencia = cad.eficiencia; if (!eficiencia) { return resposta_1.respostaCM.addErro("não foi encontrado eficiencia"); } let [CO2, CH4, N2O, BIO, i] = [0, 0, 0, 0, 0]; const fatores = (index, TipoComb) => { if (combustivel == null) { return; } if (combustivel.combustivel == TipoComb) { CH4 = listaEnergia_1.listaEnergia[index].fator_emissao_CH4; CO2 = listaEnergia_1.listaEnergia[index].fator_emissao_CO2; N2O = listaEnergia_1.listaEnergia[index].fator_emissao_N2O; BIO = listaEnergia_1.listaEnergia[index].fator_emissao_CO2; } }; for (i = 0; i < 50; i++) { fatores(i, listaEnergia_1.listaEnergia[i].combustivel); } const emissaoCH4 = (Number(reg.eletricidade) / (cad.eficiencia / 100)) * CH4; const emissaoCO2 = (Number(reg.eletricidade) / (cad.eficiencia / 100)) * CO2; const emissaoN2O = (Number(reg.eletricidade) / (cad.eficiencia / 100)) * N2O; let carbono = 0; let bio = 0; if (tipoFonte == "Termoelétrica") { carbono = emissaoCH4 * Number(gwp_1.gwp[0].gwp) + emissaoCO2 * Number(gwp_1.gwp[1].gwp) + emissaoN2O * Number(gwp_1.gwp[2].gwp); bio = Number(reg.eletricidade) * BIO; } else { if (possuiFator == "Não") { carbono = emissaoCH4 * Number(gwp_1.gwp[0].gwp) * 0 + emissaoCO2 * Number(gwp_1.gwp[1].gwp) * 0 + emissaoN2O * Number(gwp_1.gwp[2].gwp) * 0; bio = Number(reg.eletricidade) * BIO * 0; } else { carbono = emissaoCH4 * Number(gwp_1.gwp[0].gwp) + emissaoCO2 * Number(gwp_1.gwp[1].gwp) + emissaoN2O * Number(gwp_1.gwp[2].gwp); } } return resposta_1.respostaCM.addResultado([carbono, bio]); }, condicaoCadastro: [ { campos: ["combustivel"], condicao: ({ tipoFonte }) => tipoFonte == "Termoelétrica", }, ], }; //# sourceMappingURL=eletricidadeEsc.js.map