Browse Source

数据详情导出增加字段

wyyay 1 year ago
parent
commit
96aa948127

+ 91 - 10
business-service/src/main/java/com/ozs/service/entity/vo/AlarmStatisticDto.java

@@ -1,5 +1,6 @@
 package com.ozs.service.entity.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ozs.common.annotation.Excel;
 import lombok.Data;
@@ -16,12 +17,14 @@ public class AlarmStatisticDto {
     /**
      * 报警唯一标识
      */
+    @Excel(name = "报警唯一标识")
     private String alarmId;
+
     /**
-     * 线路名称
+     * 相机编码
      */
-    @Excel(name = "线路名称")
-    private String railwayName;
+    @Excel(name = "相机编码")
+    private String cameraCode;
 
     /**
      * 报警时间
@@ -30,6 +33,22 @@ public class AlarmStatisticDto {
     @Excel(name = "报警时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date alarmTime;
 
+    /**
+     * 报警里程位置
+     */
+    private String alarmMile;
+
+    /**
+     * 报警内容
+     */
+    @Excel(name = "报警内容")
+    private String content;
+
+    /**
+     * 报警置信度(百分比)
+     */
+    private Integer alarmConfidence;
+
     /**
      * 行别编码
      */
@@ -53,18 +72,80 @@ public class AlarmStatisticDto {
     private String alarmTypeValue;
 
     /**
-     * 报警里程位置
+     * 报警病害属性(可以给出泥石流的框定范围)
      */
-    @Excel(name = "里程位置")
-    private String alarmMile;
+    @Excel(name = "报警病害属性")
+    private String alarmAttr;
+
+    /**
+     * 报警图片地址
+     */
+    @Excel(name = "报警图片地址")
+    private String imageUrl;
+
+    /**
+     * 解除人
+     */
+    private String releasedBy;
+
+    /**
+     * 解除人真实姓名
+     */
+    @Excel(name = "解除人")
+    private String releasedByName;
+
+    /**
+     * 解除时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "解除时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date releasedTime;
+
+    /**
+     * 解除原因
+     */
+    @Excel(name = "解除原因")
+    private String releasedReason;
+
+    /**
+     * 解除报警类型1真实报警2误报警
+     */
+    private Integer releasedType;
+
+    /**
+     * 解除报警类型名称   1真实报警2误报警
+     */
+    @Excel(name = "解除报警类型")
+    private String releasedTypeName;
+
+    /**
+     * 线路名称
+     */
+    @TableField(exist = false)
+    @Excel(name = "报警线路")
+    private String railwayName;
+
+    /**
+     * 报警里程位置字符串形式
+     */
+    @TableField(exist = false)
+    @Excel(name = "报警里程位置")
+    private String alarmMiles;
+
+    /**
+     * 报警是否解除 1已解除2未解除
+     */
+    private Integer isLock;
 
     /**
-     * 监控范围开始里程位置
+     * 报警是否解除 1已解除2未解除
      */
-    private Integer beginMile;
+    @Excel(name = "报警是否解除")
+    private String isLockName;
 
     /**
-     * 监控范围结束里程位置
+     * 备注
      */
-    private Integer endMile;
+    @Excel(name = "备注")
+    private String remark;
 }

+ 42 - 20
business-service/src/main/java/com/ozs/service/entity/vo/AlarmStatisticVo.java

@@ -1,7 +1,8 @@
 package com.ozs.service.entity.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ozs.service.entity.BaseCameraManagement;
+import com.ozs.common.annotation.Excel;
 import lombok.Data;
 
 import java.util.Date;
@@ -21,6 +22,11 @@ public class AlarmStatisticVo {
      */
     private String alarmId;
 
+    /**
+     * 线路名称
+     */
+    private String railwayName;
+
     /**
      * 相机编码
      */
@@ -34,6 +40,26 @@ public class AlarmStatisticVo {
     )
     private Date alarmTime;
 
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 解除原因
+     */
+    private String releasedReason;
+
+    /**
+     * 解除报警类型1真实报警2误报警
+     */
+    private Integer releasedType;
+
+    /**
+     * 解除报警类型名称   1真实报警2误报警
+     */
+    private String releasedTypeName;
+
     /**
      * 报警里程位置
      */
@@ -54,10 +80,19 @@ public class AlarmStatisticVo {
      */
     private Integer lineDir;
 
+    /**
+     * 报警行别字符串(1上行2下行)
+     */
+    private String lineDirName;
+
     /**
      * 报警病害类型(目前只有1泥石流,后续可扩展使用)
      */
     private Integer alarmType;
+    /**
+     * 报警病害类型(目前只有1泥石流,后续可扩展使用)
+     */
+    private String alarmTypeName;
 
     /**
      * 报警病害属性(可以给出泥石流的框定范围)
@@ -74,6 +109,11 @@ public class AlarmStatisticVo {
      */
     private String releasedBy;
 
+    /**
+     * 解除人
+     */
+    private String releasedByName;
+
     /**
      * 解除时间
      */
@@ -84,26 +124,8 @@ public class AlarmStatisticVo {
      */
     private Integer isLock;
 
-    /**
-     * 月份
-     */
-    private Integer monthsta;
-
-    /**
-     * 次数
-     */
-    private Integer frequency;
-
     /**
      * 报警是否解除 1已解除2未解除
      */
-    private BaseCameraManagement baseCameraManagement;
-
-    public BaseCameraManagement getBaseCameraManagement() {
-        return baseCameraManagement;
-    }
-
-    public void setBaseCameraManagement(BaseCameraManagement baseCameraManagement) {
-        this.baseCameraManagement = baseCameraManagement;
-    }
+    private String isLockName;
 }

+ 3 - 1
business-service/src/main/java/com/ozs/service/service/MsgAlarmService.java

@@ -19,7 +19,9 @@ import java.util.Map;
  */
 public interface MsgAlarmService extends IService<MsgAlarm> {
     //web数据统计 报警数据详情
-    IPage<AlarmStatisticVo> list(String railwayCode, Integer currentYear, Integer currentMonth, String alarmType, Integer pageNum, Integer pageSize, String userId);
+    List<AlarmStatisticVo> list(String railwayCode, Integer currentYear, Integer currentMonth, String alarmType, Integer pageNum, Integer pageSize, String userId);
+
+    IPage listToPage(List list, int pageNum, int pageSize);
 
     //web数据统计 报警月统计数据
     List<AlarmStatisticMonthDto> getCount(String railwayCode, Integer currentYear, Integer currentMonth, String alarmType, String userId);

+ 6 - 9
business-service/src/main/java/com/ozs/service/service/impl/MsgAlarmServiceImpl.java

@@ -5,9 +5,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageHelper;
 import com.ozs.common.utils.AppendUtils;
+import com.ozs.common.utils.StringUtils;
+import com.ozs.service.entity.BaseUser;
 import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.entity.vo.*;
 import com.ozs.service.mapper.BaseCameraManagementMapper;
+import com.ozs.service.mapper.BaseUserMapper;
 import com.ozs.service.mapper.MsgAlarmMapper;
 import com.ozs.service.service.MsgAlarmService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -33,7 +36,7 @@ public class MsgAlarmServiceImpl extends ServiceImpl<MsgAlarmMapper, MsgAlarm> i
     @Autowired
     private BaseCameraManagementMapper baseCameraManagementMapper;
 
-    public static IPage listToPage(List list, int pageNum, int pageSize) {
+    public IPage listToPage(List list, int pageNum, int pageSize) {
         List pageList = new ArrayList<>();
         int curIdx = pageNum > 1 ? (pageNum - 1) * pageSize : 0;
         for (int i = 0; i < pageSize && curIdx + i < list.size(); i++) {
@@ -47,15 +50,9 @@ public class MsgAlarmServiceImpl extends ServiceImpl<MsgAlarmMapper, MsgAlarm> i
 
     //web数据统计 报警数据详情
     @Override
-    public IPage<AlarmStatisticVo> list(String railwayCode, Integer currentYear, Integer currentMonth, String alarmType, Integer pageNum, Integer pageSize, String userId) {
+    public List<AlarmStatisticVo> list(String railwayCode, Integer currentYear, Integer currentMonth, String alarmType, Integer pageNum, Integer pageSize, String userId) {
         List<AlarmStatisticVo> list = msgAlarmMapper.list(railwayCode, currentYear, currentMonth, alarmType, userId);
-        if (!ObjectUtils.isEmpty(list)) {
-            list.forEach(l -> {
-                l.setAlarmMile(AppendUtils.stringAppend(Integer.valueOf(l.getAlarmMile())));
-            });
-        }
-        IPage listPage = listToPage(list, pageNum, pageSize);
-        return listPage;
+        return list;
     }
 
     @Override

+ 39 - 36
business-service/src/main/resources/mapper/service/MsgAlarmMapper.xml

@@ -4,10 +4,12 @@
     <resultMap id="AlarmStatisticVoResult" type="com.ozs.service.entity.vo.AlarmStatisticVo">
         <id column="id" property="id"/>
         <result column="alarm_id" property="alarmId"/>
-        <result column="monthsta" property="monthsta"/>
-        <result column="frequency" property="frequency"/>
+        <result column="railway_name" property="railwayName"/>
         <result column="camera_code" property="cameraCode"/>
         <result column="alarm_time" property="alarmTime"/>
+        <result column="remark" property="remark"/>
+        <result column="released_reason" property="releasedReason"/>
+        <result column="released_type" property="releasedType"/>
         <result column="alarm_mile" property="alarmMile"/>
         <result column="content" property="content"/>
         <result column="alarm_confidence" property="alarmConfidence"/>
@@ -18,17 +20,6 @@
         <result column="released_by" property="releasedBy"/>
         <result column="released_time" property="releasedTime"/>
         <result column="is_lock" property="isLock"/>
-        <association property="baseCameraManagement" javaType="com.ozs.service.entity.BaseCameraManagement">
-            <id column="id" property="id"/>
-            <result column="railway_code" property="railwayCode"/>
-            <result column="railwayName" property="railwayName"/>
-            <result column="channel" property="channel"/>
-            <result column="install_mile" property="installMile"/>
-            <result column="begin_mile" property="beginMile"/>
-            <result column="end_mile" property="endMile"/>
-            <result column="install_longitude" property="installLongitude"/>
-            <result column="install_latitude" property="installLatitude"/>
-        </association>
     </resultMap>
 
     <select id="list" resultMap="AlarmStatisticVoResult">
@@ -36,24 +27,20 @@
         a.alarm_id ,
         a.camera_code ,
         a.alarm_time ,
-        a.alarm_mile ,
+        a.alarm_mile,
         a.content ,
-        a.alarm_confidence,
-        a.line_dir ,
-        a.alarm_type ,
-        a.alarm_attr ,
-        a.image_url ,
+        a.alarm_confidence ,
+        a.line_dir,
+        a.alarm_type,
+        a.alarm_attr,
+        a.image_url,
         a.released_by ,
         a.released_time,
-        a.is_lock ,
-        b.railway_code AS railway_code,
-        b.channel AS channel,
-        b.install_mile AS install_mile,
-        b.begin_mile AS begin_mile,
-        b.end_mile AS end_mile,
-        b.install_longitude AS install_longitude,
-        b.install_latitude AS install_latitude,
-        c.railway_name AS railwayName
+        a.released_reason,
+        a.released_type,
+        c.railway_name,
+        a.remark,
+        a.is_lock
         FROM
         msg_alarm AS a inner join
         base_camera_management AS b on a.camera_code=b.camera_code left join
@@ -86,26 +73,42 @@
     <resultMap id="AlarmStatisticDtoResult" type="com.ozs.service.entity.vo.AlarmStatisticDto">
         <id column="id" property="id"/>
         <result column="alarmId" property="alarmId"/>
-        <result column="railwayName" property="railwayName"/>
+        <result column="cameraCode" property="cameraCode"/>
         <result column="alarmTime" property="alarmTime"/>
+        <result column="alarmMile" property="alarmMile"/>
+        <result column="content" property="content"/>
+        <result column="alarmConfidence" property="alarmConfidence"/>
         <result column="lineDir" property="lineDir"/>
-        <result column="lineDirValue" property="lineDirValue"/>
         <result column="alarmType" property="alarmType"/>
-        <result column="alarmTypeValue" property="alarmTypeValue"/>
-        <result column="alarmMile" property="alarmMile"/>
-        <result column="beginMile" property="beginMile"/>
-        <result column="endMile" property="endMile"/>
+        <result column="alarmAttr" property="alarmAttr"/>
+        <result column="imageUrl" property="imageUrl"/>
+        <result column="releasedBy" property="releasedBy"/>
+        <result column="releasedTime" property="releasedTime"/>
+        <result column="releasedReason" property="releasedReason"/>
+        <result column="releasedType" property="releasedType"/>
+        <result column="railwayName" property="railwayName"/>
+        <result column="remark" property="remark"/>
+        <result column="isLock" property="isLock"/>
     </resultMap>
     <select id="listDto" resultMap="AlarmStatisticDtoResult">
         SELECT
         a.alarm_id AS alarmId,
+        a.camera_code AS cameraCode,
         a.alarm_time AS alarmTime,
         a.alarm_mile AS alarmMile,
+        a.content AS content,
+        a.alarm_confidence AS alarmConfidence,
         a.line_dir AS lineDir,
         a.alarm_type AS alarmType,
+        a.alarm_attr AS alarmAttr,
+        a.image_url AS imageUrl,
+        a.released_by AS releasedBy,
+        a.released_time AS releasedTime,
+        a.released_reason AS releasedReason,
+        a.released_type AS releasedType,
         c.railway_name AS railwayName,
-        b.begin_mile AS beginMile,
-        b.end_mile AS endMile
+        a.remark AS remark,
+        a.is_lock AS isLock
         FROM
         msg_alarm AS a inner join
         base_camera_management AS b on a.camera_code=b.camera_code left join

+ 48 - 9
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java

@@ -440,8 +440,32 @@ public class MsgAlarmController extends BaseController {
         if (user.isAdmin(user.getId())) {
             userId = "";
         }
-        IPage<AlarmStatisticVo> page = msgAlarmService.list(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getCurrentYear(),
+        List<AlarmStatisticVo> list = msgAlarmService.list(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getCurrentYear(),
                 alarmStatisticResVo.getCurrentMonth(), alarmStatisticResVo.getAlarmType(), pageNum, pageSize, userId);
+        if (!ObjectUtils.isEmpty(list)) {
+            list.forEach(l -> {
+                if (!ObjectUtils.isEmpty(l.getAlarmMile())) {
+                    l.setAlarmMile(AppendUtils.stringAppend(Integer.valueOf(l.getAlarmMile())));
+                }
+                if (StringUtils.isNotEmpty(l.getReleasedBy())) {
+                    BaseUser buser = baseUserService.getUser(l.getReleasedBy());
+                    l.setReleasedByName(buser.getNickName());
+                }
+                if (!ObjectUtils.isEmpty(l.getReleasedType())) {
+                    l.setReleasedTypeName(l.getReleasedType() == 1 ? "真实报警" : "误报警");
+                }
+                if (!ObjectUtils.isEmpty(l.getLineDir())) {
+                    l.setLineDirName(l.getLineDir() == 1 ? "上行" : "下行");
+                }
+                if (!ObjectUtils.isEmpty(l.getAlarmType())) {
+                    l.setAlarmTypeName(dictDataService.selectDictLabel("sys_alarm_type", String.valueOf(l.getAlarmType())));
+                }
+                if (!ObjectUtils.isEmpty(l.getIsLock())) {
+                    l.setIsLockName(l.getIsLock() == 1 ? "已解除" : "未解除");
+                }
+            });
+        }
+        IPage page = msgAlarmService.listToPage(list, pageNum, pageSize);
         return AjaxResult.success(page);
     }
 
@@ -543,14 +567,29 @@ public class MsgAlarmController extends BaseController {
             List<AlarmStatisticDto> list = msgAlarmService.exportExcel(alarmStatisticResVo, userId);
             if (!CollectionUtils.isEmpty(list) && Objects.nonNull(list.get(0))) {
                 list.forEach(l -> {
-                    String alarmType = l.getAlarmType();
-                    String alarmTypeValue = dictDataService.selectDictLabel("sys_alarm_type", alarmType);
-                    l.setAlarmTypeValue(alarmTypeValue);
-
-                    String lineDir = l.getLineDir();
-                    String lineDirValue = dictDataService.selectDictLabel("sys_line_dir", lineDir);
-                    l.setLineDirValue(lineDirValue);
-                    l.setAlarmMile(AppendUtils.stringAppend(Integer.valueOf(l.getAlarmMile())));
+                    if (!ObjectUtils.isEmpty(l.getAlarmMile())) {
+                        l.setAlarmMiles(AppendUtils.stringAppend(Integer.valueOf(l.getAlarmMile())));
+                    }
+                    if (StringUtils.isNotEmpty(l.getReleasedBy())) {
+                        BaseUser buser = baseUserService.getUser(l.getReleasedBy());
+                        l.setReleasedByName(buser.getNickName());
+                    }
+                    if (!ObjectUtils.isEmpty(l.getReleasedType())) {
+                        l.setReleasedTypeName(l.getReleasedType() == 1 ? "真实报警" : "误报警");
+                    }
+                    if (!ObjectUtils.isEmpty(l.getAlarmType())) {
+                        String alarmType = l.getAlarmType();
+                        String alarmTypeValue = dictDataService.selectDictLabel("sys_alarm_type", alarmType);
+                        l.setAlarmTypeValue(alarmTypeValue);
+                    }
+                    if (!ObjectUtils.isEmpty(l.getLineDir())) {
+                        String lineDir = l.getLineDir();
+                        String lineDirValue = dictDataService.selectDictLabel("sys_line_dir", lineDir);
+                        l.setLineDirValue(lineDirValue);
+                    }
+                    if (!ObjectUtils.isEmpty(l.getIsLock())) {
+                        l.setIsLockName(l.getIsLock() == 1 ? "已解除" : "未解除");
+                    }
                 });
             }