Merge branch 'DEVELOP_BE' of ssh://172.18.22.160:29418/oK/PlannedGridMeasures/mics-backend into DEVELOP_BE
diff --git a/src/main/java/org/eclipse/openk/common/util/DateUtils.java b/src/main/java/org/eclipse/openk/common/util/DateUtils.java
index 8b067ba..39fd175 100644
--- a/src/main/java/org/eclipse/openk/common/util/DateUtils.java
+++ b/src/main/java/org/eclipse/openk/common/util/DateUtils.java
@@ -12,16 +12,18 @@
 
 package org.eclipse.openk.common.util;
 
+import org.apache.log4j.Logger;
+import org.eclipse.openk.common.Globals;
+
 import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.Instant;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.util.Date;
 import java.util.Locale;
-import org.apache.log4j.Logger;
-import org.eclipse.openk.common.Globals;
 
 public class DateUtils {
 
@@ -55,4 +57,8 @@
     return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.of(Globals.DATE_ZONE_ID_EUROPE)).toLocalDate();
   }
 
+  public static LocalDateTime asLocalDateTime(Date date) {
+    return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.of(Globals.DATE_ZONE_ID_EUROPE)).toLocalDateTime();
+  }
+
 }
diff --git a/src/main/java/org/eclipse/openk/core/controller/GridMeasureBackendController.java b/src/main/java/org/eclipse/openk/core/controller/GridMeasureBackendController.java
index ee3fecd..d38130a 100644
--- a/src/main/java/org/eclipse/openk/core/controller/GridMeasureBackendController.java
+++ b/src/main/java/org/eclipse/openk/core/controller/GridMeasureBackendController.java
@@ -14,21 +14,52 @@
 import org.apache.commons.codec.binary.Base64;
 import org.apache.log4j.Logger;
 import org.eclipse.jetty.http.HttpStatus;
-import org.eclipse.openk.api.*;
+import org.eclipse.openk.api.BackendSettings;
+import org.eclipse.openk.api.Document;
+import org.eclipse.openk.api.FilterObject;
+import org.eclipse.openk.api.GridMeasure;
+import org.eclipse.openk.api.HGridMeasure;
+import org.eclipse.openk.api.Lock;
+import org.eclipse.openk.api.RoleAccessDefinitionApi;
+import org.eclipse.openk.api.VersionInfo;
 import org.eclipse.openk.common.mapper.GridMeasureMapper;
 import org.eclipse.openk.common.mapper.generic.GenericApiToDbMapper;
+import org.eclipse.openk.common.util.DateUtils;
 import org.eclipse.openk.core.bpmn.base.ProcessException;
 import org.eclipse.openk.core.bpmn.base.ProcessState;
 import org.eclipse.openk.core.bpmn.gridmeasure.PlgmGrid;
 import org.eclipse.openk.core.bpmn.gridmeasure.PlgmProcessState;
 import org.eclipse.openk.core.bpmn.gridmeasure.PlgmProcessSubject;
 import org.eclipse.openk.core.exceptions.HttpStatusException;
-import org.eclipse.openk.db.dao.*;
-import org.eclipse.openk.db.model.*;
+import org.eclipse.openk.db.dao.AutoCloseEntityManager;
+import org.eclipse.openk.db.dao.EntityHelper;
+import org.eclipse.openk.db.dao.HTblGridMeasureDao;
+import org.eclipse.openk.db.dao.RefVersionDao;
+import org.eclipse.openk.db.dao.TblDocumentsDao;
+import org.eclipse.openk.db.dao.TblGridMeasureDao;
+import org.eclipse.openk.db.dao.TblLockDao;
+import org.eclipse.openk.db.dao.TblMeasureDocumentsDao;
+import org.eclipse.openk.db.dao.TblSingleGridmeasureDao;
+import org.eclipse.openk.db.dao.TblStepsDao;
+import org.eclipse.openk.db.model.HTblGridMeasure;
+import org.eclipse.openk.db.model.RefVersion;
+import org.eclipse.openk.db.model.TblDocuments;
+import org.eclipse.openk.db.model.TblGridMeasure;
+import org.eclipse.openk.db.model.TblLock;
+import org.eclipse.openk.db.model.TblMeasureDocuments;
+import org.eclipse.openk.db.model.TblSingleGridmeasure;
 
 import javax.persistence.EntityManager;
 import java.time.Instant;
-import java.util.*;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 public class GridMeasureBackendController {
     protected static final Logger logger = Logger.getLogger(GridMeasureBackendController.class);
@@ -206,11 +237,12 @@
                     //check auf Unterschreitung der reminderPeriod
                     long nowLong = now.getTime();
                     if( gm.getPlannedStarttimeFirstSinglemeasure() != null ) {
-                        long starttimeLong = gm.getPlannedStarttimeFirstSinglemeasure().getTime();
-                        long diff = starttimeLong - nowLong;
-                        long diffHours = diff / (60 * 60 * 1000);
+                        LocalDateTime dateTimeNow = LocalDateTime.now();
+                        LocalDateTime localDateTimeEnd = dateTimeNow.plusHours(reminderPeriod);
+                        LocalDateTime dateTimeToCompare = DateUtils.asLocalDateTime(gm.getPlannedStarttimeFirstSinglemeasure());
 
-                        if (diffHours > 0 && diffHours < reminderPeriod) {
+                        if (dateTimeNow.compareTo(dateTimeToCompare) <= 0 &&
+                                localDateTimeEnd.compareTo(dateTimeToCompare) >= 0){
                             returnList.add(gm.getId());
                         }
                     }