Quellcode durchsuchen

Merge branch '20210223' of http://114.135.61.188:53000/UIMS/Code into 20210223

wangbo vor 4 Jahren
Ursprung
Commit
833d77cec7

+ 1 - 1
sms_water/src/main/java/com/huaxu/controller/ComDisplayController.java

@@ -175,7 +175,7 @@ public class ComDisplayController {
             //查询子公司的取水量、制水量 产销差(制水量-售水量)/制水量  X 100%
             receFee.get(0).setIntakeWaterUsage(monitorDataReportService.getAmountCount(companyOrgId, null, "水源", 4, 2).divide(new BigDecimal("10000"), 3, BigDecimal.ROUND_HALF_UP).doubleValue());
             receFee.get(0).setYieldWaterUsage(monitorDataReportService.getAmountCount(companyOrgId, null, "水厂", 3, 2).divide(new BigDecimal("10000"), 3, BigDecimal.ROUND_HALF_UP).doubleValue());
-            receFee.get(0).setMeterReadingArrivalRate(BigDecimal.valueOf(receFee.get(0).getMeterReadingArrivalRate()).multiply(BigDecimal.valueOf(100)).divide(BigDecimal.valueOf(1), 2, BigDecimal.ROUND_HALF_UP).doubleValue());
+            receFee.get(0).setMeterReadingArrivalRate(receFee.get(0).getMeterReadingArrivalRate() != null ? BigDecimal.valueOf(receFee.get(0).getMeterReadingArrivalRate()).multiply(BigDecimal.valueOf(100)).divide(BigDecimal.valueOf(1), 2, BigDecimal.ROUND_HALF_UP).doubleValue() : 0.00);
             double amount = receFee.get(0).getYieldWaterUsage() - waterUsage;
             if (receFee.get(0).getYieldWaterUsage() == 0d)
                 receFee.get(0).setWaterFeeRecoveryRate(BigDecimal.valueOf(0).divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP).doubleValue());

+ 25 - 13
sms_water/src/main/java/com/huaxu/controller/MonitorInfoController.java

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

+ 3 - 3
sms_water/src/main/java/com/huaxu/service/impl/OnlineMonitorImpl.java

@@ -658,7 +658,7 @@ public class OnlineMonitorImpl implements OnlineMonitorService {
             }
         }
         for(MonitorDataCollectDto mon : result){
-            if(mon.getSceneTypeName().equals("水源")||mon.getSceneTypeName().equals("水厂")){
+            if(!StringUtils.isEmpty(mon.getSceneTypeName())&&(mon.getSceneTypeName().equals("水源")||mon.getSceneTypeName().equals("水厂"))){
                 if(mon.getYieldWaterUsage()!=null) {
                     mon.setYieldWaterUsage(mon.getYieldWaterUsage() / 10000);
                 }
@@ -772,7 +772,7 @@ public class OnlineMonitorImpl implements OnlineMonitorService {
             }
         }
         for(OnlineDataDto mon : result){
-            if(mon.getSceneTypeName().equals("水源")||mon.getSceneTypeName().equals("水厂")){
+            if(!StringUtils.isEmpty(mon.getSceneTypeName())&&(mon.getSceneTypeName().equals("水源")||mon.getSceneTypeName().equals("水厂"))){
                 if(mon.getYieldWaterUsage()!=null) {
                     mon.setYieldWaterUsage(mon.getYieldWaterUsage() / 10000);
                 }
@@ -827,7 +827,7 @@ public class OnlineMonitorImpl implements OnlineMonitorService {
                 }
             }
         }
-        if(result.getSceneTypeName().equals("水源")||result.getSceneTypeName().equals("水厂")){
+        if(!StringUtils.isEmpty(result.getSceneTypeName())&&(result.getSceneTypeName().equals("水源")||result.getSceneTypeName().equals("水厂"))){
             if(result.getYieldWaterUsage()!=null) {
                 result.setYieldWaterUsage(result.getYieldWaterUsage() / 10000);
             }