Elexis API documentation
Version 2.1.6 as of December 11 2011

ch.elexis.data
Class Rechnung

java.lang.Object
  extended by ch.elexis.data.PersistentObject
      extended by ch.elexis.data.Rechnung
All Implemented Interfaces:
IPersistentObject, ISelectable

public class Rechnung
extends PersistentObject


Nested Class Summary
 
Nested classes/interfaces inherited from class ch.elexis.data.PersistentObject
PersistentObject.FieldType
 
Field Summary
static java.lang.String BILL_AMOUNT_CENTS
           
static java.lang.String BILL_DATE
           
static java.lang.String BILL_DATE_FROM
           
static java.lang.String BILL_DATE_UNTIL
           
static java.lang.String BILL_NUMBER
           
static java.lang.String BILL_STATE
           
static java.lang.String BILL_STATE_DATE
           
static java.lang.String CASE_ID
           
static java.lang.String CORRECTION
           
static java.lang.String MANDATOR_ID
           
static java.lang.String OUTPUT
           
static java.lang.String PAYMENT
           
static java.lang.String REJECTED
           
static java.lang.String REMARK
           
static java.lang.String REMARKS
           
static java.lang.String STATUS_CHANGED
           
 
Fields inherited from class ch.elexis.data.PersistentObject
CACHE_DEFAULT_LIFETIME, CACHE_MIN_LIFETIME, CFG_CONNECTSTRING, CFG_DRIVER, CFG_PWD, CFG_TYPE, CFG_USER, DELETED, EXISTS, INEXISTENT, INVALID_ID, MATCH_AUTO, MATCH_CONTAINS, MATCH_EXACT, MATCH_REGEXP, MATCH_START
 
Fields inherited from interface ch.elexis.core.data.IPersistentObject
FLD_DATE, FLD_DELETED, FLD_EXTINFO, FLD_ID, FLD_LASTUPDATE, STATE_EXISTING, STATE_INEXISTENT, STATE_INVALID_ID
 
Constructor Summary
Rechnung(java.lang.String nr, Mandant m, Fall f, java.lang.String von, java.lang.String bis, Money Betrag, int status)
           
 
Method Summary
 void addTrace(java.lang.String name, java.lang.String text)
          EIn Trace-Eintrag ist eine Notiz über den Verlauf.
 void addZahlung(Money betrag, java.lang.String text, TimeTool date)
          Eine Zahlung zufügen
static Result<Rechnung> build(java.util.List<Konsultation> behandlungen)
          Eine Rechnung aus einer Behandlungsserie erstellen.
 boolean delete()
          Ein Objekt und ggf. dessen XID's aus der Datenbank löschen the object is not deleted but rather marked as deleted.
 void flushExtension(java.util.Map<java.lang.Object,java.lang.Object> ext)
           
 Money getAnzahlung()
          Bereits bezahlten Betrag holen.
 java.lang.String getBemerkung()
           
 Money getBetrag()
          Totalen Rechnungsbetrag holen
 java.lang.String getDatumBis()
          Datum der letzten Konsultation dieser Rechnung holen
 java.lang.String getDatumRn()
          Datum der Rechnung holen
 java.lang.String getDatumVon()
          Datum der ersten Konsultation dieser Rechnung holen
 java.lang.String getExtInfo(java.lang.String key)
           
 Fall getFall()
          Den Fall dieser Rechnung holen
static Rechnung getFromNr(java.lang.String Rnnr)
          Eien Rechnung anhand ihrer Nummer holen
 java.util.List<Konsultation> getKonsultationen()
          Eine Liste aller Konsultationen dieser Rechnung holen
 java.lang.String getLabel()
          Einen menschenlesbaren Identifikationsstring für dieses Objet liefern
 Mandant getMandant()
          Den Mandanten zu dieser Rechnung holen
static java.lang.String getNextRnNummer()
          Die nächste Rechnungsnummer holen.
 java.lang.String getNr()
          Die Rechnungsnummer holen
 Money getOffenerBetrag()
          Offenen Betrag in Rappen/cents holen
 java.lang.String getRnDatumFrist()
           
 java.lang.String getRnId()
          Eine einfache eindeutige ID für die Rechnung liefern (Aus PatNr. und RnNr)
 int getStatus()
          Rechnungsstatus holen
 int getStatusAtDate(TimeTool date)
          Retrieve the state a bill had at a given moment
 java.util.List<java.lang.String> getTrace(java.lang.String name)
          ALle Einträge zu einem bestimmten Eintragstyp holen
 java.util.List<Zahlung> getZahlungen()
          EIne Liste aller Zahlungen holen
