Commit 4f5e54a7 authored by 高建强's avatar 高建强

item:稳压泵冗余业务优化

parent 38801459
...@@ -32,46 +32,43 @@ public interface IPressurePumpService { ...@@ -32,46 +32,43 @@ public interface IPressurePumpService {
/** /**
* 获取指标配置JSON信息集合 * 获取指标配置JSON信息集合
* @return * @param code
*/ */
List<Map> getNameKeyInfoList(String code); List<Map> getNameKeyInfoList(String code);
/** /**
* 获取所有稳压泵最近一次启停间隔,min * 获取所有稳压泵最近一次启停间隔,min
* @return * @param redisDataList
* @param iotDataList
* @param nowStrLong
* @param bizOrgCode
*/ */
long getAllPressurePumpStartStopInterval(List<IotDataVO> redisDataList, List<Map<String, String>> iotDataList, String nowStrLong, String bizOrgCode); long getAllPressurePumpStartStopInterval(List<IotDataVO> redisDataList, List<Map<String, String>> iotDataList, String nowStrLong, String bizOrgCode);
/** /**
* 获取稳压泵一定时间内启动频率或次数 * 获取稳压泵一定时间内启动频率或次数
*
* @param hour * @param hour
* @param dateNow * @param dateNow
* @return
*/ */
int getAllPressurePumpStartFrequency(double hour, Date dateNow); int getAllPressurePumpStartFrequency(double hour, Date dateNow);
/** /**
* 获取稳压泵最近一次启停时长,min * 获取稳压泵最近一次启停时长,min
*
* @param redisDataList * @param redisDataList
* @param iotDataList * @param iotDataList
* @param nowStrLong * @param nowStrLong
* @param bizOrgCode * @param bizOrgCode
* @return
*/ */
long getAllPressurePumpStartStopDuration(List<IotDataVO> redisDataList, List<Map<String, String>> iotDataList, String nowStrLong, String bizOrgCode); long getAllPressurePumpStartStopDuration(List<IotDataVO> redisDataList, List<Map<String, String>> iotDataList, String nowStrLong, String bizOrgCode);
/** /**
* 获取稳压泵指定启泵前 minutes 分钟,管网压力差绝对值 * 获取稳压泵指定启泵前 minutes 分钟,管网压力差绝对值
*
* @param redisDataList * @param redisDataList
* @param redisDataPipeList * @param redisDataPipeList
* @param iotDataList * @param iotDataList
* @param iotDataPipeList * @param iotDataPipeList
* @param nowStrLong * @param nowStrLong
* @param minutes * @param minutes
* @return
*/ */
double getAllPressurePumpPipePressureDiff(List<IotDataVO> redisDataList, List<IotDataVO> redisDataPipeList, List<Map<String, String>> iotDataList, List<Map<String, String>> iotDataPipeList, String nowStrLong, String minutes); double getAllPressurePumpPipePressureDiff(List<IotDataVO> redisDataList, List<IotDataVO> redisDataPipeList, List<Map<String, String>> iotDataList, List<Map<String, String>> iotDataPipeList, String nowStrLong, String minutes);
...@@ -82,7 +79,6 @@ public interface IPressurePumpService { ...@@ -82,7 +79,6 @@ public interface IPressurePumpService {
* @param deviceName * @param deviceName
* @param key * @param key
* @param fieldKey * @param fieldKey
* @return
*/ */
List<Map<String, String>> getIotTopSingleField(String top, String productKey, String deviceName, String key, String fieldKey); List<Map<String, String>> getIotTopSingleField(String top, String productKey, String deviceName, String key, String fieldKey);
...@@ -93,7 +89,6 @@ public interface IPressurePumpService { ...@@ -93,7 +89,6 @@ public interface IPressurePumpService {
* @param iotCode * @param iotCode
* @param startDate * @param startDate
* @param endDate * @param endDate
* @return
*/ */
List<IotDataVO> getDataToRedisByDateBetween(String infoCode, String nameKey, String iotCode, Date startDate, Date endDate); List<IotDataVO> getDataToRedisByDateBetween(String infoCode, String nameKey, String iotCode, Date startDate, Date endDate);
...@@ -103,9 +98,8 @@ public interface IPressurePumpService { ...@@ -103,9 +98,8 @@ public interface IPressurePumpService {
* @param endTime * @param endTime
* @param prefix * @param prefix
* @param suffix * @param suffix
* @param o * @param key
* @param pressurePumpStart * @param fieldKey
* @return
*/ */
List<Map<String, String>> getIotCommonListData(String startTime, String endTime, String prefix, String suffix, String key, String fieldKey); List<Map<String, String>> getIotCommonListData(String startTime, String endTime, String prefix, String suffix, String key, String fieldKey);
......
...@@ -164,8 +164,8 @@ public class PressurePumpServiceImpl implements IPressurePumpService { ...@@ -164,8 +164,8 @@ public class PressurePumpServiceImpl implements IPressurePumpService {
if (CollectionUtils.isNotEmpty(iotDataList)) { if (CollectionUtils.isNotEmpty(iotDataList)) {
String value = iotDataList.get(0).get(pressurePumpStart); String value = iotDataList.get(0).get(pressurePumpStart);
String createdTime = iotDataList.get(0).get(PressurePumpRelateEnum.CREATED_TIME.getValue()); String createdTime = iotDataList.get(0).get(PressurePumpRelateEnum.CREATED_TIME.getValue());
List<Map<String, String>> falseDataList = iotDataList.stream().filter(x -> x.containsKey(PressurePumpRelateEnum.CREATED_TIME.getValue()) && "false".equalsIgnoreCase(x.get(pressurePumpStart))).collect(Collectors.toList()); List<Map<String, String>> falseDataList = getIotDataFilterList(iotDataList, PressurePumpRelateEnum.IOT_INDEX_VALUE_FALSE.getValue());
List<Map<String, String>> trueDataList = iotDataList.stream().filter(x -> x.containsKey(PressurePumpRelateEnum.CREATED_TIME.getValue()) && "true".equalsIgnoreCase(x.get(pressurePumpStart))).collect(Collectors.toList()); List<Map<String, String>> trueDataList = getIotDataFilterList(iotDataList, PressurePumpRelateEnum.IOT_INDEX_VALUE_TRUE.getValue());
if (PressurePumpRelateEnum.IOT_INDEX_VALUE_TRUE.getValue().equalsIgnoreCase(value)) { if (PressurePumpRelateEnum.IOT_INDEX_VALUE_TRUE.getValue().equalsIgnoreCase(value)) {
intervalTime1 = createdTime; intervalTime1 = createdTime;
if (CollectionUtils.isNotEmpty(falseDataList)) { if (CollectionUtils.isNotEmpty(falseDataList)) {
...@@ -194,7 +194,7 @@ public class PressurePumpServiceImpl implements IPressurePumpService { ...@@ -194,7 +194,7 @@ public class PressurePumpServiceImpl implements IPressurePumpService {
} }
private List<Map<String, String>> getIotDataFilterList(List<Map<String, String>> iotDataList, String value) { private List<Map<String, String>> getIotDataFilterList(List<Map<String, String>> iotDataList, String value) {
return iotDataList.stream().filter(x -> value.equalsIgnoreCase(x.get(pressurePumpStart))).collect(Collectors.toList()); return iotDataList.stream().filter(x -> x.containsKey(PressurePumpRelateEnum.CREATED_TIME.getValue()) && value.equalsIgnoreCase(x.get(pressurePumpStart))).collect(Collectors.toList());
} }
private List<IotDataVO> getRedisDataFilterList(List<IotDataVO> redisDataList, String value, Date beforeDate) { private List<IotDataVO> getRedisDataFilterList(List<IotDataVO> redisDataList, String value, Date beforeDate) {
...@@ -206,9 +206,9 @@ public class PressurePumpServiceImpl implements IPressurePumpService { ...@@ -206,9 +206,9 @@ public class PressurePumpServiceImpl implements IPressurePumpService {
private List<Map<String, String>> getIotDataFilterList(List<Map<String, String>> iotDataList, String value, Date beforeDate) { private List<Map<String, String>> getIotDataFilterList(List<Map<String, String>> iotDataList, String value, Date beforeDate) {
if (beforeDate != null) { if (beforeDate != null) {
return iotDataList.stream().filter(x -> DateUtils.dateCompare(DateUtils.longStr2Date(x.get(PressurePumpRelateEnum.CREATED_TIME.getValue())), beforeDate) >= 0 && value.equalsIgnoreCase(x.get(pressurePumpPipePressure))).collect(Collectors.toList()); return iotDataList.stream().filter(x -> x.containsKey(PressurePumpRelateEnum.CREATED_TIME.getValue()) && DateUtils.dateCompare(DateUtils.longStr2Date(x.get(PressurePumpRelateEnum.CREATED_TIME.getValue())), beforeDate) >= 0 && value.equalsIgnoreCase(x.get(pressurePumpPipePressure))).collect(Collectors.toList());
} }
return iotDataList.stream().filter(x -> value.equalsIgnoreCase(x.get(pressurePumpPipePressure))).collect(Collectors.toList()); return iotDataList.stream().filter(x -> x.containsKey(PressurePumpRelateEnum.CREATED_TIME.getValue()) && value.equalsIgnoreCase(x.get(pressurePumpPipePressure))).collect(Collectors.toList());
} }
@Override @Override
...@@ -257,8 +257,8 @@ public class PressurePumpServiceImpl implements IPressurePumpService { ...@@ -257,8 +257,8 @@ public class PressurePumpServiceImpl implements IPressurePumpService {
String durationTime = nowStrLong; String durationTime = nowStrLong;
if (CollectionUtils.isNotEmpty(iotDataList)) { if (CollectionUtils.isNotEmpty(iotDataList)) {
String value = iotDataList.get(0).get(pressurePumpStart); String value = iotDataList.get(0).get(pressurePumpStart);
List<Map<String, String>> falseDataList = iotDataList.stream().filter(x -> x.containsKey(PressurePumpRelateEnum.CREATED_TIME.getValue()) && "false".equalsIgnoreCase(x.get(pressurePumpStart))).collect(Collectors.toList()); List<Map<String, String>> falseDataList = getIotDataFilterList(iotDataList, PressurePumpRelateEnum.IOT_INDEX_VALUE_FALSE.getValue());
List<Map<String, String>> trueDataList = iotDataList.stream().filter(x -> x.containsKey(PressurePumpRelateEnum.CREATED_TIME.getValue()) && "true".equalsIgnoreCase(x.get(pressurePumpStart))).collect(Collectors.toList()); List<Map<String, String>> trueDataList = getIotDataFilterList(iotDataList, PressurePumpRelateEnum.IOT_INDEX_VALUE_TRUE.getValue());
if (PressurePumpRelateEnum.IOT_INDEX_VALUE_TRUE.getValue().equalsIgnoreCase(value)) { if (PressurePumpRelateEnum.IOT_INDEX_VALUE_TRUE.getValue().equalsIgnoreCase(value)) {
durationTime = iotDataList.get(0).get(PressurePumpRelateEnum.CREATED_TIME.getValue()); durationTime = iotDataList.get(0).get(PressurePumpRelateEnum.CREATED_TIME.getValue());
} else { } else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment