wyyay 2 years ago
parent
commit
e7029e68b3

+ 2 - 2
.idea/compiler.xml

@@ -7,10 +7,10 @@
         <sourceOutputDir name="target/generated-sources/annotations" />
         <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
         <outputRelativeToContentRoot value="true" />
-        <module name="hazard-sdk" />
-        <module name="business-service" />
         <module name="hazard-admin" />
+        <module name="hazard-sdk" />
         <module name="base-admin" />
+        <module name="business-service" />
       </profile>
     </annotationProcessing>
     <bytecodeTargetLevel>

+ 0 - 5
.idea/misc.xml

@@ -7,11 +7,6 @@
         <option value="$PROJECT_DIR$/pom.xml" />
       </list>
     </option>
-    <option name="ignoredFiles">
-      <set>
-        <option value="$PROJECT_DIR$/admin/pom.xml" />
-      </set>
-    </option>
   </component>
   <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
 </project>

+ 1 - 1
business-service/src/main/java/com/ozs/service/entity/MsgAppPush.java

@@ -39,7 +39,7 @@ public class MsgAppPush extends BaseEntity implements Serializable {
     /**
      * 接收人
      */
-    private Long recipient;
+    private String receiveBy;
 
     /**
      * 状态:0未读;1已读

+ 105 - 0
business-service/src/main/java/com/ozs/service/entity/vo/AlarmStatisticVo.java

@@ -0,0 +1,105 @@
+package com.ozs.service.entity.vo;
+
+import com.ozs.service.entity.BaseCameraManagement;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 统计管理页面实体类
+ *
+ * @author wyy
+ * @subject
+ * @creat 2023/3/6
+ */
+@Data
+public class AlarmStatisticVo {
+
+    /**
+     * 报警唯一标识
+     */
+    private String alarmId;
+
+    /**
+     * 相机编码
+     */
+    private String cameraCode;
+
+    /**
+     * 报警时间
+     */
+    private Date alarmTime;
+
+    /**
+     * 报警里程位置
+     */
+    private String alarmMile;
+
+    /**
+     * 报警内容
+     */
+    private String content;
+
+    /**
+     * 报警置信度(百分比)
+     */
+    private Integer alarmConfidence;
+
+    /**
+     * 报警行别(1上行2下行)
+     */
+    private Integer lineDir;
+
+    /**
+     * 报警病害类型(目前只有1泥石流,后续可扩展使用)
+     */
+    private Integer alarmType;
+
+    /**
+     * 报警病害属性(可以给出泥石流的框定范围)
+     */
+    private String alarmAttr;
+
+    /**
+     * 报警图片地址
+     */
+    private String imageUrl;
+
+    /**
+     * 解除人
+     */
+    private String releasedBy;
+
+    /**
+     * 解除时间
+     */
+    private Date releasedTime;
+
+    /**
+     * 报警是否解除 1已解除2未解除
+     */
+    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;
+    }
+}

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

