459242451@qq.com 3 жил өмнө
parent
commit
624988bb9b

+ 26 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/NoticeInfoListiner.java

@@ -2,6 +2,7 @@ package com.ruoyi.web.controller.task;
 
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.common.constant.Constants;
@@ -73,6 +74,7 @@ public class NoticeInfoListiner {
                 synopsis = "请查看应急事件";
                 text = StrUtil.concat(true, incidentVo.getAddr(), "发生应急事件,请关注消息,做好应急准备");
                 incidentProcess.setDes("事件接报");
+                incidentProcess.setIncidentStatus(1);
                 incidentProcess.setIncidentId(msg.substring(1));
                 messageUser = incidentVo.getExprJson();
             } else if ("B".equals(type)) {
@@ -83,6 +85,7 @@ public class NoticeInfoListiner {
                 synopsis = "请查看应急处置方案";
                 text = StrUtil.concat(true, "请查看", incidentVo.getName(), "事件的", incidentTaskVo.getTaskName(), "方案");
                 incidentProcess.setDes("发送处置方案");
+                incidentProcess.setIncidentStatus(3);
                 incidentProcess.setIncidentId(incidentTaskVo.getIncidentId());
                 messageUser = incidentTaskVo.getExprJson();
             }
@@ -124,4 +127,27 @@ public class NoticeInfoListiner {
         });
     }
 
+    @Bean
+    public void processRecord() {
+        RedisUtils.subscribe(Constants.PROCESS_RECORD, JSONObject.class, msg -> {
+            // 记录处置详情
+            String incidentId = msg.getStr("incidentId");
+            Integer incidentStatus = msg.getInt("incidentStatus");
+            String des = msg.getStr("des");
+            IncidentProcess incidentProcess = new IncidentProcess();
+            if (incidentStatus == 2) {
+                des = "转为事件";
+            } else if (incidentStatus == 4) {
+                des = "事件归档";
+            } else if (incidentStatus == 5) {
+                des = "事件忽略";
+            }
+            incidentProcess.setDes(des);
+            incidentProcess.setIncidentStatus(incidentStatus);
+            incidentProcess.setIncidentId(incidentId);
+            incidentProcess.setStatus(0);
+            incidentProcessService.save(incidentProcess);
+        });
+    }
+
 }

+ 1 - 0
ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java

@@ -149,4 +149,5 @@ public class Constants {
     public static final String LOOKUP_LDAP = "ldap://";
 
     public static final String NOTICE_PUSH = "notice_push";
+    public static final String PROCESS_RECORD = "process_record";
 }

+ 2 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/IncidentProcess.java

