소스 검색

Merge remote-tracking branch 'origin/20210223' into 20210223

wangbo 4 년 전
부모
커밋
560b4b8a15

+ 9 - 9
sms_water/src/main/java/com/huaxu/service/AppDataService.java

@@ -48,21 +48,21 @@ public class AppDataService {
         AppSmsDataDto appSmsDataDto = new AppSmsDataDto();
         switch (typeName) {
             case "水源":
-                appSmsDataDto.setIntakeWaterUsage(monitorDataReportService.getAmountCount(null, null, typeName, 4, 2).doubleValue());
-                appSmsDataDto.setPowerUsage(monitorDataReportService.getAmountCount(null, null, typeName, 5, 2).doubleValue());
+                appSmsDataDto.setIntakeWaterUsage(monitorDataReportService.getAmountCount(null, null, typeName, 4, 2).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue());
+                appSmsDataDto.setPowerUsage(monitorDataReportService.getAmountCount(null, null, typeName, 5, 2).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue());
                 break;
             case "水厂":
-                appSmsDataDto.setIntakeWaterUsage(monitorDataReportService.getAmountCount(null, null, typeName, 3, 2).doubleValue());
-                appSmsDataDto.setPowerUsage(monitorDataReportService.getAmountCount(null, null, typeName, 5, 2).doubleValue());
-                appSmsDataDto.setDrugUsage(monitorDataReportService.getAmountCount(null, null, typeName, 6, 2).doubleValue());
+                appSmsDataDto.setIntakeWaterUsage(monitorDataReportService.getAmountCount(null, null, typeName, 3, 2).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue());
+                appSmsDataDto.setPowerUsage(monitorDataReportService.getAmountCount(null, null, typeName, 5, 2).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue());
+                appSmsDataDto.setDrugUsage(monitorDataReportService.getAmountCount(null, null, typeName, 6, 2).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue());
                 break;
             case "泵站":
-                appSmsDataDto.setYieldWaterUsage(monitorDataReportService.getAmountCount(null, null, typeName, 3, 2).doubleValue());
-                appSmsDataDto.setPowerUsage(monitorDataReportService.getAmountCount(null, null, typeName, 5, 2).doubleValue());
+                appSmsDataDto.setYieldWaterUsage(monitorDataReportService.getAmountCount(null, null, typeName, 3, 2).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue());
+                appSmsDataDto.setPowerUsage(monitorDataReportService.getAmountCount(null, null, typeName, 5, 2).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue());
                 break;
             case "售水":
-                appSmsDataDto.setYieldWaterUsage(monitorDataReportService.getAmountCount(null, null, "水厂", 3, 2).doubleValue());
-                appSmsDataDto.setWaterUsage(monitorDataReportService.getUseAmount(null, 1).doubleValue());
+                appSmsDataDto.setYieldWaterUsage(monitorDataReportService.getAmountCount(null, null, "水厂", 3, 2).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue());
+                appSmsDataDto.setWaterUsage(monitorDataReportService.getUseAmount(null, 1).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue());
                 double amount = appSmsDataDto.getYieldWaterUsage() - appSmsDataDto.getWaterUsage();
                 if (appSmsDataDto.getYieldWaterUsage() != null && appSmsDataDto.getYieldWaterUsage() != 0d) {
                     appSmsDataDto.setWaterFeeRecoveryRate(BigDecimal.valueOf(amount).divide(BigDecimal.valueOf(appSmsDataDto.getYieldWaterUsage()), 3, BigDecimal.ROUND_HALF_UP).doubleValue() * 100);

+ 6 - 4
sms_water/src/main/java/com/huaxu/service/impl/MonitorDataReportServiceImpl.java

@@ -945,6 +945,8 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
         List<Long> sceneIds = sceneService.findByParentIdsLike(sceneId);
         List<WaterSupplyData> waterSupplyDatas = monitorDataReportMapper.getWaterSupplyDataForCurrentMonth(tenantId, sceneTypeName, sceneIds, loginUser.getType(), loginUser.getPermissonType(), loginUser.getProgramItemList());
         List<WaterSupplyChart> waterSupplyCharts = new ArrayList<>();
+
+
         waterSupplyDatas.stream()
                 .collect(Collectors.groupingBy(item -> item.getYear() + "-" + item.getMonth() + "-" + item.getDay()))
                 .forEach((key, value) -> {
@@ -963,7 +965,9 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
                     });
                     waterSupplyCharts.add(waterSupplyChart);
                 });
-        //插入当天数据
+
+        waterSupplyCharts.sort(Comparator.comparing(WaterSupplyChart::getSort));
+        waterSupplyCharts.sort(Comparator.comparing(WaterSupplyChart::getSort).reversed());
         //获取当日水量
         BigDecimal waterDataAmountCountMonth = getAmountCount(null,sceneId.intValue(), sceneTypeName, 3,1 );
         //获取当日电耗
@@ -972,10 +976,8 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
         waterSupplyChart.setDate(LocalDate.now().getYear()+"-"+LocalDate.now().getMonthValue()+"-"+LocalDate.now().getDayOfMonth());
         waterSupplyChart.setWaterData(waterDataAmountCountMonth);
         waterSupplyChart.setPowerData(powerDataAmountCountMonth);
+        waterSupplyChart.setSort(0);
         waterSupplyCharts.add(waterSupplyChart);
-
-        waterSupplyCharts.sort(Comparator.comparing(WaterSupplyChart::getSort));
-        waterSupplyCharts.sort(Comparator.comparing(WaterSupplyChart::getSort).reversed());
         return waterSupplyCharts;
     }
 

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

@@ -79,7 +79,7 @@
                     ,p.UPDATE_BY as "updateBy"
                     ,b.`NAME` as "attributeName"
                     ,p.PARM_TYPE as "parmType"
-                    ,a.DEVICE_MODE as "deviceCode"
+                    ,a.device_code as "deviceCode"
         from sms_device_parm p
         inner join sms_device_attribute b on p.ATTRIBUTE_ID=b.id and b.`STATUS`=1
         inner join sms_device  a on a.id=p.DEVICE_ID

+ 4 - 2
sms_water/src/main/resources/mapper/MonitorDataReportMapper.xml

@@ -1469,15 +1469,16 @@
     <select id="getUseAmount" resultType="java.math.BigDecimal">
         select  sum(ifnull(a.WATER_USAGE,0)) as "amount"
         from sms_month_sellwater a
+        <where>
         <if test="companyOrgId != null">
             and a.COMPANY_ORG_ID = #{companyOrgId}
         </if>
         and a.TENANT_ID=#{tenantId}
         <if test="searchType ==1">
-            date_format(a.COLLECT_DATE, '%Y-%m') = DATE_FORMAT(now(), '%Y-%m')
+          and  date_format(a.COLLECT_DATE, '%Y-%m') = DATE_FORMAT(now(), '%Y-%m')
         </if>
         <if test="searchType ==2">
-            date_format(a.COLLECT_DATE, '%Y') = DATE_FORMAT(now(), '%Y')
+         and   date_format(a.COLLECT_DATE, '%Y') = DATE_FORMAT(now(), '%Y')
         </if>
         <if test="userType!=null and userType!=-999 and userType!=-9999 and  programItems != null and programItems.size() > 0">
             <if test="permissonType == 5 or permissonType == 2">
@@ -1499,5 +1500,6 @@
                 </foreach>
             </if>
         </if>
+        </where>
     </select>
 </mapper>