@@ -23,7 +23,7 @@ public class MsgAppPushVo extends PageVo implements Serializable {
     /**
      * 接收人
      */
-    private Long recipient;
+    private String receiveBy;
 
     /**
      * 状态:0未读;1已读

+ 7 - 2
business-service/src/main/java/com/ozs/service/mapper/MsgAlarmMapper.java

@@ -3,8 +3,9 @@ package com.ozs.service.mapper;
 import com.ozs.service.entity.MsgAlarm;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ozs.service.entity.vo.AlarmStatisticVo;
-import io.lettuce.core.dynamic.annotation.Param;
+
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -18,5 +19,9 @@ import java.util.List;
  */
 @Mapper
 public interface MsgAlarmMapper extends BaseMapper<MsgAlarm> {
-    List<AlarmStatisticVo> list(@Param("railwayCode") String railwayCode, @Param("startMonth") Integer startMonth, @Param("endMonth") Integer endMonth, @Param("alarmType") String alarmType);
+    //报警数据详情
+    List<AlarmStatisticVo> list(@Param("railwayCode") String railwayCode, @Param("startMonth") Integer startMonth, @Param("endMonth") Integer endMonth, @Param("alarmType") String alarmType, @Param("userId") String userId);
+
+    //报警月统计数据
+    List<AlarmStatisticVo> listMonth(@Param("railwayCode") String railwayCode, @Param("startMonth") Integer startMonth, @Param("endMonth") Integer endMonth, @Param("alarmType") String alarmType, @Param("userId") String userId);
 }

+ 21 - 0
business-service/src/main/java/com/ozs/service/mapper/MsgAppPushMapper.java

@@ -2,7 +2,11 @@ package com.ozs.service.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ozs.service.entity.MsgAppPush;
+import com.ozs.service.entity.vo.MsgAppPushVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author wyy
@@ -11,5 +15,22 @@ import org.apache.ibatis.annotations.Mapper;
  */
 @Mapper
 public interface MsgAppPushMapper extends BaseMapper<MsgAppPush> {
+    /**
+     * app推送报警信息记录
+     *
+     * @param status
+     * @param
+     * @return
+     */
+    List<MsgAppPushVo> alarmPushMsg(Integer status);
 
+    /**
+     * app推送报警信息记录修改状态
+     *
+     * @param status
+     * @param id
+     * @param updateBy
+     * @return
+     */
+    public int update(@Param("id") Long id, @Param("status") Integer status, @Param("updateBy") String updateBy);
 }

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

@@ -1,11 +1,11 @@
 package com.ozs.service.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ozs.service.entity.MsgAlarm;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.service.entity.vo.AlarmStatisticVo;
-import io.lettuce.core.dynamic.annotation.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -16,5 +16,9 @@ import io.lettuce.core.dynamic.annotation.Param;
  * @since 2023-02-22
  */
 public interface MsgAlarmService extends IService<MsgAlarm> {
-    IPage<AlarmStatisticVo> list(String railwayCode, Integer startMonth, Integer endMonth, String alarmType, Integer pageNum, Integer pageSize);
+    //web数据统计 报警数据详情
+    IPage<AlarmStatisticVo> list(String railwayCode, Integer startMonth, Integer endMonth, String alarmType, Integer pageNum, Integer pageSize, String userId);
+
+    //web数据统计 报警月统计数据
+    List<AlarmStatisticVo> getCount(String railwayCode, Integer startMonth, Integer endMonth, String alarmType, String userId);
 }

+ 17 - 3
business-service/src/main/java/com/ozs/service/service/MsgAppPushService.java

@@ -2,6 +2,10 @@ package com.ozs.service.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.service.entity.MsgAppPush;
+import com.ozs.service.entity.vo.MsgAppPushVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author wyy
@@ -10,11 +14,21 @@ import com.ozs.service.entity.MsgAppPush;
  */
 public interface MsgAppPushService extends IService<MsgAppPush> {
     /**
-     * 修改app推送报警信息记录为已读
-     * @param id
+     * app推送报警信息记录
+     *
+     * @param status
      * @param
      * @return
      */
-    //MsgAppPush updateStatus(Long id);
+    List<MsgAppPushVo> alarmPushMsg(Integer status);
 
+    /**
+     * app推送报警信息记录修改状态
+     *
+     * @param status
+     * @param id
+     * @param updateBy
+     * @return
+     */
+    int update(Long id, Integer status, String updateBy);
 }

+ 8 - 5
business-service/src/main/java/com/ozs/service/service/impl/MsgAlarmServiceImpl.java

@@ -41,14 +41,17 @@ public class MsgAlarmServiceImpl extends ServiceImpl<MsgAlarmMapper, MsgAlarm> i
         return page;
     }
 
+    //web数据统计 报警数据详情
     @Override
