|
@@ -431,7 +431,7 @@ public class WebAccessService {
|
|
|
}
|
|
|
//endregion
|
|
|
|
|
|
- //region <<根据大屏参数设置,获取实时点位值>>
|
|
|
+ //region <<根据大屏参数设置,获取实时点位值(通过webaccess接口)>>
|
|
|
/**
|
|
|
* 获取实时点位值
|
|
|
*
|
|
@@ -615,7 +615,42 @@ public class WebAccessService {
|
|
|
}
|
|
|
//endregion
|
|
|
|
|
|
- //region <<根据大屏参数设置,获取实时曲线、全程曲线>>
|
|
|
+ //region <<根据大屏参数设置,获取实时点位值(通过redis)>>
|
|
|
+ /**
|
|
|
+ * 获取实时点位值
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public JSONArray getDashboardCache() {
|
|
|
+ // 获取大屏参数设置
|
|
|
+ GuanDashboardParam paramat = new GuanDashboardParam();
|
|
|
+ paramat.setStatus("1"); // 状态为启用
|
|
|
+ paramat.setIflog("N"); // 不需要获取历史记录
|
|
|
+ List<GuanDashboardParam> dashboardParamList = dashboardParamMapper.selectAllDashboardParam(paramat);
|
|
|
+
|
|
|
+ // 组合参数信息
|
|
|
+ JSONArray resJsonArray = new JSONArray();
|
|
|
+ if (dashboardParamList != null && dashboardParamList.size() > 0) {
|
|
|
+ for (GuanDashboardParam param : dashboardParamList) {
|
|
|
+ if (param.getTagName() != null && !"".equals(param.getTagName())) {
|
|
|
+ JSONObject js = new JSONObject();
|
|
|
+ js.put("Name", param.getTagName());
|
|
|
+ js.put("Value", redisUtil.get(GuanCommonConstant.GUAN_TAGVALUE_PREFIX + param.getTagName()));
|
|
|
+ js.put("Quality", 1);
|
|
|
+
|
|
|
+ resJsonArray.add(js);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ return addDashboardTagNameValues(resJsonArray);
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
+
|
|
|
+ //region <<根据大屏参数设置,获取实时曲线、全程曲线(全部)(通过webaccess接口)>>
|
|
|
|
|
|
/**
|
|
|
* 获取实时曲线
|
|
@@ -720,7 +755,7 @@ public class WebAccessService {
|
|
|
curveList.add(curve);
|
|
|
}
|
|
|
// 设置实时曲线时间分布
|
|
|
- genTime(realityTime, now, ssIntervals, "HH:mm", curveList, "实时");
|
|
|
+ genTime(realityTime, now, ssIntervals, "HH:mm:ss", curveList, "实时");
|
|
|
|
|
|
return curveList;
|
|
|
}
|
|
@@ -823,13 +858,51 @@ public class WebAccessService {
|
|
|
curveList.add(curve);
|
|
|
}
|
|
|
// 设置全程曲线时间分布
|
|
|
- genTime(startTime, now, qcIntervals, "MM-dd HH:mm", curveList, "全程");
|
|
|
+ genTime(startTime, now, qcIntervals, "MM-dd HH:mm:ss", curveList, "全程");
|
|
|
|
|
|
return curveList;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 获取实时曲线-当前
|
|
|
+ * 生成曲线的时间
|
|
|
+ *
|
|
|
+ * @param startTime 开始时间
|
|
|
+ * @param endTime 结束时间
|
|
|
+ * @param intervals 间隔频率(分钟)
|
|
|
+ * @param dateformat 时间格式
|
|
|
+ * @param curveList 曲线信息
|
|
|
+ * @param type 曲线类型
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private void genTime(Date startTime, Date endTime, Integer intervals,
|
|
|
+ String dateformat, List<CurveDTO> curveList, String type) {
|
|
|
+ List<String> times = new ArrayList<>();
|
|
|
+ // 循环获取时间
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+
|
|
|
+ if (curveList != null && curveList.size() > 0) {
|
|
|
+ for (int i = 0; i < curveList.size(); i++) {
|
|
|
+ if (!type.equals(curveList.get(i).getType())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Date beginTime = (Date) startTime.clone();
|
|
|
+
|
|
|
+ for (int j = 0; j < curveList.get(i).getSubList().size(); j++) {
|
|
|
+ curveList.get(i).getSubList().get(j).setLogtime(beginTime);
|
|
|
+ curveList.get(i).getSubList().get(j).setTranstime(new SimpleDateFormat(dateformat).format(beginTime));
|
|
|
+ // 设置当前的时间戳
|
|
|
+ calendar.setTime(beginTime);
|
|
|
+ calendar.add(Calendar.MINUTE, intervals);
|
|
|
+ beginTime = calendar.getTime();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
+
|
|
|
+ //region <<根据大屏参数设置,获取实时曲线、全程曲线(增量)(通过webaccess接口)>>
|
|
|
+ /**
|
|
|
+ * 获取实时曲线
|
|
|
* @return
|
|
|
*/
|
|
|
public List<CurveDTO> getIncrementRealtimeCurve() {
|
|
@@ -873,7 +946,7 @@ public class WebAccessService {
|
|
|
CurveSubDTO sub = new CurveSubDTO();
|
|
|
sub.setLogtime(new Date());
|
|
|
|
|
|
- sub.setTranstime(new SimpleDateFormat("HH:mm").format(new Date()));
|
|
|
+ sub.setTranstime(new SimpleDateFormat("HH:mm:ss").format(new Date()));
|
|
|
sub.setTagvalue(res.get("Value").toString());
|
|
|
subList.add(sub);
|
|
|
|
|
@@ -886,7 +959,7 @@ public class WebAccessService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 获取全程曲线-当前
|
|
|
+ * 获取全程曲线
|
|
|
* @return
|
|
|
*/
|
|
|
public List<CurveDTO> getIncrementWholeCurve() {
|
|
@@ -923,14 +996,14 @@ public class WebAccessService {
|
|
|
for (Integer i = 0; i < resArray.size(); i++) {
|
|
|
JSONObject res = resArray.getJSONObject(i);
|
|
|
CurveDTO curve = new CurveDTO();
|
|
|
- curve.setType("实时");
|
|
|
+ curve.setType("全程");
|
|
|
curve.setName(res.get("Name").toString());
|
|
|
|
|
|
List<CurveSubDTO> subList = new ArrayList<>();
|
|
|
CurveSubDTO sub = new CurveSubDTO();
|
|
|
sub.setLogtime(new Date());
|
|
|
|
|
|
- sub.setTranstime(new SimpleDateFormat("HH:mm").format(new Date()));
|
|
|
+ sub.setTranstime(new SimpleDateFormat("MM-dd HH:mm:ss").format(new Date()));
|
|
|
sub.setTagvalue(res.get("Value").toString());
|
|
|
subList.add(sub);
|
|
|
|
|
@@ -941,41 +1014,98 @@ public class WebAccessService {
|
|
|
|
|
|
return curveList;
|
|
|
}
|
|
|
+ //endregion
|
|
|
|
|
|
+ //region <<根据大屏参数设置,获取实时曲线、全程曲线(增量)(通过redis缓存)>>
|
|
|
/**
|
|
|
- * 生成曲线的时间
|
|
|
- *
|
|
|
- * @param startTime 开始时间
|
|
|
- * @param endTime 结束时间
|
|
|
- * @param intervals 间隔频率(分钟)
|
|
|
- * @param dateformat 时间格式
|
|
|
- * @param curveList 曲线信息
|
|
|
- * @param type 曲线类型
|
|
|
+ * 获取实时曲线
|
|
|
* @return
|
|
|
*/
|
|
|
- private void genTime(Date startTime, Date endTime, Integer intervals,
|
|
|
- String dateformat, List<CurveDTO> curveList, String type) {
|
|
|
- List<String> times = new ArrayList<>();
|
|
|
- // 循环获取时间
|
|
|
- Calendar calendar = Calendar.getInstance();
|
|
|
+ public List<CurveDTO> getIncrementRealtimeCurveCache() {
|
|
|
+ // 获取大屏参数设置
|
|
|
+ GuanDashboardParam paramat = new GuanDashboardParam();
|
|
|
+ paramat.setStatus("1"); // 状态为启用
|
|
|
+ paramat.setIflog("Y"); // 需要获取历史记录
|
|
|
+ List<GuanDashboardParam> dashboardParamList = dashboardParamMapper.selectAllDashboardParam(paramat);
|
|
|
+ if (dashboardParamList == null || dashboardParamList.size() < 1) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
|
|
|
- if (curveList != null && curveList.size() > 0) {
|
|
|
- for (int i = 0; i < curveList.size(); i++) {
|
|
|
- if (!type.equals(curveList.get(i).getType())) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- Date beginTime = (Date) startTime.clone();
|
|
|
+ // 获取信息
|
|
|
+ List<CurveDTO> curveList = new ArrayList<>();
|
|
|
+ for (GuanDashboardParam param : dashboardParamList) {
|
|
|
+ // 没有点位名
|
|
|
+ if (param.getTagName() == null || "".equals(param.getTagName())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ // 不是实时曲线设置
|
|
|
+ if (!param.getParamName().equals("辐射强度值-实时") && !param.getParamName().equals("湿度实值-实时") &&
|
|
|
+ !param.getParamName().equals("温度实值-实时")) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
- for (int j = 0; j < curveList.get(i).getSubList().size(); j++) {
|
|
|
- curveList.get(i).getSubList().get(j).setLogtime(beginTime);
|
|
|
- curveList.get(i).getSubList().get(j).setTranstime(new SimpleDateFormat(dateformat).format(beginTime));
|
|
|
- // 设置当前的时间戳
|
|
|
- calendar.setTime(beginTime);
|
|
|
- calendar.add(Calendar.MINUTE, intervals);
|
|
|
- beginTime = calendar.getTime();
|
|
|
- }
|
|
|
+ CurveDTO curve = new CurveDTO();
|
|
|
+ curve.setType("实时");
|
|
|
+ curve.setName(param.getTagName());
|
|
|
+
|
|
|
+ List<CurveSubDTO> subList = new ArrayList<>();
|
|
|
+ CurveSubDTO sub = new CurveSubDTO();
|
|
|
+ sub.setLogtime(new Date());
|
|
|
+
|
|
|
+ sub.setTranstime(new SimpleDateFormat("HH:mm:ss").format(new Date()));
|
|
|
+ sub.setTagvalue(redisUtil.get(GuanCommonConstant.GUAN_TAGVALUE_PREFIX + param.getTagName()).toString());
|
|
|
+ subList.add(sub);
|
|
|
+
|
|
|
+ curve.setSubList(subList);
|
|
|
+ curveList.add(curve);
|
|
|
+ }
|
|
|
+
|
|
|
+ return curveList;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取全程曲线(通过redis缓存)
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<CurveDTO> getIncrementWholeCurveCache() {
|
|
|
+ // 获取大屏参数设置
|
|
|
+ GuanDashboardParam paramat = new GuanDashboardParam();
|
|
|
+ paramat.setStatus("1"); // 状态为启用
|
|
|
+ paramat.setIflog("Y"); // 需要获取历史记录
|
|
|
+ List<GuanDashboardParam> dashboardParamList = dashboardParamMapper.selectAllDashboardParam(paramat);
|
|
|
+ if (dashboardParamList == null || dashboardParamList.size() < 1) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取信息
|
|
|
+ List<CurveDTO> curveList = new ArrayList<>();
|
|
|
+ for (GuanDashboardParam param : dashboardParamList) {
|
|
|
+ // 没有点位名
|
|
|
+ if (param.getTagName() == null || "".equals(param.getTagName())) {
|
|
|
+ continue;
|
|
|
}
|
|
|
+ // 不是实时曲线设置
|
|
|
+ if (!param.getParamName().equals("辐射强度值-全程") && !param.getParamName().equals("湿度实值-全程") &&
|
|
|
+ !param.getParamName().equals("温度实值-全程")) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ CurveDTO curve = new CurveDTO();
|
|
|
+ curve.setType("全程");
|
|
|
+ curve.setName(param.getTagName());
|
|
|
+
|
|
|
+ List<CurveSubDTO> subList = new ArrayList<>();
|
|
|
+ CurveSubDTO sub = new CurveSubDTO();
|
|
|
+ sub.setLogtime(new Date());
|
|
|
+
|
|
|
+ sub.setTranstime(new SimpleDateFormat("MM-dd HH:mm:ss").format(new Date()));
|
|
|
+ sub.setTagvalue(redisUtil.get(GuanCommonConstant.GUAN_TAGVALUE_PREFIX + param.getTagName()).toString());
|
|
|
+ subList.add(sub);
|
|
|
+
|
|
|
+ curve.setSubList(subList);
|
|
|
+ curveList.add(curve);
|
|
|
}
|
|
|
+
|
|
|
+ return curveList;
|
|
|
}
|
|
|
//endregion
|
|
|
|
|
@@ -1407,62 +1537,66 @@ public class WebAccessService {
|
|
|
|
|
|
// 实时曲线在缓存中不存在,则获取实时曲线并存入缓存中,否则做增量添加
|
|
|
if (!redisUtil.hasKey(GuanCommonConstant.GUAN_REALTIME_CURVE)) {
|
|
|
- List<CurveDTO> realtimeCrveList = getRealtimeCurve(null);
|
|
|
- jsonObject.put("实时曲线", realtimeCrveList.toString());
|
|
|
- redisUtil.set(GuanCommonConstant.GUAN_REALTIME_CURVE, realtimeCrveList);
|
|
|
+ List<CurveDTO> realtimeCurveList = getRealtimeCurve(null);
|
|
|
+ jsonObject.put("实时曲线", realtimeCurveList.toString());
|
|
|
+ redisUtil.set(GuanCommonConstant.GUAN_REALTIME_CURVE, realtimeCurveList);
|
|
|
}
|
|
|
// 增量添加
|
|
|
else {
|
|
|
List<CurveDTO> incrementRealtimeCurveList = getIncrementRealtimeCurve();
|
|
|
- List<CurveDTO> realtimeCrveList = (List<CurveDTO>) redisUtil.get(GuanCommonConstant.GUAN_REALTIME_CURVE);
|
|
|
+ List<CurveDTO> realtimeCurveList = (List<CurveDTO>) redisUtil.get(GuanCommonConstant.GUAN_REALTIME_CURVE);
|
|
|
// 将获取的增加数据增加到实时曲线的列表中
|
|
|
- if (realtimeCrveList != null && realtimeCrveList.size() > 0) {
|
|
|
- for (int i = 0; i < realtimeCrveList.size(); i++) {
|
|
|
- String name = realtimeCrveList.get(i).getName();
|
|
|
+ if (realtimeCurveList != null && realtimeCurveList.size() > 0) {
|
|
|
+ for (int i = 0; i < realtimeCurveList.size(); i++) {
|
|
|
+ String name = realtimeCurveList.get(i).getName();
|
|
|
List<CurveDTO> subCurveList = incrementRealtimeCurveList.stream()
|
|
|
.filter(p -> p.getName().equals(name)).collect(Collectors.toList());
|
|
|
if (subCurveList != null && subCurveList.size() > 0 &&
|
|
|
subCurveList.get(0).getSubList() != null && subCurveList.get(0).getSubList().size() > 0) {
|
|
|
- realtimeCrveList.get(i).getSubList().add(subCurveList.get(0).getSubList().get(0));
|
|
|
+ realtimeCurveList.get(i).getSubList().add(subCurveList.get(0).getSubList().get(0));
|
|
|
}
|
|
|
}
|
|
|
+ // 排序
|
|
|
+ curveSort(realtimeCurveList);
|
|
|
}
|
|
|
else {
|
|
|
- Collections.copy(incrementRealtimeCurveList, realtimeCrveList);
|
|
|
+ Collections.copy(incrementRealtimeCurveList, realtimeCurveList);
|
|
|
}
|
|
|
- jsonObject.put("实时曲线", realtimeCrveList.toString());
|
|
|
+ jsonObject.put("实时曲线", realtimeCurveList.toString());
|
|
|
// 重新缓存实时曲线
|
|
|
- redisUtil.set(GuanCommonConstant.GUAN_REALTIME_CURVE, realtimeCrveList);
|
|
|
+ redisUtil.set(GuanCommonConstant.GUAN_REALTIME_CURVE, realtimeCurveList);
|
|
|
}
|
|
|
|
|
|
// 全程曲线在缓存中不存在,则获取全程曲线并存入缓存中,否则做增量添加
|
|
|
if (!redisUtil.hasKey(GuanCommonConstant.GUAN_WHOLE_CURE)) {
|
|
|
- List<CurveDTO> wholeCrveList = getWholeCurve(null);
|
|
|
- jsonObject.put("全程曲线", wholeCrveList.toString());
|
|
|
- redisUtil.set(GuanCommonConstant.GUAN_WHOLE_CURE, wholeCrveList);
|
|
|
+ List<CurveDTO> wholeCurveList = getWholeCurve(null);
|
|
|
+ jsonObject.put("全程曲线", wholeCurveList.toString());
|
|
|
+ redisUtil.set(GuanCommonConstant.GUAN_WHOLE_CURE, wholeCurveList);
|
|
|
}
|
|
|
// 增量添加
|
|
|
else {
|
|
|
List<CurveDTO> incrementWholeCurveList = getIncrementWholeCurve();
|
|
|
- List<CurveDTO> wholeCrveList = (List<CurveDTO>) redisUtil.get(GuanCommonConstant.GUAN_WHOLE_CURE);
|
|
|
+ List<CurveDTO> wholeCurveList = (List<CurveDTO>) redisUtil.get(GuanCommonConstant.GUAN_WHOLE_CURE);
|
|
|
// 将获取的增加数据增加到全程曲线的列表中
|
|
|
- if (wholeCrveList != null && wholeCrveList.size() > 0) {
|
|
|
- for (int i = 0; i < wholeCrveList.size(); i++) {
|
|
|
- String name = wholeCrveList.get(i).getName();
|
|
|
+ if (wholeCurveList != null && wholeCurveList.size() > 0) {
|
|
|
+ for (int i = 0; i < wholeCurveList.size(); i++) {
|
|
|
+ String name = wholeCurveList.get(i).getName();
|
|
|
List<CurveDTO> subCurveList = incrementWholeCurveList.stream()
|
|
|
.filter(p -> p.getName().equals(name)).collect(Collectors.toList());
|
|
|
if (subCurveList != null && subCurveList.size() > 0 &&
|
|
|
subCurveList.get(0).getSubList() != null && subCurveList.get(0).getSubList().size() > 0) {
|
|
|
- wholeCrveList.get(i).getSubList().add(subCurveList.get(0).getSubList().get(0));
|
|
|
+ wholeCurveList.get(i).getSubList().add(subCurveList.get(0).getSubList().get(0));
|
|
|
}
|
|
|
}
|
|
|
+ // 排序
|
|
|
+ curveSort(wholeCurveList);
|
|
|
}
|
|
|
else {
|
|
|
- Collections.copy(incrementWholeCurveList, wholeCrveList);
|
|
|
+ Collections.copy(incrementWholeCurveList, wholeCurveList);
|
|
|
}
|
|
|
- jsonObject.put("全程曲线", wholeCrveList.toString());
|
|
|
+ jsonObject.put("全程曲线", wholeCurveList.toString());
|
|
|
// 重新缓存全程曲线
|
|
|
- redisUtil.set(GuanCommonConstant.GUAN_WHOLE_CURE, wholeCrveList);
|
|
|
+ redisUtil.set(GuanCommonConstant.GUAN_WHOLE_CURE, wholeCurveList);
|
|
|
}
|
|
|
|
|
|
// 预制曲线在缓存中不存在,则获取预制曲线并存入缓存中,否则不做处理
|
|
@@ -1499,54 +1633,58 @@ public class WebAccessService {
|
|
|
|
|
|
// 实时曲线
|
|
|
List<CurveDTO> incrementRealtimeCurveList = getIncrementRealtimeCurve();
|
|
|
- List<CurveDTO> realtimeCrveList = null;
|
|
|
+ List<CurveDTO> realtimeCurveList = null;
|
|
|
if (redisUtil.hasKey(GuanCommonConstant.GUAN_REALTIME_CURVE)) {
|
|
|
- realtimeCrveList = (List<CurveDTO>) redisUtil.get(GuanCommonConstant.GUAN_REALTIME_CURVE);
|
|
|
+ realtimeCurveList = (List<CurveDTO>) redisUtil.get(GuanCommonConstant.GUAN_REALTIME_CURVE);
|
|
|
}
|
|
|
// 将获取的增加数据增加到实时曲线的列表中
|
|
|
- if (realtimeCrveList != null && realtimeCrveList.size() > 0) {
|
|
|
- for (int i = 0; i < realtimeCrveList.size(); i++) {
|
|
|
- String name = realtimeCrveList.get(i).getName();
|
|
|
+ if (realtimeCurveList != null && realtimeCurveList.size() > 0) {
|
|
|
+ for (int i = 0; i < realtimeCurveList.size(); i++) {
|
|
|
+ String name = realtimeCurveList.get(i).getName();
|
|
|
List<CurveDTO> subCurveList = incrementRealtimeCurveList.stream()
|
|
|
.filter(p -> p.getName().equals(name)).collect(Collectors.toList());
|
|
|
if (subCurveList != null && subCurveList.size() > 0 &&
|
|
|
subCurveList.get(0).getSubList() != null && subCurveList.get(0).getSubList().size() > 0) {
|
|
|
- realtimeCrveList.get(i).getSubList().add(subCurveList.get(0).getSubList().get(0));
|
|
|
+ realtimeCurveList.get(i).getSubList().add(subCurveList.get(0).getSubList().get(0));
|
|
|
}
|
|
|
}
|
|
|
+ // 排序
|
|
|
+ curveSort(realtimeCurveList);
|
|
|
}
|
|
|
else {
|
|
|
- Collections.copy(incrementRealtimeCurveList, realtimeCrveList);
|
|
|
+ Collections.copy(incrementRealtimeCurveList, realtimeCurveList);
|
|
|
}
|
|
|
// 重新缓存实时曲线
|
|
|
- redisUtil.set(GuanCommonConstant.GUAN_REALTIME_CURVE, realtimeCrveList);
|
|
|
+ redisUtil.set(GuanCommonConstant.GUAN_REALTIME_CURVE, realtimeCurveList);
|
|
|
// 返回增量信息
|
|
|
jsonObject.put("实时曲线", incrementRealtimeCurveList.toString());
|
|
|
|
|
|
// 全程曲线
|
|
|
List<CurveDTO> incrementWholeCurveList = getIncrementWholeCurve();
|
|
|
- List<CurveDTO> wholeCrveList = null;
|
|
|
+ List<CurveDTO> wholeCurveList = null;
|
|
|
if (redisUtil.hasKey(GuanCommonConstant.GUAN_WHOLE_CURE)) {
|
|
|
- wholeCrveList = (List<CurveDTO>) redisUtil.get(GuanCommonConstant.GUAN_WHOLE_CURE);
|
|
|
+ wholeCurveList = (List<CurveDTO>) redisUtil.get(GuanCommonConstant.GUAN_WHOLE_CURE);
|
|
|
}
|
|
|
// 将获取的增加数据增加到全程曲线的列表中
|
|
|
- if (wholeCrveList != null && wholeCrveList.size() > 0) {
|
|
|
- for (int i = 0; i < wholeCrveList.size(); i++) {
|
|
|
- String name = wholeCrveList.get(i).getName();
|
|
|
+ if (wholeCurveList != null && wholeCurveList.size() > 0) {
|
|
|
+ for (int i = 0; i < wholeCurveList.size(); i++) {
|
|
|
+ String name = wholeCurveList.get(i).getName();
|
|
|
List<CurveDTO> subCurveList = incrementWholeCurveList.stream()
|
|
|
.filter(p -> p.getName().equals(name)).collect(Collectors.toList());
|
|
|
if (subCurveList != null && subCurveList.size() > 0 &&
|
|
|
subCurveList.get(0).getSubList() != null && subCurveList.get(0).getSubList().size() > 0) {
|
|
|
- wholeCrveList.get(i).getSubList().add(subCurveList.get(0).getSubList().get(0));
|
|
|
+ wholeCurveList.get(i).getSubList().add(subCurveList.get(0).getSubList().get(0));
|
|
|
}
|
|
|
}
|
|
|
+ // 排序
|
|
|
+ curveSort(wholeCurveList);
|
|
|
}
|
|
|
else {
|
|
|
- Collections.copy(incrementWholeCurveList, wholeCrveList);
|
|
|
+ Collections.copy(incrementWholeCurveList, wholeCurveList);
|
|
|
}
|
|
|
// 返回增量信息
|
|
|
- redisUtil.set(GuanCommonConstant.GUAN_WHOLE_CURE, wholeCrveList);
|
|
|
- jsonObject.put("全程曲线", wholeCrveList.toString());
|
|
|
+ redisUtil.set(GuanCommonConstant.GUAN_WHOLE_CURE, wholeCurveList);
|
|
|
+ jsonObject.put("全程曲线", incrementWholeCurveList.toString());
|
|
|
|
|
|
log.info(String.format(" 获取设备曲线信息(增量)! 结束时间 ↑↑↑↑↑↑↑↑↑↑:" + DateUtils.getTimestamp()));
|
|
|
|
|
@@ -1578,14 +1716,14 @@ public class WebAccessService {
|
|
|
|
|
|
// 重新获取实时曲线
|
|
|
if (!redisUtil.hasKey(GuanCommonConstant.GUAN_REALTIME_CURVE) || isRefresh) {
|
|
|
- List<CurveDTO> realtimeCrveList = getRealtimeCurve(null);
|
|
|
- redisUtil.set(GuanCommonConstant.GUAN_REALTIME_CURVE, realtimeCrveList);
|
|
|
+ List<CurveDTO> realtimeCurveList = getRealtimeCurve(null);
|
|
|
+ redisUtil.set(GuanCommonConstant.GUAN_REALTIME_CURVE, realtimeCurveList);
|
|
|
}
|
|
|
|
|
|
// 重新获取全程曲线
|
|
|
if (!redisUtil.hasKey(GuanCommonConstant.GUAN_WHOLE_CURE) || isRefresh) {
|
|
|
- List<CurveDTO> wholeCrveList = getWholeCurve(null);
|
|
|
- redisUtil.set(GuanCommonConstant.GUAN_WHOLE_CURE, wholeCrveList);
|
|
|
+ List<CurveDTO> wholeCurveList = getWholeCurve(null);
|
|
|
+ redisUtil.set(GuanCommonConstant.GUAN_WHOLE_CURE, wholeCurveList);
|
|
|
}
|
|
|
|
|
|
// 重新获取当前时间之前24小时的报警信息
|
|
@@ -1611,20 +1749,20 @@ public class WebAccessService {
|
|
|
|
|
|
// 实时曲线 从redis中获取
|
|
|
if (redisUtil.hasKey(GuanCommonConstant.GUAN_REALTIME_CURVE)) {
|
|
|
- List<CurveDTO> realtimeCrveList = (List<CurveDTO>) redisUtil.get(GuanCommonConstant.GUAN_REALTIME_CURVE);
|
|
|
- jsonObject.put("实时曲线", realtimeCrveList.toString());
|
|
|
+ List<CurveDTO> realtimeCurveList = (List<CurveDTO>) redisUtil.get(GuanCommonConstant.GUAN_REALTIME_CURVE);
|
|
|
+ jsonObject.put("实时曲线", realtimeCurveList.toString());
|
|
|
}
|
|
|
|
|
|
// 全程曲线 从redis中获取
|
|
|
if (redisUtil.hasKey(GuanCommonConstant.GUAN_WHOLE_CURE)) {
|
|
|
- List<CurveDTO> wholeCrveList = (List<CurveDTO>) redisUtil.get(GuanCommonConstant.GUAN_WHOLE_CURE);
|
|
|
- jsonObject.put("全程曲线", wholeCrveList.toString());
|
|
|
+ List<CurveDTO> wholeCurveList = (List<CurveDTO>) redisUtil.get(GuanCommonConstant.GUAN_WHOLE_CURE);
|
|
|
+ jsonObject.put("全程曲线", wholeCurveList.toString());
|
|
|
}
|
|
|
|
|
|
// 预制曲线 从redis中获取
|
|
|
if (redisUtil.hasKey(GuanCommonConstant.GUAN_PREPARE_CURVE)) {
|
|
|
- List<String> duans = (List<String>) redisUtil.get(GuanCommonConstant.GUAN_PREPARE_CURVE);
|
|
|
- List<CirculateDTO> yzqxList = (List<CirculateDTO>) redisUtil.get(GuanCommonConstant.GUAN_PREPARE_CURVE_SECTION);
|
|
|
+ List<CirculateDTO> yzqxList = (List<CirculateDTO>) redisUtil.get(GuanCommonConstant.GUAN_PREPARE_CURVE);
|
|
|
+ List<String> duans = (List<String>) redisUtil.get(GuanCommonConstant.GUAN_PREPARE_CURVE_SECTION);
|
|
|
jsonObject.put("预制曲线", yzqxList);
|
|
|
jsonObject.put("预制曲线线段", duans);
|
|
|
}
|
|
@@ -1664,4 +1802,23 @@ public class WebAccessService {
|
|
|
return url;
|
|
|
}
|
|
|
// endregion
|
|
|
+
|
|
|
+ //region <<曲线排序>>
|
|
|
+ /**
|
|
|
+ * 曲线排序
|
|
|
+ * @param curveList
|
|
|
+ */
|
|
|
+ public void curveSort(List<CurveDTO> curveList) {
|
|
|
+ if (curveList == null || curveList.size() < 1) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for (int i = 0; i < curveList.size(); i++) {
|
|
|
+ if (curveList.get(i).getSubList() == null || curveList.get(i).getSubList().size() < 1) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ curveList.get(i).getSubList().sort((t1, t2) -> t1.getLogtime().compareTo(t2.getLogtime()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
}
|