Usando las firmas del MagicDraw

This commit is contained in:
Roberto Orden Erena
2019-12-26 17:10:10 +01:00
parent 2726d2564a
commit c7de5401ad
4 changed files with 80 additions and 67 deletions

View File

@@ -53,16 +53,18 @@ public class MedicalTestFacadeBean implements MedicalTestFacadeRemote {
* @param message
*/
@Override
public void askQuestion(int professionalNumber, String title, String message) {
LoggedUserTO user = SessionUtils.getloggedOnUser();
// 0. Conseguir el paciente en sesión
PatientJPA patient = entman.find(PatientJPA.class, user.getId());
// 1. Buscar el médico de familia con ese professionalNumber
FamilyDoctorJPA fdoctor = entman.find(FamilyDoctorJPA.class, professionalNumber);
// 2. Crear un objeto de Question para ese médico desde el paciente en sesión
QuestionJPA question = new QuestionJPA(0, title, message, QuestionStatus.PENDING, patient, fdoctor, null);
// 3. Guardar
entman.persist(question);
public void askQuestion(int userId, String title, String message) {
QuestionJPA qjpa = new QuestionJPA();
qjpa.setId(0);
qjpa.setTitle(title);
qjpa.setMessage(message);
qjpa.setStatus(QuestionStatus.PENDING);
PatientJPA pat = entman.find(PatientJPA.class, userId);
qjpa.setPatient(pat);
qjpa.setFamilyDoctor(pat.getFamilyDoctor());
entman.persist(qjpa);
}
/**
@@ -72,23 +74,11 @@ public class MedicalTestFacadeBean implements MedicalTestFacadeRemote {
* @param response
*/
@Override
public void answerQuestion(QuestionTO q) {
public void answerQuestion(int questionId, String response) {
QuestionJPA qjpa;
if(q.getId() >= 0) {
qjpa = entman.find(QuestionJPA.class, q.getId());
qjpa.setResponse(q.getResponse());
qjpa.setStatus(QuestionStatus.ANSWERED);
} else {
qjpa = new QuestionJPA();
qjpa.setId(0);
qjpa.setTitle(q.getTitle());
qjpa.setMessage(q.getMessage());
qjpa.setStatus(QuestionStatus.PENDING);
}
PatientJPA pat = entman.find(PatientJPA.class, q.getPatient().getId());
qjpa.setPatient(pat);
qjpa.setFamilyDoctor(pat.getFamilyDoctor());
qjpa = entman.find(QuestionJPA.class, questionId);
qjpa.setResponse(response);
qjpa.setStatus(QuestionStatus.ANSWERED);
entman.persist(qjpa);
}

View File

@@ -29,7 +29,7 @@ public interface MedicalTestFacadeRemote {
* @param title
* @param message
*/
public void askQuestion(int professionalNumber, String title, String message);
public void askQuestion(int userID, String title, String message);
/**
* El médico responde a una pregunta
@@ -37,7 +37,7 @@ public interface MedicalTestFacadeRemote {
* @param question
* @param response
*/
public void answerQuestion(QuestionTO question);
public void answerQuestion(int questionId, String response);
/**
* Recuperar las preguntas sin respuesta para un médico