|
@@ -1,7 +1,6 @@
|
|
|
package com.persagy.ibms.data.sdk.util;
|
|
|
|
|
|
import java.net.URLEncoder;
|
|
|
-import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
@@ -420,40 +419,44 @@ public class RWDAlarmUtil {
|
|
|
}
|
|
|
|
|
|
public static synchronized void chixushijian(SimpleDateFormat sdf, Date currentTime, SceneDataObject sdoInner) {
|
|
|
- String triggerTime = (String) sdoInner.get("triggerTime").value_prim.value;
|
|
|
- String duration;
|
|
|
- long keep_time;
|
|
|
- if (sdoInner.containsKey("endTime")) {
|
|
|
- String endTime = (String) sdoInner.get("endTime").value_prim.value;
|
|
|
- duration = getTimeDiff(sdf, triggerTime, endTime);
|
|
|
- keep_time = getTimeDiffLong(sdf, triggerTime, endTime);
|
|
|
- } else {
|
|
|
- duration = getTimeDiff(sdf, triggerTime, sdf.format(currentTime));
|
|
|
- keep_time = getTimeDiffLong(sdf, triggerTime, sdf.format(currentTime));
|
|
|
- }
|
|
|
- {
|
|
|
- SceneDataValue sdvInner = new SceneDataValue(null, null, null, null);
|
|
|
- sdvInner.value_prim = new SceneDataPrimitive();
|
|
|
- sdvInner.value_prim.value = keep_time;
|
|
|
- sdoInner.put("durationMilli", sdvInner);
|
|
|
- }
|
|
|
- {
|
|
|
- SceneDataValue sdvInner = new SceneDataValue(null, null, null, null);
|
|
|
- sdvInner.value_prim = new SceneDataPrimitive();
|
|
|
- sdvInner.value_prim.value = duration;
|
|
|
- sdoInner.put("duration", sdvInner);
|
|
|
- }
|
|
|
- {
|
|
|
- SceneDataValue sdvInner = new SceneDataValue(null, null, null, null);
|
|
|
- sdvInner.value_prim = new SceneDataPrimitive();
|
|
|
- sdvInner.value_prim.value = keep_time;
|
|
|
- sdoInner.put("keep_time", sdvInner);
|
|
|
- }
|
|
|
- {
|
|
|
- SceneDataValue sdvInner = new SceneDataValue(null, null, null, null);
|
|
|
- sdvInner.value_prim = new SceneDataPrimitive();
|
|
|
- sdvInner.value_prim.value = sdf.format(currentTime);
|
|
|
- sdoInner.put("currentTime", sdvInner);
|
|
|
+ try {
|
|
|
+ String triggerTime = (String) sdoInner.get("triggerTime").value_prim.value;
|
|
|
+ String duration;
|
|
|
+ long keep_time;
|
|
|
+ if (sdoInner.containsKey("endTime")) {
|
|
|
+ String endTime = (String) sdoInner.get("endTime").value_prim.value;
|
|
|
+ duration = getTimeDiff(sdf, triggerTime, endTime);
|
|
|
+ keep_time = getTimeDiffLong(sdf, triggerTime, endTime);
|
|
|
+ } else {
|
|
|
+ duration = getTimeDiff(sdf, triggerTime, sdf.format(currentTime));
|
|
|
+ keep_time = getTimeDiffLong(sdf, triggerTime, sdf.format(currentTime));
|
|
|
+ }
|
|
|
+ {
|
|
|
+ SceneDataValue sdvInner = new SceneDataValue(null, null, null, null);
|
|
|
+ sdvInner.value_prim = new SceneDataPrimitive();
|
|
|
+ sdvInner.value_prim.value = keep_time;
|
|
|
+ sdoInner.put("durationMilli", sdvInner);
|
|
|
+ }
|
|
|
+ {
|
|
|
+ SceneDataValue sdvInner = new SceneDataValue(null, null, null, null);
|
|
|
+ sdvInner.value_prim = new SceneDataPrimitive();
|
|
|
+ sdvInner.value_prim.value = duration;
|
|
|
+ sdoInner.put("duration", sdvInner);
|
|
|
+ }
|
|
|
+ {
|
|
|
+ SceneDataValue sdvInner = new SceneDataValue(null, null, null, null);
|
|
|
+ sdvInner.value_prim = new SceneDataPrimitive();
|
|
|
+ sdvInner.value_prim.value = keep_time;
|
|
|
+ sdoInner.put("keep_time", sdvInner);
|
|
|
+ }
|
|
|
+ {
|
|
|
+ SceneDataValue sdvInner = new SceneDataValue(null, null, null, null);
|
|
|
+ sdvInner.value_prim = new SceneDataPrimitive();
|
|
|
+ sdvInner.value_prim.value = sdf.format(currentTime);
|
|
|
+ sdoInner.put("currentTime", sdvInner);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(e.getMessage(), e);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -929,25 +932,15 @@ public class RWDAlarmUtil {
|
|
|
return getTimeDiff(startDate, endDate);
|
|
|
}
|
|
|
|
|
|
- public static long getTimeDiffLong(SimpleDateFormat sdf, String startTimestamp, String endTimestamp) {
|
|
|
- try {
|
|
|
- Date startDate = sdf.parse(startTimestamp);
|
|
|
- Date endDate = sdf.parse(endTimestamp);
|
|
|
- return endDate.getTime() - startDate.getTime();
|
|
|
- } catch (ParseException e) {
|
|
|
- log.error(e.getMessage(), e);
|
|
|
- }
|
|
|
- return 0;
|
|
|
+ public static long getTimeDiffLong(SimpleDateFormat sdf, String startTimestamp, String endTimestamp) throws Exception {
|
|
|
+ Date startDate = sdf.parse(startTimestamp);
|
|
|
+ Date endDate = sdf.parse(endTimestamp);
|
|
|
+ return endDate.getTime() - startDate.getTime();
|
|
|
}
|
|
|
|
|
|
- public static String getTimeDiff(SimpleDateFormat sdf, String startTimestamp, String endTimestamp) {
|
|
|
- try {
|
|
|
- Date startDate = sdf.parse(startTimestamp);
|
|
|
- Date endDate = sdf.parse(endTimestamp);
|
|
|
- return getTimeDiff(startDate, endDate);
|
|
|
- } catch (ParseException e) {
|
|
|
- log.error(e.getMessage(), e);
|
|
|
- }
|
|
|
- return "0";
|
|
|
+ public static String getTimeDiff(SimpleDateFormat sdf, String startTimestamp, String endTimestamp) throws Exception {
|
|
|
+ Date startDate = sdf.parse(startTimestamp);
|
|
|
+ Date endDate = sdf.parse(endTimestamp);
|
|
|
+ return getTimeDiff(startDate, endDate);
|
|
|
}
|
|
|
}
|