package entity.prescription;
import op.OPDE;
import op.tools.SYSTools;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.swing.*;
import java.awt.*;
import java.util.ArrayList;
/**
* Created by IntelliJ IDEA.
* User: tloehr
* Date: 14.12.11
* Time: 13:27
* To change this template use File | Settings | File Templates.
*/
public class GPTools {
public static ListCellRenderer getRenderer() {
return (jList, o, i, isSelected, cellHasFocus) -> {
String text;
if (o == null) {
text = SYSTools.xx("misc.commands.>>noselection<<");
} else if (o instanceof GP) {
// text = ((GP) o).getName() + ", " + ((GP) o).getFirstname() + ", " + ((GP) o).getCity();
text = getFullName((GP) o);
} else {
text = o.toString();
}
return new DefaultListCellRenderer().getListCellRendererComponent(jList, text, i, isSelected, cellHasFocus);
};
}
public static String getFullName(GP doc) {
if (doc != null) {
if (OPDE.isAnonym()) {
return "[" + SYSTools.xx("misc.msg.anon") + "]";
}
return doc.getAnrede() + " " + SYSTools.catchNull(doc.getTitle(), "", " ") + doc.getName() + " " + doc.getFirstname() + ", " + doc.getCity();
} else {
return SYSTools.xx("misc.msg.noentryyet");
}
}
public static String getCompleteAddress(GP doc) {
if (doc != null) {
if (OPDE.isAnonym()) {
return "[" + SYSTools.xx("misc.msg.anon") + "]";
}
return doc.getAnrede() + " " + SYSTools.catchNull(doc.getTitle(), "", " ") + doc.getFirstname() + " " + doc.getName() + ", " + doc.getStreet() + ", " + doc.getZIP() + " " + doc.getCity() + ", Tel: " + doc.getTel();
} else {
return SYSTools.xx("misc.msg.noentryyet");
}
}
public static ArrayList<GP> getAllActive() {
EntityManager em = OPDE.createEM();
Query queryArzt = em.createQuery("SELECT a FROM GP a WHERE a.status >= 0 ORDER BY a.name, a.vorname");
ArrayList<GP> listAerzte = new ArrayList<GP>(queryArzt.getResultList());
em.close();
return listAerzte;
}
public static ArrayList<GP> getAllActiveNeurologist() {
EntityManager em = OPDE.createEM();
Query queryGP = em.createQuery("SELECT a FROM GP a WHERE a.status >= 0 AND a.neurologist = TRUE ORDER BY a.name, a.vorname");
ArrayList<GP> listGPs = new ArrayList<GP>(queryGP.getResultList());
em.close();
return listGPs;
}
}