Procházet zdrojové kódy

对比报表修改

wangli před 4 roky
rodič
revize
277f217bd1

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

@@ -108,7 +108,6 @@ public class TestDataServiceImpl implements TestDataService {
         Long beginTimestamp = beginDate.atStartOfDay().toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
         Long endTimestamp = endDate.atStartOfDay().toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
         int size =deviceCheckAlarmDtos.size();
-        List<DayReportEntity> dayReportEntities =new ArrayList<>();
         if(size>0){
             List<AlarmDetailsEntity>  deviceStateAlarmDtoNews = new ArrayList<>();
             for(int i=0;i<times;i++){
@@ -138,11 +137,11 @@ public class TestDataServiceImpl implements TestDataService {
                 deviceStateAlarmDtoNews.add(alarmDetailsEntity);
             }
             if(deviceStateAlarmDtoNews.size()>0){
-                for(int i=0;500*i<dayReportEntities.size();i++){
-                    if(500*i+500<dayReportEntities.size()){
+                for(int i=0;500*i<deviceStateAlarmDtoNews.size();i++){
+                    if(500*i+500<deviceStateAlarmDtoNews.size()){
                         alarmDetailMapper.batchInsert(deviceStateAlarmDtoNews.subList(500*i,500*i+500));
                     }else{
-                        alarmDetailMapper.batchInsert(deviceStateAlarmDtoNews.subList(500*i,dayReportEntities.size()));
+                        alarmDetailMapper.batchInsert(deviceStateAlarmDtoNews.subList(500*i,deviceStateAlarmDtoNews.size()));
                     }
                 }
             }

+ 33 - 29
sms_water/src/main/resources/mapper/MonitorDataReportMapper.xml

@@ -47,7 +47,7 @@
         ,r.COLLECT_DATE as "date"
 
         ,d.DEVICE_CODE as "devoceCode"
-        ,d.DEVICE_NAME as "deviceName"
+        ,r.PARENT_SCENE_NAME+d.DEVICE_NAME as "deviceName"
         ,da.unit as "unit"
         ,r.ATTRIBUTE_NAME as "attributeName"
 
@@ -122,15 +122,15 @@
             r.`HOUR` as "dateLabel",
             CONCAT(r.`YEAR`,'-',if(r.`MONTH`&lt;10,CONCAT(0,r.`MONTH`),r.`MONTH`),'-',if(r.`DAY`&lt;10,CONCAT(0,r.`DAY`),r.`DAY`),' ',if(r.`HOUR`&lt;10,CONCAT(0,r.`HOUR`),r.`HOUR`),':00') as "dateStringLabel",
         </if>
-        cast(ifnull(r.SUM_VALUE,0) as char)+ifnull(da.UNIT,'') as "monitorData"
-            ,ifnull(r.SUM_VALUE ,0)  as "data"
-            ,r.COLLECT_DATE as "date"
 
-            ,d.DEVICE_CODE as "devoceCode"
-            ,d.DEVICE_NAME as "deviceName"
-            ,da.ATTRIBUTE_TYPE as "attributeType"
-            ,da.unit as "unit"
-            ,if(da.ATTRIBUTE_TYPE=3,'用水量','耗电量') as  "attributeName"
+        r.PARENT_SCENE_NAME as "deviceName"
+        ,da.ATTRIBUTE_TYPE as "attributeType"
+        ,da.unit as "unit"
+        ,if(da.ATTRIBUTE_TYPE=3,'用水量','耗电量') as  "attributeName"
+
+        ,cast(ifnull(sum(r.SUM_VALUE),0) as char)+ifnull(da.UNIT,'') as "monitorData"
+        ,ifnull(sum(r.SUM_VALUE) ,0)  as "data"
+        ,max(r.COLLECT_DATE) as "date"
 
         <if test="type != null and type ==1">
             from sms_year_report r
@@ -181,16 +181,18 @@
         </if>
         <if test="type != null and type ==1">
             and r.year=#{year}
-            order by d.DEVICE_CODE,da.ATTRIBUTE_TYPE asc,r.`MONTH` asc
+            group by r.PARENT_SCENE_NAME,da.ATTRIBUTE_TYPE,da.unit,r.year,r.month
+            order by r.PARENT_SCENE_NAME,da.ATTRIBUTE_TYPE asc,r.`MONTH` asc
         </if>
         <if test="type != null and type ==2">
             and r.year=#{year}  and r.month=#{month}
-            order by d.DEVICE_CODE,da.ATTRIBUTE_TYPE asc,r.`day` asc
-
+            group by r.PARENT_SCENE_NAME,da.ATTRIBUTE_TYPE,da.unit,r.year,r.month,r.day
+            order by r.PARENT_SCENE_NAME,da.ATTRIBUTE_TYPE asc,r.`day` asc
         </if>
         <if test="type != null and type ==3">
             and r.year=#{year}  and r.month=#{month} and r.day=#{day}
-            order by d.DEVICE_CODE,da.ATTRIBUTE_TYPE asc,r.`hour` asc
+            group by r.PARENT_SCENE_NAME,da.ATTRIBUTE_TYPE,da.unit,r.year,r.month,r.day,r.hour
+            order by r.PARENT_SCENE_NAME,da.ATTRIBUTE_TYPE asc,r.`hour` asc
         </if>
     </select>
 
@@ -209,15 +211,16 @@
             r.`HOUR` as "dateLabel",
             CONCAT(r.`YEAR`,'-',if(r.`MONTH`&lt;10,CONCAT(0,r.`MONTH`),r.`MONTH`),'-',if(r.`DAY`&lt;10,CONCAT(0,r.`DAY`),r.`DAY`),' ',if(r.`HOUR`&lt;10,CONCAT(0,r.`HOUR`),r.`HOUR`),':00') as "dateStringLabel",
         </if>
-            cast(ifnull(r.AVG_VALUE,'') as char)+ifnull(da.UNIT,'') as "monitorData"
-            ,r.AVG_VALUE as "data"
-            ,r.COLLECT_DATE as "date"
 
-            ,d.DEVICE_CODE as "devoceCode"
-            ,d.DEVICE_NAME as "deviceName"
-            ,da.ATTRIBUTE_TYPE as "attributeType"
-            ,da.unit as "unit"
-            ,if(da.ATTRIBUTE_TYPE=8,'PH',if(da.ATTRIBUTE_TYPE=11,'余氯','浊度')) as  "attributeName"
+        r.PARENT_SCENE_NAME as "deviceName"
+        ,da.ATTRIBUTE_TYPE as "attributeType"
+        ,da.unit as "unit"
+        ,if(da.ATTRIBUTE_TYPE=8,'PH',if(da.ATTRIBUTE_TYPE=11,'余氯','浊度')) as  "attributeName"
+
+        ,cast(ifnull(avg(r.SUM_VALUE),0) as char)+ifnull(da.UNIT,'') as "monitorData"
+        ,ifnull(avg(r.SUM_VALUE) ,0)  as "data"
+        ,max(r.COLLECT_DATE) as "date"
+
         <if test="type != null and type ==1">
             from sms_year_report r
         </if>
@@ -268,16 +271,18 @@
         </if>
         <if test="type != null and type ==1">
             and r.year=#{year}
-            order by d.DEVICE_CODE,da.ATTRIBUTE_TYPE asc,r.`MONTH` asc
+            group by r.PARENT_SCENE_NAME,da.ATTRIBUTE_TYPE,da.unit,r.year,r.month
+            order by r.PARENT_SCENE_NAME,da.ATTRIBUTE_TYPE asc,r.`MONTH` asc
         </if>
         <if test="type != null and type ==2">
             and r.year=#{year}  and r.month=#{month}
-            order by d.DEVICE_CODE,da.ATTRIBUTE_TYPE asc,r.`day` asc
-
+            group by r.PARENT_SCENE_NAME,da.ATTRIBUTE_TYPE,da.unit,r.year,r.month,r.day
+            order by r.PARENT_SCENE_NAME,da.ATTRIBUTE_TYPE asc,r.`day` asc
         </if>
         <if test="type != null and type ==3">
             and r.year=#{year}  and r.month=#{month} and r.day=#{day}
-            order by d.DEVICE_CODE,da.ATTRIBUTE_TYPE asc,r.`hour` asc
+            group by r.PARENT_SCENE_NAME,da.ATTRIBUTE_TYPE,da.unit,r.year,r.month,r.day,r.hour
+            order by r.PARENT_SCENE_NAME,da.ATTRIBUTE_TYPE asc,r.`hour` asc
         </if>
     </select>
 
@@ -303,8 +308,7 @@
             ,count(1) as "monitorData"
             ,count(1) as "data"
 
-            ,d.DEVICE_CODE as "devoceCode"
-            ,d.DEVICE_NAME as "deviceName"
+            ,ps.SCENE_NAME as "deviceName"
             ,'报警次数' as "attributeName"
             from sms_alarm_details ad
             left join sms_device d on ad.DEVICE_ID=d.ID
@@ -349,9 +353,9 @@
             </if>
         </if>
 
-            group by d.DEVICE_CODE,d.DEVICE_NAME,${dateType}(ad.ALARM_START_TIME)
+            group by ps.SCENE_NAME,${dateType}(ad.ALARM_START_TIME)
         )a
-        order by devoceCode,deviceName,dateLabel
+        order by deviceName,dateLabel
     </select>
 
 </mapper>