Kaynağa Gözat

修改数据统计

wyyay 2 yıl önce
ebeveyn
işleme
11ba6202b6

+ 6 - 1
business-service/src/main/java/com/ozs/service/entity/vo/AlarmStatisticDayDto.java

@@ -28,9 +28,14 @@ public class AlarmStatisticDayDto {
     /**
      * 报警日期
      */
-    @Excel(name = "报警日期")
     private Integer daysta;
 
+    /**
+     * 报警日期字符串
+     */
+    @Excel(name = "报警日期")
+    private String daystaString;
+
     /**
      * 报警次数
      */

+ 5 - 1
business-service/src/main/java/com/ozs/service/entity/vo/AlarmStatisticMonthDto.java

@@ -38,8 +38,12 @@ public class AlarmStatisticMonthDto {
     /**
      * 报警月份
      */
-    @Excel(name = "报警月份")
     private Integer monthsta;
+    /**
+     * 报警月份字符串
+     */
+    @Excel(name = "报警月份")
+    private String monthstaString;
 
     /**
      * 报警次数

+ 8 - 4
business-service/src/main/resources/mapper/service/MsgAlarmMapper.xml

@@ -137,13 +137,15 @@
     <resultMap id="AlarmStatisticMonthDtoResult" type="com.ozs.service.entity.vo.AlarmStatisticMonthDto">
         <id column="id" property="id"/>
         <result column="monthsta" property="monthsta"/>
+        <result column="monthstaString" property="monthstaString"/>
         <result column="frequency" property="frequency"/>
         <result column="alarm_type" property="alarmType"/>
     </resultMap>
     <select id="listDtoMonth" resultMap="AlarmStatisticMonthDtoResult">
-        SELECT p.monthsta as monthsta,sum(p.fre) as frequency
+        SELECT p.monthsta as monthsta,sum(p.fre) as frequency,p.monthstaString as monthstaString
         from
         (SELECT
+        DATE_FORMAT(a.alarm_time,'%Y年%m月') as monthstaString,
         MONTH(a.alarm_time) as monthsta,
         count(DISTINCT a.alarm_id) as fre
         FROM
@@ -172,18 +174,20 @@
                 and UPPER(m.receive_by) like UPPER(CONCAT('%',#{userId},'%'))
             </if>
         </where>
-        group by a.alarm_id) AS p group by p.monthsta
+        group by a.alarm_id) AS p group by p.monthsta order by p.monthsta
     </select>
     <resultMap id="AlarmStatisticDayDtoResult" type="com.ozs.service.entity.vo.AlarmStatisticDayDto">
         <id column="id" property="id"/>
         <result column="daysta" property="daysta"/>
+        <result column="daystaString" property="daystaString"/>
         <result column="frequency" property="frequency"/>
         <result column="alarm_type" property="alarmType"/>
     </resultMap>
     <select id="listDtoDay" resultMap="AlarmStatisticDayDtoResult">
-        SELECT p.daysta as daysta,sum(p.fre) as frequency
+        SELECT p.daysta as daysta,sum(p.fre) as frequency,p.daystaString as daystaString
         from
         (SELECT
+        DATE_FORMAT(a.alarm_time,'%Y年%m月%d日') as daystaString,
         DAY(a.alarm_time) as daysta,
         count(DISTINCT a.alarm_id) as fre
         FROM
@@ -212,7 +216,7 @@
                 and UPPER(m.receive_by) like UPPER(CONCAT('%',#{userId},'%'))
             </if>
         </where>
-        group by a.alarm_id) AS p group by p.daysta
+        group by a.alarm_id) AS p group by p.daysta order by p.daysta
     </select>
     <select id="selectCameraCode" parameterType="java.lang.String" resultType="java.lang.Integer">
         select is_lock from msg_alarm where camera_code = #{cameraCode} ORDER BY alarm_time DESC LIMIT 1

+ 3 - 67
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java

@@ -543,81 +543,17 @@ public class MsgAlarmController extends BaseController {
         if (user.isAdmin(user.getId())) {
             userId = "";
         }
-        List<Integer> numbs = new ArrayList<>();
-        Integer listSize;
+
         List<AlarmStatisticMonthDto> list = null;
         List<AlarmStatisticDayDto> listDay = null;
         if (ObjectUtils.isEmpty(alarmStatisticResVo.getCurrentMonth())) {
             list = msgAlarmService.getCount(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getCurrentYear(),
                     alarmStatisticResVo.getCurrentMonth(), alarmStatisticResVo.getAlarmType(), userId);
-            listSize = 12;
-        } else {
-            if (alarmStatisticResVo.getCurrentMonth().equals(2)) {//2
-                listSize = 28;
-            } else if (alarmStatisticResVo.getCurrentMonth().equals(4) || alarmStatisticResVo.getCurrentMonth().equals(6) ||
-                    alarmStatisticResVo.getCurrentMonth().equals(9) || alarmStatisticResVo.getCurrentMonth().equals(11)) {//4,6,9,11
-                listSize = 30;
-            } else {//1,3,5,7,8,10,12
-                listSize = 31;
-            }
-            listDay = msgAlarmService.getDayCount(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getCurrentYear(),
-                    alarmStatisticResVo.getCurrentMonth(), alarmStatisticResVo.getAlarmType(), userId);
-        }
-        for (int i = 1; i <= listSize; i++) {
-            numbs.add(i);
-        }
-
-        List<Integer> list1 = new ArrayList<>();
-        if (ObjectUtils.isEmpty(alarmStatisticResVo.getCurrentMonth())) {
-            if (!CollectionUtils.isEmpty(list) && Objects.nonNull(list.get(0))) {
-                list.forEach(l -> {
-                    list1.add(l.getMonthsta());
-                });
-            }
-            AlarmStatisticMonthDto dto;
-            for (int i = 0; i < numbs.size(); i++) {
-                if (!list1.contains(numbs.get(i))) {
-                    dto = new AlarmStatisticMonthDto();
-                    dto.setMonthsta(numbs.get(i));
-                    dto.setFrequency(0);
-                    list.add(dto);
-                }
-            }
-            if (!CollectionUtils.isEmpty(list) && Objects.nonNull(list.get(0))) {
-                Collections.sort(list, new Comparator<AlarmStatisticMonthDto>() {
-                    @Override
-                    public int compare(AlarmStatisticMonthDto o1, AlarmStatisticMonthDto o2) {
-
-                        return o1.getMonthsta().compareTo(o2.getMonthsta());
-                    }
-                });
-            }
             ExcelUtil<AlarmStatisticMonthDto> util = new ExcelUtil<>(AlarmStatisticMonthDto.class);
             util.exportExcel(response, list, "报警月统计数据");
         } else {
-            if (!CollectionUtils.isEmpty(listDay) && Objects.nonNull(listDay.get(0))) {
-                listDay.forEach(l -> {
-                    list1.add(l.getDaysta());
-                });
-            }
-            AlarmStatisticDayDto dto;
-            for (int i = 0; i < numbs.size(); i++) {
-                if (!list1.contains(numbs.get(i))) {
-                    dto = new AlarmStatisticDayDto();
-                    dto.setDaysta(numbs.get(i));
-                    dto.setFrequency(0);
-                    listDay.add(dto);
-                }
-            }
-            if (!CollectionUtils.isEmpty(listDay) && Objects.nonNull(listDay.get(0))) {
-                Collections.sort(listDay, new Comparator<AlarmStatisticDayDto>() {
-                    @Override
-                    public int compare(AlarmStatisticDayDto o1, AlarmStatisticDayDto o2) {
-
-                        return o1.getDaysta().compareTo(o2.getDaysta());
-                    }
-                });
-            }
+            listDay = msgAlarmService.getDayCount(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getCurrentYear(),
+                    alarmStatisticResVo.getCurrentMonth(), alarmStatisticResVo.getAlarmType(), userId);
             ExcelUtil<AlarmStatisticDayDto> util = new ExcelUtil<>(AlarmStatisticDayDto.class);
             util.exportExcel(response, listDay, "报警月统计数据");
         }