This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Merge pull request #23 from tbaum/sepa-multi-gvs

Fix für SammelLastSEPA GV
  • Loading branch information...
willuhn committed Feb 3, 2014
2 parents bdc1e61 + 0a21392 commit b4694672b9feadfc6ff17e8810e6482cb7d80113
@@ -34,7 +34,7 @@
*/
protected final static String ENDTOEND_ID_NOTPROVIDED = "NOTPROVIDED";
private Properties sepaParams = new Properties();
protected final Properties sepaParams = new Properties();
private PainVersion pain = null;
private ISEPAGenerator generator = null;
@@ -289,7 +289,7 @@ public String createSEPATimestamp()
* Liefert den passenden SEPA-Generator.
* @return der SEPA-Generator.
*/
private ISEPAGenerator getSEPAGenerator()
protected final ISEPAGenerator getSEPAGenerator()
{
if (this.generator == null)
{
@@ -5,9 +5,11 @@
package org.kapott.hbci.GV;
import org.kapott.hbci.GV.generators.AbstractSEPAGenerator;
import org.kapott.hbci.GV_Result.AbstractGVRLastSEPA;
import org.kapott.hbci.GV_Result.GVRLastB2BSEPA;
import org.kapott.hbci.manager.HBCIHandler;
import org.kapott.hbci.manager.LogFilter;
/**
* Implementierung des HBCI-Jobs fuer die SEPA-B2B-Multi-Lastschrift.
@@ -41,5 +43,17 @@ public GVMultiLastB2BSEPA(HBCIHandler handler)
public GVMultiLastB2BSEPA(HBCIHandler handler, String lowlevelName, AbstractGVRLastSEPA result)
{
super(handler, lowlevelName, result);
// batch-booking, sepa default rule is 'true' = 1
addConstraint("batchbook", "sepa.batchbook", "1", LogFilter.FILTER_NONE);
addConstraint("Total.value", "Total.value", null, LogFilter.FILTER_MOST);
addConstraint("Total.curr", "Total.curr", null, LogFilter.FILTER_NONE);
}
@Override protected void createSEPAFromParams()
{
super.createSEPAFromParams();
setParam("Total", ((AbstractSEPAGenerator) getSEPAGenerator()).sumBtgValueObject(sepaParams));
}
}
@@ -5,9 +5,11 @@
package org.kapott.hbci.GV;
import org.kapott.hbci.GV.generators.AbstractSEPAGenerator;
import org.kapott.hbci.GV_Result.AbstractGVRLastSEPA;
import org.kapott.hbci.GV_Result.GVRLastCOR1SEPA;
import org.kapott.hbci.manager.HBCIHandler;
import org.kapott.hbci.manager.LogFilter;
/**
* Implementierung des HBCI-Jobs fuer die SEPA-COR1-Multi-Lastschrift.
@@ -41,5 +43,17 @@ public GVMultiLastCOR1SEPA(HBCIHandler handler)
public GVMultiLastCOR1SEPA(HBCIHandler handler, String lowlevelName, AbstractGVRLastSEPA result)
{
super(handler, lowlevelName, result);
// batch-booking, sepa default rule is 'true' = 1
addConstraint("batchbook", "sepa.batchbook", "1", LogFilter.FILTER_NONE);
addConstraint("Total.value", "Total.value", null, LogFilter.FILTER_MOST);
addConstraint("Total.curr", "Total.curr", null, LogFilter.FILTER_NONE);
}
@Override protected void createSEPAFromParams()
{
super.createSEPAFromParams();
setParam("Total", ((AbstractSEPAGenerator) getSEPAGenerator()).sumBtgValueObject(sepaParams));
}
}
@@ -5,9 +5,11 @@
package org.kapott.hbci.GV;
import org.kapott.hbci.GV.generators.AbstractSEPAGenerator;
import org.kapott.hbci.GV_Result.AbstractGVRLastSEPA;
import org.kapott.hbci.GV_Result.GVRLastSEPA;
import org.kapott.hbci.manager.HBCIHandler;
import org.kapott.hbci.manager.LogFilter;
/**
* Implementierung des HBCI-Jobs fuer die SEPA-Basis-Multi-Lastschrift.
@@ -41,5 +43,17 @@ public GVMultiLastSEPA(HBCIHandler handler)
public GVMultiLastSEPA(HBCIHandler handler, String lowlevelName, AbstractGVRLastSEPA result)
{
super(handler, lowlevelName, result);
// batch-booking, sepa default rule is 'true' = 1
addConstraint("batchbook", "sepa.batchbook", "1", LogFilter.FILTER_NONE);
addConstraint("Total.value", "Total.value", null, LogFilter.FILTER_MOST);
addConstraint("Total.curr", "Total.curr", null, LogFilter.FILTER_NONE);
}
@Override protected void createSEPAFromParams()
{
super.createSEPAFromParams();
setParam("Total", ((AbstractSEPAGenerator) getSEPAGenerator()).sumBtgValueObject(sepaParams));
}
}
@@ -21,7 +21,9 @@
package org.kapott.hbci.GV;
import org.kapott.hbci.GV.generators.AbstractSEPAGenerator;
import org.kapott.hbci.manager.HBCIHandler;
import org.kapott.hbci.manager.LogFilter;
/**
* Job-Implementierung fuer SEPA-Multi-Ueberweisungen.
@@ -63,5 +65,17 @@ public GVMultiUebSEPA(HBCIHandler handler)
public GVMultiUebSEPA(HBCIHandler handler, String name)
{
super(handler, name);
// batch-booking, sepa default rule is 'true' = 1
addConstraint("batchbook", "sepa.batchbook", "1", LogFilter.FILTER_NONE);
addConstraint("Total.value", "Total.value", null, LogFilter.FILTER_MOST);
addConstraint("Total.curr", "Total.curr", null, LogFilter.FILTER_NONE);
}
@Override protected void createSEPAFromParams()
{
super.createSEPAFromParams();
setParam("Total", ((AbstractSEPAGenerator) getSEPAGenerator()).sumBtgValueObject(sepaParams));
}
}
@@ -181,6 +181,8 @@ Bezeichnung einer Restriktion (z.B. "<code>maxusage</code>"), als Value wird der
@param date Datum, welches als Wert für den Job-Parameter benutzt werden soll */
public void setParam(String paramName,Date date);
public void setParam(String paramName, Integer index, Date date);
/** Setzen eines Job-Parameters, bei dem ein Integer-Wert Da als Wert erwartet wird. Diese Methode
dient nur als Wrapper für {@link #setParam(String,String)}.
@param paramName Name des zu setzenden Job-Parameters
@@ -216,6 +218,8 @@ Bezeichnung einer Restriktion (z.B. "<code>maxusage</code>"), als Value wird der
@param value Wert, auf den der Parameter gesetzt werden soll */
public void setParam(String paramName,Integer index,String value);
public void setParam(String paramname, Integer index, Value v);
/** <p>Hinzufügen dieses Jobs zu einem HBCI-Dialog. Diese Methode arbeitet analog zu
{@link #addToQueue(String)}, nur dass hier
die <code>customerid</code> mit der Kunden-ID vorbelegt ist, wie sie
@@ -586,25 +586,35 @@ public void setParam(String paramname,Konto acc)
@param paramname die Basis der Parameter für die Geldbetragsdaten (für "<code>btg.value</code>" und
"<code>btg.curr</code>" wäre das also "<code>btg</code>")
@param v ein Value-Objekt, aus welchem die zu setzenden Parameterdaten entnommen werden */
public void setParam(String paramname,Value v)
public void setParam(String paramname, Value v)
{
if (acceptsParam(paramname+".value"))
setParam(paramname+".value",HBCIUtils.bigDecimal2String(v.getBigDecimalValue()));
setParam(paramname, null, v);
}
public void setParam(String paramname, Integer index, Value v)
{
if (acceptsParam(paramname+".value"))
setParam(paramname+".value",index,HBCIUtils.bigDecimal2String(v.getBigDecimalValue()));
String curr=v.getCurr();
if (acceptsParam(paramname+".curr") && curr!=null && curr.length()!=0)
setParam(paramname+".curr",curr);
setParam(paramname+".curr",index,curr);
}
/** Setzen eines Job-Parameters, bei dem ein Datums als Wert erwartet wird. Diese Methode
dient als Wrapper für {@link #setParam(String,String)}, um das Datum in einen korrekt
formatierten String umzuwandeln. Das "richtige" Datumsformat ist dabei abhängig vom
aktuellen Locale.
@param paramName Name des zu setzenden Job-Parameters
@param date Datum, welches als Wert für den Job-Parameter benutzt werden soll */
public void setParam(String paramName,Date date)
@param date Datum, welches als Wert für den Job-Parameter benutzt werden soll */
public void setParam(String paramName, Date date)
{
setParam(paramName, null, date);
}
public void setParam(String paramName, Integer index, Date date)
{
setParam(paramName,HBCIUtils.date2StringISO(date));
setParam(paramName, index, HBCIUtils.date2StringISO(date));
}
/** Setzen eines Job-Parameters, bei dem ein Integer-Wert Da als Wert erwartet wird. Diese Methode
@@ -21,6 +21,7 @@
import org.kapott.hbci.exceptions.HBCI_Exception;
import org.kapott.hbci.exceptions.InvalidArgumentException;
import org.kapott.hbci.sepa.PainVersion;
import org.kapott.hbci.structures.Value;
/**
* Abstrakte Basis-Implementierung der SEPA-Generatoren.
@@ -191,4 +192,10 @@ protected String insertIndex(String key, Integer index)
}
}
public Value sumBtgValueObject(Properties properties) {
Integer maxIndex = maxIndex(properties);
BigDecimal btg = sumBtgValue(properties, maxIndex);
String curr = properties.getProperty(insertIndex("btg.curr", maxIndex == null ? null : 0));
return new Value(btg.doubleValue(), curr);
}
}
@@ -148,6 +148,9 @@ public void generate(Properties sepaParams, OutputStream os, boolean validate) t
drctDbtTxInfs.add(createDirectDebitTransactionInformationSDD(sepaParams, null, df));
}
if ( "0".equals(sepaParams.getProperty("batchbook")))
pmtInf.setBtchBookg(false);
ObjectFactory of = new ObjectFactory();
this.marshal(of.createDocument(doc), os, validate);
}
@@ -156,6 +156,9 @@ public void generate(Properties sepaParams, OutputStream os, boolean validate) t
drctDbtTxInfs.add(createDirectDebitTransactionInformationSDD(sepaParams, null, df));
}
if ( "0".equals(sepaParams.getProperty("batchbook")))
pmtInf.setBtchBookg(false);
ObjectFactory of = new ObjectFactory();
this.marshal(of.createDocument(doc), os, validate);
}
@@ -134,6 +134,9 @@ public void generate(Properties sepaParams, OutputStream os, boolean validate) t
cdtTrxTxInfs.add(createCreditTransferTransactionInformationSCT(sepaParams, null));
}
if ( "0".equals(sepaParams.getProperty("batchbook")))
pmtInf.setBtchBookg(false);
ObjectFactory of = new ObjectFactory();
this.marshal(of.createDocument(doc), os, validate);
}
@@ -136,6 +136,9 @@ public void generate(Properties sepaParams, OutputStream os, boolean validate) t
cdtTrxTxInfs.add(createCreditTransferTransactionInformationSCT(sepaParams, null));
}
if ( "0".equals(sepaParams.getProperty("batchbook")))
pmtInf.setBtchBookg(false);
ObjectFactory of = new ObjectFactory();
this.marshal(of.createDocument(doc), os, validate);
}

0 comments on commit b469467

Please sign in to comment.