static Rechnung load(java.lang.String id)
           
 java.util.Map<java.lang.Object,java.lang.Object> loadExtension()
           
 void reject(RnStatus.REJECTCODE reason, java.lang.String text)
          Mark bill as rejected
 void setBemerkung(java.lang.String bem)
           
 boolean setBetrag(Money betrag)
          Since different ouputters can use different rules for rounding, the sum of the bill that an outputter created might be different from the sum, the Rechnung#build method calculated.
 void setExtInfo(java.lang.String key, java.lang.String value)
           
 void setStatus(int stat)
          Rechnungsstatus setzen
 void storno(boolean reopen)
          Rechnung stornieren.
 
Methods inherited from class ch.elexis.data.PersistentObject
addChangeListener, addSticker, addToList, addXid, begin, checkNull, checkZero, checkZeroDouble, clearCache, connect, connect, deleteList, disconnect, equals, executeSQLScript, exists, exportData, fireChangeEvent, flatten, fold, get, get, getCacheTime, getConnection, getDefaultCacheLifetime, getFieldType, getId, getInt, getLastUpdate, getList, getList, getMap, getSticker, getStickers, getWrappedId, getXid, getXid, getXids, hashCode, isAvailable, isDeleted, isDragOK, isMatching, isMatching, isMatching, isMatching, isShowDeleted, isValid, lock, map, relock, removeChangeListener, removeFromList, removeFromList, removeSticker, resetCache, set, set, setDefaultCacheLifetime, setInt, setMap, setShowDeleted, setTrace, state, storeToString, tableExists, ts, undelete, unlock
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REMARK

public static final java.lang.String REMARK
See Also:
Constant Field Values

BILL_STATE_DATE

public static final java.lang.String BILL_STATE_DATE
See Also:
Constant Field Values

BILL_DATE

public static final java.lang.String BILL_DATE
See Also:
Constant Field Values

BILL_AMOUNT_CENTS

public static final java.lang.String BILL_AMOUNT_CENTS
See Also:
Constant Field Values

BILL_DATE_UNTIL

public static final java.lang.String BILL_DATE_UNTIL
See Also:
Constant Field Values

BILL_DATE_FROM

public static final java.lang.String BILL_DATE_FROM
See Also:
Constant Field Values

BILL_STATE

public static final java.lang.String BILL_STATE
See Also:
Constant Field Values

MANDATOR_ID

public static final java.lang.String MANDATOR_ID
See Also:
Constant Field Values

CASE_ID

public static final java.lang.String CASE_ID
See Also:
Constant Field Values

BILL_NUMBER

public static final java.lang.String BILL_NUMBER
See Also:
Constant Field Values

STATUS_CHANGED

public static final java.lang.String STATUS_CHANGED
See Also:
Constant Field Values

PAYMENT

public static final java.lang.String PAYMENT
See Also:
Constant Field Values

CORRECTION

public static final java.lang.String CORRECTION
See Also:
Constant Field Values

REJECTED

public static final java.lang.String REJECTED
See Also:
Constant Field Values

OUTPUT

public static final java.lang.String OUTPUT
See Also:
Constant Field Values

REMARKS

public static final java.lang.String REMARKS
See Also:
Constant Field Values
Constructor Detail

Rechnung

public Rechnung(java.lang.String nr,
                Mandant m,
                Fall f,
                java.lang.String von,
                java.lang.String bis,
                Money Betrag,
                int status)
Method Detail

build

public static Result<Rechnung> build(java.util.List<Konsultation> behandlungen)
Eine Rechnung aus einer Behandlungsserie erstellen. Es werde aus dieser Serie nur diejenigen Behandlungen verwendet, die zum selben Mandanten und zum selben Fall gehören. Falls der Fall einen Rechnungssteller hat, werden alle Konsultationen ungeachtet des Mandanten verrechnet

Returns:
Ein Result mit ggf. der erstellten Rechnung als Inhalt

getNr

public java.lang.String getNr()
Die Rechnungsnummer holen


getFall

public Fall getFall()
Den Fall dieser Rechnung holen


getMandant

public Mandant getMandant()
Den Mandanten zu dieser Rechnung holen


getKonsultationen

public java.util.List<Konsultation> getKonsultationen()
Eine Liste aller Konsultationen dieser Rechnung holen


storno

public void storno(boolean reopen)
Rechnung stornieren. Allenfalls bereits erfolgte Zahlungen für diese Rechnungen bleiben verbucht (das Konto weist dann einen Plus-Saldo auf). Der Rechnungsbetrag wird per Stornobuchung gutgeschrieben.

