459242451@qq.com 3 lat temu
rodzic
commit
cb0d293441

+ 48 - 35
ruoyi-admin/nacos/yjzh-sq-dev.yaml

@@ -10,6 +10,11 @@ spring:
             primary: master
             datasource:
                 # 主库数据源
+                #        master:
+                #          driverClassName: com.mysql.cj.jdbc.Driver
+                #          url: jdbc:mysql://cd-cdb-mrgi4hig.sql.tencentcdb.com:63225/tocc-sq?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
+                #          username: tocc_sq
+                #          password: tocc_sq1
                 master:
                     driverClassName: org.postgresql.Driver
                     url: jdbc:postgresql://xt.wenhq.top:8284/tocc-sq?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
@@ -74,48 +79,18 @@ spring:
 spring:
     redis:
         # 地址
-        host: 127.0.0.1
+        host: 200.200.19.121
         # 端口,默认为6379
-        port: 6379
+        port: 30379
         # 数据库索引
         database: 10
         # 密码
-        password: ficot!redis!
+        password:
         # 连接超时时间
         timeout: 10s
         # 是否开启ssl
         ssl: false
 
---- # kafaka 配置
-spring:
-    kafka:
-        # 指定kafkaserver的地址,集群配多个,中间,逗号隔开
-        bootstrap-servers: 200.200.19.121:9092
-        producer:
-            #procedure要求leader在考虑完成请求之前收到的确认数,用于控制发送记录在服务端的持久化,其值可以为如下:
-            #acks = 0 如果设置为零,则生产者将不会等待来自服务器的任何确认,该记录将立即添加到套接字缓冲区并视为已发送。在这种情况下,无法保证服务器已收到记录,并且重试配置将不会生效(因为客户端通常不会知道任何故障),为每条记录返回的偏移量始终设置为-1。
-            #acks = 1 这意味着leader会将记录写入其本地日志,但无需等待所有副本服务器的完全确认即可做出回应,在这种情况下,如果leader在确认记录后立即失败,但在将数据复制到所有的副本服务器之前,则记录将会丢失。
-            #acks = all 这意味着leader将等待完整的同步副本集以确认记录,这保证了只要至少一个同步副本服务器仍然存活,记录就不会丢失,这是最强有力的保证,这相当于acks = -1的设置。
-            #可以设置的值为:all, -1, 0, 1
-            acks: 1
-            # 每次批量发送消息的数量,produce积累到一定数据,一次发送
-            batch-size: 16384
-            # produce积累数据一次发送,缓存大小达到buffer.memory就发送数据
-            buffer-memory: 33554432
-            # 写入失败时,重试次数。当leader节点失效,一个repli节点会替代成为leader节点,此时可能出现写入失败,
-            # 当retris为0时,produce不会重复。retirs重发,此时repli节点完全成为leader节点,不会产生消息丢失。
-            retries: 0
-            # 指定消息key和消息体的编解码方式
-            key-serializer: org.apache.kafka.common.serialization.StringSerializer
-            value-serializer: org.apache.kafka.common.serialization.StringSerializer
-        consumer:
-            # 默认的消费组ID
-            group-id: defaultConsumerGroup
-            enable-auto-commit: true
-            auto-offset-reset: latest
-            key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
-            value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
-            auto-commit-interval: 1000
 redisson:
     # 线程池数量
     threads: 16
@@ -148,8 +123,46 @@ redisson:
         # DNS监测时间间隔,单位:毫秒
         dnsMonitoringInterval: 5000
 
