Corrige inclusao de obs do tipo jsonb null e adiciona variavel targetStudentInfo no prompt
This commit is contained in:
@@ -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();
|
||||
@@ -968,8 +968,13 @@ app.post('/api/modelos/gerar-relatorio', requireAuth, async (req, res) => {
|
||||
const agentName = agentConfig.agentName || "Kemily";
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user