Mercurial > lada > lada-server
comparison src/main/java/de/intevation/lada/factory/ProbeFactory.java @ 1028:1c41c7b8f7c2 schema-update
Updated server application to new database model. THIS IS STILL WIP!!!
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 08 Jul 2016 15:32:36 +0200 |
parents | 84f17f460969 |
children | 1868bd3565bf |
comparison
equal
deleted
inserted
replaced
1027:9971471d562c | 1028:1c41c7b8f7c2 |
---|---|
15 | 15 |
16 import javax.inject.Inject; | 16 import javax.inject.Inject; |
17 | 17 |
18 import org.apache.log4j.Logger; | 18 import org.apache.log4j.Logger; |
19 | 19 |
20 import de.intevation.lada.model.land.LKommentarP; | 20 import de.intevation.lada.model.land.KommentarP; |
21 import de.intevation.lada.model.land.LMessung; | |
22 import de.intevation.lada.model.land.LMesswert; | |
23 import de.intevation.lada.model.land.LOrtszuordnung; | |
24 import de.intevation.lada.model.land.LProbe; | |
25 import de.intevation.lada.model.land.LStatusProtokoll; | |
26 import de.intevation.lada.model.land.Messprogramm; | 21 import de.intevation.lada.model.land.Messprogramm; |
27 import de.intevation.lada.model.land.MessprogrammMmt; | 22 import de.intevation.lada.model.land.MessprogrammMmt; |
28 import de.intevation.lada.model.land.MessungTranslation; | 23 import de.intevation.lada.model.land.Probe; |
29 import de.intevation.lada.model.land.ProbeTranslation; | 24 import de.intevation.lada.model.land.Messung; |
30 import de.intevation.lada.model.stamm.DeskriptorUmwelt; | 25 import de.intevation.lada.model.land.Messwert; |
31 import de.intevation.lada.model.stamm.Deskriptoren; | 26 import de.intevation.lada.model.land.Ortszuordnung; |
32 import de.intevation.lada.model.stamm.Ort; | 27 import de.intevation.lada.model.land.StatusProtokoll; |
28 import de.intevation.lada.model.stammdaten.DeskriptorUmwelt; | |
29 import de.intevation.lada.model.stammdaten.Deskriptoren; | |
30 import de.intevation.lada.model.stammdaten.Ort; | |
33 import de.intevation.lada.util.annotation.RepositoryConfig; | 31 import de.intevation.lada.util.annotation.RepositoryConfig; |
34 import de.intevation.lada.util.data.QueryBuilder; | 32 import de.intevation.lada.util.data.QueryBuilder; |
35 import de.intevation.lada.util.data.Repository; | 33 import de.intevation.lada.util.data.Repository; |
36 import de.intevation.lada.util.data.RepositoryType; | 34 import de.intevation.lada.util.data.RepositoryType; |
37 import de.intevation.lada.util.rest.Response; | 35 import de.intevation.lada.util.rest.Response; |
60 * @param from The start date | 58 * @param from The start date |
61 * @param to The end date | 59 * @param to The end date |
62 * | 60 * |
63 * @return List of probe objects. | 61 * @return List of probe objects. |
64 */ | 62 */ |
65 public List<LProbe> create(String id, Long from, Long to) { | 63 public List<Probe> create(String id, Long from, Long to) { |
66 QueryBuilder<Messprogramm> builder = | 64 QueryBuilder<Messprogramm> builder = |
67 new QueryBuilder<Messprogramm>( | 65 new QueryBuilder<Messprogramm>( |
68 repository.entityManager("land"), | 66 repository.entityManager("land"), |
69 Messprogramm.class); | 67 Messprogramm.class); |
70 builder.and("id", id); | 68 builder.and("id", id); |
78 Messprogramm messprogramm = messprogramme.get(0); | 76 Messprogramm messprogramm = messprogramme.get(0); |
79 Calendar start = Calendar.getInstance(); | 77 Calendar start = Calendar.getInstance(); |
80 start.setTime(new Date(from)); | 78 start.setTime(new Date(from)); |
81 Calendar end = Calendar.getInstance(); | 79 Calendar end = Calendar.getInstance(); |
82 end.setTime(new Date (to)); | 80 end.setTime(new Date (to)); |
83 List<LProbe> proben = new ArrayList<LProbe>(); | 81 List<Probe> proben = new ArrayList<Probe>(); |
84 | 82 |
85 | 83 |
86 if ("M".equals(messprogramm.getProbenintervall())) { | 84 if ("M".equals(messprogramm.getProbenintervall())) { |
87 Calendar realStart = getStart ("M", start); | 85 Calendar realStart = getStart ("M", start); |
88 proben.addAll(generateMonth(messprogramm, realStart, end, "M")); | 86 proben.addAll(generateMonth(messprogramm, realStart, end, "M")); |
103 } | 101 } |
104 return proben; | 102 return proben; |
105 } | 103 } |
106 | 104 |
107 /** | 105 /** |
108 * Create LProbe objects using the interval and messprogramm details. | 106 * Create Probe objects using the interval and messprogramm details. |
109 * | 107 * |
110 * @param interval The time interval for probe objects. | 108 * @param interval The time interval for probe objects. |
111 * @param messprogramm The messprogramm containing details. | 109 * @param messprogramm The messprogramm containing details. |
112 * @param proben An (empty) list for probe objects filled by this | 110 * @param proben An (empty) list for probe objects filled by this |
113 * method | 111 * method |
114 * @return | 112 * @return |
115 */ | 113 */ |
116 private void createProben( | 114 private void createProben( |
117 Date[] interval, | 115 Date[] interval, |
118 Messprogramm messprogramm, | 116 Messprogramm messprogramm, |
119 List<LProbe> proben | 117 List<Probe> proben |
120 ) { | 118 ) { |
121 Calendar start = Calendar.getInstance(); | 119 Calendar start = Calendar.getInstance(); |
122 start.setTime(interval[0]); | 120 start.setTime(interval[0]); |
123 int startDay = start.get(Calendar.DAY_OF_YEAR); | 121 int startDay = start.get(Calendar.DAY_OF_YEAR); |
124 Calendar end = Calendar.getInstance(); | 122 Calendar end = Calendar.getInstance(); |
146 messprogramm.getTeilintervallBis() <= endDay + messprogramm.getIntervallOffset()) { | 144 messprogramm.getTeilintervallBis() <= endDay + messprogramm.getIntervallOffset()) { |
147 start.add(Calendar.DATE, messprogramm.getTeilintervallVon() - startDay + messprogramm.getIntervallOffset()); | 145 start.add(Calendar.DATE, messprogramm.getTeilintervallVon() - startDay + messprogramm.getIntervallOffset()); |
148 Date startDate = start.getTime(); | 146 Date startDate = start.getTime(); |
149 end.add(Calendar.DATE, messprogramm.getTeilintervallBis() - endDay + messprogramm.getIntervallOffset()); | 147 end.add(Calendar.DATE, messprogramm.getTeilintervallBis() - endDay + messprogramm.getIntervallOffset()); |
150 Date endDate = end.getTime(); | 148 Date endDate = end.getTime(); |
151 LProbe probe = createObjects(messprogramm, startDate, endDate); | 149 Probe probe = createObjects(messprogramm, startDate, endDate); |
152 if (probe != null) { | 150 if (probe != null) { |
153 proben.add(probe); | 151 proben.add(probe); |
154 } | 152 } |
155 return; | 153 return; |
156 } | 154 } |
157 } | 155 } |
158 | 156 |
159 private List<LProbe> generateMonth( | 157 private List<Probe> generateMonth( |
160 Messprogramm messprogramm, | 158 Messprogramm messprogramm, |
161 Calendar start, | 159 Calendar start, |
162 Calendar end, | 160 Calendar end, |
163 String interval | 161 String interval |
164 ) { | 162 ) { |
168 0 : messprogramm.getTeilintervallVon() - 1; | 166 0 : messprogramm.getTeilintervallVon() - 1; |
169 int teilBis = messprogramm.getTeilintervallBis() == null ? | 167 int teilBis = messprogramm.getTeilintervallBis() == null ? |
170 0 : messprogramm.getTeilintervallBis(); | 168 0 : messprogramm.getTeilintervallBis(); |
171 int manualDuration = teilBis - teilVon; | 169 int manualDuration = teilBis - teilVon; |
172 | 170 |
173 List<LProbe> proben = new ArrayList<LProbe>(); | 171 List<Probe> proben = new ArrayList<Probe>(); |
174 | 172 |
175 int currentLength = getDurationMonth(start); | 173 int currentLength = getDurationMonth(start); |
176 if (manualDuration > 0) { | 174 if (manualDuration > 0) { |
177 currentLength = manualDuration; | 175 currentLength = manualDuration; |
178 } | 176 } |
182 monthEnd.setTime(start.getTime()); | 180 monthEnd.setTime(start.getTime()); |
183 monthEnd.add(Calendar.DAY_OF_YEAR, currentLength - 1); | 181 monthEnd.add(Calendar.DAY_OF_YEAR, currentLength - 1); |
184 for (;monthStart.before(end);) { | 182 for (;monthStart.before(end);) { |
185 if (monthStart.get(Calendar.DAY_OF_YEAR) > messprogramm.getGueltigVon() && | 183 if (monthStart.get(Calendar.DAY_OF_YEAR) > messprogramm.getGueltigVon() && |
186 monthStart.get(Calendar.DAY_OF_YEAR) < messprogramm.getGueltigBis()) { | 184 monthStart.get(Calendar.DAY_OF_YEAR) < messprogramm.getGueltigBis()) { |
187 LProbe probe = createObjects(messprogramm, monthStart.getTime(), monthEnd.getTime()); | 185 Probe probe = createObjects(messprogramm, monthStart.getTime(), monthEnd.getTime()); |
188 if (probe != null) { | 186 if (probe != null) { |
189 proben.add(probe); | 187 proben.add(probe); |
190 } | 188 } |
191 } | 189 } |
192 monthStart.set(Calendar.DAY_OF_MONTH, 2); | 190 monthStart.set(Calendar.DAY_OF_MONTH, 2); |
200 } | 198 } |
201 | 199 |
202 return proben; | 200 return proben; |
203 } | 201 } |
204 | 202 |
205 private List<LProbe> generateQuarter( | 203 private List<Probe> generateQuarter( |
206 Messprogramm messprogramm, | 204 Messprogramm messprogramm, |
207 Calendar start, | 205 Calendar start, |
208 Calendar end, | 206 Calendar end, |
209 String interval | 207 String interval |
210 ) { | 208 ) { |
214 0 : messprogramm.getTeilintervallVon() - 1; | 212 0 : messprogramm.getTeilintervallVon() - 1; |
215 int teilBis = messprogramm.getTeilintervallBis() == null ? | 213 int teilBis = messprogramm.getTeilintervallBis() == null ? |
216 0 : messprogramm.getTeilintervallBis(); | 214 0 : messprogramm.getTeilintervallBis(); |
217 int manualDuration = teilBis - teilVon; | 215 int manualDuration = teilBis - teilVon; |
218 | 216 |
219 List<LProbe> proben = new ArrayList<LProbe>(); | 217 List<Probe> proben = new ArrayList<Probe>(); |
220 | 218 |
221 int currentLength = getDurationQuarter(start); | 219 int currentLength = getDurationQuarter(start); |
222 if (manualDuration > 0) { | 220 if (manualDuration > 0) { |
223 currentLength = manualDuration; | 221 currentLength = manualDuration; |
224 } | 222 } |
228 quarterEnd.setTime(start.getTime()); | 226 quarterEnd.setTime(start.getTime()); |
229 quarterEnd.add(Calendar.DAY_OF_YEAR, currentLength); | 227 quarterEnd.add(Calendar.DAY_OF_YEAR, currentLength); |
230 for (;quarterStart.before(end);) { | 228 for (;quarterStart.before(end);) { |
231 if (quarterStart.get(Calendar.DAY_OF_YEAR) > messprogramm.getGueltigVon() && | 229 if (quarterStart.get(Calendar.DAY_OF_YEAR) > messprogramm.getGueltigVon() && |
232 quarterStart.get(Calendar.DAY_OF_YEAR) < messprogramm.getGueltigBis()) { | 230 quarterStart.get(Calendar.DAY_OF_YEAR) < messprogramm.getGueltigBis()) { |
233 LProbe probe = createObjects(messprogramm, quarterStart.getTime(), quarterEnd.getTime()); | 231 Probe probe = createObjects(messprogramm, quarterStart.getTime(), quarterEnd.getTime()); |
234 if (probe != null) { | 232 if (probe != null) { |
235 proben.add(probe); | 233 proben.add(probe); |
236 } | 234 } |
237 } | 235 } |
238 quarterStart.set(Calendar.DAY_OF_MONTH, 2); | 236 quarterStart.set(Calendar.DAY_OF_MONTH, 2); |
246 } | 244 } |
247 | 245 |
248 return proben; | 246 return proben; |
249 } | 247 } |
250 | 248 |
251 private List<LProbe> generateHalf( | 249 private List<Probe> generateHalf( |
252 Messprogramm messprogramm, | 250 Messprogramm messprogramm, |
253 Calendar start, | 251 Calendar start, |
254 Calendar end, | 252 Calendar end, |
255 String interval | 253 String interval |
256 ) { | 254 ) { |
260 0 : messprogramm.getTeilintervallVon() - 1; | 258 0 : messprogramm.getTeilintervallVon() - 1; |
261 int teilBis = messprogramm.getTeilintervallBis() == null ? | 259 int teilBis = messprogramm.getTeilintervallBis() == null ? |
262 0 : messprogramm.getTeilintervallBis(); | 260 0 : messprogramm.getTeilintervallBis(); |
263 int manualDuration = teilBis - teilVon; | 261 int manualDuration = teilBis - teilVon; |
264 | 262 |
265 List<LProbe> proben = new ArrayList<LProbe>(); | 263 List<Probe> proben = new ArrayList<Probe>(); |
266 | 264 |
267 int currentLength = getDurationHalf(start); | 265 int currentLength = getDurationHalf(start); |
268 if (manualDuration > 0) { | 266 if (manualDuration > 0) { |
269 currentLength = manualDuration; | 267 currentLength = manualDuration; |
270 } | 268 } |
274 halfEnd.setTime(halfStart.getTime()); | 272 halfEnd.setTime(halfStart.getTime()); |
275 halfEnd.add(Calendar.DAY_OF_YEAR, currentLength); | 273 halfEnd.add(Calendar.DAY_OF_YEAR, currentLength); |
276 for (;halfStart.before(end);) { | 274 for (;halfStart.before(end);) { |
277 if (halfStart.get(Calendar.DAY_OF_YEAR) > messprogramm.getGueltigVon() && | 275 if (halfStart.get(Calendar.DAY_OF_YEAR) > messprogramm.getGueltigVon() && |
278 halfStart.get(Calendar.DAY_OF_YEAR) < messprogramm.getGueltigBis()) { | 276 halfStart.get(Calendar.DAY_OF_YEAR) < messprogramm.getGueltigBis()) { |
279 LProbe probe = createObjects(messprogramm, halfStart.getTime(), halfEnd.getTime()); | 277 Probe probe = createObjects(messprogramm, halfStart.getTime(), halfEnd.getTime()); |
280 if (probe != null) { | 278 if (probe != null) { |
281 proben.add(probe); | 279 proben.add(probe); |
282 } | 280 } |
283 } | 281 } |
284 halfStart.set(Calendar.DAY_OF_MONTH, 2); | 282 halfStart.set(Calendar.DAY_OF_MONTH, 2); |
292 } | 290 } |
293 | 291 |
294 return proben; | 292 return proben; |
295 } | 293 } |
296 | 294 |
297 private List<LProbe> generate( | 295 private List<Probe> generate( |
298 Messprogramm messprogramm, | 296 Messprogramm messprogramm, |
299 Calendar start, | 297 Calendar start, |
300 Calendar end, | 298 Calendar end, |
301 int days | 299 int days |
302 ) { | 300 ) { |
307 int endDay = end.get(Calendar.DAY_OF_YEAR); | 305 int endDay = end.get(Calendar.DAY_OF_YEAR); |
308 | 306 |
309 | 307 |
310 //int teilStart = messprogramm.getTeilintervallVon() + startDay; | 308 //int teilStart = messprogramm.getTeilintervallVon() + startDay; |
311 //int teilEnd = messprogramm.getTeilintervallBis() + startDay; | 309 //int teilEnd = messprogramm.getTeilintervallBis() + startDay; |
312 List<LProbe> proben = new ArrayList<LProbe>(); | 310 List<Probe> proben = new ArrayList<Probe>(); |
313 int duration = messprogramm.getTeilintervallBis() - | 311 int duration = messprogramm.getTeilintervallBis() - |
314 messprogramm.getTeilintervallVon(); | 312 messprogramm.getTeilintervallVon(); |
315 | 313 |
316 logger.debug("real start day: " + startDay); | 314 logger.debug("real start day: " + startDay); |
317 logger.debug("real end day" + endDay); | 315 logger.debug("real end day" + endDay); |
319 logger.debug("generate from " + startDay); | 317 logger.debug("generate from " + startDay); |
320 start.set(Calendar.DAY_OF_YEAR, startDay); | 318 start.set(Calendar.DAY_OF_YEAR, startDay); |
321 end.set(Calendar.DAY_OF_YEAR, startDay + duration); | 319 end.set(Calendar.DAY_OF_YEAR, startDay + duration); |
322 logger.debug("from: " + start.getTime() + " to " + end.getTime()); | 320 logger.debug("from: " + start.getTime() + " to " + end.getTime()); |
323 startDay += days; | 321 startDay += days; |
324 LProbe probe = createObjects(messprogramm, start.getTime(), end.getTime()); | 322 Probe probe = createObjects(messprogramm, start.getTime(), end.getTime()); |
325 if (probe != null) { | 323 if (probe != null) { |
326 proben.add(probe); | 324 proben.add(probe); |
327 } | 325 } |
328 } | 326 } |
329 return proben; | 327 return proben; |
435 * @param startDate The date for 'solldatumbeginn' | 433 * @param startDate The date for 'solldatumbeginn' |
436 * @param endDate The date for 'solldatumende' | 434 * @param endDate The date for 'solldatumende' |
437 * | 435 * |
438 * @return The new probe object. | 436 * @return The new probe object. |
439 */ | 437 */ |
440 private LProbe createObjects( | 438 private Probe createObjects( |
441 Messprogramm messprogramm, | 439 Messprogramm messprogramm, |
442 Date startDate, | 440 Date startDate, |
443 Date endDate | 441 Date endDate |
444 ) { | 442 ) { |
445 QueryBuilder<LProbe> builderProbe = | 443 QueryBuilder<Probe> builderProbe = |
446 new QueryBuilder<LProbe>( | 444 new QueryBuilder<Probe>( |
447 repository.entityManager("land"), | 445 repository.entityManager("land"), |
448 LProbe.class); | 446 Probe.class); |
449 builderProbe.and("mprId", messprogramm.getId()); | 447 builderProbe.and("mprId", messprogramm.getId()); |
450 builderProbe.and("solldatumBeginn", startDate); | 448 builderProbe.and("solldatumBeginn", startDate); |
451 builderProbe.and("solldatumEnde", endDate); | 449 builderProbe.and("solldatumEnde", endDate); |
452 | 450 |
453 List<LProbe> proben = | 451 List<Probe> proben = |
454 repository.filterPlain(builderProbe.getQuery(), "land"); | 452 repository.filterPlain(builderProbe.getQuery(), "land"); |
455 | 453 |
456 if (!proben.isEmpty()) { | 454 if (!proben.isEmpty()) { |
457 return null; | 455 return null; |
458 } | 456 } |
459 LProbe probe = new LProbe(); | 457 Probe probe = new Probe(); |
460 probe.setBaId(messprogramm.getBaId()); | 458 probe.setBaId(messprogramm.getBaId()); |
461 probe.setDatenbasisId(messprogramm.getDatenbasisId()); | 459 probe.setDatenbasisId(messprogramm.getDatenbasisId()); |
462 probe.setMediaDesk(messprogramm.getMediaDesk()); | 460 probe.setMediaDesk(messprogramm.getMediaDesk()); |
463 probe.setMstId(messprogramm.getMstId()); | 461 probe.setMstId(messprogramm.getMstId()); |
464 probe.setLaborMstId(messprogramm.getLaborMstId()); | 462 probe.setLaborMstId(messprogramm.getLaborMstId()); |
465 probe.setNetzbetreiberId(messprogramm.getNetzbetreiberId()); | |
466 probe.setProbenartId(messprogramm.getProbenartId()); | 463 probe.setProbenartId(messprogramm.getProbenartId()); |
467 probe.setProbeNehmerId(messprogramm.getProbeNehmerId()); | 464 probe.setProbeNehmerId(messprogramm.getProbeNehmerId()); |
468 probe.setSolldatumBeginn(new Timestamp(startDate.getTime())); | 465 probe.setSolldatumBeginn(new Timestamp(startDate.getTime())); |
469 probe.setSolldatumEnde(new Timestamp(endDate.getTime())); | 466 probe.setSolldatumEnde(new Timestamp(endDate.getTime())); |
470 probe.setTest(messprogramm.getTest()); | 467 probe.setTest(messprogramm.getTest()); |
471 probe.setUmwId(messprogramm.getUmwId()); | 468 probe.setUmwId(messprogramm.getUmwId()); |
472 probe.setMprId(messprogramm.getId()); | 469 probe.setMprId(messprogramm.getId()); |
473 repository.create(probe, "land"); | 470 repository.create(probe, "land"); |
474 ProbeTranslation translation = new ProbeTranslation(); | |
475 translation.setProbeId(probe); | |
476 repository.create(translation, "land"); | |
477 | 471 |
478 if (messprogramm.getProbeKommentar() != null && | 472 if (messprogramm.getProbeKommentar() != null && |
479 !messprogramm.getProbeKommentar().equals("")) { | 473 !messprogramm.getProbeKommentar().equals("")) { |
480 LKommentarP kommentar = new LKommentarP(); | 474 KommentarP kommentar = new KommentarP(); |
481 kommentar.setDatum(new Timestamp(new Date().getTime())); | 475 kommentar.setDatum(new Timestamp(new Date().getTime())); |
482 kommentar.setProbeId(probe.getId()); | 476 kommentar.setProbeId(probe.getId()); |
483 kommentar.setText(messprogramm.getProbeKommentar()); | 477 kommentar.setText(messprogramm.getProbeKommentar()); |
484 kommentar.setErzeuger(messprogramm.getMstId()); | 478 kommentar.setMstId(messprogramm.getMstId()); |
485 | 479 |
486 repository.create(kommentar, "land"); | 480 repository.create(kommentar, "land"); |
487 } | 481 } |
488 | 482 |
489 QueryBuilder<MessprogrammMmt> builder = | 483 QueryBuilder<MessprogrammMmt> builder = |
493 builder.and("messprogrammId", messprogramm.getId()); | 487 builder.and("messprogrammId", messprogramm.getId()); |
494 Response response = repository.filter(builder.getQuery(), "land"); | 488 Response response = repository.filter(builder.getQuery(), "land"); |
495 @SuppressWarnings("unchecked") | 489 @SuppressWarnings("unchecked") |
496 List<MessprogrammMmt> mmts = (List<MessprogrammMmt>)response.getData(); | 490 List<MessprogrammMmt> mmts = (List<MessprogrammMmt>)response.getData(); |
497 for (MessprogrammMmt mmt : mmts) { | 491 for (MessprogrammMmt mmt : mmts) { |
498 LMessung messung = new LMessung(); | 492 Messung messung = new Messung(); |
499 messung.setFertig(false); | 493 messung.setFertig(false); |
500 messung.setGeplant(true); | 494 messung.setGeplant(true); |
501 messung.setMmtId(mmt.getMmtId()); | 495 messung.setMmtId(mmt.getMmtId()); |
502 messung.setNebenprobenNr( | 496 messung.setNebenprobenNr( |
503 messprogramm.getNetzbetreiberId() + mmt.getMmtId()); | 497 messprogramm.getMstId() + mmt.getMmtId()); |
504 messung.setProbeId(probe.getId()); | 498 messung.setProbeId(probe.getId()); |
505 repository.create(messung, "land"); | 499 repository.create(messung, "land"); |
506 MessungTranslation mTranslation = new MessungTranslation(); | 500 |
507 mTranslation.setMessungsId(messung); | 501 StatusProtokoll status = new StatusProtokoll(); |
508 repository.create(mTranslation, "land"); | |
509 | |
510 LStatusProtokoll status = new LStatusProtokoll(); | |
511 status.setDatum(new Timestamp(new Date().getTime())); | 502 status.setDatum(new Timestamp(new Date().getTime())); |
512 status.setMessungsId(messung.getId()); | 503 status.setMessungsId(messung.getId()); |
513 status.setErzeuger(probe.getMstId()); | 504 status.setMstId(probe.getMstId()); |
514 status.setStatusStufe(1); | 505 status.setStatusKombi(1); |
515 status.setStatusWert(0); | |
516 repository.create(status, "land"); | 506 repository.create(status, "land"); |
517 messung.setStatus(status.getId()); | 507 messung.setStatus(status.getId()); |
518 repository.update(messung, "land"); | 508 repository.update(messung, "land"); |
519 | 509 |
520 for (int mw : mmt.getMessgroessen()) { | 510 for (int mw : mmt.getMessgroessen()) { |
521 LMesswert wert = new LMesswert(); | 511 Messwert wert = new Messwert(); |
522 wert.setMessgroesseId(mw); | 512 wert.setMessgroesseId(mw); |
523 wert.setMessungsId(messung.getId()); | 513 wert.setMessungsId(messung.getId()); |
524 wert.setMesswert(0d); | 514 wert.setMesswert(0d); |
525 wert.setMehId(1); | 515 wert.setMehId(1); |
526 repository.create(wert, "land"); | 516 repository.create(wert, "land"); |
527 } | 517 } |
528 } | 518 } |
529 if (messprogramm.getOrtId() != null && | 519 if (messprogramm.getOrtId() != null && |
530 !messprogramm.getOrtId().equals("")) { | 520 !messprogramm.getOrtId().equals("")) { |
531 LOrtszuordnung ort = new LOrtszuordnung(); | 521 Ortszuordnung ort = new Ortszuordnung(); |
532 ort.setOrtszuordnungTyp("E"); | 522 ort.setOrtszuordnungTyp("E"); |
533 ort.setProbeId(probe.getId()); | 523 ort.setProbeId(probe.getId()); |
534 QueryBuilder<Ort> ortBuilder = new QueryBuilder<Ort>( | 524 QueryBuilder<Ort> ortBuilder = new QueryBuilder<Ort>( |
535 repository.entityManager("stamm"), Ort.class); | 525 repository.entityManager("stamm"), Ort.class); |
536 ortBuilder.and("id", messprogramm.getOrtId()); | 526 ortBuilder.and("id", messprogramm.getOrtId()); |
542 } | 532 } |
543 repository.create(ort, "land"); | 533 repository.create(ort, "land"); |
544 } | 534 } |
545 // Reolad the probe to have the old id | 535 // Reolad the probe to have the old id |
546 probe = | 536 probe = |
547 (LProbe)repository.getById(LProbe.class, probe.getId(), "land").getData(); | 537 (Probe)repository.getById(Probe.class, probe.getId(), "land").getData(); |
548 return probe; | 538 return probe; |
549 } | 539 } |
550 | 540 |
551 /** | 541 /** |
552 * Determine the interval for probe generation using a start date, end date | 542 * Determine the interval for probe generation using a start date, end date |
647 * | 637 * |
648 * @param probe The probe object. | 638 * @param probe The probe object. |
649 * | 639 * |
650 * @return The updated probe object. | 640 * @return The updated probe object. |
651 */ | 641 */ |
652 public LProbe findUmweltId(LProbe probe) { | 642 public Probe findUmweltId(Probe probe) { |
653 String[] mediaDesk = probe.getMediaDesk().split(" "); | 643 String[] mediaDesk = probe.getMediaDesk().split(" "); |
654 if (mediaDesk.length <= 1) { | 644 if (mediaDesk.length <= 1) { |
655 return probe; | 645 return probe; |
656 } | 646 } |
657 probe.setUmwId(findUmwelt(mediaDesk)); | 647 probe.setUmwId(findUmwelt(mediaDesk)); |
663 * | 653 * |
664 * @param probe The probe object | 654 * @param probe The probe object |
665 * | 655 * |
666 * @return The updated probe object. | 656 * @return The updated probe object. |
667 */ | 657 */ |
668 public LProbe findMediaDesk(LProbe probe) { | 658 public Probe findMediaDesk(Probe probe) { |
669 Object result = repository.queryFromString( | 659 Object result = repository.queryFromString( |
670 "SELECT get_media_from_media_desk( :mediaDesk );", "stamm") | 660 "SELECT get_media_from_media_desk( :mediaDesk );", "stamm") |
671 .setParameter("mediaDesk", probe.getMediaDesk()) | 661 .setParameter("mediaDesk", probe.getMediaDesk()) |
672 .getSingleResult(); | 662 .getSingleResult(); |
673 probe.setMedia(result != null ? result.toString() : ""); | 663 probe.setMedia(result != null ? result.toString() : ""); |