Parameters:
reopen - wenn True werden die in dieser Rechnung enthaltenen Behandlungen wieder freigegeben, andernfalls bleiben sie abgeschlossen.

getDatumRn

public java.lang.String getDatumRn()
Datum der Rechnung holen


getDatumVon

public java.lang.String getDatumVon()
Datum der ersten Konsultation dieser Rechnung holen


getDatumBis

public java.lang.String getDatumBis()
Datum der letzten Konsultation dieser Rechnung holen


getBetrag

public Money getBetrag()
Totalen Rechnungsbetrag holen


setBetrag

public boolean setBetrag(Money betrag)
Since different ouputters can use different rules for rounding, the sum of the bill that an outputter created might be different from the sum, the Rechnung#build method calculated. So an outputter should always use setBetrag to correct the final amount. If the difference between the internal calculated amount and the outputter's result is more than 5 currency units or more than 2% of the sum, this method will return false an will not set the new value. Otherwise, the new value will be set, the account will be adjusted and the method returns true

Parameters:
betrag - new new sum
Returns:
true on success

getOffenerBetrag

public Money getOffenerBetrag()
Offenen Betrag in Rappen/cents holen


getAnzahlung

public Money getAnzahlung()
Bereits bezahlten Betrag holen. Es werden nur positive Wert (Zahlungen) addiert, negative Werte (Gebühren) werden übergangen.


getStatus

public int getStatus()
Rechnungsstatus holen


setStatus

public void setStatus(int stat)
Rechnungsstatus setzen


addZahlung

public void addZahlung(Money betrag,
                       java.lang.String text,
                       TimeTool date)
Eine Zahlung zufügen


getZahlungen

public java.util.List<Zahlung> getZahlungen()
EIne Liste aller Zahlungen holen


getBemerkung

public java.lang.String getBemerkung()

setBemerkung

public void setBemerkung(java.lang.String bem)

getExtInfo

public java.lang.String getExtInfo(java.lang.String key)

setExtInfo

public void setExtInfo(java.lang.String key,
                       java.lang.String value)

addTrace

public void addTrace(java.lang.String name,
                     java.lang.String text)
EIn Trace-Eintrag ist eine Notiz über den Verlauf. (Z.B. Statusänderungen, Zahlungen, Rückbuchungen etc.)

Parameters:
name - Name des Eintragstyps
text - Text zum Eintrag

getTrace

public java.util.List<java.lang.String> getTrace(java.lang.String name)
ALle Einträge zu einem bestimmten Eintragstyp holen

Parameters:
name - Name des Eintragstyps (z.B. "Zahlungen")
Returns:
eine List, welche leer sein kann

getRnDatumFrist

public java.lang.String getRnDatumFrist()

reject

public void reject(RnStatus.REJECTCODE reason,
                   java.lang.String text)
Mark bill as rejected


loadExtension

public java.util.Map<java.lang.Object,java.lang.Object> loadExtension()

flushExtension

public void flushExtension(java.util.Map<java.lang.Object,java.lang.Object> ext)

load

public static Rechnung load(java.lang.String id)

getFromNr

public static Rechnung getFromNr(java.lang.String Rnnr)
Eien Rechnung anhand ihrer Nummer holen

Parameters:
Rnnr - die Rechnungsnummer
Returns:
die Rechnung mit dieser Nummer oder Null, wenn keine Rechnung mit dieser Nummer existiert.

getNextRnNummer

public static java.lang.String getNextRnNummer()
Die nächste Rechnungsnummer holen.


delete

public boolean delete()
Description copied from class: PersistentObject
Ein Objekt und ggf. dessen XID's aus der Datenbank löschen the object is not deleted but rather marked as deleted. A purge must be applied to remove the object really

Overrides:
delete in class PersistentObject
Returns:
true on success

getLabel

public java.lang.String getLabel()
Description copied from class: PersistentObject
Einen menschenlesbaren Identifikationsstring für dieses Objet liefern

Specified by:
getLabel in interface IPersistentObject
Specified by:
getLabel in class PersistentObject

getRnId

public java.lang.String getRnId()
Eine einfache eindeutige ID für die Rechnung liefern (Aus PatNr. und RnNr)

Returns:

getStatusAtDate

public int getStatusAtDate(TimeTool date)
Retrieve the state a bill had at a given moment

Parameters:
date - the time to consider
Returns:
the Status the bill had at this moment

Elexis API documentation
Version 2.1.6 as of December 11 2011

Copyright 2005-2011 by Gerry Weirich, Elexis