Ver Fonte

处置方案发送和发送标识

459242451@qq.com há 3 anos atrás
pai
commit
61a14c8e0c

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

@@ -110,7 +110,7 @@ public class NoticeInfoListiner {
                 synopsis = "请查看应急处置方案";
                 text = StrUtil.concat(true, "请查看", incidentVo.getName(), "事件的", incidentTaskVo.getTaskName(), "方案");
                 url = "http://sqmb.xt.wenhq.top:8083/#/status/3/detail?id=" + incidentId;
-                incidentProcess.setDes("新增处置方案:" + incidentTaskVo.getTaskName() + " 并发送");
+                incidentProcess.setDes("发送处置方案:" + incidentTaskVo.getTaskName());
                 incidentProcess.setIncidentStatus(3);
                 incidentProcess.setIncidentId(incidentTaskVo.getIncidentId());
                 messageUser = incidentTaskVo.getExprJson();

+ 7 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhdd/IncidentController.java

@@ -266,6 +266,13 @@ public class IncidentController extends BaseController {
         return toAjax(incidentTaskService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
     }
 
+    @ApiOperation("事件方案发送")
+    @RepeatSubmit()
+    @PostMapping("/taskSend")
+    public AjaxResult<Void> taskSend(@RequestBody IncidentTasksBo bo) {
+        return toAjax(incidentTaskService.taskSend(bo) ? 1 : 0);
+    }
+
     @ApiOperation("查询事件-用于首页地图展示")
     @GetMapping("/location")
     public AjaxResult<Map<String, List<IncidentVo>>> queryIncidentLocation() {

+ 3 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/Incident.java

@@ -166,4 +166,7 @@ public class Incident implements Serializable {
 
     private String assistDeptUser;
 
+    // 忽略说明
+    private String ignores;
+
 }

+ 3 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/IncidentTask.java

@@ -43,6 +43,9 @@ public class IncidentTask implements Serializable {
 
     private String sendFlag;
 
+    // 是否发送。0-未发送,1-已发送
+    private String taskSend;
+
     @TableLogic
     private String delFlag;
 

+ 3 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentBo.java

@@ -191,4 +191,7 @@ public class IncidentBo extends BaseEntity {
 
     @ApiModelProperty("查询来源")
     private String querySource = "pc";
+
+    // 忽略说明
+    private String ignores;
 }

+ 2 - 6
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentTasksBo.java

@@ -1,10 +1,8 @@
 package com.ruoyi.zhdd.domain.bo;
 
-import com.ruoyi.common.core.validate.AddGroup;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import javax.validation.constraints.NotBlank;
 import java.util.List;
 
 /**
@@ -17,14 +15,12 @@ import java.util.List;
 public class IncidentTasksBo {
 
     private String id;
-    @NotBlank(message = "incidentId不能为空", groups = {AddGroup.class})
     private String incidentId;
-    @NotBlank(message = "taskName不能为空", groups = {AddGroup.class})
     private String taskName;
-    //    private List<IncidentTaskCommand> incidentTaskCommands;
-//    private List<IncidentTaskPerson> incidentTaskPeoples;
     @ApiModelProperty("消息类型.1-应急处置消息、2-应急处置待办、3-资源管理待办")
     private String sendFlag = "1";
     @ApiModelProperty("消息发送的人")
     private List<MessagePushUser> messagePushUsers;
+    // 是否发送。0-未发送,1-已发送
+    private String taskSend;
 }

+ 3 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/IncidentTaskVo.java

@@ -42,6 +42,9 @@ public class IncidentTaskVo {
 
     private String sendFlag;
 
+    // 是否发送。0-未发送,1-已发送
+    private String taskSend;
+
     @Excel(name = "创建人")
     @ApiModelProperty("创建人")
     private String createBy;

+ 3 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/IncidentVo.java

@@ -175,4 +175,7 @@ public class IncidentVo {
     @Excel(name = "更新时间")
     @ApiModelProperty("更新时间")
     private Date updateTime;
+
+    // 忽略说明
+    private String ignores;
 }

+ 1 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/IIncidentTaskService.java

@@ -63,4 +63,5 @@ public interface IIncidentTaskService extends IServicePlus<IncidentTask, Inciden
 
     boolean copyTask(String oldId, String newId);
 
+    boolean taskSend(IncidentTasksBo bo);
 }

+ 41 - 26
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentTaskServiceImpl.java

@@ -82,37 +82,52 @@ public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper,
         add.setId(null);
         add.setExprJson(JSONUtil.toJsonStr(bo.getMessagePushUsers()));
         save(add);
-        /*// 新增指令和人员
-        if (bo.getIncidentTaskCommands() != null) {
-            for (IncidentTaskCommand incidentTaskCommand : bo.getIncidentTaskCommands()) {
-                incidentTaskCommand.setId(null);
-                incidentTaskCommand.setIncidentTaskId(add.getId());
-            }
-        }
-        if (bo.getIncidentTaskPeoples() != null) {
-            for (IncidentTaskPerson incidentTaskPeople : bo.getIncidentTaskPeoples()) {
-                incidentTaskPeople.setId(null);
-                incidentTaskPeople.setIncidentTaskId(add.getId());
-            }
-        }
-        incidentTaskCommandService.saveAll(bo.getIncidentTaskCommands());
-        incidentTaskPersonService.saveAll(bo.getIncidentTaskPeoples());*/
         // 发送消息(1-应急处置消息、2-应急处置待办、3-资源管理待办)
 //        if (bo.isSendFlag()) {
         // A:事件接报。B:处置方案
-        RedisUtils.publish(Constants.NOTICE_PUSH, bo.getSendFlag() + "B" + add.getId(), msg -> {
-            log.info("发布应急方案消息 => " + msg);
-        });
-//        }
-        /*else {
-            JSONObject jsonObject = new JSONObject();
-            jsonObject.set("des", insertOrUpdateFlag + "处置方案:" + bo.getTaskName());
-            jsonObject.set("incidentId", bo.getIncidentId());
-            jsonObject.set("incidentStatus", 3);
-            RedisUtils.publish(Constants.PROCESS_RECORD, jsonObject, msg -> {
-                log.info("事件处置方案新增消息 => " + msg);
+        /*if (false) {
+            RedisUtils.publish(Constants.NOTICE_PUSH, bo.getSendFlag() + "B" + add.getId(), msg -> {
+                log.info("发布应急方案消息 => " + msg);
             });
         }*/
+//        }
+        /*else {}*/
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.set("des", "新增处置方案:" + bo.getTaskName());
+        jsonObject.set("incidentId", bo.getIncidentId());
+        jsonObject.set("incidentStatus", 3);
+        RedisUtils.publish(Constants.PROCESS_RECORD, jsonObject, msg -> {
+            log.info("事件处置方案新增消息 => " + msg);
+        });
+
+        return true;
+    }
+
+    /**
+     * 事件方案发送
+     *
+     * @param bo
+     * @return
+     */
+    @Override
+    public boolean taskSend(IncidentTasksBo bo) {
+        List<IncidentTask> list = this.list(Wrappers.<IncidentTask>lambdaQuery()
+            .eq(IncidentTask::getTaskSend, "0")
+            .and(a -> a.eq(StrUtil.isNotBlank(bo.getId()), IncidentTask::getId, bo.getId())
+                .or()
+                .eq(StrUtil.isNotBlank(bo.getIncidentId()), IncidentTask::getIncidentId, bo.getIncidentId()))
+        );
+        if (list != null && list.size() > 0) {
+            for (IncidentTask incidentTask : list) {
+                // 更新方案为已发送状态
+                incidentTask.setTaskSend("1");
+                this.updateById(incidentTask);
+
+                RedisUtils.publish(Constants.NOTICE_PUSH, incidentTask.getSendFlag() + "B" + incidentTask.getId(), msg -> {
+                    log.info("应急方案消息发送 => " + msg);
+                });
+            }
+        }
         return true;
     }