Corrige inclusao de obs do tipo jsonb null e adiciona variavel targetStudentInfo no prompt

This commit is contained in:
2026-06-02 12:04:38 +00:00
parent be0b75e5e9
commit 6ef9babb10
2 changed files with 45 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
const { Pool } = require('pg');
const dbPool = new Pool({
connectionString: process.env.DATABASE_URL || 'postgresql://postgres:postgres@localhost:5432/postgres'
});
async function test() {
try {
const crianca = 'Maria';
let sql = `
SELECT date, time, report, criancas, tags
FROM escola.observacoes
WHERE 1=1
`;
const params = [];
let pCount = 1;
if (crianca && crianca !== 'todas') {
sql += ` AND (
(jsonb_typeof(criancas) = 'array' AND EXISTS (
SELECT 1 FROM jsonb_array_elements_text(criancas) AS c
WHERE LOWER(c) LIKE $${pCount}
))
OR criancas IS NULL
)`;
params.push(`%${crianca.toLowerCase()}%`);
pCount++;
}
sql += ` ORDER BY date ASC`;
const dbRes = await dbPool.query(sql, params);
console.log('Quantidade de observações:', dbRes.rows.length);
console.log('Linhas:', dbRes.rows.map(r => ({ date: r.date, criancas: r.criancas })));
} catch (err) {
console.error(err);
} finally {
await dbPool.end();
}
}
test();
+5
View File
@@ -968,8 +968,13 @@ app.post('/api/modelos/gerar-relatorio', requireAuth, async (req, res) => {
const agentName = agentConfig.agentName || "Kemily"; const agentName = agentConfig.agentName || "Kemily";
const isGlobal = crianca === 'todas'; const isGlobal = crianca === 'todas';
const targetStudentInfo = isGlobal
? ''
: `\nATENÇÃO CRÍTICA: A criança que está sendo avaliada e para quem você deve gerar o relatório individual é especificamente: "${crianca}". Todas as observações, avanços, preferências e conclusões descritas na PARTE 2 (Desenvolvimento Individual) devem referir-se exclusivamente a ${crianca}. Nunca confunda ${crianca} com outros colegas eventualmente citados nas observações (como Joãozinho, Vanderlei, etc.), e não atribua as ações deles a ela.\n`;
const systemPrompt = `Você é a ${agentName}, uma assistente pedagógica e especialista em educação infantil. const systemPrompt = `Você é a ${agentName}, uma assistente pedagógica e especialista em educação infantil.
Seu objetivo é analisar o histórico de observações ${isGlobal ? 'da turma' : 'de uma criança'} e redigir um relatório pedagógico consolidado e profissional ${isGlobal ? 'globalizado da sala de aula / turma' : 'sobre o desenvolvimento individual desta criança'}. Seu objetivo é analisar o histórico de observações ${isGlobal ? 'da turma' : 'de uma criança'} e redigir um relatório pedagógico consolidado e profissional ${isGlobal ? 'globalizado da sala de aula / turma' : 'sobre o desenvolvimento individual desta criança'}.
${targetStudentInfo}
Você DEVE estruturar o relatório seguindo exatamente as seções e diretrizes fornecidas no modelo de relatório selecionado. Você DEVE estruturar o relatório seguindo exatamente as seções e diretrizes fornecidas no modelo de relatório selecionado.