@@ -48,6 +48,8 @@ public class IncidentProcess implements Serializable {
      */
     private Integer status;
 
+    private Integer incidentStatus;
+
     /**
      * 过程创建时间
      */

+ 6 - 7
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentProcessBo.java

@@ -1,16 +1,13 @@
 package com.ruoyi.zhdd.domain.bo;
 
+import com.ruoyi.common.core.domain.BaseEntity;
 import com.ruoyi.common.core.validate.AddGroup;
-import com.ruoyi.common.core.validate.EditGroup;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import javax.validation.constraints.*;
-
-import java.util.Date;
 
-import com.ruoyi.common.core.domain.BaseEntity;
+import javax.validation.constraints.NotBlank;
 
 /**
  * 事件处置流程业务对象 b_incident_process
@@ -34,19 +31,21 @@ public class IncidentProcessBo extends BaseEntity {
      * 所属事件id
      */
     @ApiModelProperty(value = "所属事件id")
-    @NotBlank(message = "incidentId不能为空", groups = { AddGroup.class })
+    @NotBlank(message = "incidentId不能为空", groups = {AddGroup.class})
     private String incidentId;
 
     /**
      * 处置过程
      */
     @ApiModelProperty(value = "处置过程")
-    @NotBlank(message = "des不能为空", groups = { AddGroup.class })
+    @NotBlank(message = "des不能为空", groups = {AddGroup.class})
     private String des;
 
     @ApiModelProperty(value = "事件状态 1:预警,2:事件 3:归档")
     private Integer status;
 
+    private Integer incidentStatus;
+
 
     /**
      * 分页大小

+ 2 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/IncidentProcessVo.java

@@ -44,6 +44,8 @@ public class IncidentProcessVo {
     @ApiModelProperty("事件状态 1:预警,2:事件 3:归档")
     private Integer status;
 
+    private Integer incidentStatus;
+
     @Excel(name = "创建人")
     @ApiModelProperty("创建人")
     private String createBy;

+ 12 - 11
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentProcessServiceImpl.java

@@ -1,23 +1,23 @@
 package com.ruoyi.zhdd.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.PageUtils;
-import com.ruoyi.common.core.page.PagePlus;
-import com.ruoyi.common.core.page.TableDataInfo;
-import org.springframework.stereotype.Service;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
+import com.ruoyi.common.core.page.PagePlus;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.zhdd.domain.IncidentProcess;
 import com.ruoyi.zhdd.domain.bo.IncidentProcessBo;
 import com.ruoyi.zhdd.domain.vo.IncidentProcessVo;
-import com.ruoyi.zhdd.domain.IncidentProcess;
 import com.ruoyi.zhdd.mapper.IncidentProcessMapper;
 import com.ruoyi.zhdd.service.IIncidentProcessService;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
 
 /**
  * 事件处置流程Service业务层处理
@@ -29,7 +29,7 @@ import java.util.Collection;
 public class IncidentProcessServiceImpl extends ServicePlusImpl<IncidentProcessMapper, IncidentProcess, IncidentProcessVo> implements IIncidentProcessService {
 
     @Override
-    public IncidentProcessVo queryById(String id){
+    public IncidentProcessVo queryById(String id) {
         return getVoById(id);
     }
 
@@ -56,6 +56,7 @@ public class IncidentProcessServiceImpl extends ServicePlusImpl<IncidentProcessM
     public String insertByBo(IncidentProcessBo bo) {
         IncidentProcess add = BeanUtil.toBean(bo, IncidentProcess.class);
         validEntityBeforeSave(add);
+        add.setIncidentStatus(3);
         save(add);
         return add.getId();
     }
@@ -72,13 +73,13 @@ public class IncidentProcessServiceImpl extends ServicePlusImpl<IncidentProcessM
      *
      * @param entity 实体类数据
      */
-    private void validEntityBeforeSave(IncidentProcess entity){
+    private void validEntityBeforeSave(IncidentProcess entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
     @Override
     public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return removeByIds(ids);

+ 10 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentServiceImpl.java

@@ -3,6 +3,7 @@ package com.ruoyi.zhdd.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -113,6 +114,7 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
     public Boolean updateByBo(IncidentBo bo) {
         // 是否为状态变更
         boolean flag = false;
+        JSONObject jsonObject = new JSONObject();
         // 查询变更前信息
         IncidentVo beforeInfo = getVoById(bo.getId());
         if (beforeInfo != null) {
@@ -125,6 +127,7 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
             if (StrUtil.isBlank(bo.getMadinDept())) {
                 throw new ServiceException("请选择主办单位!");
             }
+            jsonObject.set("des", "事件派发");
 //            // 查询初始设置的处置方案
 //            List<PlanTask> planTask = planService.queryTask(bo.getMadinDept(), bo.getType(), bo.getLevel());
 //            List<IncidentTask> incidentTasks = new ArrayList<>();
@@ -155,6 +158,13 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
                 log.info("发布事件接报消息 => " + msg);
             });
         }*/
+        if (flag) {
+            jsonObject.set("incidentId", update.getId());
+            jsonObject.set("incidentStatus", update.getStatus());
+            RedisUtils.publish(Constants.PROCESS_RECORD, jsonObject, msg -> {
+                log.info("事件处置详情消息 => " + msg);
+            });
+        }
         return b;
     }