finance-analyzer/src/main/java/de/arminwolf/financeanalyzer/dao/TransactionDAO.java

555 lines
15 KiB
Java

package de.arminwolf.financeanalyzer.dao;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"mandatsreferenz",
"analyse-vom-frei-verfuegbaren-einkommen-ausgeschlossen",
"analyse-vertrag",
"e-ref",
"analyse-hauptkategorie",
"analyse-umsatzart",
"analyse-woche",
"analyse-monat",
"analyse-quartal",
"kontostand",
"analyse-vertrags-id",
"waehrung",
"verwendungszweck",
"buchungstag",
"analyse-vertragsturnus",
"analyse-betrag",
"betrag",
"name-referenzkonto",
"beguenstigter/auftraggeber",
"analyse-umbuchung",
"iban-beguenstigter/auftraggeber",
"referenzkonto",
"analyse-unterkategorie",
"analyse-jahr",
"glaeubiger-id"
})
public class TransactionDAO {
@JsonProperty("mandatsreferenz")
private String mandatsreferenz;
@JsonProperty("analyse-vom-frei-verfuegbaren-einkommen-ausgeschlossen")
private String analyseVomFreiVerfuegbarenEinkommenAusgeschlossen;
@JsonProperty("analyse-vertrag")
private String analyseVertrag;
@JsonProperty("e-ref")
private String eRef;
@JsonProperty("analyse-hauptkategorie")
private String analyseHauptkategorie;
@JsonProperty("analyse-umsatzart")
private String analyseUmsatzart;
@JsonProperty("analyse-woche")
private String analyseWoche;
@JsonProperty("analyse-monat")
private String analyseMonat;
@JsonProperty("analyse-quartal")
private String analyseQuartal;
@JsonProperty("kontostand")
private String kontostand;
@JsonProperty("analyse-vertrags-id")
private String analyseVertragsId;
@JsonProperty("waehrung")
private String waehrung;
@JsonProperty("verwendungszweck")
private String verwendungszweck;
@JsonProperty("buchungstag")
private String buchungstag;
@JsonProperty("analyse-vertragsturnus")
private String analyseVertragsturnus;
@JsonProperty("analyse-betrag")
private String analyseBetrag;
@JsonProperty("betrag")
private String betrag;
@JsonProperty("name-referenzkonto")
private String nameReferenzkonto;
@JsonProperty("beguenstigter/auftraggeber")
private String beguenstigterAuftraggeber;
@JsonProperty("analyse-umbuchung")
private String analyseUmbuchung;
@JsonProperty("iban-beguenstigter/auftraggeber")
private String ibanBeguenstigterAuftraggeber;
@JsonProperty("referenzkonto")
private String referenzkonto;
@JsonProperty("analyse-unterkategorie")
private String analyseUnterkategorie;
@JsonProperty("analyse-jahr")
private String analyseJahr;
@JsonProperty("glaeubiger-id")
private String glaeubigerId;
@JsonIgnore
private final Map<String, Object> additionalProperties = new LinkedHashMap<String, Object>();
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonProperty("analyse-betrag")
public String getAnalyseBetrag() {
return analyseBetrag;
}
@JsonProperty("analyse-hauptkategorie")
public String getAnalyseHauptkategorie() {
return analyseHauptkategorie;
}
@JsonProperty("analyse-jahr")
public String getAnalyseJahr() {
return analyseJahr;
}
@JsonProperty("analyse-monat")
public String getAnalyseMonat() {
return analyseMonat;
}
@JsonProperty("analyse-quartal")
public String getAnalyseQuartal() {
return analyseQuartal;
}
@JsonProperty("analyse-umbuchung")
public String getAnalyseUmbuchung() {
return analyseUmbuchung;
}
@JsonProperty("analyse-umsatzart")
public String getAnalyseUmsatzart() {
return analyseUmsatzart;
}
@JsonProperty("analyse-unterkategorie")
public String getAnalyseUnterkategorie() {
return analyseUnterkategorie;
}
@JsonProperty("analyse-vertrag")
public String getAnalyseVertrag() {
return analyseVertrag;
}
@JsonProperty("analyse-vertrags-id")
public String getAnalyseVertragsId() {
return analyseVertragsId;
}
@JsonProperty("analyse-vertragsturnus")
public String getAnalyseVertragsturnus() {
return analyseVertragsturnus;
}
@JsonProperty("analyse-vom-frei-verfuegbaren-einkommen-ausgeschlossen")
public String getAnalyseVomFreiVerfuegbarenEinkommenAusgeschlossen() {
return analyseVomFreiVerfuegbarenEinkommenAusgeschlossen;
}
@JsonProperty("analyse-woche")
public String getAnalyseWoche() {
return analyseWoche;
}
@JsonProperty("beguenstigter/auftraggeber")
public String getBeguenstigterAuftraggeber() {
return beguenstigterAuftraggeber;
}
@JsonProperty("betrag")
public String getBetrag() {
return betrag;
}
public float getBetragAsFloat() {
return Float.parseFloat(betrag);
}
@JsonProperty("buchungstag")
public String getBuchungstag() {
return buchungstag;
}
@JsonProperty("glaeubiger-id")
public String getGlaeubigerId() {
return glaeubigerId;
}
@JsonProperty("iban-beguenstigter/auftraggeber")
public String getIbanBeguenstigterAuftraggeber() {
return ibanBeguenstigterAuftraggeber;
}
@JsonProperty("kontostand")
public String getKontostand() {
return kontostand;
}
@JsonProperty("mandatsreferenz")
public String getMandatsreferenz() {
return mandatsreferenz;
}
@JsonProperty("name-referenzkonto")
public String getNameReferenzkonto() {
return nameReferenzkonto;
}
@JsonProperty("referenzkonto")
public String getReferenzkonto() {
return referenzkonto;
}
@JsonProperty("verwendungszweck")
public String getVerwendungszweck() {
return verwendungszweck;
}
@JsonProperty("waehrung")
public String getWaehrung() {
return waehrung;
}
@JsonProperty("e-ref")
public String geteRef() {
return eRef;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
@JsonProperty("analyse-betrag")
public void setAnalyseBetrag(String analyseBetrag) {
this.analyseBetrag = analyseBetrag;
}
@JsonProperty("analyse-hauptkategorie")
public void setAnalyseHauptkategorie(String analyseHauptkategorie) {
this.analyseHauptkategorie = analyseHauptkategorie;
}
@JsonProperty("analyse-jahr")
public void setAnalyseJahr(String analyseJahr) {
this.analyseJahr = analyseJahr;
}
@JsonProperty("analyse-monat")
public void setAnalyseMonat(String analyseMonat) {
this.analyseMonat = analyseMonat;
}
@JsonProperty("analyse-quartal")
public void setAnalyseQuartal(String analyseQuartal) {
this.analyseQuartal = analyseQuartal;
}
@JsonProperty("analyse-umbuchung")
public void setAnalyseUmbuchung(String analyseUmbuchung) {
this.analyseUmbuchung = analyseUmbuchung;
}
@JsonProperty("analyse-umsatzart")
public void setAnalyseUmsatzart(String analyseUmsatzart) {
this.analyseUmsatzart = analyseUmsatzart;
}
@JsonProperty("analyse-unterkategorie")
public void setAnalyseUnterkategorie(String analyseUnterkategorie) {
this.analyseUnterkategorie = analyseUnterkategorie;
}
@JsonProperty("analyse-vertrag")
public void setAnalyseVertrag(String analyseVertrag) {
this.analyseVertrag = analyseVertrag;
}
@JsonProperty("analyse-vertrags-id")
public void setAnalyseVertragsId(String analyseVertragsId) {
this.analyseVertragsId = analyseVertragsId;
}
@JsonProperty("analyse-vertragsturnus")
public void setAnalyseVertragsturnus(String analyseVertragsturnus) {
this.analyseVertragsturnus = analyseVertragsturnus;
}
@JsonProperty("analyse-vom-frei-verfuegbaren-einkommen-ausgeschlossen")
public void setAnalyseVomFreiVerfuegbarenEinkommenAusgeschlossen(String analyseVomFreiVerfuegbarenEinkommenAusgeschlossen) {
this.analyseVomFreiVerfuegbarenEinkommenAusgeschlossen = analyseVomFreiVerfuegbarenEinkommenAusgeschlossen;
}
@JsonProperty("analyse-woche")
public void setAnalyseWoche(String analyseWoche) {
this.analyseWoche = analyseWoche;
}
@JsonProperty("beguenstigter/auftraggeber")
public void setBeguenstigterAuftraggeber(String beguenstigterAuftraggeber) {
if (beguenstigterAuftraggeber.contains("Abbuchung")) {
this.beguenstigterAuftraggeber = "Sparkasse Münsterland Ost";
} else {
this.beguenstigterAuftraggeber = beguenstigterAuftraggeber;
}
}
@JsonProperty("betrag")
public void setBetrag(String betrag) {
this.betrag = betrag;
}
@JsonProperty("buchungstag")
public void setBuchungstag(String buchungstag) {
this.buchungstag = buchungstag;
}
@JsonProperty("glaeubiger-id")
public void setGlaeubigerId(String glaeubigerId) {
this.glaeubigerId = glaeubigerId;
}
@JsonProperty("iban-beguenstigter/auftraggeber")
public void setIbanBeguenstigterAuftraggeber(String ibanBeguenstigterAuftraggeber) {
this.ibanBeguenstigterAuftraggeber = ibanBeguenstigterAuftraggeber;
}
@JsonProperty("kontostand")
public void setKontostand(String kontostand) {
this.kontostand = kontostand;
}
@JsonProperty("mandatsreferenz")
public void setMandatsreferenz(String mandatsreferenz) {
this.mandatsreferenz = mandatsreferenz;
}
@JsonProperty("name-referenzkonto")
public void setNameReferenzkonto(String nameReferenzkonto) {
this.nameReferenzkonto = nameReferenzkonto;
}
@JsonProperty("referenzkonto")
public void setReferenzkonto(String referenzkonto) {
this.referenzkonto = referenzkonto;
}
@JsonProperty("verwendungszweck")
public void setVerwendungszweck(String verwendungszweck) {
this.verwendungszweck = verwendungszweck;
}
@JsonProperty("waehrung")
public void setWaehrung(String waehrung) {
this.waehrung = waehrung;
}
@JsonProperty("e-ref")
public void seteRef(String eRef) {
this.eRef = eRef;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(TransactionDAO.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('[');
sb.append("mandatsreferenz");
sb.append('=');
sb.append(((this.mandatsreferenz == null) ? "<null>" : this.mandatsreferenz));
sb.append(',');
sb.append("analyseVomFreiVerfuegbarenEinkommenAusgeschlossen");
sb.append('=');
sb.append(((this.analyseVomFreiVerfuegbarenEinkommenAusgeschlossen == null) ? "<null>" : this.analyseVomFreiVerfuegbarenEinkommenAusgeschlossen));
sb.append(',');
sb.append("analyseVertrag");
sb.append('=');
sb.append(((this.analyseVertrag == null) ? "<null>" : this.analyseVertrag));
sb.append(',');
sb.append("eRef");
sb.append('=');
sb.append(((this.eRef == null) ? "<null>" : this.eRef));
sb.append(',');
sb.append("analyseHauptkategorie");
sb.append('=');
sb.append(((this.analyseHauptkategorie == null) ? "<null>" : this.analyseHauptkategorie));
sb.append(',');
sb.append("analyseUmsatzart");
sb.append('=');
sb.append(((this.analyseUmsatzart == null) ? "<null>" : this.analyseUmsatzart));
sb.append(',');
sb.append("analyseWoche");
sb.append('=');
sb.append(((this.analyseWoche == null) ? "<null>" : this.analyseWoche));
sb.append(',');
sb.append("analyseMonat");
sb.append('=');
sb.append(((this.analyseMonat == null) ? "<null>" : this.analyseMonat));
sb.append(',');
sb.append("analyseQuartal");
sb.append('=');
sb.append(((this.analyseQuartal == null) ? "<null>" : this.analyseQuartal));
sb.append(',');
sb.append("kontostand");
sb.append('=');
sb.append(((this.kontostand == null) ? "<null>" : this.kontostand));
sb.append(',');
sb.append("analyseVertragsId");
sb.append('=');
sb.append(((this.analyseVertragsId == null) ? "<null>" : this.analyseVertragsId));
sb.append(',');
sb.append("waehrung");
sb.append('=');
sb.append(((this.waehrung == null) ? "<null>" : this.waehrung));
sb.append(',');
sb.append("verwendungszweck");
sb.append('=');
sb.append(((this.verwendungszweck == null) ? "<null>" : this.verwendungszweck));
sb.append(',');
sb.append("buchungstag");
sb.append('=');
sb.append(((this.buchungstag == null) ? "<null>" : this.buchungstag));
sb.append(',');
sb.append("analyseVertragsturnus");
sb.append('=');
sb.append(((this.analyseVertragsturnus == null) ? "<null>" : this.analyseVertragsturnus));
sb.append(',');
sb.append("analyseBetrag");
sb.append('=');
sb.append(((this.analyseBetrag == null) ? "<null>" : this.analyseBetrag));
sb.append(',');
sb.append("betrag");
sb.append('=');
sb.append(((this.betrag == null) ? "<null>" : this.betrag));
sb.append(',');
sb.append("nameReferenzkonto");
sb.append('=');
sb.append(((this.nameReferenzkonto == null) ? "<null>" : this.nameReferenzkonto));
sb.append(',');
sb.append("beguenstigterAuftraggeber");
sb.append('=');
sb.append(((this.beguenstigterAuftraggeber == null) ? "<null>" : this.beguenstigterAuftraggeber));
sb.append(',');
sb.append("analyseUmbuchung");
sb.append('=');
sb.append(((this.analyseUmbuchung == null) ? "<null>" : this.analyseUmbuchung));
sb.append(',');
sb.append("ibanBeguenstigterAuftraggeber");
sb.append('=');
sb.append(((this.ibanBeguenstigterAuftraggeber == null) ? "<null>" : this.ibanBeguenstigterAuftraggeber));
sb.append(',');
sb.append("referenzkonto");
sb.append('=');
sb.append(((this.referenzkonto == null) ? "<null>" : this.referenzkonto));
sb.append(',');
sb.append("analyseUnterkategorie");
sb.append('=');
sb.append(((this.analyseUnterkategorie == null) ? "<null>" : this.analyseUnterkategorie));
sb.append(',');
sb.append("analyseJahr");
sb.append('=');
sb.append(((this.analyseJahr == null) ? "<null>" : this.analyseJahr));
sb.append(',');
sb.append("glaeubigerId");
sb.append('=');
sb.append(((this.glaeubigerId == null) ? "<null>" : this.glaeubigerId));
sb.append(',');
sb.append("additionalProperties");
sb.append('=');
sb.append(((this.additionalProperties == null) ? "<null>" : this.additionalProperties));
sb.append(',');
if (sb.charAt((sb.length() - 1)) == ',') {
sb.setCharAt((sb.length() - 1), ']');
} else {
sb.append(']');
}
return sb.toString();
}
@Override
public boolean equals(final Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
final TransactionDAO that = (TransactionDAO) o;
return Objects.equals(referenzkonto, that.referenzkonto)
&& Objects.equals(analyseBetrag, that.analyseBetrag)
&& Objects.equals(verwendungszweck, that.verwendungszweck)
&& Objects.equals(betrag, that.betrag)
&& Objects.equals(ibanBeguenstigterAuftraggeber, that.ibanBeguenstigterAuftraggeber);
}
@Override
public int hashCode() {
return Objects.hash(referenzkonto, verwendungszweck, analyseBetrag, betrag, ibanBeguenstigterAuftraggeber);
}
}