Browse Source

事件管理-火灾告警处置相关接口开发

jichaobo 2 years ago
parent
commit
cbdb6ebbac

+ 46 - 7
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/AlarmFireController.java

@@ -1,16 +1,19 @@
 package com.usky.fire.controller.web;
 
 
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
 import com.usky.common.core.bean.ApiResult;
 import com.usky.common.core.bean.CommonPage;
+import com.usky.fire.domain.AlarmFire;
 import com.usky.fire.service.AlarmFireService;
 import com.usky.fire.service.vo.AlarmFireVo;
+import com.usky.fire.service.vo.PatrolInspectionSiteExportVo;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -27,7 +30,7 @@ public class AlarmFireController {
     private AlarmFireService alarmFireService;
 
     /**
-     * 事件管理-火警告警处置/故障告警处置-列表查询
+     * 事件管理-/火警告警处置/故障告警处置/隐患报警处理-火灾报警处置/-列表查询
      *
      * @param handlingStatus 处理状态(0、未处理 1、已处理)
      * @param startDate      开始时间 格式:yyyy-MM-dd HH:mm:ss
@@ -49,7 +52,7 @@ public class AlarmFireController {
 
 
     /**
-     * 事件管理-火警告警处置/故障告警处置-左侧数据统计
+     * 事件管理-/火警告警处置/故障告警处置/隐患报警处理-火灾报警处置/-左侧数据统计
      *
      * @param alarmType 告警类型(2 火警、4 故障、16 监管等)
      * @return
@@ -61,7 +64,7 @@ public class AlarmFireController {
 
 
     /**
-     * 事件管理-火警告警处置/故障告警处置-数据统计图
+     * 事件管理-/火警告警处置/故障告警处置/隐患报警处理-火灾报警处置/-数据统计图
      *
      * @param alarmType 告警类型(2 火警、4 故障、16 监管等)
      * @param startDate 开始时间  格式:yyyy-MM-dd HH:mm:ss
@@ -74,5 +77,41 @@ public class AlarmFireController {
                                                                @RequestParam(value = "endDate", required = false) String endDate) {
         return ApiResult.success(alarmFireService.fireStatisticalChart(alarmType, startDate, endDate));
     }
+
+
+    /**
+     * 事件管理-/火警告警处置/故障告警处置/隐患报警处理-火灾报警处置/-告警处理
+     *
+     * @param alarmFire
+     * @return
+     */
+    @PostMapping("updateAlarmFire")
+    public ApiResult<Void> updateAlarmFire(@RequestBody AlarmFire alarmFire) {
+        alarmFireService.updateAlarmFire(alarmFire);
+        return ApiResult.success();
+    }
+
+
+    /**
+     * 事件管理-/火警告警处置/故障告警处置/隐患报警处理-火灾报警处置/-导出
+     * @param response
+     * @param handlingStatus    处理状态(0、未处理 1、已处理)
+     * @param alarmType         告警类型(2 火警、4 故障、16 监管等)
+     * @param startDate         开始时间 格式:yyyy-MM-dd HH:mm:ss
+     * @param endDate           结束时间 格式:yyyy-MM-dd HH:mm:ss
+     * @param exportTitle       导出标题
+     * @throws IOException
+     */
+    @GetMapping("alarmFireLowerListExport")
+    public void export(HttpServletResponse response,
+                       @RequestParam(value = "handlingStatus", required = false) Integer handlingStatus,
+                       @RequestParam(value = "alarmType", required = false) String alarmType,
+                       @RequestParam(value = "startDate", required = false) String startDate,
+                       @RequestParam(value = "endDate", required = false) String endDate,
+                       @RequestParam(value = "exportTitle") String exportTitle) throws IOException {
+        List<AlarmFireVo> list = alarmFireService.alarmFireLowerListExport(handlingStatus, startDate, endDate, alarmType);
+        ExcelUtil<AlarmFireVo> util = new ExcelUtil<AlarmFireVo>(AlarmFireVo.class);
+        util.exportExcel(response, list, exportTitle, exportTitle);
+    }
 }
 

+ 4 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/AlarmFireService.java

