Procházet zdrojové kódy

Merge branch 'master' of http://124.70.58.209:3000/ytrd-project-management/GeoHazardMonitor

hexiao před 1 rokem
rodič
revize
6c787790c1
23 změnil soubory, kde provedl 646 přidání a 300 odebrání
  1. 50 0
      business-service/src/main/java/com/ozs/service/entity/MsgAlarm.java
  2. 91 10
      business-service/src/main/java/com/ozs/service/entity/vo/AlarmStatisticDto.java
  3. 5 1
      business-service/src/main/java/com/ozs/service/entity/vo/AlarmStatisticMonthDto.java
  4. 42 20
      business-service/src/main/java/com/ozs/service/entity/vo/AlarmStatisticVo.java
  5. 6 6
      business-service/src/main/java/com/ozs/service/entity/vo/BaseCameraManagementVos.java
  6. 7 2
      business-service/src/main/java/com/ozs/service/entity/vo/CameraTreeVo.java
  7. 25 0
      business-service/src/main/java/com/ozs/service/entity/vo/MsgAlarmResp.java
  8. 5 0
      business-service/src/main/java/com/ozs/service/entity/vo/MsgAlarmVo.java
  9. 2 1
      business-service/src/main/java/com/ozs/service/mapper/BaseDeviceDynamicManagementMapper.java
  10. 4 4
      business-service/src/main/java/com/ozs/service/mapper/MsgAlarmMapper.java
  11. 2 1
      business-service/src/main/java/com/ozs/service/service/BaseDeviceDynamicManagementService.java
  12. 13 6
      business-service/src/main/java/com/ozs/service/service/MsgAlarmService.java
  13. 23 15
      business-service/src/main/java/com/ozs/service/service/impl/BaseCameraManagementServiceImpl.java
  14. 3 2
      business-service/src/main/java/com/ozs/service/service/impl/BaseDeviceDynamicManagementServiceImpl.java
  15. 25 14
      business-service/src/main/java/com/ozs/service/service/impl/MsgAlarmServiceImpl.java
  16. 24 7
      business-service/src/main/resources/mapper/service/BaseDeviceDynamicManagementMapper.xml
  17. 86 40
      business-service/src/main/resources/mapper/service/MsgAlarmMapper.xml
  18. 32 63
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java
  19. 195 88
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java
  20. 4 18
      hazard-admin/src/main/java/com/ozs/web/controller/system/SysUserController.java
  21. 1 1
      hazard-admin/src/main/resources/application.yml
  22. binární
      hazard-admin/src/main/resources/template/baseCameraManagement.xlsx
  23. 1 1
      hazard-sdk/src/main/java/com/ozs/vo/ReqDeviceVo.java

+ 50 - 0
business-service/src/main/java/com/ozs/service/entity/MsgAlarm.java

@@ -44,17 +44,20 @@ public class MsgAlarm extends BaseEntity implements Serializable {
     /**
      * 报警唯一标识
      */
+    @Excel(name = "报警唯一标识")
     private String alarmId;
 
     /**
      * 相机编码
      */
+    @Excel(name = "相机编码")
     private String cameraCode;
 
     /**
      * 报警时间
      */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "报警时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date alarmTime;
 
     /**
@@ -65,6 +68,7 @@ public class MsgAlarm extends BaseEntity implements Serializable {
     /**
      * 报警内容
      */
+    @Excel(name = "报警内容")
     private String content;
 
     /**
@@ -85,11 +89,13 @@ public class MsgAlarm extends BaseEntity implements Serializable {
     /**
      * 报警病害属性(可以给出泥石流的框定范围)
      */
+    @Excel(name = "报警病害属性")
     private String alarmAttr;
 
     /**
      * 报警图片地址
      */
+    @Excel(name = "报警图片地址")
     private String imageUrl;
 
     /**
@@ -101,6 +107,7 @@ public class MsgAlarm extends BaseEntity implements Serializable {
      * 解除时间
      */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "解除时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date releasedTime;
 
     /**
@@ -133,12 +140,32 @@ public class MsgAlarm extends BaseEntity implements Serializable {
     /**
      * 备注
      */
+    @Excel(name = "备注")
     private String remark;
 
+    /**
+     * 解除报警类型1真实报警2误报警
+     */
+    private Integer releasedType;
+
+    /**
+     * 解除原因
+     */
+    @Excel(name = "解除原因")
+    private String releasedReason;
+
+    /**
+     * 解除报警类型名称   1真实报警2误报警
+     */
+    @TableField(exist = false)
+    @Excel(name = "解除报警类型")
+    private String releasedTypeName;
+
     /**
      * 线路名称
      */
     @TableField(exist = false)
+    @Excel(name = "报警线路")
     private String railwayName;
 
     /**
@@ -157,6 +184,7 @@ public class MsgAlarm extends BaseEntity implements Serializable {
      * 报警里程位置字符串形式
      */
     @TableField(exist = false)
+    @Excel(name = "报警里程位置")
     private String alarmMiles;
 
     /**
@@ -175,6 +203,7 @@ public class MsgAlarm extends BaseEntity implements Serializable {
      * 解除人真实姓名
      */
     @TableField(exist = false)
+    @Excel(name = "解除人")
     private String releasedByName;
 
     /**
@@ -188,4 +217,25 @@ public class MsgAlarm extends BaseEntity implements Serializable {
      */
     @TableField(exist = false)
     private String msgId;
+
+    /**
+     * 报警行别字符串(1上行2下行)
+     */
+    @TableField(exist = false)
+    @Excel(name = "报警行别")
+    private String lineDirName;
+
+    /**
+     * 报警病害类型(目前只有1泥石流,后续可扩展使用)
+     */
+    @TableField(exist = false)
+    @Excel(name = "报警病害类型")
+    private String alarmTypeName;
+
+    /**
+     * 报警是否解除 1已解除2未解除
+     */
+    @Excel(name = "报警是否解除")
+    @TableField(exist = false)
+    private String  isLockName;
 }

+ 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;
 }

+ 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;
 
     /**
      * 报警次数

+ 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;
 }

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

@@ -75,22 +75,22 @@ public class BaseCameraManagementVos implements Serializable {
     private String deptName;
 
     /**
-     * 监控相机安装里程位置字符串形式
+     * 监控相机安装里程位置
      */
     @Excel(name = "监控相机安装里程位置")
-    private String installMiles;
+    private Integer installMile;
 
     /**
-     * 监控范围开始里程位置字符串形式
+     * 监控范围开始里程位置
      */
     @Excel(name = "监控范围开始里程位置")
