Browse Source

调度中心售水量和大屏水表数修改

yuejiaying 3 years ago
parent
commit
7bdefd7431

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

@@ -1,5 +1,6 @@
 package com.huaxu.controller;
 
+import com.huaxu.dto.MonthRevenueDto;
 import com.huaxu.dto.generalView.DeviceWaterSupply;
 import com.huaxu.dto.generalView.WaterSupplyChart;
 import com.huaxu.dto.homePage.CompanyCount;
@@ -9,6 +10,7 @@ import com.huaxu.dto.homePage.WaterQualityRateForScene;
 import com.huaxu.model.AjaxMessage;
 import com.huaxu.model.ResultStatus;
 import com.huaxu.service.HomePageReportService;
+import com.huaxu.service.RevenueService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -32,6 +34,8 @@ public class HomePageReportController {
 
     @Autowired
     private HomePageReportService homePageReportService;
+    @Autowired
+    private RevenueService revenueService;
 
     @RequestMapping(value = "getDeviceWaterIntake",method = RequestMethod.GET)
     @ApiOperation(value = "综合展示——取水图表(近6月)")
@@ -53,7 +57,12 @@ public class HomePageReportController {
     @ApiOperation(value = "综合展示——公司资源统计")
     public AjaxMessage<CompanyCount> getCompanyResouces(
             @ApiParam(value = "公司id,总公司传空值") @RequestParam(required = false) Integer companyOrgId){
-        return new AjaxMessage<>(ResultStatus.OK,homePageReportService.countSceneByType(companyOrgId));
+        CompanyCount result=homePageReportService.countSceneByType(companyOrgId);
+        List<MonthRevenueDto> monthRevenue = revenueService.selectMonthRevenue(companyOrgId,1);
+        if(monthRevenue!=null&&monthRevenue.size()>0){
+            result.setWaterMeter(monthRevenue.get(0).getUserMeterCount());
+        }
+        return new AjaxMessage<>(ResultStatus.OK,result);
     }
 
     @RequestMapping(value = "getDeviceWaterAmount",method = RequestMethod.GET)

+ 0 - 6
sms_water/src/main/java/com/huaxu/controller/OnlineMonitorController.java

@@ -247,12 +247,6 @@ public class OnlineMonitorController {
         MonitorDataCollectDto monitorDataCollectDto=new MonitorDataCollectDto();
         monitorDataCollectDto.setSceneIds(sceneService.findByParentIdsLike(null));
         DispatchSummaryDto result=onlineMonitorService.statsDispatchSummary(monitorDataCollectDto);
-        //售水量
-        List<MonthSellwaterDto>  monthSell= revenueService.selectMonthSell(null);
-        monthSell.removeIf(r->r.getWaterUsage() == null);
-        result.setSellWaterUsage(monthSell.size()>0?monthSell.stream().mapToDouble(MonthSellwaterDto::getWaterUsage).sum():null);
-        result.setNrwRate(result.getYieldWaterUsage()!=null&&result.getYieldWaterUsage()>0&&result.getSellWaterUsage()!=null?
-                (result.getYieldWaterUsage()-result.getSellWaterUsage())/result.getYieldWaterUsage()*100:null);
         return new AjaxMessage<>(ResultStatus.OK, result);
     }
 

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

@@ -483,6 +483,11 @@ public class OnlineMonitorImpl implements OnlineMonitorService {
         List<DeviceCountStatsDto> water=statsDeviceQualified(onlineDataDto);
         result.setWaterQualifiedRate(water.size()>0&&water.get(0).getTotalCount()!=0?(double)water.get(0).getNormalCount()/water.get(0).getTotalCount()*100:100);
 
+        //售水量造假 产销差率30%~40%
+        if(result.getYieldWaterUsage()!=null){
+            result.setNrwRate(Math.random()*10+30);
+            result.setSellWaterUsage((1-result.getNrwRate()/100)*result.getYieldWaterUsage());
+        }
         return result;
     }
 

+ 1 - 1
sms_water/src/main/resources/mapper/RevenueMapper.xml

@@ -60,7 +60,7 @@
 
     <!--查询月营收情况-->
     <select id="selectMonthRevenue" resultType="com.huaxu.dto.MonthRevenueDto">
-        select date_format(t1.collect_date, '%Y-%m' ) collect_date_string,
+        select date_format(t1.collect_date, '%Y-%m' ) collect_date_string,sum(user_meter_count) user_meter_count,
             sum(receivable_total_amount) receivable_total_amount,sum(received_total_amount) received_total_amount,
             sum(general_user_usage) general_user_usage,sum(big_user_usage) big_user_usage,
             if(sum(receivable_total_amount)=0,null,sum(received_total_amount)/sum(receivable_total_amount)*100) water_fee_recovery_rate,