|
@@ -555,7 +555,7 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
|
|
|
public List<DeviceWaterSupply> deviceWaterSupplie() {
|
|
|
LoginUser loginUser = UserUtil.getCurrentUser();
|
|
|
String tenantId = loginUser.getTenantId();
|
|
|
- List<DeviceWaterSupply> deviceWaterSupplies = monitorDataReportMapper.getDeviceWaterFor30Day(tenantId);
|
|
|
+ List<DeviceWaterSupply> deviceWaterSupplies = monitorDataReportMapper.getDeviceWaterFor30Day(tenantId,loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
|
|
|
LocalDate localDate = LocalDate.now();
|
|
|
|
|
@@ -587,14 +587,14 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
|
|
|
public DeviceWaterAmount deviceWaterAmount() {
|
|
|
LoginUser loginUser = UserUtil.getCurrentUser();
|
|
|
String tenantId = loginUser.getTenantId();
|
|
|
- Map<Integer, MonitorDataEntity> MonitorDataMap = getIntegerMonitorDataEntityMap(tenantId);
|
|
|
+ Map<Integer, MonitorDataEntity> MonitorDataMap = getIntegerMonitorDataEntityMap(loginUser);
|
|
|
|
|
|
LocalDate localDate = LocalDate.now();
|
|
|
|
|
|
DeviceWaterAmount deviceWaterAmount = new DeviceWaterAmount();
|
|
|
//14瞬时流量
|
|
|
- List<DeviceWaterDetail> deviceSupplyWaterDetailsForNow = monitorDataReportMapper.getDeviceWaterDetailForNow("水厂", 14, tenantId);
|
|
|
- List<DeviceWaterDetail> deviceIntakeWaterDetailsForNow = monitorDataReportMapper.getDeviceWaterDetailForNow("水源", 14, tenantId);
|
|
|
+ List<DeviceWaterDetail> deviceSupplyWaterDetailsForNow = monitorDataReportMapper.getDeviceWaterDetailForNow("水厂", 14, tenantId,loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
+ List<DeviceWaterDetail> deviceIntakeWaterDetailsForNow = monitorDataReportMapper.getDeviceWaterDetailForNow("水源", 14, tenantId,loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
|
|
|
//水厂获取实时流量并计算出当天流量
|
|
|
for (DeviceWaterDetail deviceWaterDetail : deviceSupplyWaterDetailsForNow) {
|
|
@@ -623,8 +623,8 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
|
|
|
}
|
|
|
|
|
|
//3供水 4取水
|
|
|
- List<DeviceWaterDetail> deviceSupplyWaterDetailsForDay = monitorDataReportMapper.getDeviceWaterDetailForDay("水厂", 3, tenantId, localDate.getYear(), localDate.getMonthValue(), localDate.getDayOfMonth());
|
|
|
- List<DeviceWaterDetail> deviceIntakeWaterDetailsForDay = monitorDataReportMapper.getDeviceWaterDetailForDay("水源", 4, tenantId, localDate.getYear(), localDate.getMonthValue(), localDate.getDayOfMonth());
|
|
|
+ List<DeviceWaterDetail> deviceSupplyWaterDetailsForDay = monitorDataReportMapper.getDeviceWaterDetailForDay("水厂", 3, tenantId, localDate.getYear(), localDate.getMonthValue(), localDate.getDayOfMonth(),loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
+ List<DeviceWaterDetail> deviceIntakeWaterDetailsForDay = monitorDataReportMapper.getDeviceWaterDetailForDay("水源", 4, tenantId, localDate.getYear(), localDate.getMonthValue(), localDate.getDayOfMonth(),loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
|
|
|
//水厂获取实时流量并计算出当天流量
|
|
|
for (DeviceWaterDetail deviceWaterDetail : deviceSupplyWaterDetailsForDay) {
|
|
@@ -652,8 +652,8 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- BigDecimal waterSupplyAmountForMonth = monitorDataReportMapper.getDeviceWaterDetailForMonth("水厂", 3, tenantId, localDate.getYear(), localDate.getMonthValue());
|
|
|
- BigDecimal waterSupplyAmountForYear = monitorDataReportMapper.getDeviceWaterDetailForYear("水厂", 3, tenantId, localDate.getYear());
|
|
|
+ BigDecimal waterSupplyAmountForMonth = monitorDataReportMapper.getDeviceWaterDetailForMonth("水厂", 3, tenantId, localDate.getYear(), localDate.getMonthValue(),loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
+ BigDecimal waterSupplyAmountForYear = monitorDataReportMapper.getDeviceWaterDetailForYear("水厂", 3, tenantId, localDate.getYear(),loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
if (waterSupplyAmountForMonth == null) {
|
|
|
waterSupplyAmountForMonth = BigDecimal.ZERO;
|
|
|
}
|
|
@@ -674,8 +674,8 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- BigDecimal waterIntakeAmountForMonth = monitorDataReportMapper.getDeviceWaterDetailForMonth("水源", 4, tenantId, localDate.getYear(), localDate.getMonthValue());
|
|
|
- BigDecimal waterIntakeAmountForYear = monitorDataReportMapper.getDeviceWaterDetailForYear("水源", 4, tenantId, localDate.getYear());
|
|
|
+ BigDecimal waterIntakeAmountForMonth = monitorDataReportMapper.getDeviceWaterDetailForMonth("水源", 4, tenantId, localDate.getYear(), localDate.getMonthValue(),loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
+ BigDecimal waterIntakeAmountForYear = monitorDataReportMapper.getDeviceWaterDetailForYear("水源", 4, tenantId, localDate.getYear(),loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
if (waterIntakeAmountForMonth == null) {
|
|
|
waterIntakeAmountForMonth = BigDecimal.ZERO;
|
|
|
}
|
|
@@ -703,7 +703,7 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
|
|
|
public List<SceneAlarm> sceneAlarms() {
|
|
|
LoginUser loginUser = UserUtil.getCurrentUser();
|
|
|
String tenantId = loginUser.getTenantId();
|
|
|
- return monitorDataReportMapper.getAlarmInfoForScene(tenantId);
|
|
|
+ return monitorDataReportMapper.getAlarmInfoForScene(tenantId,loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
}
|
|
|
|
|
|
//管网水质(水质 -1、8PH、10浊度、11余氯)
|
|
@@ -714,13 +714,18 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
|
|
|
|
|
|
List<SceneNormalRate> SceneNormalRates = new ArrayList<>();
|
|
|
//水质
|
|
|
- SceneNormalRate sceneNormalRate1 = monitorDataReportMapper.getQualificationForScene(tenantId, -1);
|
|
|
+ SceneNormalRate sceneNormalRate1 = monitorDataReportMapper.getQualificationForScene(tenantId, -1,loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
+ sceneNormalRate1.setTypeName("水质");
|
|
|
//PH
|
|
|
- SceneNormalRate sceneNormalRate2 = monitorDataReportMapper.getQualificationForScene(tenantId, 8);
|
|
|
+ SceneNormalRate sceneNormalRate2 = monitorDataReportMapper.getQualificationForScene(tenantId, 8,loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
+ sceneNormalRate1.setTypeName("PH");
|
|
|
//浊度
|
|
|
- SceneNormalRate sceneNormalRate3 = monitorDataReportMapper.getQualificationForScene(tenantId, 10);
|
|
|
+ SceneNormalRate sceneNormalRate3 = monitorDataReportMapper.getQualificationForScene(tenantId, 10,loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
+ sceneNormalRate1.setTypeName("浊度");
|
|
|
//余氯
|
|
|
- SceneNormalRate sceneNormalRate4 = monitorDataReportMapper.getQualificationForScene(tenantId, 11);
|
|
|
+ SceneNormalRate sceneNormalRate4 = monitorDataReportMapper.getQualificationForScene(tenantId, 11,loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
+ sceneNormalRate1.setTypeName("余氯");
|
|
|
+
|
|
|
SceneNormalRates.add(sceneNormalRate1);
|
|
|
SceneNormalRates.add(sceneNormalRate2);
|
|
|
SceneNormalRates.add(sceneNormalRate3);
|
|
@@ -735,9 +740,9 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
|
|
|
|
|
|
LoginUser loginUser = UserUtil.getCurrentUser();
|
|
|
String tenantId = loginUser.getTenantId();
|
|
|
- Map<Integer, MonitorDataEntity> MonitorDataMap = getIntegerMonitorDataEntityMap(tenantId);
|
|
|
+ Map<Integer, MonitorDataEntity> MonitorDataMap = getIntegerMonitorDataEntityMap(loginUser);
|
|
|
|
|
|
- List<DeviceWaterDetail> devicePressureWaterDetailsForNow = monitorDataReportMapper.getDeviceWaterDetailForNow(sceneType, 13, tenantId);
|
|
|
+ List<DeviceWaterDetail> devicePressureWaterDetailsForNow = monitorDataReportMapper.getDeviceWaterDetailForNow(sceneType, 13, tenantId,loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
|
|
|
List<SceneWaterAmount> sceneWaterPressureAmounts = new ArrayList<>();
|
|
|
|
|
@@ -798,7 +803,13 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
|
|
|
sceneWaterPressure.setMinPressureSceneName(amountMin.getSceneName());
|
|
|
sceneWaterPressure.setMinPressureValue(amountMin.getWaterAmount());
|
|
|
}
|
|
|
-
|
|
|
+ List<Integer> pressureLevels = new ArrayList<>();
|
|
|
+ pressureLevels.add(sceneWaterPressure.getPressureLevel1());
|
|
|
+ pressureLevels.add(sceneWaterPressure.getPressureLevel2());
|
|
|
+ pressureLevels.add(sceneWaterPressure.getPressureLevel3());
|
|
|
+ pressureLevels.add(sceneWaterPressure.getPressureLevel4());
|
|
|
+ pressureLevels.add(sceneWaterPressure.getPressureLevel5());
|
|
|
+ sceneWaterPressure.setPressureLevels(pressureLevels);
|
|
|
return sceneWaterPressure;
|
|
|
}
|
|
|
|
|
@@ -808,10 +819,10 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
|
|
|
LoginUser loginUser = UserUtil.getCurrentUser();
|
|
|
String tenantId = loginUser.getTenantId();
|
|
|
//查询设备数据
|
|
|
- Map<Integer, MonitorDataEntity> MonitorDataMap = getIntegerMonitorDataEntityMap(tenantId);
|
|
|
+ Map<Integer, MonitorDataEntity> MonitorDataMap = getIntegerMonitorDataEntityMap(loginUser);
|
|
|
|
|
|
LocalDate localDate = LocalDate.now();
|
|
|
- List<DeviceWaterDetail> deviceSupplyWaterDetailsForDay = monitorDataReportMapper.getDeviceWaterDetailForDay("水厂", 3, tenantId, localDate.getYear(), localDate.getMonthValue(), localDate.getDayOfMonth());
|
|
|
+ List<DeviceWaterDetail> deviceSupplyWaterDetailsForDay = monitorDataReportMapper.getDeviceWaterDetailForDay("水厂", 3, tenantId, localDate.getYear(), localDate.getMonthValue(), localDate.getDayOfMonth(),loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
|
|
|
List<SceneWaterAmount> sceneWaterAmounts = new ArrayList<>();
|
|
|
deviceSupplyWaterDetailsForDay.stream()
|
|
@@ -825,7 +836,9 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
|
|
|
MonitorDataEntity monitorDataEntity = MonitorDataMap.get(deviceWaterDetail.getDeviceId());
|
|
|
if (monitorDataEntity != null && monitorDataEntity.getDataValues() != null && monitorDataEntity.getDataValues().size() > 0) {
|
|
|
monitorDataEntity.getDataValues().stream()
|
|
|
- .filter(monitorDataValueEntity -> monitorDataValueEntity.getAttributeId().equals(deviceWaterDetail.getAttributeId()))
|
|
|
+ .filter(monitorDataValueEntity ->
|
|
|
+ monitorDataValueEntity.getAttributeId().equals(deviceWaterDetail.getAttributeId().longValue())
|
|
|
+ )
|
|
|
.forEach(monitorDataValueEntity ->
|
|
|
//累计当天流量
|
|
|
sceneWaterAmount.setWaterAmount(sceneWaterAmount.getWaterAmount().add(
|
|
@@ -847,7 +860,7 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
|
|
|
LoginUser loginUser = UserUtil.getCurrentUser();
|
|
|
String tenantId = loginUser.getTenantId();
|
|
|
|
|
|
- List<WaterSupplyData> waterSupplyDatas = monitorDataReportMapper.getWaterSupplyData(tenantId,sceneTypeName);
|
|
|
+ List<WaterSupplyData> waterSupplyDatas = monitorDataReportMapper.getWaterSupplyData(tenantId,sceneTypeName,loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
List<WaterSupplyChart> waterSupplyCharts = new ArrayList<>();
|
|
|
waterSupplyDatas.stream()
|
|
|
.collect(Collectors.groupingBy(item -> item.getYear() + "-" + item.getMonth() + "-" + item.getDay()))
|
|
@@ -880,9 +893,10 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
|
|
|
}
|
|
|
|
|
|
//查询设备实时数据
|
|
|
- private Map<Integer, MonitorDataEntity> getIntegerMonitorDataEntityMap(String tenantId) {
|
|
|
+ private Map<Integer, MonitorDataEntity> getIntegerMonitorDataEntityMap(LoginUser loginUser) {
|
|
|
+
|
|
|
//查询设备编码
|
|
|
- List<String> deviceCodes = monitorDataReportMapper.selectDeviceCode(tenantId);
|
|
|
+ List<String> deviceCodes = monitorDataReportMapper.selectDeviceCode(loginUser.getTenantId(),loginUser.getType(),loginUser.getPermissonType(),loginUser.getProgramItemList());
|
|
|
//根据编码获取redis中的实时数据
|
|
|
List<MonitorDataEntity> monitorDataEntities = new ArrayList<>();
|
|
|
for (String deviceCode : deviceCodes) {
|
|
@@ -895,4 +909,5 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
|
|
|
//将获取到 实时数据转换为map,方便匹配数据deviceId
|
|
|
return monitorDataEntities.stream().collect(Collectors.toMap(MonitorDataEntity::getDeviceId, a -> a, (k1, k2) -> k1));
|
|
|
}
|
|
|
+
|
|
|
}
|