Mercurial > lada > lada-server
comparison src/main/java/de/intevation/lada/rest/StatusService.java @ 778:574391f1d88f
Fixed status and messung services.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 13 Nov 2015 13:40:25 +0100 |
parents | e3f4f3585cce |
children | 7033810468d9 |
comparison
equal
deleted
inserted
replaced
777:e3f4f3585cce | 778:574391f1d88f |
---|---|
194 return new Response(false, 699, null); | 194 return new Response(false, 699, null); |
195 } | 195 } |
196 UserInfo userInfo = authorization.getInfo(request); | 196 UserInfo userInfo = authorization.getInfo(request); |
197 LMessung messung = defaultRepo.getByIdPlain( | 197 LMessung messung = defaultRepo.getByIdPlain( |
198 LMessung.class, status.getMessungsId(), "land"); | 198 LMessung.class, status.getMessungsId(), "land"); |
199 LStatusProtokoll currentStatus = defaultRepo.getByIdPlain( | |
200 LStatusProtokoll.class, messung.getStatus(), "land"); | |
201 boolean next = false; | 199 boolean next = false; |
202 boolean change = false; | 200 boolean change = false; |
203 for (int i = 0; i < userInfo.getFunktionen().size(); i++) { | 201 if (messung.getStatus() == null) { |
204 if (userInfo.getFunktionen().get(i) > currentStatus.getStatusStufe()) { | |
205 next = true; | |
206 change = false; | |
207 break; | |
208 } | |
209 else if (userInfo.getFunktionen().get(i) == currentStatus.getStatusStufe()) { | |
210 change = true; | |
211 } | |
212 } | |
213 if ((change || next) && status.getStatusWert() == 4) { | |
214 status.setStatusStufe(1); | 202 status.setStatusStufe(1); |
215 } | 203 } |
216 else if (change) { | |
217 status.setStatusStufe(currentStatus.getStatusStufe()); | |
218 } | |
219 else if (next) { | |
220 status.setStatusStufe(currentStatus.getStatusStufe() + 1); | |
221 } | |
222 else { | 204 else { |
223 return new Response(false, 699, null); | 205 LStatusProtokoll currentStatus = defaultRepo.getByIdPlain( |
206 LStatusProtokoll.class, messung.getStatus(), "land"); | |
207 for (int i = 0; i < userInfo.getFunktionen().size(); i++) { | |
208 if (userInfo.getFunktionen().get(i) > currentStatus.getStatusStufe()) { | |
209 next = true; | |
210 change = false; | |
211 break; | |
212 } | |
213 else if (userInfo.getFunktionen().get(i) == currentStatus.getStatusStufe()) { | |
214 change = true; | |
215 } | |
216 } | |
217 if ((change || next) && status.getStatusWert() == 4) { | |
218 status.setStatusStufe(1); | |
219 } | |
220 else if (change) { | |
221 status.setStatusStufe(currentStatus.getStatusStufe()); | |
222 } | |
223 else if (next) { | |
224 status.setStatusStufe(currentStatus.getStatusStufe() + 1); | |
225 } | |
226 else { | |
227 return new Response(false, 699, null); | |
228 } | |
224 } | 229 } |
225 Response response = defaultRepo.create(status, "land"); | 230 Response response = defaultRepo.create(status, "land"); |
226 LStatusProtokoll created = (LStatusProtokoll)response.getData(); | 231 LStatusProtokoll created = (LStatusProtokoll)response.getData(); |
227 messung.setStatus(created.getId()); | 232 messung.setStatus(created.getId()); |
228 defaultRepo.update(messung, "land"); | 233 defaultRepo.update(messung, "land"); |
261 public Response update( | 266 public Response update( |
262 @Context HttpHeaders headers, | 267 @Context HttpHeaders headers, |
263 @Context HttpServletRequest request, | 268 @Context HttpServletRequest request, |
264 LStatusProtokoll status | 269 LStatusProtokoll status |
265 ) { | 270 ) { |
266 if (!authorization.isAuthorized( | |
267 request, | |
268 status, | |
269 RequestMethod.PUT, | |
270 LStatusProtokoll.class) | |
271 ) { | |
272 return new Response(false, 699, null); | |
273 } | |
274 if (lock.isLocked(status)) { | 271 if (lock.isLocked(status)) { |
275 return new Response(false, 697, null); | 272 return new Response(false, 697, null); |
276 } | |
277 if (status.getStatusWert() == 0) { | |
278 return new Response(false, 699, null); | |
279 } | 273 } |
280 | 274 |
281 UserInfo userInfo = authorization.getInfo(request); | 275 UserInfo userInfo = authorization.getInfo(request); |
282 if (!userInfo.getMessstellen().contains(status.getErzeuger())) { | 276 if (!userInfo.getMessstellen().contains(status.getErzeuger())) { |
283 return new Response(false, 699, null); | 277 return new Response(false, 699, null); |