@@ -25,6 +25,10 @@ public interface AlarmFireService extends CrudService<AlarmFire> {
 
     Map<String, Object> fireStatisticalChart(String alarmType, String startDate, String endDate);
 
+    void updateAlarmFire(AlarmFire alarmFire);
+
+    List<AlarmFireVo> alarmFireLowerListExport(Integer handlingStatus, String startDate, String endDate, String alarmType);
+
     Integer fireCount(List<String> deviceCodeList, Integer handlingStatus,List<Integer> alarmTypeList);
 
     CommonPage<AlarmFire> alarmFireList(List<String> deviceCodeList, Integer handlingStatus, String startDate,

+ 76 - 4
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/AlarmFireServiceImpl.java

@@ -14,6 +14,8 @@ import com.usky.fire.service.vo.AlarmFireVo;
 import com.usky.system.model.LoginUser;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -33,7 +35,7 @@ public class AlarmFireServiceImpl extends AbstractCrudService<AlarmFireMapper, A
     @Override
     public CommonPage<AlarmFireVo> alarmFireLowerList(Integer handlingStatus, String startDate, String endDate,
                                                       Integer pageNum, Integer pageSize, String alarmType) {
-
+        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         List<Integer> alarmTypeList = new ArrayList<>();
         if (alarmType != null && !"".equals(alarmType)) {
             String[] alarmTypeArray = alarmType.split(",");
@@ -53,8 +55,9 @@ public class AlarmFireServiceImpl extends AbstractCrudService<AlarmFireMapper, A
         for (int i = 0; i < alarmFireList.getRecords().size(); i++) {
             AlarmFireVo alarmFireVo = new AlarmFireVo();
             alarmFireVo.setId(alarmFireList.getRecords().get(i).getId());
+            alarmFireVo.setDeviceCode(alarmFireList.getRecords().get(i).getDeviceCode());
             alarmFireVo.setAlarmType(alarmFireList.getRecords().get(i).getAlarmType());
-            alarmFireVo.setAlarmTime(alarmFireList.getRecords().get(i).getAlarmTime());
+            alarmFireVo.setAlarmTime(df.format(alarmFireList.getRecords().get(i).getAlarmTime()));
             alarmFireVo.setAddress(alarmFireList.getRecords().get(i).getAddress());
             alarmFireVo.setAlarmStatus(alarmFireList.getRecords().get(i).getAlarmStatus());
             alarmFireVo.setOriginalType(alarmFireList.getRecords().get(i).getOriginalType());
@@ -67,7 +70,11 @@ public class AlarmFireServiceImpl extends AbstractCrudService<AlarmFireMapper, A
             alarmFireVo.setLoopNum(alarmFireList.getRecords().get(i).getLoopNum());
             alarmFireVo.setPtNum(alarmFireList.getRecords().get(i).getPtNum());
             alarmFireVo.setHandler(alarmFireList.getRecords().get(i).getHandler());
-            alarmFireVo.setHandlingTime(alarmFireList.getRecords().get(i).getHandlingTime());
+            if (alarmFireList.getRecords().get(i).getHandlingTime()!=null){
+                alarmFireVo.setHandlingTime(df.format(alarmFireList.getRecords().get(i).getHandlingTime()));
+            }else {
+                alarmFireVo.setHandlingTime(null);
+            }
             alarmFireVo.setHandlingContent(alarmFireList.getRecords().get(i).getHandlingContent());
             alarmFireVo.setHandlerPhone(alarmFireList.getRecords().get(i).getHandlerPhone());
             alarmFireVo.setHandlingStatus(alarmFireList.getRecords().get(i).getHandlingStatus());
@@ -76,7 +83,7 @@ public class AlarmFireServiceImpl extends AbstractCrudService<AlarmFireMapper, A
             alarmFireVo.setCompanyName("未定义单位表");
             list.add(alarmFireVo);
         }
-        return new CommonPage<>(list, alarmFireList.getTotal(), alarmFireList.getSize(), alarmFireList.getSize());
+        return new CommonPage<>(list, alarmFireList.getTotal(), pageSize, pageNum);
     }
 
 
@@ -153,6 +160,71 @@ public class AlarmFireServiceImpl extends AbstractCrudService<AlarmFireMapper, A
     }
 
 
+    @Override
+    public void updateAlarmFire(AlarmFire alarmFire) {
+        alarmFire.setHandler(SecurityUtils.getUsername());
+        alarmFire.setHandlingTime(LocalDateTime.now());
+        alarmFire.setHandlingStatus(1);
+        this.updateById(alarmFire);
+    }
+
+
+
+    @Override
+    public List<AlarmFireVo> alarmFireLowerListExport(Integer handlingStatus, String startDate, String endDate, String alarmType) {
+        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        List<Integer> alarmTypeList = new ArrayList<>();
+        if (alarmType != null && !"".equals(alarmType)) {
+            String[] alarmTypeArray = alarmType.split(",");
+            for (int i = 0; i < alarmTypeArray.length; i++) {
+                alarmTypeList.add(Integer.parseInt(alarmTypeArray[i]));
+            }
+        }
+        String userType = null;
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        if (loginUser != null && !"".equals(loginUser)) {
+            userType = loginUser.getUserType();
+        }
+        //缺少维保单位部分代码
+        List<String> devcieCodeList = new ArrayList<>();
+        CommonPage<AlarmFire> alarmFireList = this.alarmFireList(devcieCodeList, handlingStatus, startDate, endDate, 0, 0, alarmTypeList);
+        List<AlarmFireVo> list = new ArrayList<>();
+        for (int i = 0; i < alarmFireList.getRecords().size(); i++) {
+            AlarmFireVo alarmFireVo = new AlarmFireVo();
+            alarmFireVo.setXh(i + 1);
+            alarmFireVo.setId(alarmFireList.getRecords().get(i).getId());
+            alarmFireVo.setDeviceCode(alarmFireList.getRecords().get(i).getDeviceCode());
+            alarmFireVo.setAlarmType(alarmFireList.getRecords().get(i).getAlarmType());
+            alarmFireVo.setAlarmTime(df.format(alarmFireList.getRecords().get(i).getAlarmTime()));
+            alarmFireVo.setAddress(alarmFireList.getRecords().get(i).getAddress());
+            alarmFireVo.setAlarmStatus(alarmFireList.getRecords().get(i).getAlarmStatus());
+            alarmFireVo.setOriginalType(alarmFireList.getRecords().get(i).getOriginalType());
+            alarmFireVo.setAlarmName(alarmFireList.getRecords().get(i).getAlarmName());
+            alarmFireVo.setOriginalPoint(alarmFireList.getRecords().get(i).getOriginalPoint());
+            alarmFireVo.setPointType(alarmFireList.getRecords().get(i).getPointType());
+            alarmFireVo.setPointDescribe(alarmFireList.getRecords().get(i).getPointDescribe());
+            alarmFireVo.setPortNum(alarmFireList.getRecords().get(i).getPortNum());
+            alarmFireVo.setHostNum(alarmFireList.getRecords().get(i).getHostNum());
+            alarmFireVo.setLoopNum(alarmFireList.getRecords().get(i).getLoopNum());
+            alarmFireVo.setPtNum(alarmFireList.getRecords().get(i).getPtNum());
+            alarmFireVo.setHandler(alarmFireList.getRecords().get(i).getHandler());
+            if (alarmFireList.getRecords().get(i).getHandlingTime()!=null){
+                alarmFireVo.setHandlingTime(df.format(alarmFireList.getRecords().get(i).getHandlingTime()));
+            }else {
+                alarmFireVo.setHandlingTime(null);
+            }
+            alarmFireVo.setHandlingContent(alarmFireList.getRecords().get(i).getHandlingContent());
+            alarmFireVo.setHandlerPhone(alarmFireList.getRecords().get(i).getHandlerPhone());
+            alarmFireVo.setHandlingStatus(alarmFireList.getRecords().get(i).getHandlingStatus());
+            alarmFireVo.setFalseAlarm(alarmFireList.getRecords().get(i).getFalseAlarm());
+            alarmFireVo.setSitePhoto(alarmFireList.getRecords().get(i).getSitePhoto());
+            alarmFireVo.setCompanyName("未定义单位表");
+            list.add(alarmFireVo);
+        }
+        return list;
+    }
+
+
     /**
      * 火警告警处置/故障告警处置-数量统计
      *

+ 17 - 2
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/AlarmFireVo.java

@@ -2,6 +2,7 @@ package com.usky.fire.service.vo;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.ruoyi.common.core.annotation.Excel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -27,9 +28,16 @@ public class AlarmFireVo implements Serializable {
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
+    /**
+     * 序号
+     */
+    @Excel(name = "序号")
+    private Integer xh;
+
     /**
      * 设备编号
      */
+    @Excel(name = "设备编号")
     private String deviceCode;
 
     /**
@@ -40,11 +48,13 @@ public class AlarmFireVo implements Serializable {
     /**
      * 告警时间
      */
-    private LocalDateTime alarmTime;
+    @Excel(name = "告警时间")
+    private String alarmTime;
 
     /**
      * 上报地址
      */
+    @Excel(name = "报告内容")
     private String address;
 
     /**
@@ -60,6 +70,7 @@ public class AlarmFireVo implements Serializable {
     /**
      * 告警名称
      */
+    @Excel(name = "报告数据")
     private String alarmName;
 
     /**
@@ -100,12 +111,14 @@ public class AlarmFireVo implements Serializable {
     /**
      * 处理人
      */
+    @Excel(name = "处理人")
     private String handler;
 
     /**
      * 处理时间
      */
-    private LocalDateTime handlingTime;
+    @Excel(name = "处理时间")
+    private String handlingTime;
 
     /**
      * 处理内容
@@ -120,6 +133,7 @@ public class AlarmFireVo implements Serializable {
     /**
      * 处理状态(0、未处理 1、已处理)
      */
+    @Excel(name = "处理状态", readConverterExp = "0=未处理,1=已处理")
     private Integer handlingStatus;
 
     /**
@@ -135,6 +149,7 @@ public class AlarmFireVo implements Serializable {
     /**
      * 单位名称
      */
+    @Excel(name = "单位名称")
     private String companyName;