Quellcode durchsuchen

归档事件将待办变为已办

459242451@qq.com vor 3 Jahren
Ursprung
Commit
ab62559177

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

@@ -134,7 +134,7 @@ public class NoticeInfoListiner {
             List<MessagePushUser> messagePushUsers = JSONUtil.toList(messageUser, MessagePushUser.class);
             // 针对待办的消息,执行日志还需要把人名显示出来
             if (2 == incidentProcess.getStatus()) {
-                incidentProcess.setDes(incidentProcess.getDes() + " 【待办】发送给:" + messagePushUsers.stream().map(MessagePushUser::getNickName).collect(Collectors.joining(",")));
+                incidentProcess.setDes(incidentProcess.getDes() + " 【待办】 发送给:" + messagePushUsers.stream().map(MessagePushUser::getNickName).collect(Collectors.joining(",")));
             }
             incidentProcessService.save(incidentProcess);
             if (sendFlag) {
@@ -260,6 +260,7 @@ public class NoticeInfoListiner {
             // 记录处置详情
             String incidentId = msg.getStr("incidentId");
             Integer incidentStatus = msg.getInt("incidentStatus");
+            String taskId = msg.getStr("taskId");
             String des = msg.getStr("des");
             IncidentProcess incidentProcess = new IncidentProcess();
             if (StrUtil.isBlank(des)) {
@@ -276,6 +277,7 @@ public class NoticeInfoListiner {
             incidentProcess.setDes(des);
             incidentProcess.setIncidentStatus(incidentStatus);
             incidentProcess.setIncidentId(incidentId);
+            incidentProcess.setTaskId(taskId);
             incidentProcess.setStatus(0);
             log.info("保存事件处置执行日志:{}", incidentProcess);
             incidentProcessService.save(incidentProcess);

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

@@ -90,8 +90,6 @@ public class IncidentController extends BaseController {
 
     private final IIncidentService iIncidentService;
     private final IIncidentTaskService incidentTaskService;
-    //    private final IIncidentTaskPersonService incidentTaskPersonService;
-//    private final IIncidentTaskCommandService incidentTaskCommandService;
     private final IIncidentProcessService processService;
     private final IPlanTaskService planTaskService;
     private final IPlanService planService;

+ 1 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/MessagePushUser.java

@@ -14,4 +14,5 @@ public class MessagePushUser {
     private String readState = "0";
     private String nickName;
     private String deptId;
+    private String deptName;
 }

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

@@ -38,10 +38,6 @@ public class IncidentTaskVo {
     @ApiModelProperty(value = "任务名称")
     private String taskName;
 
-//    private List<IncidentTaskCommandVo> taskCommandVos;
-
-//    private List<IncidentTaskPersonVo> taskPersonVos;
-
     private String sendFlag;
 
     // 是否发送。0-未发送,1-已发送

+ 5 - 1
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentProcessServiceImpl.java

@@ -109,7 +109,8 @@ public class IncidentProcessServiceImpl extends ServicePlusImpl<IncidentProcessM
         // 通过方案id查询处置过程的id值
         List<IncidentProcess> taskList = this.list(Wrappers.<IncidentProcess>lambdaQuery().eq(IncidentProcess::getTaskId, id).in(IncidentProcess::getStatus, 2, 3));
         if (taskList != null && taskList.size() > 0) {
-            String uuid = taskList.get(0).getId();
+            IncidentProcess incidentProcess = taskList.get(0);
+            String uuid = incidentProcess.getId();
             // 办结
             List<BacklogMessageUpdateBo> list = new ArrayList<>();
             BacklogMessageUpdateBo bo = new BacklogMessageUpdateBo();
@@ -122,6 +123,9 @@ public class IncidentProcessServiceImpl extends ServicePlusImpl<IncidentProcessM
             incidentTask.setId(id);
             incidentTask.setBackLogFlag("1");
             incidentTaskService.updateById(incidentTask);
+            // 更新日志里面的待办改为已办
+            incidentProcess.setDes(incidentProcess.getDes().replace("【待办】", "【已办】"));
+            this.updateById(incidentProcess);
         }
         return true;
     }

+ 40 - 6
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentServiceImpl.java

@@ -21,9 +21,13 @@ import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.service.ISysDeptService;
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.zhdd.domain.Incident;
+import com.ruoyi.zhdd.domain.IncidentProcess;
+import com.ruoyi.zhdd.domain.IncidentTask;
+import com.ruoyi.zhdd.domain.bo.BacklogMessageUpdateBo;
 import com.ruoyi.zhdd.domain.bo.IncidentBo;
 import com.ruoyi.zhdd.domain.bo.MessagePushUser;
 import com.ruoyi.zhdd.domain.vo.IncidentVo;
+import com.ruoyi.zhdd.feign.FeignBacklogInfoService;
 import com.ruoyi.zhdd.mapper.IncidentMapper;
 import com.ruoyi.zhdd.service.IIncidentProcessService;
 import com.ruoyi.zhdd.service.IIncidentService;
@@ -63,6 +67,8 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
     private IPlanService planService;
     @Autowired
     private IIncidentTaskService incidentTaskService;
+    @Autowired
+    private FeignBacklogInfoService feignBacklogInfoService;
 
     @Override
     public IncidentVo queryById(String id) {
@@ -187,13 +193,41 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
                 log.info("保存事件人员关系 => " + msg);
             });
 
-        }
-        /*else if (flag && bo.getStatus() == 4) {
-            if (StrUtil.isBlank(bo.getConclusion())) {
-                throw new ServiceException("请填写经验总结!");
+        } else if (flag && bo.getStatus() == 4) {
+            // 将待办变成已办
+            // 查询待办的处置方案
+            List<IncidentTask> taskList = incidentTaskService.list(Wrappers.<IncidentTask>lambdaQuery()
+                .in(IncidentTask::getSendFlag, "2", "3")
+                .eq(IncidentTask::getTaskSend, "1")
+                .eq(IncidentTask::getBackLogFlag, "0"));
+            if (taskList != null && taskList.size() > 0) {
+                List<String> TaskIds = taskList.stream().map(IncidentTask::getId).collect(Collectors.toList());
+                // 更新task中状态
+                incidentTaskService.update(Wrappers.<IncidentTask>lambdaUpdate()
+                    .set(IncidentTask::getBackLogFlag, "1")
+                    .in(IncidentTask::getSendFlag, "2", "3")
+                    .eq(IncidentTask::getTaskSend, "1")
+                    .eq(IncidentTask::getBackLogFlag, "0"));
+                // 去日志中找到相应的日志,更改待办变为已办
+                List<IncidentProcess> processList = incidentProcessService.list(Wrappers.<IncidentProcess>lambdaQuery()
+                    .in(IncidentProcess::getTaskId, TaskIds)
+                    .in(IncidentProcess::getStatus, 2, 3));
+                // 组装需要调用已办接口的数据
+                if (processList != null && processList.size() > 0) {
+                    List<BacklogMessageUpdateBo> list = new ArrayList<>();
+                    for (IncidentProcess incidentProcess : processList) {
+                        BacklogMessageUpdateBo messageUpdateBo = new BacklogMessageUpdateBo();
+                        messageUpdateBo.setUuid(incidentProcess.getId());
+                        incidentProcess.setDes(incidentProcess.getDes().replace("【待办】", "【已办】"));
+                        list.add(messageUpdateBo);
+                    }
+                    Object o = feignBacklogInfoService.backlogMessageUpdate(list);
+                    log.info("消息待办办结返回结果:{}", o);
+                    incidentProcessService.updateBatchById(processList);
+                }
             }
-        } */
-        else if (!flag && bo.getStatus() == 3 && !StrUtil.equals(bo.getAssistDept(), beforeInfo.getAssistDept())) {
+
+        } else if (!flag && bo.getStatus() == 3 && !StrUtil.equals(bo.getAssistDept(), beforeInfo.getAssistDept())) {
             // 第二次对协办部门派发
             // 重新冗余协办部门
             if (StrUtil.isBlank(bo.getAssistDept())) {

+ 3 - 7
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentTaskServiceImpl.java

@@ -40,13 +40,6 @@ import java.util.stream.Collectors;
 @Slf4j
 public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper, IncidentTask, IncidentTaskVo> implements IIncidentTaskService {
 
-//    @Autowired
-//    private IIncidentTaskPersonService incidentTaskPersonService;
-//    @Autowired
-//    private IIncidentTaskCommandService incidentTaskCommandService;
-//    @Autowired
-//    private IIncidentProcessService incidentProcessService;
-
     @Override
     public IncidentTaskVo queryById(String id) {
         return getVoById(id);
@@ -85,12 +78,14 @@ public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper,
             update.setExprJson(JSONUtil.toJsonStr(bo.getMessagePushUsers()));
             updateById(update);
             jsonObject.set("des", "更新处置方案:" + bo.getTaskName());
+            jsonObject.set("taskId", update.getId());
         } else {
             IncidentTask add = BeanUtil.toBean(bo, IncidentTask.class);
             add.setId(null);
             add.setExprJson(JSONUtil.toJsonStr(bo.getMessagePushUsers()));
             save(add);
             jsonObject.set("des", "新增处置方案:" + bo.getTaskName());
+            jsonObject.set("taskId", add.getId());
         }
         // 发送消息(1-应急处置消息、2-应急处置待办、3-资源管理待办)
         jsonObject.set("incidentId", bo.getIncidentId());
@@ -210,6 +205,7 @@ public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper,
             JSONObject jsonObject = new JSONObject();
             jsonObject.set("des", "处置方案:" + incidentTaskVo.getTaskName() + "删除");
             jsonObject.set("incidentId", incidentTaskVo.getIncidentId());
+            jsonObject.set("taskId", incidentTaskVo.getId());
             jsonObject.set("incidentStatus", 3);
             RedisUtils.publish(Constants.PROCESS_RECORD, jsonObject, msg -> {
                 log.info("事件处置方案删除消息 => " + msg);