feat: handle remote CRUD patient commands via socket
continuous-integration/webhook Client .exe publicado em produção (VPS4)
continuous-integration/webhook Client .exe publicado em produção (VPS4)
This commit is contained in:
@@ -1168,6 +1168,39 @@ function connectToServer() {
|
|||||||
message: 'Teste de conexão respondido pelo cliente'
|
message: 'Teste de conexão respondido pelo cliente'
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
socket.on('remote-crud-patient', async (data) => {
|
||||||
|
addLog(`📩 Recebido comando de CRUD Remoto (Ação: ${data.action})`);
|
||||||
|
try {
|
||||||
|
const db = getLocalDb();
|
||||||
|
if (!db) {
|
||||||
|
addLog('❌ Falha ao acessar banco de dados local para CRUD.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (data.action === 'create') {
|
||||||
|
const p = data.patient;
|
||||||
|
addLog(`👤 Criando paciente remoto: ${p.fullName}`);
|
||||||
|
const stmt = db.prepare('INSERT INTO Patients (Id, FirstName, LastName, Doctor, Remark) VALUES (?, ?, ?, ?, ?)');
|
||||||
|
stmt.run(p.id, p.firstName || '', p.lastName || '', p.doctor || '', p.remark || '');
|
||||||
|
addLog('✅ Paciente criado com sucesso localmente!');
|
||||||
|
} else if (data.action === 'update') {
|
||||||
|
const oldName = data.oldName;
|
||||||
|
const p = data.patient;
|
||||||
|
addLog(`✏️ Atualizando paciente remoto: ${oldName}`);
|
||||||
|
const stmt = db.prepare("UPDATE Patients SET Doctor = COALESCE(?, Doctor), Remark = COALESCE(?, Remark) WHERE (FirstName || ' ' || LastName) = ?");
|
||||||
|
stmt.run(p.doctor || null, p.remark || null, oldName);
|
||||||
|
addLog('✅ Paciente atualizado com sucesso localmente!');
|
||||||
|
} else if (data.action === 'delete') {
|
||||||
|
const pName = data.patientName;
|
||||||
|
addLog(`🗑️ Excluindo paciente remoto: ${pName}`);
|
||||||
|
const stmt = db.prepare("DELETE FROM Patients WHERE (FirstName || ' ' || LastName) = ?");
|
||||||
|
stmt.run(pName);
|
||||||
|
addLog('✅ Paciente excluído com sucesso localmente!');
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
addLog(`❌ Erro no CRUD remoto: ${e.message}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Função para Identificar o Cliente
|
// Função para Identificar o Cliente
|
||||||
|
|||||||
Generated
+3655
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "rx.scoreodonto.com-client",
|
"name": "rx.scoreodonto.com-client",
|
||||||
"version": "1.3.1",
|
"version": "1.3.2",
|
||||||
"author": "ScoreOdonto",
|
"author": "ScoreOdonto",
|
||||||
"description": "Cliente Windows para envio de imagens dentais da ScoreOdonto",
|
"description": "Cliente Windows para envio de imagens dentais da ScoreOdonto",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
|
|||||||
Reference in New Issue
Block a user