Mercurial > lada > lada-server
changeset 1110:d85562f07e3d
Adjusted laf exporter to fit the new specifications.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Thu, 27 Oct 2016 14:24:46 +0200 |
parents | 5bc1260b55f1 |
children | aaec080456de |
files | src/main/java/de/intevation/lada/exporter/laf/LafCreator.java |
diffstat | 1 files changed, 36 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/de/intevation/lada/exporter/laf/LafCreator.java Thu Oct 27 11:49:47 2016 +0200 +++ b/src/main/java/de/intevation/lada/exporter/laf/LafCreator.java Thu Oct 27 14:24:46 2016 +0200 @@ -14,6 +14,8 @@ import javax.inject.Inject; import javax.inject.Named; +import org.apache.log4j.Logger; + import de.intevation.lada.exporter.Creator; import de.intevation.lada.model.land.KommentarM; import de.intevation.lada.model.land.KommentarP; @@ -23,10 +25,11 @@ import de.intevation.lada.model.land.Probe; import de.intevation.lada.model.land.ZusatzWert; import de.intevation.lada.model.stammdaten.MessEinheit; +import de.intevation.lada.model.stammdaten.MessStelle; import de.intevation.lada.model.stammdaten.Messgroesse; +import de.intevation.lada.model.stammdaten.Ort; import de.intevation.lada.model.stammdaten.ProbenZusatz; import de.intevation.lada.model.stammdaten.Probenart; -import de.intevation.lada.model.stammdaten.Ort; import de.intevation.lada.util.annotation.RepositoryConfig; import de.intevation.lada.util.data.QueryBuilder; import de.intevation.lada.util.data.Repository; @@ -44,6 +47,8 @@ public class LafCreator implements Creator { + @Inject + private Logger logger; /** * The repository used to read data. */ @@ -59,6 +64,8 @@ @Override public String create(String probeId) { String lafProbe = "%PROBE%\n"; + lafProbe += "UEBERTRAGUNGSFORMAT 7\n"; + lafProbe += "VERSION 0084\n"; lafProbe += probeToLAF(probeId); return lafProbe; } @@ -105,6 +112,9 @@ "stamm").getData(); String probenart = probenarten.get(0).getProbenart(); + MessStelle messstelle = + repository.getByIdPlain(MessStelle.class, probe.getMstId(), "stamm"); + QueryBuilder<ZusatzWert> zusatzBuilder = new QueryBuilder<ZusatzWert>( repository.entityManager("land"), ZusatzWert.class); @@ -114,9 +124,10 @@ String laf = ""; laf += probe.getDatenbasisId() == null ? - "": lafLine("DATENBASIS_S", probe.getDatenbasisId().toString()); - //laf += probe.getNetzbetreiberId() == null ? - // "" : lafLine("NETZKENNUNG", probe.getNetzbetreiberId()); + "": lafLine("DATENBASIS_S", + String.format("%02d", probe.getDatenbasisId())); + laf += messstelle == null ? + "" : lafLine("NETZKENNUNG", messstelle.getNetzbetreiberId()); laf += probe.getMstId() == null ? "" : lafLine("MESSSTELLE", probe.getMstId()); laf += lafLine("PROBE_ID", probe.getIdAlt()); @@ -140,10 +151,9 @@ format.format(probe.getProbeentnahmeEnde())); laf += probe.getUmwId() == null ? "" : lafLine("UMWELTBEREICH_S", probe.getUmwId()); - laf += probe.getMedia() == null ? - "" : lafLine("MEDIUM", "\"" + probe.getMedia() + "\""); laf += probe.getMediaDesk() == null ? - "" : lafLine("DESKRIPTOREN", "\"" + probe.getMediaDesk() + "\""); + "" : lafLine("DESKRIPTOREN", "\"" + + probe.getMediaDesk().replaceAll(" ", "").substring(2) + "\""); laf += probe.getTest() == Boolean.TRUE ? lafLine("TESTDATEN", "1") : lafLine("TESTDATEN", "0"); for (ZusatzWert zw : zusatzwerte) { @@ -153,7 +163,7 @@ laf += writeKommentar(kp); } laf += writeMessung(probe); - laf += writeOrt(probe); + //laf += writeOrt(probe); return laf; } @@ -276,7 +286,7 @@ kommBuilder.and("messungsId", m.getId()); Response kommentar = repository.filter(kommBuilder.getQuery(), "land"); List<KommentarM> kommentare = (List<KommentarM>)kommentar.getData(); - laf += lafLine("MESSUNGS_ID", m.getId().toString()); + laf += lafLine("MESSUNGS_ID", m.getIdAlt().toString()); laf += lafLine("NEBENPROBENNUMMER", m.getNebenprobenNr()); laf += m.getMesszeitpunkt() == null ? "" : lafLine( @@ -286,6 +296,7 @@ "" : lafLine("MESSZEIT_SEKUNDEN", m.getMessdauer().toString()); laf += m.getMmtId() == null ? "" : lafLine("MESSMETHODE_S", m.getMmtId()); + laf += lafLine("ERFASSUNG_ABGESCHLOSSEN", (m.getFertig() ? "1" : "0")); for (Messwert mw : werte) { laf += writeMesswert(mw); } @@ -336,21 +347,27 @@ eBuilder.getQuery(), "stamm").getData(); + String tag = "MESSWERT"; String value = "\"" + groessen.get(0).getMessgroesse() + "\""; - if (mw.getGrenzwertueberschreitung() != null && + value += " "; + value += mw.getMesswertNwg() == null ? " " : mw.getMesswertNwg(); + value += mw.getMesswert(); + value += " \"" + einheiten.get(0).getEinheit() + "\""; + value += mw.getMessfehler() == null ? " 0.0" : " " + mw.getMessfehler(); + if (mw.getGrenzwertueberschreitung() == null || !mw.getGrenzwertueberschreitung()) { - value += " <"; + if (mw.getNwgZuMesswert() != null) { + tag += "_NWG"; + value += " " + mw.getNwgZuMesswert(); + } } else { - value += " "; + tag += "_NWG_G"; + value += " " + mw.getNwgZuMesswert() == null ? "0.0": mw.getNwgZuMesswert(); + value += " " + mw.getGrenzwertueberschreitung() == null ? " N" : + mw.getGrenzwertueberschreitung() ? " J" : " N"; } - value += mw.getMesswert(); - value += " \"" + einheiten.get(0).getEinheit() + "\""; - value += mw.getMessfehler() == null ? " NULL" : " " + mw.getMessfehler(); - value += mw.getNwgZuMesswert() == null ? " NULL" : " " + mw.getNwgZuMesswert(); - value += mw.getGrenzwertueberschreitung() == null ? " N" : - mw.getGrenzwertueberschreitung() ? " Y" : " N"; - return lafLine("MESSWERT", value); + return lafLine(tag, value); } /**