/******************************************************************************* * Copyright (c) 2005-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.elexis.core.constants.StringConstants; import ch.elexis.core.constants.XidConstants; import ch.rgw.tools.JdbcLink; import ch.rgw.tools.StringTool; /** * Eine Organisation ist eine Kontakt, die ein Kollektiv darstellt. Also eine Firma, eine * Versicherung, ein Labor etc. * * @author gerry * */ public class Organisation extends Kontakt { private static final String FLD_NAME = "Name"; //$NON-NLS-1$ private static final String FLD_ZUSATZ1 = "Zusatz1"; //$NON-NLS-1$ private static final String FLD_ZUSATZ2 = "Zusatz2"; //$NON-NLS-1$ private static final String FLD_ZUSATZ3 = "Zusatz3"; //$NON-NLS-1$ private static final String FLD_CONTACT_PERSON = "Ansprechperson";//$NON-NLS-1$ private static final String FLD_TEL_DIRECT = "Tel. direkt"; public static final String FLD_XML_NAME = "XML Versicherer Name"; public static final String FLD_LAW_CODE = "Versicherungsart"; public static final String FLD_MEDIPORT_SUPPORT = "Mediport Teilnehmer"; public static final String[] DEFAULT_SORT = { FLD_NAME, FLD_ZUSATZ1 }; //@formatter:off static { addMapping( Kontakt.TABLENAME, FLD_NAME + "="+ Kontakt.FLD_NAME1, FLD_ZUSATZ1 + "=Bezeichnung2", //$NON-NLS-1$ FLD_ZUSATZ2 + "=ExtInfo", //$NON-NLS-1$ FLD_CONTACT_PERSON + "=Bezeichnung3", FLD_ZUSATZ3 + "=TITEL", //$NON-NLS-1$ FLD_TEL_DIRECT + "=NatelNr", //$NON-NLS-1$ FLD_XML_NAME + "=Allergien", FLD_LAW_CODE + "=TitelSuffix", FLD_MEDIPORT_SUPPORT+ "=Gruppe", Kontakt.FLD_IS_ORGANIZATION ); } //@formatter:on @Override public boolean isValid(){ return super.isValid(); } @Override protected String getTableName(){ return Kontakt.TABLENAME; } Organisation(){/* leer */} protected Organisation(final String id){ super(id); } /** Eine Organisation bei gegebener ID aus der Datenbank einlesen */ public static Organisation load(final String id){ return new Organisation(id); } /** Eine neue Organisation erstellen */ public Organisation(final String Name, final String Zusatz1){ create(null); set(new String[] { FLD_NAME, FLD_ZUSATZ1 }, new String[] { Name, Zusatz1 }); } @Override protected String getConstraint(){ return new StringBuilder(Kontakt.FLD_IS_ORGANIZATION).append(StringTool.equals) .append(JdbcLink.wrap(StringConstants.ONE)).toString(); } @Override protected void setConstraint(){ set(Kontakt.FLD_IS_ORGANIZATION, StringConstants.ONE); } public String getXMLName(){ return get(FLD_XML_NAME); } public String getLawCode(){ return checkNull(get(FLD_LAW_CODE)); } public void setSupportsMediport(boolean mediportSupport){ if (mediportSupport) { set(FLD_MEDIPORT_SUPPORT, StringConstants.ONE); } else { set(FLD_MEDIPORT_SUPPORT, StringConstants.ZERO); } } public boolean supportsMediport(){ int mediportParticipant = checkZero(get(FLD_MEDIPORT_SUPPORT)); if (mediportParticipant == 0) { return false; } return true; } public String getInsuranceEAN(){ return checkNull(getXid(XidConstants.DOMAIN_EAN)); } public void setInsurerEAN(String ean){ addXid(XidConstants.DOMAIN_EAN, ean, true); } public String getRecepientEAN(){ return checkNull(getXid(XidConstants.DOMAIN_RECIPIENT_EAN)); } public void setRecepientEAN(String ean){ addXid(XidConstants.DOMAIN_RECIPIENT_EAN, ean, true); } }