+--- # kafaka 配置
+spring:
+    kafka:
+        # 指定kafkaserver的地址,集群配多个,中间,逗号隔开
+        bootstrap-servers: 10.1.154.115:9092
+        producer:
+            #procedure要求leader在考虑完成请求之前收到的确认数,用于控制发送记录在服务端的持久化,其值可以为如下:
+            #acks = 0 如果设置为零,则生产者将不会等待来自服务器的任何确认,该记录将立即添加到套接字缓冲区并视为已发送。在这种情况下,无法保证服务器已收到记录,并且重试配置将不会生效(因为客户端通常不会知道任何故障),为每条记录返回的偏移量始终设置为-1。
+            #acks = 1 这意味着leader会将记录写入其本地日志,但无需等待所有副本服务器的完全确认即可做出回应,在这种情况下,如果leader在确认记录后立即失败,但在将数据复制到所有的副本服务器之前,则记录将会丢失。
+            #acks = all 这意味着leader将等待完整的同步副本集以确认记录,这保证了只要至少一个同步副本服务器仍然存活,记录就不会丢失,这是最强有力的保证,这相当于acks = -1的设置。
+            #可以设置的值为:all, -1, 0, 1
+            acks: 1
+            # 每次批量发送消息的数量,produce积累到一定数据,一次发送
+            batch-size: 16384
+            # produce积累数据一次发送,缓存大小达到buffer.memory就发送数据
+            buffer-memory: 33554432
+            # 写入失败时,重试次数。当leader节点失效,一个repli节点会替代成为leader节点,此时可能出现写入失败,
+            # 当retris为0时,produce不会重复。retirs重发,此时repli节点完全成为leader节点,不会产生消息丢失。
+            retries: 0
+            # 指定消息key和消息体的编解码方式
+            key-serializer: org.apache.kafka.common.serialization.StringSerializer
+            value-serializer: org.apache.kafka.common.serialization.StringSerializer
+        consumer:
+            # 默认的消费组ID
+            group-id: defaultConsumerGroup
+            enable-auto-commit: true
+            auto-offset-reset: latest
+            key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
+            value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
+            auto-commit-interval: 1000
+---
 ruoyi:
     # 文件路径 示例( Windows配置D:/tocc/uploadPath,Linux配置 /xintong/server/uploadPath)
-    profile: /Users/huangcheng/home
-
+    profile: /home/tocc
 
+third:
+    messagepush: http://61.147.254.211:30876/notice-info/messagepushinfo #发送消息
+    messagepushlist: http://61.147.254.211:30876/notice-info/messagepushinfo/list # 消息列表
+    dhAuthorize: http://10.211.55.3:6699/videoService/accounts/authorize # 大华鉴权创建用户会话
+    keepalive: http://10.211.55.3:6699/videoService/accounts/token/keepalive # 大华会话保活
+    dhDeviceTree: http://10.211.55.3:6699/videoService/devicesManager/deviceTree # 大华设备树
+    incidentUrl: http://sqmb.xt.wenhq.top:8083/#/status/3/detail?id=#incidentId&taskid=#taskId # 移动端待办跳转链接
+    resourceUrl: http://sqmb.xt.wenhq.top:8083/#/warehouse/detail # 移动端资源跳转链接

+ 39 - 32
ruoyi-admin/nacos/yjzh-sq-test.yaml

@@ -86,36 +86,6 @@ spring:
         # 是否开启ssl
         ssl: false
 
---- # kafaka 配置
-spring:
-    kafka:
-        # 指定kafkaserver的地址,集群配多个,中间,逗号隔开
-        bootstrap-servers: 200.200.19.121:9092
-        producer:
-            #procedure要求leader在考虑完成请求之前收到的确认数,用于控制发送记录在服务端的持久化,其值可以为如下:
-            #acks = 0 如果设置为零,则生产者将不会等待来自服务器的任何确认,该记录将立即添加到套接字缓冲区并视为已发送。在这种情况下,无法保证服务器已收到记录,并且重试配置将不会生效(因为客户端通常不会知道任何故障),为每条记录返回的偏移量始终设置为-1。
-            #acks = 1 这意味着leader会将记录写入其本地日志,但无需等待所有副本服务器的完全确认即可做出回应,在这种情况下,如果leader在确认记录后立即失败,但在将数据复制到所有的副本服务器之前,则记录将会丢失。
-            #acks = all 这意味着leader将等待完整的同步副本集以确认记录,这保证了只要至少一个同步副本服务器仍然存活,记录就不会丢失,这是最强有力的保证,这相当于acks = -1的设置。
-            #可以设置的值为:all, -1, 0, 1
-            acks: 1
-            # 每次批量发送消息的数量,produce积累到一定数据,一次发送
-            batch-size: 16384
-            # produce积累数据一次发送,缓存大小达到buffer.memory就发送数据
-            buffer-memory: 33554432
-            # 写入失败时,重试次数。当leader节点失效,一个repli节点会替代成为leader节点,此时可能出现写入失败,
-            # 当retris为0时,produce不会重复。retirs重发,此时repli节点完全成为leader节点,不会产生消息丢失。
-            retries: 0
-            # 指定消息key和消息体的编解码方式
-            key-serializer: org.apache.kafka.common.serialization.StringSerializer
-            value-serializer: org.apache.kafka.common.serialization.StringSerializer
-        consumer:
-            # 默认的消费组ID
-            group-id: defaultConsumerGroup
-            enable-auto-commit: true
-            auto-offset-reset: latest
-            key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
-            value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
-            auto-commit-interval: 1000
 redisson:
     # 线程池数量
     threads: 16
