Added segment Synchronisierung

This commit is contained in:
dankl 2019-10-05 19:07:53 +02:00 committed by dankito
parent f98c40fc79
commit 1e7aa6f7b9
5 changed files with 57 additions and 1 deletions

View File

@ -1,9 +1,11 @@
package net.dankito.fints.messages
import net.dankito.fints.messages.datenelemente.implementierte.Synchronisierungsmodus
import net.dankito.fints.messages.datenelemente.implementierte.tan.TanProcess
import net.dankito.fints.messages.segmente.ISegmentNumberGenerator
import net.dankito.fints.messages.segmente.Segment
import net.dankito.fints.messages.segmente.SegmentNumberGenerator
import net.dankito.fints.messages.segmente.Synchronisierung
import net.dankito.fints.messages.segmente.id.CustomerSegmentId
import net.dankito.fints.messages.segmente.implementierte.*
import net.dankito.fints.model.BankData
@ -61,7 +63,8 @@ open class MessageBuilder(protected val generator: ISegmentNumberGenerator = Seg
return createMessage(true, true, bank, customer, dialogData, listOf(
IdentifikationsSegment(generator.resetSegmentNumber(2), bank, customer),
Verarbeitungsvorbereitung(generator.getNextSegmentNumber(), bank, customer, product),
ZweiSchrittTanEinreichung(generator.getNextSegmentNumber(), TanProcess.TanProcess4, SegmentId.Identification.id)
Synchronisierung(generator.getNextSegmentNumber(), Synchronisierungsmodus.NeueKundensystemIdZurueckmelden),
ZweiSchrittTanEinreichung(generator.getNextSegmentNumber(), TanProcess.TanProcess4, CustomerSegmentId.Identification.id)
))
}

View File

@ -0,0 +1,12 @@
package net.dankito.fints.messages.datenelemente.implementierte
enum class Synchronisierungsmodus(override val code: String) : ICodeEnum {
NeueKundensystemIdZurueckmelden("0"),
LetzteVerarbeiteteNachrichtennummerZurueckmelden("1"),
SignaturIdZurueckmelden("2")
}

View File

@ -0,0 +1,22 @@
package net.dankito.fints.messages.datenelemente.implementierte
import net.dankito.fints.messages.Existenzstatus
import net.dankito.fints.messages.datenelemente.abgeleiteteformate.Code
/**
* Information über den Synchronisierungsmodus.
*
* Codierung:
* 0: Neue Kundensystem-ID zurückmelden
* 1: Letzte verarbeitete Nachrichtennummer zurückmelden
* 2: Signatur-ID zurückmelden
*/
class SynchronisierungsmodusDatenelement(mode: Synchronisierungsmodus)
: Code(mode.code, AllowedValues, Existenzstatus.Mandatory) {
companion object {
val AllowedValues = allCodes<Synchronisierungsmodus>()
}
}

View File

@ -0,0 +1,17 @@
package net.dankito.fints.messages.segmente
import net.dankito.fints.messages.Existenzstatus
import net.dankito.fints.messages.datenelemente.implementierte.Synchronisierungsmodus
import net.dankito.fints.messages.datenelemente.implementierte.SynchronisierungsmodusDatenelement
import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf
import net.dankito.fints.messages.segmente.id.CustomerSegmentId
open class Synchronisierung(
segmentNumber: Int,
mode: Synchronisierungsmodus
) : Segment(listOf(
Segmentkopf(CustomerSegmentId.Synchronization, 3, segmentNumber),
SynchronisierungsmodusDatenelement(mode)
), Existenzstatus.Mandatory)

View File

@ -9,6 +9,8 @@ enum class CustomerSegmentId(override val id: String) : ISegmentId {
Identification("HKIDN"),
Synchronization("HKSYN"),
Tan("HKTAN")
}