/******************************************************************************* * Copyright (c) 2006-2010, G. Weirich and Elexis * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * G. Weirich - initial implementation * *******************************************************************************/ package ch.elexis.data; import ch.rgw.tools.StringTool; import ch.rgw.tools.TimeTool; public class AUF extends PersistentObject { public static final String FLD_PERCENT = "Prozent"; public static final String FLD_REASON = "Grund"; public static final String FLD_CASE_ID = "FallID"; public static final String FLD_PATIENT_ID = "PatientID"; public static final String TABLENAME = "AUF"; public static final String FLD_ZUSATZ = "Zusatz"; public static final String FLD_DATE_FROM = "von"; public static final String FLD_DATE_UNTIL = "bis"; static { addMapping(TABLENAME, FLD_PATIENT_ID, FLD_CASE_ID, "von=S:D:DatumVon", "bis=S:D:DatumBis", FLD_REASON, FLD_PERCENT, "Zusatz=AUFZusatz", "Erstellt=S:D:DatumAUZ"); } public AUF(Fall f, String von, String bis, String proz, String grund){ if (f != null) { Patient p = f.getPatient(); if (p != null) { create(null); set(new String[] { FLD_PATIENT_ID, FLD_CASE_ID, "von", "bis", FLD_PERCENT, FLD_REASON, "Erstellt" }, p.getId(), f.getId(), von, bis, proz, grund, new TimeTool().toString(TimeTool.DATE_GER)); } } } @Override public String getLabel(){ String[] f = { FLD_DATE_FROM, FLD_DATE_UNTIL, FLD_PERCENT, FLD_REASON, "Erstellt" }; String[] v = new String[f.length]; get(f, v); StringBuilder sb = new StringBuilder(); if (!StringTool.isNothing(v[4])) { sb.append("[").append(v[4]).append("]: "); } sb.append(v[0]).append("-").append(v[1]).append(": ").append(v[2]).append("% (") .append(v[3]).append(")"); return sb.toString(); } public Patient getPatient(){ return getFall().getPatient(); } public Fall getFall(){ return Fall.load(get(FLD_CASE_ID)); } public TimeTool getBeginn(){ return new TimeTool(checkNull(get(FLD_DATE_FROM))); } public TimeTool getEnd(){ return new TimeTool(checkNull(get(FLD_DATE_UNTIL))); } public void setBeginn(String date){ set(FLD_DATE_FROM, date); } public void setEnd(String date){ set(FLD_DATE_UNTIL, date); } public String getGrund(){ return checkNull(get(FLD_REASON)); } public String getZusatz(){ return checkNull(get(FLD_ZUSATZ)); } public String getProzent(){ return checkNull(get(FLD_PERCENT)); } @Override protected String getTableName(){ return TABLENAME; } public static AUF load(String id){ return new AUF(id); } protected AUF(){} protected AUF(String id){ super(id); } }