@@ -148,9 +118,46 @@ redisson:
         # DNS监测时间间隔,单位:毫秒
         dnsMonitoringInterval: 5000
 
+--- # kafaka 配置
+spring:
+    kafka:
+        # 指定kafkaserver的地址,集群配多个,中间,逗号隔开
+        bootstrap-servers: 10.11.208.16:9092
+        producer:
+            #procedure要求leader在考虑完成请求之前收到的确认数,用于控制发送记录在服务端的持久化,其值可以为如下:
+            #acks = 0 如果设置为零,则生产者将不会等待来自服务器的任何确认,该记录将立即添加到套接字缓冲区并视为已发送。在这种情况下,无法保证服务器已收到记录,并且重试配置将不会生效(因为客户端通常不会知道任何故障),为每条记录返回的偏移量始终设置为-1。
+            #acks = 1 这意味着leader会将记录写入其本地日志,但无需等待所有副本服务器的完全确认即可做出回应,在这种情况下,如果leader在确认记录后立即失败,但在将数据复制到所有的副本服务器之前,则记录将会丢失。
+            #acks = all 这意味着leader将等待完整的同步副本集以确认记录,这保证了只要至少一个同步副本服务器仍然存活,记录就不会丢失,这是最强有力的保证,这相当于acks = -1的设置。
+            #可以设置的值为:all, -1, 0, 1
+            acks: 1
+            # 每次批量发送消息的数量,produce积累到一定数据,一次发送
+            batch-size: 16384
+            # produce积累数据一次发送,缓存大小达到buffer.memory就发送数据
+            buffer-memory: 33554432
+            # 写入失败时,重试次数。当leader节点失效,一个repli节点会替代成为leader节点,此时可能出现写入失败,
+            # 当retris为0时,produce不会重复。retirs重发,此时repli节点完全成为leader节点,不会产生消息丢失。
+            retries: 0
+            # 指定消息key和消息体的编解码方式
+            key-serializer: org.apache.kafka.common.serialization.StringSerializer
+            value-serializer: org.apache.kafka.common.serialization.StringSerializer
+        consumer:
+            # 默认的消费组ID
+            group-id: huashe-consumer-group
+            enable-auto-commit: true
+            auto-offset-reset: latest
+            key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
+            value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
+            auto-commit-interval: 1000
+---
 ruoyi:
     # 文件路径 示例( Windows配置D:/tocc/uploadPath,Linux配置 /xintong/server/uploadPath)
     profile: /home/tocc
 
-
-
+third:
+    messagepush: http://61.147.254.211:30876/notice-info/messagepushinfo #发送消息
+    messagepushlist: http://61.147.254.211:30876/notice-info/messagepushinfo/list # 消息列表
+    dhAuthorize: http://10.55.134.3:6699/videoService/accounts/authorize # 大华鉴权创建用户会话
+    keepalive: http://10.55.134.3:6699/videoService/accounts/token/keepalive # 大华会话保活
+    dhDeviceTree: http://10.55.134.3:6699/videoService/devicesManager/deviceTree # 大华设备树
+    incidentUrl: http://sqmb.xt.wenhq.top:8083/#/status/3/detail?id=#incidentId&taskid=#taskId # 移动端待办跳转链接
+    resourceUrl: http://sqmb.xt.wenhq.top:8083/#/warehouse/detail # 移动端资源跳转链接

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

@@ -1,14 +1,19 @@
 package com.ruoyi.web.controller.task;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.convert.Convert;
+import cn.hutool.core.date.DateUtil;
 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;
+import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.RedisUtils;
+import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysDictDataService;
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.zhdd.domain.IncidentProcess;
 import com.ruoyi.zhdd.domain.IncidentUser;