-    public IPage<AlarmStatisticVo> list(String railwayCode, Integer startMonth, Integer endMonth, String alarmType, Integer pageNum, Integer pageSize) {
-        List<AlarmStatisticVo> list = msgAlarmMapper.list(railwayCode, startMonth, endMonth, alarmType);
-        HashMap<String, Object> map = new HashMap<>();
+    public IPage<AlarmStatisticVo> list(String railwayCode, Integer startMonth, Integer endMonth, String alarmType, Integer pageNum, Integer pageSize, String userId) {
+        List<AlarmStatisticVo> list = msgAlarmMapper.list(railwayCode, startMonth, endMonth, alarmType, userId);
         IPage listPage = listToPage(list, pageNum, pageSize);
-        map.put("page", listPage);
-        map.put("length", listPage);
         return listPage;
     }
 
+    @Override
+    public List<AlarmStatisticVo> getCount(String railwayCode, Integer startMonth, Integer endMonth, String alarmType, String userId) {
+        List<AlarmStatisticVo> list = msgAlarmMapper.listMonth(railwayCode, startMonth, endMonth, alarmType, userId);
+        return list;
+    }
 }

+ 17 - 0
business-service/src/main/java/com/ozs/service/service/impl/MsgAppPushServiceImpl.java

@@ -2,10 +2,14 @@ package com.ozs.service.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ozs.service.entity.MsgAppPush;
+import com.ozs.service.entity.vo.MsgAppPushVo;
 import com.ozs.service.mapper.MsgAppPushMapper;
 import com.ozs.service.service.MsgAppPushService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @author wyy
  * @subject
@@ -13,5 +17,18 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class MsgAppPushServiceImpl extends ServiceImpl<MsgAppPushMapper, MsgAppPush> implements MsgAppPushService {
+    @Autowired
+    MsgAppPushMapper msgAppPushMapper;
+
+    @Override
+    public List<MsgAppPushVo> alarmPushMsg(Integer status) {
+        List<MsgAppPushVo> list = msgAppPushMapper.alarmPushMsg(status);
+        return list;
+    }
 
+    @Override
+    public int update(Long id, Integer status, String updateBy) {
+        int num = msgAppPushMapper.update(id, status, updateBy);
+        return num;
+    }
 }

+ 104 - 25
business-service/src/main/resources/mapper/service/MsgAlarmMapper.xml