-    private String beginMiles;
+    private Integer beginMile;
 
     /**
-     * 监控范围结束里程位置字符串形式
+     * 监控范围结束里程位置
      */
     @Excel(name = "监控范围结束里程位置")
-    private String endMiles;
+    private Integer endMile;
 
     /**
      *线路名称

+ 7 - 2
business-service/src/main/java/com/ozs/service/entity/vo/CameraTreeVo.java

@@ -1,9 +1,12 @@
 package com.ozs.service.entity.vo;
 
+import com.ozs.common.vo.PageVo;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.io.Serializable;
+
 /**
  * @Author : sunhh
  * @create 2023/3/31 16:06
@@ -11,7 +14,9 @@ import lombok.NoArgsConstructor;
 @Data
 @NoArgsConstructor
 @AllArgsConstructor
-public class CameraTreeVo {
+public class CameraTreeVo extends PageVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
     /**
      * 线路
      */
@@ -25,5 +30,5 @@ public class CameraTreeVo {
     /**
      * 里程位置
      */
-    private String mils;
+    private Integer mils;
 }

+ 25 - 0
business-service/src/main/java/com/ozs/service/entity/vo/MsgAlarmResp.java

@@ -1,6 +1,7 @@
 package com.ozs.service.entity.vo;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ozs.common.annotation.Excel;
@@ -101,4 +102,28 @@ public class MsgAlarmResp implements Serializable {
      * 所属工务段编码(单位名称)
      */
     private String deptName;
+
+    /**
+     * 解除报警类型1真实报警2误报警
+     */
+    private Integer releasedType;
+
+    /**
+     * 解除原因
+     */
+    private String releasedReason;
+
+    /**
+     * 报警病害属性(可以给出泥石流的框定范围)
+     */
+    private String alarmAttr;
+
+    /**
+     * 报警内容
+     */
+    private String content;
+    /**
+     * 解除人真实姓名
+     */
+    private String releasedByName;
 }

+ 5 - 0
business-service/src/main/java/com/ozs/service/entity/vo/MsgAlarmVo.java

@@ -88,4 +88,9 @@ public class MsgAlarmVo extends PageVo implements Serializable {
      * 监控范围结束里程位置字符串形式
      */
     private String endMiles;
+
+    /**
+     * 解除报警类型1真实报警2误报警
+     */
+    private Integer releasedType;
 }

+ 2 - 1
business-service/src/main/java/com/ozs/service/mapper/BaseDeviceDynamicManagementMapper.java

@@ -3,6 +3,7 @@ package com.ozs.service.mapper;
 import com.ozs.service.entity.BaseDeviceDynamicManagement;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ozs.service.entity.vo.BaseCameraManagementDto;
+import com.ozs.service.entity.vo.CameraTreeVo;
 import io.lettuce.core.dynamic.annotation.Param;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -19,5 +20,5 @@ import java.util.List;
 @Mapper
 public interface BaseDeviceDynamicManagementMapper extends BaseMapper<BaseDeviceDynamicManagement> {
 
-    List<BaseCameraManagementDto> list(@Param("name") String name, @Param("lineDir") Integer lineDir, @Param("beginMile") Integer beginMile);
+    List<BaseCameraManagementDto> list(CameraTreeVo cameraTreeVo);
 }

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

@@ -3,11 +3,8 @@ package com.ozs.service.mapper;
 import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.service.entity.MsgAlarm;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ozs.service.entity.vo.AlarmStatisticDto;
-import com.ozs.service.entity.vo.AlarmStatisticMonthDto;
-import com.ozs.service.entity.vo.AlarmStatisticVo;
+import com.ozs.service.entity.vo.*;
 
-import com.ozs.service.entity.vo.MsgAlarmVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -36,6 +33,9 @@ public interface MsgAlarmMapper extends BaseMapper<MsgAlarm> {
     //报警月统计数据导出数据集合
     List<AlarmStatisticMonthDto> listDtoMonth(@Param("railwayCode") String railwayCode, @Param("currentYear") Integer currentYear, @Param("currentMonth") Integer currentMonth, @Param("alarmType") String alarmType, @Param("userId") String userId);
 
+    //报警月统计数据导出数据集合(天)
+    List<AlarmStatisticMonthDto> listDtoDay(@Param("railwayCode") String railwayCode, @Param("currentYear") Integer currentYear, @Param("currentMonth") Integer currentMonth, @Param("alarmType") String alarmType, @Param("userId") String userId);
+
     Integer selectCameraCode(@Param("cameraCode") String cameraCode);
 
     MsgAlarm selectByCameraCode(@Param("cameraCode") String cameraCode);

+ 2 - 1
business-service/src/main/java/com/ozs/service/service/BaseDeviceDynamicManagementService.java

@@ -3,6 +3,7 @@ package com.ozs.service.service;
 import com.ozs.service.entity.BaseDeviceDynamicManagement;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.service.entity.CameraTree;
+import com.ozs.service.entity.vo.CameraTreeVo;
 
 /**
  * <p>
@@ -14,5 +15,5 @@ import com.ozs.service.entity.CameraTree;
  */
 public interface BaseDeviceDynamicManagementService extends IService<BaseDeviceDynamicManagement> {
 
-    CameraTree cameraTree(String name, Integer lineDir, Integer mils);
+    CameraTree cameraTree(CameraTreeVo cameraTreeVo);
 }

+ 13 - 6
business-service/src/main/java/com/ozs/service/service/MsgAlarmService.java

@@ -3,11 +3,7 @@ package com.ozs.service.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ozs.service.entity.MsgAlarm;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ozs.service.entity.vo.AlarmStatisticDto;
-import com.ozs.service.entity.vo.AlarmStatisticMonthDto;
-import com.ozs.service.entity.vo.AlarmStatisticResVo;
-import com.ozs.service.entity.vo.AlarmStatisticVo;
-import com.ozs.service.entity.vo.MsgAlarmVo;
+import com.ozs.service.entity.vo.*;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
@@ -23,19 +19,28 @@ 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);
 
+    //web数据统计 报警月统计数据(天)
+    List<AlarmStatisticMonthDto> getDayCount(String railwayCode, Integer currentYear, Integer currentMonth, String alarmType, String userId);
+
     //报警数据详情导出数据集合
     List<AlarmStatisticDto> exportExcel(AlarmStatisticResVo alarmStatisticResVo, String userId);
 
+    //报警数据详情导出数据集合(天)
+    List<AlarmStatisticMonthDto> exportDayExcel(AlarmStatisticResVo alarmStatisticResVo, String userId);
+
     //web数据统计 报警月统计数据导出
     List<AlarmStatisticMonthDto> exportExcelMonth(AlarmStatisticResVo alarmStatisticResVo, String userId) throws Exception;
 
     /**
      * 通过相机编码查询未解除预警信息
+     *
      * @param cameraCode
      * @return
      */
