Problema em ler variável no react native.
Estou tendo um problema em ler uma variável ao qual eu preciso fazer um cálculo. O está ocorrendo porque as variáveis precisam ser alimentadas a partir de um select da base SQLite. Neste caso, a variável é alimentada e recebe o valor dentro do select, mas ao sair, não funciona. Se mantém no valor zero, CONFORME CÓDIGO ABAIXO. Alguém pode me ajudar, pois não consigo admitir que o react native não tenha um tratamento simples de variáveis?
// SELECT para listar as ordens de serviços nas seguintes situações:
// 1 - Em Execução do dia Anterior;
// 2 - Pendentes do dia atual;
// 3 - Executadas do dia Atual.
db.transaction((tx) => {
tx.executeSql(''SELECT * FROM solicitacao WHERE idempregado_responsavel = '' + idEmpregado + '' ORDER BY data_registro_fechamento ASC, situacao ASC, bairro_descricao ASC, logradouro ASC'', [], (tx, results) => {
//tx.executeSql(''SELECT * FROM solicitacao ORDER BY data_registro_fechamento ASC, situacao ASC, bairro_descricao ASC, logradouro ASC'', [], (tx, results) => {
const len = results.rows.length;
const newCards = []; // Array temporário para armazenar os novos cards
let newCorCards = ''blue''; // Valor padrão
let idso = ''NA''; // Valor padrão
let psi = ''NA''; // Valor padrão
for (let i = 0; i < len; i++) {
const row = results.rows.item(i);
idso = row.idsolicitacao;
psi = row.protocolo;
const ProtocoloSSA = row.protocolo_ssa;
let qtd_linha_total = 0;
let qtd_linha_em_execucao = 0;
let qtd_registros = 0;
//PEGAR A QUANTIDADE DE OS DENTRO DO CARD
//console.log(''SELECT * FROM solicitacao WHERE protocolo_ssa = "''+ProtocoloSSA+''" AND idempregado_responsavel = '' + idEmpregado + '' ORDER BY data_registro_fechamento ASC, situacao ASC, bairro_descricao ASC, logradouro ASC'');
tx.executeSql(''SELECT * FROM solicitacao WHERE protocolo_ssa = "''+ProtocoloSSA+''" AND idempregado_responsavel = '' + idEmpregado + '' ORDER BY data_registro_fechamento ASC, situacao ASC, bairro_descricao ASC, logradouro ASC'', [], (tx, results) => {
//tx.executeSql(''SELECT * FROM solicitacao ORDER BY data_registro_fechamento ASC, situacao ASC, bairro_descricao ASC, logradouro ASC'', [], (tx, results) => {
qtd_linha_total = results.rows.length;
console.log("qtd_linha_total - DENTRO: " + qtd_linha_total); return false;
});
console.log("qtd_linha_total - FORA: " + qtd_linha_total); return false;
//PEGAR A QUANTIDADE DE OS DENTRO DO CARD
tx.executeSql(''SELECT * FROM solicitacao WHERE situacao = "EM EXECUCAO" AND protocolo_ssa = "''+ProtocoloSSA+''" AND idempregado_responsavel = '' + idEmpregado + '' ORDER BY data_registro_fechamento ASC, situacao ASC, bairro_descricao ASC, logradouro ASC'', [], (tx, results) => {
//tx.executeSql(''SELECT * FROM solicitacao ORDER BY data_registro_fechamento ASC, situacao ASC, bairro_descricao ASC, logradouro ASC'', [], (tx, results) => {
qtd_linha_em_execucao = results.rows.length;
//console.log("qtd_linha_em_execucao: " + qtd_linha_em_execucao);
});
qtd_registros = (qtd_linha_total - qtd_linha_em_execucao);
//console.log(qtd_linha_total);
//console.log(qtd_linha_em_execucao);
/*console.log(qtd_registros);*/
if (row.situacao === ''EM EXECUCAO''){
newCorCards = ''blue'';
}else{
newCorCards = ''green'';
}
const texto = (
<Text>
<Text style={{ fontWeight: ''bold'' }}>Data Registro: </Text>{row.data_registro_fechamento}
{''\n''}
<Text style={{ fontWeight: ''bold'' }}>Protocolo SSA: </Text>{row.protocolo_ssa}
{''\n''}
<Text style={{ fontWeight: ''bold'' }}>Logradouro: </Text>{row.logradouro_tipo_descricao + " " + row.logradouro}
{''\n''}
<Text style={{ fontWeight: ''bold'' }}>Bairro: </Text>{row.bairro_descricao}
{''\n''}
<Text style={{ fontWeight: ''bold'' }}>Referência: </Text>{row.referencia}
{''\n''}
<Text style={{ fontWeight: ''bold'' }}>Total de Ordens de Serviços: </Text>{qtd_linha_total.toString()}
</Text>
);
newCards.push({ id: i.toString(), ids: idso, ps: psi, conteudo: texto, cor: newCorCards });
}
setCards(newCards); // Atualize o estado com os novos cards
});
});
// SELECT para listar as ordens de serviços nas seguintes situações:
// 1 - Em Execução do dia Anterior;
// 2 - Pendentes do dia atual;
// 3 - Executadas do dia Atual.
db.transaction((tx) => {
tx.executeSql(''SELECT * FROM solicitacao WHERE idempregado_responsavel = '' + idEmpregado + '' ORDER BY data_registro_fechamento ASC, situacao ASC, bairro_descricao ASC, logradouro ASC'', [], (tx, results) => {
//tx.executeSql(''SELECT * FROM solicitacao ORDER BY data_registro_fechamento ASC, situacao ASC, bairro_descricao ASC, logradouro ASC'', [], (tx, results) => {
const len = results.rows.length;
const newCards = []; // Array temporário para armazenar os novos cards
let newCorCards = ''blue''; // Valor padrão
let idso = ''NA''; // Valor padrão
let psi = ''NA''; // Valor padrão
for (let i = 0; i < len; i++) {
const row = results.rows.item(i);
idso = row.idsolicitacao;
psi = row.protocolo;
const ProtocoloSSA = row.protocolo_ssa;
let qtd_linha_total = 0;
let qtd_linha_em_execucao = 0;
let qtd_registros = 0;
//PEGAR A QUANTIDADE DE OS DENTRO DO CARD
//console.log(''SELECT * FROM solicitacao WHERE protocolo_ssa = "''+ProtocoloSSA+''" AND idempregado_responsavel = '' + idEmpregado + '' ORDER BY data_registro_fechamento ASC, situacao ASC, bairro_descricao ASC, logradouro ASC'');
tx.executeSql(''SELECT * FROM solicitacao WHERE protocolo_ssa = "''+ProtocoloSSA+''" AND idempregado_responsavel = '' + idEmpregado + '' ORDER BY data_registro_fechamento ASC, situacao ASC, bairro_descricao ASC, logradouro ASC'', [], (tx, results) => {
//tx.executeSql(''SELECT * FROM solicitacao ORDER BY data_registro_fechamento ASC, situacao ASC, bairro_descricao ASC, logradouro ASC'', [], (tx, results) => {
qtd_linha_total = results.rows.length;
console.log("qtd_linha_total - DENTRO: " + qtd_linha_total); return false;
});
console.log("qtd_linha_total - FORA: " + qtd_linha_total); return false;
//PEGAR A QUANTIDADE DE OS DENTRO DO CARD
tx.executeSql(''SELECT * FROM solicitacao WHERE situacao = "EM EXECUCAO" AND protocolo_ssa = "''+ProtocoloSSA+''" AND idempregado_responsavel = '' + idEmpregado + '' ORDER BY data_registro_fechamento ASC, situacao ASC, bairro_descricao ASC, logradouro ASC'', [], (tx, results) => {
//tx.executeSql(''SELECT * FROM solicitacao ORDER BY data_registro_fechamento ASC, situacao ASC, bairro_descricao ASC, logradouro ASC'', [], (tx, results) => {
qtd_linha_em_execucao = results.rows.length;
//console.log("qtd_linha_em_execucao: " + qtd_linha_em_execucao);
});
qtd_registros = (qtd_linha_total - qtd_linha_em_execucao);
//console.log(qtd_linha_total);
//console.log(qtd_linha_em_execucao);
/*console.log(qtd_registros);*/
if (row.situacao === ''EM EXECUCAO''){
newCorCards = ''blue'';
}else{
newCorCards = ''green'';
}
const texto = (
<Text>
<Text style={{ fontWeight: ''bold'' }}>Data Registro: </Text>{row.data_registro_fechamento}
{''\n''}
<Text style={{ fontWeight: ''bold'' }}>Protocolo SSA: </Text>{row.protocolo_ssa}
{''\n''}
<Text style={{ fontWeight: ''bold'' }}>Logradouro: </Text>{row.logradouro_tipo_descricao + " " + row.logradouro}
{''\n''}
<Text style={{ fontWeight: ''bold'' }}>Bairro: </Text>{row.bairro_descricao}
{''\n''}
<Text style={{ fontWeight: ''bold'' }}>Referência: </Text>{row.referencia}
{''\n''}
<Text style={{ fontWeight: ''bold'' }}>Total de Ordens de Serviços: </Text>{qtd_linha_total.toString()}
</Text>
);
newCards.push({ id: i.toString(), ids: idso, ps: psi, conteudo: texto, cor: newCorCards });
}
setCards(newCards); // Atualize o estado com os novos cards
});
});
Marcelo Branco
Curtidas 0