|
@@ -18,6 +18,7 @@ import org.springframework.stereotype.Controller;
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.ui.ModelMap;
|
|
import org.springframework.ui.ModelMap;
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -54,7 +55,7 @@ public class MonitorInfoController {
|
|
@ApiOperation(value = "按场景ID查询供水量出水量耗药量耗电量")
|
|
@ApiOperation(value = "按场景ID查询供水量出水量耗药量耗电量")
|
|
@RequestMapping(value = "/findTotalUsageBySceneId",method = RequestMethod.GET)
|
|
@RequestMapping(value = "/findTotalUsageBySceneId",method = RequestMethod.GET)
|
|
@ResponseBody
|
|
@ResponseBody
|
|
- public AjaxMessage<SceneUsageDto> findTotalUsageBySceneId(@ApiParam(value = "场景ID", required = true) @RequestParam Long id) {
|
|
|
|
|
|
+ public AjaxMessage<SceneUsageDto> findTotalUsageBySceneId(@ApiParam(value = "场景ID", required = true) @RequestParam Long id,@ApiParam(value = "类型(0综合调度 1综合展示)", required = false) @RequestParam(required = false) Integer... type) {
|
|
SceneUsageDto sceneUsageDto = new SceneUsageDto();
|
|
SceneUsageDto sceneUsageDto = new SceneUsageDto();
|
|
//查询场景下的所有设备信息
|
|
//查询场景下的所有设备信息
|
|
List<DeviceDto> devices = new ArrayList<>();
|
|
List<DeviceDto> devices = new ArrayList<>();
|
|
@@ -65,7 +66,6 @@ public class MonitorInfoController {
|
|
devices.addAll(deviceService.selectList(deviceDto));
|
|
devices.addAll(deviceService.selectList(deviceDto));
|
|
//取前一个小时的时间
|
|
//取前一个小时的时间
|
|
LocalDateTime dateTime = LocalDateTime.now().plusDays(-1);
|
|
LocalDateTime dateTime = LocalDateTime.now().plusDays(-1);
|
|
- //LocalDateTime dateTime = LocalDateTime.now();
|
|
|
|
for (DeviceDto item : devices) {
|
|
for (DeviceDto item : devices) {
|
|
//设备的几个参数值
|
|
//设备的几个参数值
|
|
SceneDeviceAttributeDto sceneDeviceAttributeDto = new SceneDeviceAttributeDto();
|
|
SceneDeviceAttributeDto sceneDeviceAttributeDto = new SceneDeviceAttributeDto();
|
|
@@ -88,44 +88,56 @@ public class MonitorInfoController {
|
|
}
|
|
}
|
|
for (SceneDeviceAttributeDto itemAttribute : sceneDeviceAttributeDtos) {
|
|
for (SceneDeviceAttributeDto itemAttribute : sceneDeviceAttributeDtos) {
|
|
Double attributeDiffValue = 0d;
|
|
Double attributeDiffValue = 0d;
|
|
- if(!map.containsKey(itemAttribute.getAttributeId())) {
|
|
|
|
|
|
+ if (!map.containsKey(itemAttribute.getAttributeId())) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
if (map.get(itemAttribute.getAttributeId()).getDataValue() != null && itemAttribute.getLatestValue() != null) {
|
|
if (map.get(itemAttribute.getAttributeId()).getDataValue() != null && itemAttribute.getLatestValue() != null) {
|
|
attributeDiffValue = map.get(itemAttribute.getAttributeId()).getDataValue() - itemAttribute.getLatestValue();
|
|
attributeDiffValue = map.get(itemAttribute.getAttributeId()).getDataValue() - itemAttribute.getLatestValue();
|
|
} else if (map.get(itemAttribute.getAttributeId()).getDataValue() != null && itemAttribute.getLatestValue() == null) {
|
|
} else if (map.get(itemAttribute.getAttributeId()).getDataValue() != null && itemAttribute.getLatestValue() == null) {
|
|
- attributeDiffValue = map.get(itemAttribute.getAttributeId()).getDataValue();
|
|
|
|
|
|
+ attributeDiffValue = map.get(itemAttribute.getAttributeId()).getDataValue();
|
|
}
|
|
}
|
|
switch (itemAttribute.getAttributeType()) {
|
|
switch (itemAttribute.getAttributeType()) {
|
|
case "3":
|
|
case "3":
|
|
- sceneUsageDto.setYieldWaterUsage(sceneUsageDto.getYieldWaterUsage() != null ? (double) Math.round((sceneUsageDto.getYieldWaterUsage() + attributeDiffValue)*1000)/1000 : (double) Math.round((attributeDiffValue)*1000)/1000 );
|
|
|
|
|
|
+ sceneUsageDto.setYieldWaterUsage(sceneUsageDto.getYieldWaterUsage() != null ? (double) Math.round((sceneUsageDto.getYieldWaterUsage() + attributeDiffValue) * 1000) / 1000 : (double) Math.round((attributeDiffValue) * 1000) / 1000);
|
|
break;
|
|
break;
|
|
case "4":
|
|
case "4":
|
|
- sceneUsageDto.setIntakeWaterUsage(sceneUsageDto.getIntakeWaterUsage() != null ? (double) Math.round((sceneUsageDto.getIntakeWaterUsage() + attributeDiffValue )*1000)/1000 : (double) Math.round((attributeDiffValue)*1000)/1000 );
|
|
|
|
|
|
+ sceneUsageDto.setIntakeWaterUsage(sceneUsageDto.getIntakeWaterUsage() != null ? (double) Math.round((sceneUsageDto.getIntakeWaterUsage() + attributeDiffValue) * 1000) / 1000 : (double) Math.round((attributeDiffValue) * 1000) / 1000);
|
|
break;
|
|
break;
|
|
case "5":
|
|
case "5":
|
|
- sceneUsageDto.setPowerUsage(sceneUsageDto.getPowerUsage() != null ? (double) Math.round((sceneUsageDto.getPowerUsage() + attributeDiffValue)*1000)/1000 : (double) Math.round((attributeDiffValue)*1000)/1000 );
|
|
|
|
|
|
+ sceneUsageDto.setPowerUsage(sceneUsageDto.getPowerUsage() != null ? (double) Math.round((sceneUsageDto.getPowerUsage() + attributeDiffValue) * 1000) / 1000 : (double) Math.round((attributeDiffValue) * 1000) / 1000);
|
|
break;
|
|
break;
|
|
case "6":
|
|
case "6":
|
|
- sceneUsageDto.setDrugUsage(sceneUsageDto.getDrugUsage() != null ? (double) Math.round((sceneUsageDto.getDrugUsage() + attributeDiffValue)*1000)/1000 : (double) Math.round((attributeDiffValue)*1000)/1000 );
|
|
|
|
|
|
+ sceneUsageDto.setDrugUsage(sceneUsageDto.getDrugUsage() != null ? (double) Math.round((sceneUsageDto.getDrugUsage() + attributeDiffValue) * 1000) / 1000 : (double) Math.round((attributeDiffValue) * 1000) / 1000);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- System.out.println("sceneUsageDto.intakeWaterUsage:"+sceneUsageDto.getIntakeWaterUsage());
|
|
|
|
- if(sceneUsageDto.getYieldWaterUsage()==null)
|
|
|
|
|
|
+ if (sceneUsageDto.getYieldWaterUsage() == null)
|
|
sceneUsageDto.setYieldWaterUsage(sceneUsageDto.getYieldWaterUsage());
|
|
sceneUsageDto.setYieldWaterUsage(sceneUsageDto.getYieldWaterUsage());
|
|
- if(sceneUsageDto.getIntakeWaterUsage()==null)
|
|
|
|
|
|
+ else if (type != null && type.length > 0) {
|
|
|
|
+ sceneUsageDto.setYieldWaterUsage(BigDecimal.valueOf(sceneUsageDto.getYieldWaterUsage()).divide(BigDecimal.valueOf(10000),3,BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
|
+ }
|
|
|
|
+ if (sceneUsageDto.getIntakeWaterUsage() == null)
|
|
sceneUsageDto.setIntakeWaterUsage(sceneUsageDto.getIntakeWaterUsage());
|
|
sceneUsageDto.setIntakeWaterUsage(sceneUsageDto.getIntakeWaterUsage());
|
|
- if(sceneUsageDto.getPowerUsage()==null)
|
|
|
|
|
|
+ else if (type != null && type.length > 0) {
|
|
|
|
+ sceneUsageDto.setIntakeWaterUsage(BigDecimal.valueOf(sceneUsageDto.getIntakeWaterUsage()).divide(BigDecimal.valueOf(10000),3,BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
|
+ }
|
|
|
|
+ if (sceneUsageDto.getPowerUsage() == null)
|
|
sceneUsageDto.setPowerUsage(sceneUsageDto.getPowerUsage());
|
|
sceneUsageDto.setPowerUsage(sceneUsageDto.getPowerUsage());
|
|
- if(sceneUsageDto.getDrugUsage()==null)
|
|
|
|
|
|
+ else if (type != null && type.length > 0) {
|
|
|
|
+ sceneUsageDto.setPowerUsage(BigDecimal.valueOf(sceneUsageDto.getPowerUsage()).divide(BigDecimal.valueOf(10000),3,BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
|
+ }
|
|
|
|
+ if (sceneUsageDto.getDrugUsage() == null)
|
|
sceneUsageDto.setDrugUsage(sceneUsageDto.getDrugUsage());
|
|
sceneUsageDto.setDrugUsage(sceneUsageDto.getDrugUsage());
|
|
|
|
+ else if (type != null && type.length > 0) {
|
|
|
|
+ sceneUsageDto.setDrugUsage(BigDecimal.valueOf(sceneUsageDto.getDrugUsage()).divide(BigDecimal.valueOf(10000), 3, BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return new AjaxMessage<>(ResultStatus.OK,sceneUsageDto);
|
|
return new AjaxMessage<>(ResultStatus.OK,sceneUsageDto);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
@ApiOperation(value = "按场景ID查询所有标签信息")
|
|
@ApiOperation(value = "按场景ID查询所有标签信息")
|
|
@RequestMapping(value = "/findBySceneId",method = RequestMethod.GET)
|
|
@RequestMapping(value = "/findBySceneId",method = RequestMethod.GET)
|
|
@ResponseBody
|
|
@ResponseBody
|