@@ -48,4 +53,6 @@ public interface MsgAlarmService extends IService<MsgAlarm> {
     Map<String, Integer> statisticsNum(MsgAlarmVo msgAlarmVo);
 
     Integer appAlarmNum(MsgAlarmVo msgAlarmVo);
+
+    List<MsgAlarm> msgAlarmList(MsgAlarmVo msgAlarmVo);
 }

+ 23 - 15
business-service/src/main/java/com/ozs/service/service/impl/BaseCameraManagementServiceImpl.java

@@ -46,6 +46,7 @@ import java.util.*;
  */
 @Service
 public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManagementMapper, BaseCameraManagement> implements BaseCameraManagementService {
+    public static final String PATTERN = "^[0-9]*$";
     @Autowired
     protected Validator validator;
     @Autowired
@@ -103,21 +104,28 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
                         }
                         BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
                         if (!ObjectUtils.isEmpty(baseRailwayManagement)) {
-                            accountManagement.setRailwayCode(baseRailwayManagement.getRailwayCode());
-                            Integer mils = AppendUtils.stringSplit(accountManagement.getInstallMiles());
-                            accountManagement.setInstallMile(mils);
-                            Integer end = AppendUtils.stringSplit(accountManagement.getEndMiles());
-                            accountManagement.setEndMile(end);
-                            Integer begin = AppendUtils.stringSplit(accountManagement.getBeginMiles());
-                            accountManagement.setBeginMile(begin);
-                            baseCameraManagementMapper.insert(accountManagement);
-                            BaseDeviceDynamicManagement baseDeviceDynamicManagement = new BaseDeviceDynamicManagement();
-                            baseDeviceDynamicManagement.setCameraCode(accountManagement.getCameraCode());
-                            baseDeviceDynamicManagement.setUpdateBy(userId);
-                            baseDeviceDynamicManagement.setCreateBy(userId);
-                            baseDeviceDynamicManagementMapper.insert(baseDeviceDynamicManagement);
-                            successNum++;
-                            successMsg.append(successNum + "、相机编码 " + accountManagement.getCameraCode() + " 导入成功");
+                            if (!accountManagement.getBeginMile().toString().matches(PATTERN) || !accountManagement.getInstallMile().toString().matches(PATTERN) || !accountManagement.getEndMile().toString().matches(PATTERN)) {
+                                failureNum++;
+                                failureMsg.append(failureNum + "、相机编码为: " + accountManagement.getCameraCode() + "的数据,里程位置填写格式不正确,请填写数字");
+                            } else {
+                                accountManagement.setRailwayCode(baseRailwayManagement.getRailwayCode());
+                                accountManagement.setInstallMile(accountManagement.getInstallMile() * 1000);
+                                accountManagement.setEndMile(accountManagement.getEndMile() * 1000);
+                                accountManagement.setBeginMile(accountManagement.getBeginMile() * 1000);
+                                if (accountManagement.getBeginMile() < accountManagement.getEndMile()) {
+                                    baseCameraManagementMapper.insert(accountManagement);
+                                    BaseDeviceDynamicManagement baseDeviceDynamicManagement = new BaseDeviceDynamicManagement();
+                                    baseDeviceDynamicManagement.setCameraCode(accountManagement.getCameraCode());
+                                    baseDeviceDynamicManagement.setUpdateBy(userId);
+                                    baseDeviceDynamicManagement.setCreateBy(userId);
+                                    baseDeviceDynamicManagementMapper.insert(baseDeviceDynamicManagement);
+                                    successNum++;
+                                    successMsg.append(successNum + "、相机编码 " + accountManagement.getCameraCode() + " 导入成功");
+                                } else {
+                                    failureNum++;
+                                    failureMsg.append(failureNum + "、相机编码为: " + accountManagement.getCameraCode() + "的数据,监控范围开始里程位置不能大于监控范围结束里程位置");
+                                }
+                            }
                         } else {
                             failureNum++;
                             String msg = failureNum + "、相机所属线路名称 " + accountManagement.getRailwayName() + "不存在, 导入失败:";

+ 3 - 2
business-service/src/main/java/com/ozs/service/service/impl/BaseDeviceDynamicManagementServiceImpl.java

@@ -4,6 +4,7 @@ import com.ozs.common.utils.AppendUtils;
 import com.ozs.service.entity.BaseDeviceDynamicManagement;
 import com.ozs.service.entity.CameraTree;
 import com.ozs.service.entity.vo.BaseCameraManagementDto;
+import com.ozs.service.entity.vo.CameraTreeVo;
 import com.ozs.service.mapper.BaseDeviceDynamicManagementMapper;
 import com.ozs.service.service.BaseDeviceDynamicManagementService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -31,7 +32,7 @@ public class BaseDeviceDynamicManagementServiceImpl extends ServiceImpl<BaseDevi
     BaseDeviceDynamicManagementMapper baseDeviceDynamicManagementMapper;
 
     @Override
-    public CameraTree cameraTree(String name, Integer lineDir, Integer beginMile) {
+    public CameraTree cameraTree(CameraTreeVo cameraTreeVo) {
 
 
         //1 父
@@ -42,7 +43,7 @@ public class BaseDeviceDynamicManagementServiceImpl extends ServiceImpl<BaseDevi
                 .children(new ArrayList<>())
                 .build();
         Map<String, CameraTree> map = new HashMap<>();
-        List<BaseCameraManagementDto> list = baseDeviceDynamicManagementMapper.list(name, lineDir, beginMile);
+        List<BaseCameraManagementDto> list = baseDeviceDynamicManagementMapper.list(cameraTreeVo);
         if (list.size() > 0) {
             for (BaseCameraManagementDto o : list) {
                 // 线路

+ 25 - 14
business-service/src/main/java/com/ozs/service/service/impl/MsgAlarmServiceImpl.java

@@ -5,13 +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.AlarmStatisticDto;
-import com.ozs.service.entity.vo.AlarmStatisticMonthDto;
-import com.ozs.service.entity.vo.AlarmStatisticResVo;
-import com.ozs.service.entity.vo.AlarmStatisticVo;
-import com.ozs.service.entity.vo.MsgAlarmVo;
+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;
@@ -37,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++) {
@@ -51,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
@@ -68,6 +61,12 @@ public class MsgAlarmServiceImpl extends ServiceImpl<MsgAlarmMapper, MsgAlarm> i
         return list;
     }
 
+    @Override
+    public List<AlarmStatisticMonthDto> getDayCount(String railwayCode, Integer currentYear, Integer currentMonth, String alarmType, String userId) {
+        List<AlarmStatisticMonthDto> list = msgAlarmMapper.listDtoDay(railwayCode, currentYear, currentMonth, alarmType, userId);
+        return list;
+    }
+
     @Override
     public List<AlarmStatisticDto> exportExcel(AlarmStatisticResVo alarmStatisticResVo, String userId) {
         List<AlarmStatisticDto> listDto = msgAlarmMapper.listDto(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getCurrentYear(),
@@ -75,6 +74,13 @@ public class MsgAlarmServiceImpl extends ServiceImpl<MsgAlarmMapper, MsgAlarm> i
         return listDto;
     }
 
+    @Override
+    public List<AlarmStatisticMonthDto> exportDayExcel(AlarmStatisticResVo alarmStatisticResVo, String userId) {
+        List<AlarmStatisticMonthDto> listDto = msgAlarmMapper.listDtoDay(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getCurrentYear(),
+                alarmStatisticResVo.getCurrentMonth(), alarmStatisticResVo.getAlarmType(), userId);
+        return listDto;
+    }
+
     @Override
     public List<AlarmStatisticMonthDto> exportExcelMonth(AlarmStatisticResVo alarmStatisticResVo, String userId) throws Exception {
         List<AlarmStatisticMonthDto> listDto = msgAlarmMapper.listDtoMonth(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getCurrentYear(),
@@ -131,4 +137,9 @@ public class MsgAlarmServiceImpl extends ServiceImpl<MsgAlarmMapper, MsgAlarm> i
     public Integer appAlarmNum(MsgAlarmVo msgAlarmVo) {
         return msgAlarmMapper.countWJC(msgAlarmVo);
     }
+
+    @Override
+    public List<MsgAlarm> msgAlarmList(MsgAlarmVo msgAlarmVo) {
+        return msgAlarmMapper.selectMsgAlarmList(msgAlarmVo);
+    }
 }

+ 24 - 7
business-service/src/main/resources/mapper/service/BaseDeviceDynamicManagementMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ozs.service.mapper.BaseDeviceDynamicManagementMapper">
 
-    <select id="list" resultType="com.ozs.service.entity.vo.BaseCameraManagementDto">
+    <select id="list" resultType="com.ozs.service.entity.vo.BaseCameraManagementDto" parameterType="com.ozs.service.entity.vo.CameraTreeVo">
 		SELECT
 			l.railway_code AS railwayCode, 
 			l.railway_name AS railwayName, 
@@ -14,15 +14,32 @@
 		    base_camera_management AS a inner join
 		    base_railway_management AS l  on  a.railway_code=l.railway_code
 		<where>
-			<if test="arg0 != null and arg0 !=''">
+			<if test="railwayCode != null and railwayCode !=''">
 				concat(l.railway_name,a.camera_code)
-				like concat("%",#{arg0},"%")
+				like concat("%",#{railwayCode},"%")
 			</if>
-			<if test="arg1 != null and arg1 != ''">
-				line_dir = #{arg1}
+			<if test="lineDir != null and lineDir != ''">
+				line_dir = #{lineDir}
 			</if>
-			<if test="arg2 != null and arg2 != ''">
-				concat(a.install_mile, a.begin_mile, a.end_mile) = #{arg2}
+			<if test="mils != null and mils != ''">
+				concat(a.install_mile, a.begin_mile, a.end_mile) = #{mils}
+			</if>
+			<if test="!dsFlay">
+				and
+				<trim prefix="(" prefixOverrides="or" suffix=")">
+					<if test="dsUserId != null and dsUserId != ''">
+						or a.create_by=#{dsUserId}
+					</if>
+					<if test="dsDeptId != null and dsDeptId != 0">
+						or  a.dept_id=#{dsDeptId}
+					</if>
+					<if test="dsDeptIds != null">
+						or a.dept_id in
+						<foreach item="item" collection="dsDeptIds" separator="," open="(" close=")" index="">
+							#{item}
+						</foreach>
+					</if>
+				</trim>
 			</if>
 		</where>
     </select>

+ 86 - 40
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
@@ -137,13 +140,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,15 +177,50 @@
                 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>
 
+    <select id="listDtoDay" resultMap="AlarmStatisticMonthDtoResult">
+        SELECT p.daysta as monthsta,sum(p.fre) as frequency,p.daystaString as monthstaString
+        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
+        msg_alarm AS a inner 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 left join
+        base_railway_management c on b.railway_code=c.railway_code
+
+        <where>
+            <if test="railwayCode != null and railwayCode != ''">
+                and UPPER(b.railway_code) like UPPER(CONCAT('%',#{railwayCode},'%'))
+            </if>
+            <if test="currentYear != null and currentYear != 0">
+                and YEAR(a.alarm_time) like UPPER(CONCAT('%',#{currentYear},'%'))
+            </if>
+            <if test="currentYear == null or currentYear == ''">
+                and YEAR(a.alarm_time) = YEAR(SYSDATE())
+            </if>
+            <if test="currentMonth != null and currentMonth != 0">
+                and MONTH(a.alarm_time) =#{currentMonth}
+            </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) 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
     </select>
 
     <select id="selectByCameraCode" parameterType="java.lang.String" resultType="com.ozs.service.entity.MsgAlarm">
-        select *, max(alarm_time) from msg_alarm where camera_code = #{cameraCode}
+        select * from msg_alarm where camera_code = #{cameraCode} order by alarm_time desc limit 1
     </select>
     <select id="selectMsgAlarmList" resultType="com.ozs.service.entity.MsgAlarm"
             parameterType="com.ozs.service.entity.vo.MsgAlarmVo">
@@ -198,7 +238,10 @@
         a.image_url AS imageUrl,
         a.released_by AS releasedBy,
         a.is_lock AS isLock,
-        a.released_time AS releasedTime
+        a.released_time AS releasedTime,
+        a.released_type AS releasedType,
+        a.released_reason AS releasedReason,
+        a.remark AS remark
         FROM
         msg_alarm AS a  join
         base_camera_management AS b on a.camera_code=b.camera_code
@@ -241,6 +284,9 @@
             <if test="lineDir != null and lineDir != 0">
                 and a.line_dir =#{lineDir}
             </if>
+            <if test="releasedType != null and releasedType != 0">
+                and a.released_type =#{releasedType}
+            </if>
             <if test="beginAlarmTime != null and beginAlarmTime != ''">
                 and date_format(a.alarm_time,'%Y-%m-%d %H:%i:%S') &gt;= date_format(#{beginAlarmTime},'%Y-%m-%d %H:%i:%S')
             </if>

+ 32 - 63
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -79,7 +79,6 @@ import java.util.stream.Stream;
 @RequestMapping("/service/baseCameraManagement")
 @Slf4j
 public class BaseCameraManagementController extends BaseController {
-    public static final String PATTERN = "(^K|^k)([0-9]+)\\+([0-9]{1,3})$";
     @Resource
     BaseCameraManagementService baseCameraManagementService;
     @Resource
@@ -180,21 +179,11 @@ public class BaseCameraManagementController extends BaseController {
     @Log(title = "相机台账管理", businessType = BusinessType.SELECT)
     public AjaxResult selectBaseAccountManagement(@RequestBody BaseCameraManagementVo baseCameraManagementVo) {
         baseCameraManagementVo = (BaseCameraManagementVo) dataScoreUtil.setDataScore(getUserId(), baseCameraManagementVo);
-        if (!ObjectUtils.isEmpty(baseCameraManagementVo.getBeginMiles())) {
-            if (!baseCameraManagementVo.getBeginMiles().matches(PATTERN)) {
-                return error("监控范围开始里程位置填写格式不正确");
-            } else {
-                int begin = AppendUtils.stringSplit(baseCameraManagementVo.getBeginMiles());
-                baseCameraManagementVo.setBeginMile(begin);
-            }
+        if (!ObjectUtils.isEmpty(baseCameraManagementVo.getBeginMile())) {
+                baseCameraManagementVo.setBeginMile(baseCameraManagementVo.getBeginMile() * 1000);
         }
-        if (!ObjectUtils.isEmpty(baseCameraManagementVo.getEndMiles())) {
-            if (!baseCameraManagementVo.getEndMiles().matches(PATTERN)) {
-                return error("监控范围结束里程位置填写格式不正确");
-            } else {
-                int end = AppendUtils.stringSplit(baseCameraManagementVo.getEndMiles());
-                baseCameraManagementVo.setEndMile(end);
-            }
+        if (!ObjectUtils.isEmpty(baseCameraManagementVo.getEndMile())) {
+                baseCameraManagementVo.setEndMile(baseCameraManagementVo.getEndMile() * 1000);
         }
         IPage<BaseCameraManagement> page = baseCameraManagementService.queryPage(baseCameraManagementVo);
         page.setTotal(page.getTotal());
@@ -293,24 +282,12 @@ public class BaseCameraManagementController extends BaseController {
             idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
             return error("设备动态管理表该相机编码已存在,不能重复添加");
         }
-        if (!baseCameraManagement.getBeginMiles().matches(PATTERN)) {
-            idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
-            return error("监控范围开始里程位置填写格式不正确");
+        baseCameraManagement.setBeginMile(baseCameraManagement.getBeginMile() * 1000);
+        baseCameraManagement.setInstallMile(baseCameraManagement.getInstallMile() * 1000);
+        baseCameraManagement.setEndMile(baseCameraManagement.getEndMile() * 1000);
+        if (baseCameraManagement.getBeginMile() > baseCameraManagement.getEndMile()) {
+            return error("监控范围开始里程位置不能大于监控范围结束里程位置");
         }
-        if (!baseCameraManagement.getInstallMiles().matches(PATTERN)) {
-            idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
-            return error("监控相机安装里程位置填写格式不正确");
-        }
-        if (!baseCameraManagement.getEndMiles().matches(PATTERN)) {
-            idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
-            return error("监控范围结束里程位置填写格式不正确");
-        }
-        int miles = AppendUtils.stringSplit(baseCameraManagement.getBeginMiles());
-        baseCameraManagement.setBeginMile(miles);
-        int install = AppendUtils.stringSplit(baseCameraManagement.getInstallMiles());
-        baseCameraManagement.setInstallMile(install);
-        int end = AppendUtils.stringSplit(baseCameraManagement.getEndMiles());
-        baseCameraManagement.setEndMile(end);
         baseCameraManagement.setCreateBy(getUserId());
         baseCameraManagement.setUpdateBy(getUserId());
         BaseDeviceDynamicManagement baseDynamicManagement = new BaseDeviceDynamicManagement();
@@ -350,21 +327,9 @@ public class BaseCameraManagementController extends BaseController {
         if (!ObjectUtils.isEmpty(cameraManagement) && !cameraManagement.getId().equals(baseCameraManagement.getId())) {
             return error("相机编码已存在,不能进行修改操作");
         }
-        if (!baseCameraManagement.getBeginMiles().matches(PATTERN)) {
-            return error("监控范围开始里程位置填写格式不正确");
-        }
-        if (!baseCameraManagement.getInstallMiles().matches(PATTERN)) {
-            return error("监控相机安装里程位置填写格式不正确");
-        }
-        if (!baseCameraManagement.getEndMiles().matches(PATTERN)) {
-            return error("监控范围结束里程位置填写格式不正确");
-        }
-        int miles = AppendUtils.stringSplit(baseCameraManagement.getBeginMiles());
-        baseCameraManagement.setBeginMile(miles);
-        int install = AppendUtils.stringSplit(baseCameraManagement.getInstallMiles());
-        baseCameraManagement.setInstallMile(install);
-        int end = AppendUtils.stringSplit(baseCameraManagement.getEndMiles());
-        baseCameraManagement.setEndMile(end);
+        baseCameraManagement.setBeginMile(baseCameraManagement.getBeginMile() * 1000);
+        baseCameraManagement.setInstallMile(baseCameraManagement.getInstallMile() * 1000);
+        baseCameraManagement.setEndMile(baseCameraManagement.getEndMile() * 1000);
         baseCameraManagement.setUpdateBy(getUserId());
         LambdaQueryWrapper<BaseDeviceDynamicManagement> queryWrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
         BaseCameraManagement management = baseCameraManagementService.getById(baseCameraManagement.getId());
@@ -478,6 +443,12 @@ public class BaseCameraManagementController extends BaseController {
     @Log(title = "相机台账管理", businessType = BusinessType.EXPORT)
     public void exportBaseAccountManagement(HttpServletResponse response, @RequestBody BaseCameraManagementVo baseCameraManagementVo) {
         baseCameraManagementVo = (BaseCameraManagementVo) dataScoreUtil.setDataScore(getUserId(), baseCameraManagementVo);
+        if (!ObjectUtils.isEmpty(baseCameraManagementVo.getBeginMile())) {
+                baseCameraManagementVo.setBeginMile(baseCameraManagementVo.getBeginMile() * 1000);
+        }
+        if (!ObjectUtils.isEmpty(baseCameraManagementVo.getEndMile())) {
+                baseCameraManagementVo.setEndMile(baseCameraManagementVo.getEndMile() * 1000);
+        }
         List<BaseCameraManagement> baseCameraManagementList = baseCameraManagementService.baseCameraManagementList(baseCameraManagementVo);
         for (BaseCameraManagement baseCameraManagement : baseCameraManagementList) {
             SysDept sysDept = deptService.selectDeptById(baseCameraManagement.getDeptId());
@@ -618,24 +589,13 @@ public class BaseCameraManagementController extends BaseController {
     @ApiOperation("视频服务树形结构")
     @PostMapping("/cameraTree")
     @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
-    public AjaxResult cameraTree(@RequestBody CameraTreeVo baseCameraResVo) {
-        String railwayCode = null;
+    public AjaxResult cameraTree(@RequestBody CameraTreeVo cameraTreeVo) {
+        cameraTreeVo = (CameraTreeVo) dataScoreUtil.setDataScore(getUserId(), cameraTreeVo);
         int count = 0;
-        if (!StringUtils.isEmpty(baseCameraResVo.getRailwayCode())) {
-            railwayCode = baseCameraResVo.getRailwayCode();
+        if (!ObjectUtils.isEmpty(cameraTreeVo.getMils())) {
+            cameraTreeVo.setMils(cameraTreeVo.getMils()*1000);
         }
-        Integer lineDir = null;
-        if (!StringUtils.isEmpty(baseCameraResVo.getRailwayCode())) {
-            lineDir = baseCameraResVo.getLineDir();
-        }
-        Integer milsInt = null;
-        if (StringUtils.isNotEmpty(baseCameraResVo.getMils())) {
-            if (!baseCameraResVo.getMils().matches(PATTERN)) {
-                return error("里程位置填写格式不正确!");
-            }
-            milsInt = AppendUtils.stringSplit(baseCameraResVo.getMils());
-        }
-        CameraTree cameraTree = baseDeviceDynamicManagementService.cameraTree(railwayCode, lineDir, milsInt);
+        CameraTree cameraTree = baseDeviceDynamicManagementService.cameraTree(cameraTreeVo);
         List<CameraTree> children = cameraTree.getChildren();
         children.sort(new Comparator<CameraTree>() {
             @Override
@@ -757,10 +717,19 @@ public class BaseCameraManagementController extends BaseController {
             List<MsgAlarm> list = msgAlarmService.list(wrapper1);
             if (list.size() > 0) {
                 MsgAlarm msgAlarm = list.get(0);
+                if (StringUtils.isNotEmpty(msgAlarm.getReleasedBy())) {
+                    BaseUser user = baseUserService.getUser(msgAlarm.getReleasedBy());
+                    msgAlarm.setReleasedByName(user.getNickName());
+                }
                 msgAlarmResp.setAlarmType(msgAlarm.getAlarmType());
                 msgAlarmResp.setIsLock(msgAlarm.getIsLock());
                 msgAlarmResp.setReleasedTime(msgAlarm.getReleasedTime());
                 msgAlarmResp.setAlarmTime(msgAlarm.getAlarmTime());
+                msgAlarmResp.setReleasedType(msgAlarm.getReleasedType());
+                msgAlarmResp.setReleasedReason(msgAlarm.getReleasedReason());
+                msgAlarmResp.setAlarmAttr(msgAlarm.getAlarmAttr());
+                msgAlarmResp.setContent(msgAlarm.getContent());
+                msgAlarmResp.setReleasedByName(msgAlarm.getReleasedByName());
                 if (!StringUtils.isEmpty(msgAlarm.getImageUrl())) {
                     String[] split = msgAlarm.getImageUrl().split(";");
                     ArrayList<String> objects = new ArrayList<>(Arrays.asList(split));

+ 195 - 88
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java

@@ -13,6 +13,7 @@ import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.enums.BusinessType;
 import com.ozs.common.utils.AppendUtils;
 import com.ozs.common.utils.StringUtils;
+import com.ozs.common.utils.file.FileUtils;
 import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.service.entity.*;
 import com.ozs.service.entity.vo.*;
@@ -36,6 +37,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.MediaType;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -43,14 +45,18 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
 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.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.io.FileOutputStream;
+import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -67,7 +73,6 @@ import java.util.stream.Collectors;
 @RequestMapping("/service/msgAlarm")
 public class MsgAlarmController extends BaseController {
     private static final Logger log = LoggerFactory.getLogger(MsgAlarmController.class);
-    public static final String PATTERN = "(^K|^k)([0-9]+)\\+([0-9]{1,3})$";
     @Resource
     MsgAlarmService msgAlarmService;
     @Resource
@@ -163,29 +168,14 @@ public class MsgAlarmController extends BaseController {
     @Log(title = "报警信息管理", businessType = BusinessType.SELECT)
     public AjaxResult selectMsgAlarm(@RequestBody MsgAlarmVo msgAlarmVo) {
         msgAlarmVo = (MsgAlarmVo) dataScoreUtil.setDataScore(getUserId(), msgAlarmVo);
-        if (!ObjectUtils.isEmpty(msgAlarmVo.getAlarmMiles())) {
-            if (!msgAlarmVo.getAlarmMiles().matches(PATTERN)) {
-                return error("里程位置填写格式不正确!");
-            } else {
-                int miles = AppendUtils.stringSplit(msgAlarmVo.getAlarmMiles());
-                msgAlarmVo.setAlarmMile(miles);
-            }
+        if (!ObjectUtils.isEmpty(msgAlarmVo.getAlarmMile())) {
+                msgAlarmVo.setAlarmMile(msgAlarmVo.getAlarmMile() * 1000);
         }
-        if (!ObjectUtils.isEmpty(msgAlarmVo.getBeginMiles())) {
-            if (!msgAlarmVo.getBeginMiles().matches(PATTERN)) {
-                return error("监控范围开始里程位置填写格式不正确");
-            } else {
-                int begin = AppendUtils.stringSplit(msgAlarmVo.getBeginMiles());
-                msgAlarmVo.setBeginMile(begin);
-            }
+        if (!ObjectUtils.isEmpty(msgAlarmVo.getBeginMile())) {
+                msgAlarmVo.setBeginMile(msgAlarmVo.getBeginMile() * 1000);
         }
-        if (!ObjectUtils.isEmpty(msgAlarmVo.getEndMiles())) {
-            if (!msgAlarmVo.getEndMiles().matches(PATTERN)) {
-                return error("监控范围结束里程位置填写格式不正确");
-            } else {
-                int end = AppendUtils.stringSplit(msgAlarmVo.getEndMiles());
-                msgAlarmVo.setEndMile(end);
-            }
+        if (!ObjectUtils.isEmpty(msgAlarmVo.getEndMile())) {
+                msgAlarmVo.setEndMile(msgAlarmVo.getEndMile() * 1000);
         }
         IPage<MsgAlarm> page = msgAlarmService.queryPage(msgAlarmVo);
         page.setTotal(page.getTotal());
@@ -223,12 +213,76 @@ public class MsgAlarmController extends BaseController {
                     wrapper.eq(MsgAlarmFrequency::getAlarmId, o.getAlarmId());
                 }
                 o.setAlarmCount((int) msgAlarmFrequencyService.count(wrapper));
+                if (!ObjectUtils.isEmpty(o.getReleasedType())) {
+                    o.setReleasedTypeName(o.getReleasedType() == 1 ? "真实报警" : "误报警");
+                }
                 return o;
             }).collect(Collectors.toList());
             page.setRecords(dto1);
         }
         return AjaxResult.success(page);
     }
+    
+    /**
+     * 导出报警消息
+     *
+     * @param response
+     */
+    @ApiOperation("导出报警消息")
+    @PostMapping("/exportMsgAlarm")
+    @Log(title = "报警信息管理", businessType = BusinessType.EXPORT)
+    public void exportMsgAlarm(HttpServletResponse response, @RequestBody MsgAlarmVo msgAlarmVo) {
+        msgAlarmVo = (MsgAlarmVo) dataScoreUtil.setDataScore(getUserId(), msgAlarmVo);
+        if (!ObjectUtils.isEmpty(msgAlarmVo.getAlarmMile())) {
+            msgAlarmVo.setAlarmMile(msgAlarmVo.getAlarmMile() * 1000);
+        }
+        if (!ObjectUtils.isEmpty(msgAlarmVo.getBeginMile())) {
+            msgAlarmVo.setBeginMile(msgAlarmVo.getBeginMile() * 1000);
+        }
+        if (!ObjectUtils.isEmpty(msgAlarmVo.getEndMile())) {
+            msgAlarmVo.setEndMile(msgAlarmVo.getEndMile() * 1000);
+        }
+        List<MsgAlarm> msgAlarmList = msgAlarmService.msgAlarmList(msgAlarmVo);
+        for (MsgAlarm msgAlarm : msgAlarmList) {
+            String[] split = msgAlarm.getImageUrl().split(";");
+            ArrayList<String> objects = new ArrayList<>(Arrays.asList(split));
+            msgAlarm.setImageUrls(objects);
+            LambdaQueryWrapper<BaseCameraManagement> cameraManagementLambdaQueryWrapper = new LambdaQueryWrapper<BaseCameraManagement>();
+            if (!ObjectUtils.isEmpty(msgAlarm.getCameraCode())) {
+                cameraManagementLambdaQueryWrapper.eq(BaseCameraManagement::getCameraCode, msgAlarm.getCameraCode());
+            }
+            BaseCameraManagement cameraManagement = baseCameraManagementService.getOne(cameraManagementLambdaQueryWrapper);
+            LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
+            if (!ObjectUtils.isEmpty(cameraManagement.getRailwayCode())) {
+                queryWrapper.eq(BaseRailwayManagement::getRailwayCode, cameraManagement.getRailwayCode());
+            }
+            BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
+            msgAlarm.setRailwayName(baseRailwayManagement.getRailwayName());
+            if (StringUtils.isNotEmpty(msgAlarm.getReleasedBy())) {
+                BaseUser user = baseUserService.getUser(msgAlarm.getReleasedBy());
+                msgAlarm.setReleasedByName(user.getNickName());
+            }
+            String mils = AppendUtils.stringAppend(cameraManagement.getInstallMile());
+            msgAlarm.setAlarmMiles(mils);
+            String end = AppendUtils.stringAppend(cameraManagement.getEndMile());
+            msgAlarm.setEndMile(end);
+            String begin = AppendUtils.stringAppend(cameraManagement.getBeginMile());
+            msgAlarm.setBeginMile(begin);
+            LambdaQueryWrapper<MsgAlarmFrequency> wrapper = new LambdaQueryWrapper<MsgAlarmFrequency>();
+            if (!ObjectUtils.isEmpty(msgAlarm.getAlarmId())) {
+                wrapper.eq(MsgAlarmFrequency::getAlarmId, msgAlarm.getAlarmId());
+            }
+            msgAlarm.setAlarmCount((int) msgAlarmFrequencyService.count(wrapper));
+            if (!ObjectUtils.isEmpty(msgAlarm.getReleasedType())) {
+                msgAlarm.setReleasedTypeName(msgAlarm.getReleasedType() == 1 ? "真实报警" : "误报警");
+            }
+            msgAlarm.setLineDirName(msgAlarm.getLineDir() == 1 ? "上行" : "下行");
+            msgAlarm.setIsLockName(msgAlarm.getIsLock() == 1 ? "已解除" : "未解除");
+            msgAlarm.setAlarmTypeName("泥石流");
+        }
+        ExcelUtil<MsgAlarm> util = new ExcelUtil<>(MsgAlarm.class);
+        util.exportExcel(response, msgAlarmList, "报警信息管理");
+    }
 
     @GetMapping(value = "/getByAlarmId/{alarmId}")
     @ApiOperation("根据报警信息ID获取详细信息-app")
@@ -250,6 +304,10 @@ public class MsgAlarmController extends BaseController {
             String[] split = msgAlarm.getImageUrl().split(";");
             ArrayList<String> objects = new ArrayList<>(Arrays.asList(split));
             msgAlarm.setImageUrls(objects);
+            if (StringUtils.isNotEmpty(msgAlarm.getReleasedBy())) {
+                BaseUser user = baseUserService.getUser(msgAlarm.getReleasedBy());
+                msgAlarm.setReleasedByName(user.getNickName());
+            }
             BeanUtils.copyProperties(msgAlarm, msgAlarmResp);
             msgAlarmResp.setRailwayName(baseRailwayManagement.getRailwayName());
             msgAlarmResp.setDeptId(baseCameraManagement.getDeptId());
@@ -286,6 +344,10 @@ public class MsgAlarmController extends BaseController {
             String[] split = msgAlarm.getImageUrl().split(";");
             ArrayList<String> objects = new ArrayList<>(Arrays.asList(split));
             msgAlarm.setImageUrls(objects);
+            if (StringUtils.isNotEmpty(msgAlarm.getReleasedBy())) {
+                BaseUser user = baseUserService.getUser(msgAlarm.getReleasedBy());
+                msgAlarm.setReleasedByName(user.getNickName());
+            }
             BeanUtils.copyProperties(msgAlarm, msgAlarmResp);
             msgAlarmResp.setRailwayName(baseRailwayManagement.getRailwayName());
             msgAlarmResp.setDeptId(baseCameraManagement.getDeptId());
@@ -304,15 +366,23 @@ public class MsgAlarmController extends BaseController {
         }
     }
 
-    @PutMapping(value = "/{id}")
+    @PutMapping(value = "/updateIsLock")
     @ApiOperation("根据报警信息ID解除报警")
     @Log(title = "报警信息管理", businessType = BusinessType.UPDATE)
-    public AjaxResult updateIsLock(@PathVariable Long id) {
+    public AjaxResult updateIsLock(@RequestParam(value = "id") Long id,
+                                   @RequestParam(value = "releasedType",required = false) Integer releasedType,
+                                   @RequestParam(value = "releasedReason",required = false) String releasedReason) {
         MsgAlarm msgAlarm = msgAlarmService.getById(id);
         msgAlarm.setIsLock(1);
         msgAlarm.setUpdateBy(getUserId());
         msgAlarm.setReleasedBy(getUserId());
         msgAlarm.setReleasedTime(new Date());
+        if (!ObjectUtils.isEmpty(msgAlarm.getReleasedReason())) {
+            msgAlarm.setReleasedReason(releasedReason);
+        }
+        if (!ObjectUtils.isEmpty(msgAlarm.getReleasedType())) {
+            msgAlarm.setReleasedType(releasedType);
+        }
         return AjaxResult.success(msgAlarmService.updateById(msgAlarm));
     }
 
@@ -361,8 +431,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);
     }
 
@@ -388,34 +482,54 @@ public class MsgAlarmController extends BaseController {
         if (user.isAdmin(user.getId())) {
             userId = "";
         }
-        List<AlarmStatisticMonthDto> list = msgAlarmService.getCount(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getCurrentYear(),
-                alarmStatisticResVo.getCurrentMonth(), alarmStatisticResVo.getAlarmType(), userId);
-        List<Integer> numbs = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12));
-        List<Integer> list1 = new ArrayList<>();
-        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);
+        List<Integer> numbs = new ArrayList<>();
+        Integer listSize;
+        List<AlarmStatisticMonthDto> list = 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;
             }
+            list = msgAlarmService.getDayCount(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getCurrentYear(),
+                    alarmStatisticResVo.getCurrentMonth(), alarmStatisticResVo.getAlarmType(), userId);
+        }
+        for (int i = 1; i <= listSize; i++) {
+            numbs.add(i);
         }
-        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());
+        List<Integer> list1 = new ArrayList<>();
+            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);
                 }
-            });
-        }
-        return AjaxResult.success(list);
+            }
+            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());
+                    }
+                });
+            }
+            return AjaxResult.success(list);
     }
 
 
@@ -444,14 +558,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 ? "已解除" : "未解除");
+                    }
                 });
             }
 
@@ -484,39 +613,17 @@ public class MsgAlarmController extends BaseController {
         if (user.isAdmin(user.getId())) {
             userId = "";
         }
-        try {
-            List<AlarmStatisticMonthDto> list = msgAlarmService.exportExcelMonth(alarmStatisticResVo, userId);
-            List<Integer> numbs = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12));
-            List<Integer> list1 = new ArrayList<>();
-            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, "报警月统计数据");
-        } catch (Exception e) {
-            e.printStackTrace();
-            log.info(e.getMessage());
+        List<AlarmStatisticMonthDto> list = null;
+        if (ObjectUtils.isEmpty(alarmStatisticResVo.getCurrentMonth())) {
+            list = msgAlarmService.getCount(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getCurrentYear(),
+                    alarmStatisticResVo.getCurrentMonth(), alarmStatisticResVo.getAlarmType(), userId);
+        } else {
+            list = msgAlarmService.getDayCount(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getCurrentYear(),
+                    alarmStatisticResVo.getCurrentMonth(), alarmStatisticResVo.getAlarmType(), userId);
         }
+        ExcelUtil<AlarmStatisticMonthDto> util = new ExcelUtil<>(AlarmStatisticMonthDto.class);
+        util.exportExcel(response, list, "报警月统计数据");
     }
 }
 

+ 4 - 18
hazard-admin/src/main/java/com/ozs/web/controller/system/SysUserController.java

@@ -161,6 +161,10 @@ public class SysUserController extends BaseController {
                 String name = stringBuilder.toString();
                 sysUser.setRoleName(name.substring(0, name.length() - 1));
             }
+            SysDept sysDept = deptService.selectDeptById(sysUser.getDeptId());
+            if (!ObjectUtils.isEmpty(sysDept)) {
+                sysUser.getDept().setDeptName(sysDept.getDeptName());
+            }
         }
         ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
         util.exportExcel(response, usetList, "用户数据");
@@ -231,12 +235,6 @@ public class SysUserController extends BaseController {
     public AjaxResult add(@Validated @RequestBody SysUser user) {
         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
             return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
-        } else if (StringUtils.isNotEmpty(user.getPhoneNum())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
-            return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
-        }else if (StringUtils.isNotEmpty(user.getEmail())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
-            return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
         }
         user.setCreateBy(getUserId());
         user.setUpdateBy(getUserId());
@@ -258,12 +256,6 @@ public class SysUserController extends BaseController {
         }
         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
             return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
-        } else if (StringUtils.isNotEmpty(user.getPhoneNum())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
-            return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
-        } else if (StringUtils.isNotEmpty(user.getEmail())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
-            return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
         }
         user.setUpdateBy(getUserId());
         return toAjax(userService.updateUsers(user));
@@ -286,12 +278,6 @@ public class SysUserController extends BaseController {
 //        userService.checkUserDataScope(user.getId());
         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUniqueUpdate(user))) {
             return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
-        } else if (StringUtils.isNotEmpty(user.getPhoneNum())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUniqueUpdate(user))) {
-            return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
-        } else if (StringUtils.isNotEmpty(user.getEmail())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUniqueUpdate(user))) {
-            return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
         }
         user.setUpdateBy(getUsername());
         user.setUpdateTime(new Date());

+ 1 - 1
hazard-admin/src/main/resources/application.yml

@@ -107,7 +107,7 @@ token:
     # 令牌密钥
     secret: abcdefghijklmnopqrstuvwxyz
     # 令牌有效期(默认30分钟)
-    expireTime: 30
+    expireTime: 120
 # app:token配置
 apptoken:
   # 令牌自定义标识

binární
hazard-admin/src/main/resources/template/baseCameraManagement.xlsx


+ 1 - 1
hazard-sdk/src/main/java/com/ozs/vo/ReqDeviceVo.java

@@ -25,7 +25,7 @@ public class ReqDeviceVo implements Serializable {
      */
     private Integer electricity;
     /**
-     * 剩余电量
+     * 相机状态
      */
     private Integer cameraState;
 }