package entity.qms; import entity.system.Commontags; import entity.system.CommontagsTools; import op.OPDE; import op.tools.SYSConst; import op.tools.SYSTools; import javax.persistence.EntityManager; import javax.persistence.Query; import java.util.ArrayList; /** * Created by tloehr on 17.06.14. */ public class QmsplanTools { public static final byte STATE_ACTIVE = 0; public static final byte STATE_INACTIVE = 1; public static final byte STATE_ARCHIVE = 2; /** * returns a list with all active Qmsplan * * @return */ public static ArrayList<Qmsplan> getAllActive() { EntityManager em = OPDE.createEM(); ArrayList<Qmsplan> list = null; try { String jpql = " SELECT q " + " FROM Qmsplan q" + " WHERE q.state = :state " + " ORDER BY q.title DESC "; Query query = em.createQuery(jpql); query.setParameter("state", QmsplanTools.STATE_ACTIVE); list = new ArrayList<Qmsplan>(query.getResultList()); } catch (Exception se) { OPDE.fatal(se); } finally { em.close(); } return list; } public static ArrayList<Qmsplan> getAll(Commontags commontag) { EntityManager em = OPDE.createEM(); ArrayList<Qmsplan> list = null; try { String jpql = " SELECT q " + " FROM Qmsplan q " + " WHERE q.state = :state " + " AND :commontag MEMBER OF q.commontags " + " ORDER BY q.title DESC "; Query query = em.createQuery(jpql); query.setParameter("commontag", commontag); list = new ArrayList<Qmsplan>(query.getResultList()); } catch (Exception se) { OPDE.fatal(se); } finally { em.close(); } return list; } public static ArrayList<Qmsplan> getAll() { EntityManager em = OPDE.createEM(); ArrayList<Qmsplan> list = null; try { String jpql = " SELECT q " + " FROM Qmsplan q" + " ORDER BY q.title DESC "; Query query = em.createQuery(jpql); list = new ArrayList<Qmsplan>(query.getResultList()); } catch (Exception se) { OPDE.fatal(se); } finally { em.close(); } return list; } /** * returns a HTML representation of the given Qmsplan. * * @param qmsplan * @return */ public static String getAsHTML(Qmsplan qmsplan) { String html = ""; // DateFormat df = DateFormat.getDateInstance(); // html += SYSConst.html_bold("misc.msg.createdby") + ": " + qmsplan.getUserON().getFullname() + " "; // html += SYSConst.html_bold("misc.msg.atchrono") + ": " + df.format(qmsplan.getFrom()); // if (qmsplan.isClosed()) { // html += "<br/>"; // html += SYSConst.html_bold("misc.msg.closedBy") + ": " + qmsplan.getUserOFF().getFullname() + " "; // html += SYSConst.html_bold("misc.msg.atchrono") + ": " + df.format(qmsplan.getTo()); // } html += !SYSTools.catchNull(qmsplan.getDescription()).isEmpty() ? SYSConst.html_h3("misc.msg.description") + SYSConst.html_paragraph(SYSTools.replace(qmsplan.getDescription(), "\n", "<br/>", false)) : ""; html += qmsplan.getCommontags().isEmpty() ? "" : CommontagsTools.getAsHTML(qmsplan.getCommontags(), SYSConst.html_16x16_tagPurple_internal); // html += SYSConst.html_h3("misc.msg.measures"); // // if (qmsplan.getQmsschedules().isEmpty()) { // html += "<ul><li><b>" + SYSTools.xx("misc.msg.MissingInterventions") + " !!!</b></li></ul>"; // } // else { // html += "<ul>"; // for (Qmssched qmssched : qmsplan.getQmsschedules()) { // html += "<li>"; // html += SYSConst.html_div(SYSConst.html_bold(qmssched.getMeasure())); // html += QmsschedTools.getAsHTML(qmssched); // html += "</li>"; // } // html += "</ul>"; // } // if (np.getFlag() > 0) { // html += "<br/><b>" + SYSTools.xx("nursingrecords.nursingprocess.dlgplanung.lblFlag") + ":</b> " + FLAGS[np.getFlag()]; // } // html += "</div>"; return SYSConst.html_color(qmsplan.getColor(), html); } }