@@ -1,48 +1,127 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ozs.service.mapper.MsgAlarmMapper">
+    <resultMap id="AlarmStatisticVoResult" type="com.ozs.service.entity.vo.AlarmStatisticVo">
+        <id column="id" property="id"/>
+        <result column="alarm_id" property="alarmId"/>
+        <result column="camera_code" property="cameraCode"/>
+        <result column="alarm_time" property="alarmTime"/>
+        <result column="alarm_mile" property="alarmMile"/>
+        <result column="content" property="content"/>
+        <result column="alarm_confidence" property="alarmConfidence"/>
+        <result column="line_dir" property="lineDir"/>
+        <result column="alarm_type" property="alarmType"/>
+        <result column="alarm_attr" property="alarmAttr"/>
+        <result column="image_url" property="imageUrl"/>
+        <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="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">
+        SELECT
+        a.alarm_id ,
+        a.camera_code ,
+        a.alarm_time ,
+        a.alarm_mile ,
+        a.content ,
+        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
+        FROM
+        msg_alarm AS a left join
+        base_camera_management AS b on a.camera_code=b.camera_code left join
+        msg_web_push m on a.alarm_id = m.alarm_id
+
+        <where>
+            <if test="railwayCode != null and railwayCode != ''">
+                and UPPER(b.railway_code) like UPPER(CONCAT('%',#{railwayCode},'%'))
+            </if>
+            <if test="startMonth != null and startMonth != 0">
+                <![CDATA[and MONTH(a.alarm_time) >=#{startMonth}]]>
+            </if>
+            <if test="endMonth != null and endMonth != 0">
+                <![CDATA[and MONTH(a.alarm_time) <=#{endMonth}]]>
+            </if>
+            <if test="alarmType != null and alarmType != ''">
+                and UPPER(a.alarm_type) like UPPER(CONCAT('%',#{alarmType},'%'))
+            </if>
+            <if test="userId != null and userId != ''">
+                and UPPER(m.receive_by) like UPPER(CONCAT('%',#{userId},'%'))
+            </if>
+        </where>
+        group by a.alarm_id
+    </select>
 
-    <select id="list" resultType="com.ozs.service.entity.vo.AlarmStatisticVo">
+    <select id="listMonth" resultMap="AlarmStatisticVoResult">
         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.is_lock AS isLock,
-        b.railway_code AS railwayCode,
+        a.alarm_id ,
+        MONTH(a.alarm_time) as monthsta,
+        count(DISTINCT a.alarm_id) as frequency,
+        a.camera_code ,
+        a.alarm_time ,
+        a.alarm_mile ,
+        a.content ,
+        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 installMile,
-        b.begin_mile AS beginMile,
-        b.end_mile AS endMile,
-        b.install_longitude AS installLongitude,
-        b.install_latitude AS installLatitude
+        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
         FROM
         msg_alarm AS a left join
-        base_camera_management AS b on a.camera_code=b.camera_code
+        base_camera_management AS b on a.camera_code=b.camera_code left join
+        msg_web_push m on a.alarm_id = m.alarm_id
 
         <where>
             <if test="railwayCode != null and railwayCode != ''">
                 and UPPER(b.railway_code) like UPPER(CONCAT('%',#{railwayCode},'%'))
             </if>
-            <if test="startMonth != null and startMonth != ''">
-                and MONTH(a.alarm_time) >=#{startMonth}
+            <if test="startMonth != null and startMonth != 0">
+                <![CDATA[and MONTH(a.alarm_time) >=#{startMonth}]]>
             </if>
-            <if test="endMonth != null and endMonth != ''">
-                and MONTH(a.alarm_time) >=#{endMonth}
+            <if test="endMonth != null and endMonth != 0">
+                <![CDATA[and MONTH(a.alarm_time) <=#{endMonth}]]>
             </if>
             <if test="alarmType != null and alarmType != ''">
                 and UPPER(a.alarm_type) like UPPER(CONCAT('%',#{alarmType},'%'))
             </if>
+            <if test="userId != null and userId != ''">
+                and UPPER(m.receive_by) like UPPER(CONCAT('%',#{userId},'%'))
+            </if>
         </where>
+        group by a.alarm_id,MONTH(a.alarm_time)
 
     </select>
 </mapper>

+ 41 - 0
business-service/src/main/resources/mapper/service/MsgAppPushMapper.xml

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ozs.service.mapper.MsgAppPushMapper">
+    <resultMap id="MsgAppPushVoResult" type="com.ozs.service.entity.vo.MsgAppPushVo">
+        <id column="id" property="id"/>
+        <result column="alarm_id" property="alarmId"/>
+        <result column="receive_by" property="receiveBy"/>
+        <result column="status" property="status"/>
+        <result column="create_by" property="createBy"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_by" property="updateBy"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="remark" property="remark"/>
+    </resultMap>
+    <select id="alarmPushMsg" resultMap="MsgAppPushVoResult">
+        select
+        alarm_id,
+        receive_by,
+        status,
+        create_by,
+        create_time,
+        update_by,
+        update_time,
+        remark
+        from msg_app_push
+        <where>
+            <if test="status != null and status != 0">
+                and UPPER(status) like UPPER(CONCAT('%',#{status},'%'))
+            </if>
+        </where>
+    </select>
+    <update id="update" parameterType="com.ozs.service.entity.MsgAppPush">
+        update msg_app_push
+        <set>
+            <if test="status != null and status != 0">status = #{status},</if>
+            <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
+            update_time = sysdate()
+        </set>
+        where id = #{id}
+    </update>
+</mapper>

+ 60 - 25
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java

@@ -14,10 +14,7 @@ import com.ozs.service.entity.BaseCameraManagement;
 import com.ozs.service.entity.BaseRailwayManagement;
 import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.entity.MsgAlarmFrequency;
-import com.ozs.service.entity.vo.AlarmStatisticResVo;
-import com.ozs.service.entity.vo.AlarmStatisticVo;
-import com.ozs.service.entity.vo.MsgAlarmResp;
-import com.ozs.service.entity.vo.MsgAlarmVo;
+import com.ozs.service.entity.vo.*;
 import com.ozs.service.mapper.MsgAlarmMapper;
 import com.ozs.service.service.BaseCameraManagementService;
 import com.ozs.service.service.BaseRailwayManagementService;
@@ -26,6 +23,7 @@ import com.ozs.service.service.MsgAlarmService;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
@@ -47,7 +45,6 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.OutputStream;
-import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -236,7 +233,7 @@ public class MsgAlarmController extends BaseController {
      * @return
      */
     @PostMapping("/dataStatistic")
-    @ApiOperation(value = "web数据统计")
+    @ApiOperation(value = "web数据统计 报警数据详情")
     @ApiImplicitParams(value = {
             @ApiImplicitParam(paramType = "query", name = "railwayCode", value = "线路编码"),
             @ApiImplicitParam(paramType = "query", name = "startMonth", value = "起始月份"),
@@ -246,11 +243,39 @@ public class MsgAlarmController extends BaseController {
     public AjaxResult dataStatistic(@RequestBody AlarmStatisticResVo alarmStatisticResVo) {
         Integer pageNum = alarmStatisticResVo.getPageNum().intValue();
         Integer pageSize = alarmStatisticResVo.getPageSize().intValue();
+        String userId = getUserId();
+        if ("1".equals(userId)) {
+            userId = "";
+        }
         IPage<AlarmStatisticVo> page = msgAlarmService.list(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getStartMonth(),
-                alarmStatisticResVo.getEndMonth(), alarmStatisticResVo.getAlarmType(), pageNum, pageSize);
+                alarmStatisticResVo.getEndMonth(), alarmStatisticResVo.getAlarmType(), pageNum, pageSize, userId);
         return AjaxResult.success(page);
     }
 
+    /**
+     * web数据统计
+     *
+     * @param
+     * @return
+     */
+    @PostMapping("/alarmMonthStatistic")
+    @ApiOperation(value = "web数据统计 报警月统计数据")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(paramType = "query", name = "railwayCode", value = "线路编码"),
+            @ApiImplicitParam(paramType = "query", name = "startMonth", value = "起始月份"),
+            @ApiImplicitParam(paramType = "query", name = "endMonth", value = "结束月份"),
+            @ApiImplicitParam(paramType = "query", name = "alarmType", value = "灾害类型"),
+    })
+    public AjaxResult alarmMonthStatistic(@RequestBody AlarmStatisticResVo alarmStatisticResVo) {
+        String userId = getUserId();
+        if ("1".equals(userId)) {
+            userId = "";
+        }
+        List<AlarmStatisticVo> list = msgAlarmService.getCount(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getStartMonth(),
+                alarmStatisticResVo.getEndMonth(), alarmStatisticResVo.getAlarmType(), userId);
+        return AjaxResult.success(list);
+    }
+
     /**
      * web数据统计 数据导出
      *
@@ -329,32 +354,42 @@ public class MsgAlarmController extends BaseController {
         cs_text.setAlignment(HorizontalAlignment.CENTER);
         //垂直居中
         cs_text.setVerticalAlignment(VerticalAlignment.CENTER);
+        String userId = "1";//getUserId();
+        if ("1".equals(userId)) {
+            userId = "";
+        }
         //调取数据
         List<AlarmStatisticVo> list = msgAlarmMapper.list(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getStartMonth(),
-                alarmStatisticResVo.getEndMonth(), alarmStatisticResVo.getAlarmType());
-        //记录总共多少列(由于接口查询出来的实体类集合,所以不好循环,使用)
-        Integer cellSum = 0;
+                alarmStatisticResVo.getEndMonth(), alarmStatisticResVo.getAlarmType(), userId);
         //将数据写入表格
         for (int i = 0; i < list.size(); i++) {
-            //将实体类集合转成string数组,通过‘,’,获取总共多少列
-            String[] split = list.get(i).toString().split(",");
-            cellSum = split.length;
-            //创建行,由于0行是标题,所以+1
             row = sheet.createRow(i + 1);
-            //实体类集合不太好循环,所以逐一设置,如果是其他则可使用for循环
-            AlarmStatisticVo wpa = (AlarmStatisticVo) list.get(i);
-            //row.createCell(0).setCellValue(.get!=null?wpa.getType():'1');
-            //为每一个单元格设置样式
-            for (int j = 0; j < cellSum; j++) {
-                row.getCell(j).setCellStyle(cs_text);
+            AlarmStatisticVo vo = list.get(i);
+            // 第四步,创建单元格,并设置值
+            if (StringUtils.isNotEmpty(vo.getBaseCameraManagement().getRailwayCode())) {
+                row.createCell(0).setCellValue(vo.getBaseCameraManagement().getRailwayCode());
+            }
+            if (vo.getAlarmTime() != null) {
+                row.createCell(1).setCellValue(vo.getAlarmTime());
+            }
+            if (vo.getLineDir() != null) {
+                row.createCell(2).setCellValue(vo.getLineDir());
+            }
+            if (vo.getAlarmType() != null) {
+                row.createCell(3).setCellValue(vo.getAlarmType());
+            }
+            if (vo.getBaseCameraManagement().getInstallMile() != null) {
+                row.createCell(4).setCellValue(vo.getBaseCameraManagement().getInstallMile());
+            }
+            if (vo.getBaseCameraManagement().getBeginMile() != null) {
+                row.createCell(5).setCellValue(vo.getBaseCameraManagement().getBeginMile());
+            }
+            if (vo.getBaseCameraManagement().getEndMile() != null) {
+                row.createCell(6).setCellValue(vo.getBaseCameraManagement().getEndMile());
             }
-        }
-        //设置单元格宽度自适应
-        for (int i = 0; i <= cellSum; i++) {
-            sheet.autoSizeColumn((short) i, true); //自动调整列宽
         }
         //设置中文文件名称
-        String fileName = "POIExcel下载测试";//URLEncoder.encode("POIExcel下载测试","UTF-8");
+        String fileName = "报警数据详情";//URLEncoder.encode("POIExcel下载测试","UTF-8");
         //浏览器默认服务器传过去的是html,不是excel文件
         //设置响应类型:传输内容是流,并支持中文
         response.setContentType("application/octet-stream;charset=UTF-8");

+ 14 - 3
hazard-admin/src/main/java/com/ozs/web/controller/app/GeoHazardMineController.java

@@ -24,6 +24,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
 import java.io.FileOutputStream;
+import java.util.List;
 import java.util.UUID;
 
 /**
@@ -98,9 +99,19 @@ public class GeoHazardMineController extends BaseController {
     @RequestMapping(value = "/list", method = RequestMethod.POST)
     @ApiOperation("app推送报警信息记录分页显示(全部信息)")
     public AjaxResult list(@RequestBody MsgAppPushVo msgAppPushVo) {
-        QueryWrapper<MsgAppPush> queryWrapper = new QueryWrapper<MsgAppPush>();
-        IPage<MsgAppPush> page = msgAppPushService.page(new Page<>(msgAppPushVo.getPageNum(), msgAppPushVo.getPageSize()), queryWrapper);
-        return AjaxResult.success(page);
+        List<MsgAppPushVo> list = msgAppPushService.alarmPushMsg(msgAppPushVo.getStatus());
+        return AjaxResult.success(list);
+    }
+
+    /**
+     * app推送报警信息记录修改状态
+     */
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    @ApiOperation("app推送报警信息记录分页显示(全部信息)")
+    public AjaxResult update(@RequestBody MsgAppPush msgAppPush) {
+        String userName = getUsername();
+        msgAppPushService.update(msgAppPush.getId(), msgAppPush.getStatus(), userName);
+        return AjaxResult.success();
     }
 }