@@ -57,15 +62,23 @@ public class NoticeInfoListiner {
     private final ISmsOutboxService smsOutboxService;
     private final ISysUserService sysUserService;
     private final IIncidentUserService incidentUserService;
+    private final ISysDictDataService dictDataService;
+    private final ISysDeptService sysDeptService;
 
     @Value("${spring.profiles.active}")
     private String env;
 
+    @Value("${third.incidentUrl}")
+    private String incidentUrl;
+    @Value("${third.resourceUrl}")
+    private String resourceUrl;
+
     /**
      * 消息发送
      * A:事件派发。B:处置方案
      */
     @Bean
+
     public void sendNotice() {
         RedisUtils.subscribe(Constants.NOTICE_PUSH, String.class, msg -> {
             try {
@@ -83,7 +96,7 @@ public class NoticeInfoListiner {
             String synopsis = "未知";
             String text = "未知";
             String messageUser = "";
-            String incidentId = "";
+            String incidentId;
             String url = "";
             IncidentProcess incidentProcess = new IncidentProcess();
             boolean sendFlag = true;
@@ -96,8 +109,9 @@ public class NoticeInfoListiner {
             if ("A".equals(type)) {
                 IncidentVo incidentVo = incidentService.queryById(msg.substring(2));
                 title = StrUtil.concat(true, "应急事件:", incidentVo.getName());
-                synopsis = "系统给您派发了应急事件,请查看";
-                text = StrUtil.concat(true, incidentVo.getAddr(), "发生应急事件,请关注消息,做好应急准备");
+                synopsis = "请查看派发应急事件消息";
+                text = getDetail(incidentVo);
+                text = text.replace("#task", "");
                 incidentProcess.setDes("事件派发");
                 incidentProcess.setIncidentStatus(2);
                 incidentProcess.setIncidentId(msg.substring(2));
@@ -110,9 +124,11 @@ public class NoticeInfoListiner {
                 incidentId = incidentTaskVo.getIncidentId();
                 IncidentVo incidentVo = incidentService.queryById(incidentTaskVo.getIncidentId());
                 title = "应急处置";
-                synopsis = "请查看应急处置方案";
-                text = StrUtil.concat(true, "请查看", incidentVo.getName(), "事件的", incidentTaskVo.getTaskName(), "方案");
-                url = "http://sqmb.xt.wenhq.top:8083/#/status/3/detail?id=" + incidentId + "&taskid=" + incidentTaskVo.getId();
+                synopsis = "请查看应急事件处置指令消息";
+                text = getDetail(incidentVo);
+                String taskName = "<tr><td style=\"color: darkgray;width: 20%;vertical-align: top;\">处置指令</td><td style=\"text-align:left;\">#taskName</td></tr>".replace("#taskName", incidentTaskVo.getTaskName());
+                text = text.replace("#task", taskName);
+                url = incidentUrl.replace("#incidentId", incidentId).replace("#taskId", incidentTaskVo.getId());
                 incidentProcess.setDes("发送处置方案:" + incidentTaskVo.getTaskName());
                 incidentProcess.setIncidentStatus(3);
                 incidentProcess.setIncidentId(incidentTaskVo.getIncidentId());
@@ -120,7 +136,7 @@ public class NoticeInfoListiner {
                 if ("3".equals(messageType)) {
                     title = "应急资源维护";
                     text = incidentTaskVo.getTaskName();
-                    url = "http://sqmb.xt.wenhq.top:8083/#/warehouse/detail";
+                    url = resourceUrl.replace("#taskId", incidentTaskVo.getId());
                 }
                 incidentProcess.setTaskId(incidentTaskVo.getId());
             }
@@ -188,6 +204,40 @@ public class NoticeInfoListiner {
     }
 
     /**
+     * 获取事件详情
+     *
+     * @param incidentVo
+     * @return
+     */
+    private String getDetail(IncidentVo incidentVo) {
+        // 翻译事件类型、事件等级、事件来源、上报人员、上报单位
+        String type = dictDataService.selectDictLabel("zhdd_incident_type", Convert.toStr(incidentVo.getType()));
+        String level = dictDataService.selectDictLabel("zhdd_incident_level", Convert.toStr(incidentVo.getLevel()));
+        String source = dictDataService.selectDictLabel("zhdd_incident_source", incidentVo.getSource());
+        incidentVo.setTypeText(type);
+        incidentVo.setLevelText(level);
+        incidentVo.setSource(source);
+        SysUser sysUser = sysUserService.selectUserByUserName(incidentVo.getCreateBy());
+        if (sysUser != null) {
+            incidentVo.setCreateBy(sysUser.getNickName());
+        }
+        SysDept sysDept = sysDeptService.selectDeptById(incidentVo.getCreateDept());
+        if (sysDept != null) {
+            incidentVo.setCreateDept(sysDept.getDeptName());
+        }
+        String htmlContent = "<table style=\"font-size: 3vw;\"><tr><td style=\"color: darkgray;width: 20%;vertical-align: top;\">事件类型</td><td style=\"text-align:left;\">#typeText</td></tr><tr><td style=\"color: darkgray;width: 20%;vertical-align: " +
+            "top;\">事件等级</td><td style=\"text-align:left;\">#levelText</td></tr><tr><td style=\"color: darkgray;width: 20%;vertical-align: top;\">事件时间</td><td style=\"text-align:left;\">#createTime</td></tr><tr><td style=\"color: darkgray;width: 20%;vertical-align: top;\">事件地点</td><td style=\"text-align:left;\">#addr</td></tr><tr><td style=\"color: darkgray;width: 20%;vertical-align: top;\">事件来源</td><td style=\"text-align:left;\">#source</td></tr><tr><td style=\"color: darkgray;width: 20%;vertical-align: top;\">上报人员</td><td style=\"text-align:left;\">#createBy</td></tr><tr><td style=\"color: darkgray;width: 20%;vertical-align: top;\">联系电话</td><td style=\"text-align:left;\">#expr1</td></tr><tr><td style=\"color: darkgray;width: 20%;vertical-align: top;\">上报单位</td><td style=\"text-align:left;\">#createDept</td></tr>#task</table>";
+        return htmlContent.replace("#typeText", incidentVo.getTypeText())
+            .replace("#levelText", incidentVo.getLevelText())
+            .replace("#createTime", DateUtil.formatDateTime(incidentVo.getCreateTime()))
+            .replace("#addr", incidentVo.getAddr())
+            .replace("#source", incidentVo.getSource())
+            .replace("#createBy", incidentVo.getCreateBy())
+            .replace("#expr1", incidentVo.getExpr1())
+            .replace("#createDept", incidentVo.getCreateDept());
+    }
+
+    /**
      * 指定用户发送
      */
     @Bean

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

@@ -32,6 +32,7 @@ import com.ruoyi.system.service.ISysDictDataService;
 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.Plan;
 import com.ruoyi.zhdd.domain.PlanFile;
 import com.ruoyi.zhdd.domain.bo.IncidentBo;
@@ -410,6 +411,23 @@ public class IncidentController extends BaseController {
         return toAjax(incidentTaskService.copyTask(oldId, newId) ? 1 : 0);
     }
 
+    @ApiOperation("查询事件处置方案是否办结")
+    @RepeatSubmit()
+    @GetMapping("/queryTaskFinish")
+    public AjaxResult queryTaskFinish(@RequestParam String taskId) {
+        IncidentTaskVo voOne = incidentTaskService.getVoOne(Wrappers.<IncidentTask>lambdaQuery()
+            .eq(IncidentTask::getId, taskId)
+            .in(IncidentTask::getSendFlag, "2", "3")
+            .eq(IncidentTask::getTaskSend, "1")
+            .eq(IncidentTask::getBackLogFlag, "0"));
+        if (voOne != null) {
+            return AjaxResult.success(true);
+        } else {
+            return AjaxResult.success(false);
+        }
+    }
+
+
     @ApiOperation("待办消息办结")
     @RepeatSubmit()
     @PostMapping("/backLogFinish")

+ 6 - 6
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhdd/ResourceController.java

@@ -10,12 +10,14 @@ import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.annotation.Security;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.validate.AddGroup;
 import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.common.core.validate.QueryGroup;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.service.UserUtil;
 import com.ruoyi.zhdd.domain.Resource;
 import com.ruoyi.zhdd.domain.ResourceDetail;
 import com.ruoyi.zhdd.domain.bo.ResourceBo;
@@ -88,12 +90,10 @@ public class ResourceController extends BaseController {
             }
         }
         // 临时增加处理只能看到该部门的数据
-        /*GatewayUser user = getGateWayUser();
-        if (user != null && StrUtil.isNotBlank(user.getOrgId())) {
-            List<String> deptIds = new ArrayList<>();
-            deptIds.add(user.getOrgId());
-            bo.setDeptIds(deptIds);
-        }*/
+        LoginUser cacheLoginUser = UserUtil.getCacheLoginUser();
+        if (cacheLoginUser != null && StrUtil.isNotBlank(cacheLoginUser.getDeptId()) && !StrUtil.containsAny(cacheLoginUser.getUsername(), "sqadmin1", "zhangsan")) {
+            bo.setManageUnitId(cacheLoginUser.getDeptId());
+        }
         return iResourceService.queryPageList(bo);
     }
 

+ 1 - 2
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
@@ -110,7 +109,7 @@ public class SysUser implements Serializable {
     /**
      * 删除标志(0代表存在 2代表删除)
      */
-    @TableLogic
+//    @TableLogic
     private String delFlag;
 
     /**

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

@@ -182,4 +182,8 @@ public class IncidentVo {
 
     // 忽略说明
     private String ignores;
+
+    private String typeText;
+
+    private String levelText;
 }

+ 2 - 2
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/DhServiceImpl.java

@@ -68,7 +68,7 @@ public class DhServiceImpl implements IDhService {
             postOne = HttpUtil.post(dhAuthorizeUrl, jsonOne.toString());
         } catch (Exception e) {
             log.error("大华接口请求异常:{}", e.getMessage());
-            throw new ServiceException("大华接口请求异常");
+            throw new ServiceException("大华融合通信平台无法连接,请联系大华融合通信平台维护人员检查!");
         }
         JSONObject postOneJson = JSONUtil.parseObj(postOne);
         if (postOneJson.containsKey("realm")) {
@@ -199,7 +199,7 @@ public class DhServiceImpl implements IDhService {
                 .execute().body();
         } catch (Exception e) {
             log.error("大华接口2请求异常:{}", e.getMessage());
-            throw new ServiceException("大华接口请求异常");
+            throw new ServiceException("大华融合通信平台无法连接,请联系大华融合通信平台维护人员检查!");
         }
         JSONObject getJson = JSONUtil.parseObj(get);
         if (getJson.containsKey("code")) {

+ 1 - 15
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentServiceImpl.java

@@ -32,7 +32,6 @@ import com.ruoyi.zhdd.mapper.IncidentMapper;
 import com.ruoyi.zhdd.service.IIncidentProcessService;
 import com.ruoyi.zhdd.service.IIncidentService;
 import com.ruoyi.zhdd.service.IIncidentTaskService;
-import com.ruoyi.zhdd.service.IPlanService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -64,8 +63,6 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
     @Autowired
     private ISysDeptService sysDeptService;
     @Autowired
-    private IPlanService planService;
-    @Autowired
     private IIncidentTaskService incidentTaskService;
     @Autowired
     private FeignBacklogInfoService feignBacklogInfoService;
@@ -119,7 +116,6 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
     @Override
     public String insertByBo(IncidentBo bo) {
         Incident add = BeanUtil.toBean(bo, Incident.class);
-        validEntityBeforeSave(add);
         add.setExprJson(JSONUtil.toJsonStr(bo.getMessagePushUsers()));
         boolean save = save(add);
 
@@ -139,7 +135,7 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
         bo.setCreateBy(null);
         bo.setCreateDept(null);
         // 是否为状态变更
-        boolean flag = false;
+        boolean flag;
         JSONObject jsonObject = new JSONObject();
         // 查询变更前信息
         IncidentVo beforeInfo = getVoById(bo.getId());
@@ -149,7 +145,6 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
             throw new ServiceException("事件不存在!");
         }
         Incident update = BeanUtil.toBean(bo, Incident.class);
-        validEntityBeforeSave(update);
         if (flag && bo.getStatus() == 3) {
             // 第一次派发
             // 待处置状态
@@ -280,15 +275,6 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
         return b;
     }
 
-    /**
-     * 保存前的数据校验
-     *
-     * @param entity 实体类数据
-     */
-    private void validEntityBeforeSave(Incident entity) {
-        //TODO 做一些数据校验,如唯一约束
-    }
-
     @Override
     public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
         if (isValid) {

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

@@ -92,6 +92,7 @@ public class ResourceServiceImpl extends ServicePlusImpl<ResourceMapper, Resourc
         lqw.eq(StringUtils.isNotBlank(bo.getCarryGoods()), Resource::getCarryGoods, bo.getCarryGoods());
         lqw.like(StringUtils.isNotBlank(bo.getContactName()), Resource::getContactName, bo.getContactName());
         lqw.eq(StringUtils.isNotBlank(bo.getContactPhone()), Resource::getContactPhone, bo.getContactPhone());
+        lqw.eq(StringUtils.isNotBlank(bo.getManageUnitId()), Resource::getManageUnitId, bo.getManageUnitId());
         lqw.in(ObjectUtil.isNotEmpty(bo.getResourceIds()), Resource::getId, bo.getResourceIds());
         lqw.in(ObjectUtil.isNotEmpty(bo.getDeptIds()), Resource::getDeptId, bo.getDeptIds());
         lqw.orderByDesc(Resource::getCreateTime);