Преглед изворни кода

报警病害类型读取字典

gao.qiang пре 1 дан
родитељ
комит
49f8bf32ab

+ 12 - 2
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -21,6 +21,7 @@ import com.ozs.service.entity.*;
 import com.ozs.service.entity.vo.*;
 import com.ozs.service.service.*;
 import com.ozs.service.utils.PublishClient;
+import com.ozs.system.mapper.SysDictDataMapper;
 import com.ozs.system.service.DataScoreUtil;
 import com.ozs.system.service.ISysDeptService;
 import com.ozs.system.service.ISysDictTypeService;
@@ -86,7 +87,9 @@ public class BaseCameraManagementController extends BaseController {
     private CameraUtil cameraUtil;
     @Autowired
     private MqLogService mqLogService;
-
+    // 字典
+    @Autowired
+    private SysDictDataMapper dictDataMapper;
 
     /**
      * 所有相机列表+权限
@@ -904,6 +907,8 @@ public class BaseCameraManagementController extends BaseController {
     @GetMapping(value = "/getAlarm/{cameraCode}")
     @Log(title = "相机台账管理", businessType = BusinessType.MESSAGE)
     public AjaxResult getAlarm(@PathVariable String cameraCode) {
+        String dictLabel=null;
+        List<SysDictData> sysAlarmType = dictDataMapper.selectDictDataByType("sys_alarm_type");
         LambdaQueryWrapper<BaseCameraManagement> queryWrapper = new LambdaQueryWrapper<BaseCameraManagement>();
         if (!ObjectUtils.isEmpty(cameraCode)) {
             queryWrapper.eq(BaseCameraManagement::getCameraCode, cameraCode);
@@ -940,8 +945,13 @@ public class BaseCameraManagementController extends BaseController {
                 msgAlarmResp.setReleasedByName(msgAlarm.getReleasedByName());
                 msgAlarmResp.setReleasedReason(msgAlarm.getReleasedReason());
                 String[] split1 = msgAlarm.getAlarmAttr().split(",");
+                for (SysDictData sysDictData : sysAlarmType) {
+                    if (sysDictData.getDictValue().equals(msgAlarm.getAlarmType().toString())) {
+                         dictLabel=sysDictData.getDictLabel();
+                    }
+                }
                 String stringBuilder = "画面大小为" + split1[0] + "×" + split1[1] + "," +
-                        "泥石流范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" +
+                        dictLabel+"范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" +
                         "大小" + split1[4] + "×" + split1[5];
                 msgAlarmResp.setAlarmAttrName(stringBuilder);
                 if (!ObjectUtils.isEmpty(msgAlarmResp.getReleasedType())) {

+ 53 - 6
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java

@@ -16,6 +16,7 @@ import com.ozs.service.entity.*;
 import com.ozs.service.entity.vo.*;
 import com.ozs.service.mapper.MsgAlarmMapper;
 import com.ozs.service.service.*;
+import com.ozs.system.mapper.SysDictDataMapper;
 import com.ozs.system.service.DataScoreUtil;
 import com.ozs.system.service.ISysDeptService;
 import com.ozs.system.service.ISysDictDataService;
@@ -73,6 +74,9 @@ public class MsgAlarmController extends BaseController {
     private BaseUserService baseUserService;
     @Autowired
     private ISysDeptService deptService;
+    // 字典
+    @Autowired
+    private SysDictDataMapper dictDataMapper;
 
     /**
      * web更多消息-总数,已读数
@@ -142,6 +146,8 @@ public class MsgAlarmController extends BaseController {
     @PostMapping("/listHome")
     @Log(title = "首页", businessType = BusinessType.SELECT)
     public AjaxResult selectMsgAlarmHome(@RequestBody MsgAlarmVo msgAlarmVo) {
+        AtomicReference<String> dictLabel= new AtomicReference<>();
+        List<SysDictData> sysAlarmType = dictDataMapper.selectDictDataByType("sys_alarm_type");
         msgAlarmVo = (MsgAlarmVo) dataScoreUtil.setDataScore(getUserId(), msgAlarmVo);
         if (!ObjectUtils.isEmpty(msgAlarmVo.getAlarmMile())) {
             msgAlarmVo.setAlarmMile(msgAlarmVo.getAlarmMile() * 1000);
@@ -194,9 +200,14 @@ public class MsgAlarmController extends BaseController {
                 if (!ObjectUtils.isEmpty(o.getReleasedType())) {
                     o.setReleasedTypeName(o.getReleasedType() == 1 ? "实报" : "误报");
                 }
+                for (SysDictData sysDictData : sysAlarmType) {
+                    if (sysDictData.getDictValue().equals(o.getAlarmType().toString())) {
+                        dictLabel.set(sysDictData.getDictLabel());
+                    }
+                }
                 String[] split1 = o.getAlarmAttr().split(",");
                 String stringBuilder = "画面,大小为" + split1[0] + "×" + split1[1] + "," +
-                        "泥石流范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" +
+                        dictLabel+"范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" +
                         "大小" + split1[4] + "×" + split1[5];
                 o.setAlarmAttr(stringBuilder);
                 return o;
@@ -215,6 +226,8 @@ public class MsgAlarmController extends BaseController {
     @PostMapping("/list")
     @Log(title = "报警信息管理", businessType = BusinessType.SELECT)
     public AjaxResult selectMsgAlarm(@RequestBody MsgAlarmVo msgAlarmVo) {
+        AtomicReference<String> dictLabel= new AtomicReference<>();
+        List<SysDictData> sysAlarmType = dictDataMapper.selectDictDataByType("sys_alarm_type");
         msgAlarmVo = (MsgAlarmVo) dataScoreUtil.setDataScore(getUserId(), msgAlarmVo);
         if (!ObjectUtils.isEmpty(msgAlarmVo.getAlarmMile())) {
             msgAlarmVo.setAlarmMile(msgAlarmVo.getAlarmMile() * 1000);
@@ -270,9 +283,14 @@ public class MsgAlarmController extends BaseController {
                 if (!ObjectUtils.isEmpty(o.getReleasedType())) {
                     o.setReleasedTypeName(o.getReleasedType() == 1 ? "实报" : "误报");
                 }
+                for (SysDictData sysDictData : sysAlarmType) {
+                    if (sysDictData.getDictValue().equals(o.getAlarmType().toString())) {
+                        dictLabel.set(sysDictData.getDictLabel());
+                    }
+                }
                 String[] split1 = o.getAlarmAttr().split(",");
                 String stringBuilder = "画面,大小为" + split1[0] + "×" + split1[1] + "," +
-                        "泥石流范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" +
+                        dictLabel+"范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" +
                         "大小" + split1[4] + "×" + split1[5];
                 o.setAlarmAttr(stringBuilder);
                 return o;
@@ -290,6 +308,9 @@ public class MsgAlarmController extends BaseController {
     @PostMapping("/exportMsgAlarm")
     @Log(title = "报警信息管理", businessType = BusinessType.EXPORT)
     public void exportMsgAlarm(HttpServletResponse response, @RequestBody MsgAlarmVo msgAlarmVo) {
+        //获取字典数据
+        String dictLabel=null;
+        List<SysDictData> sysAlarmType = dictDataMapper.selectDictDataByType("sys_alarm_type");
         msgAlarmVo = (MsgAlarmVo) dataScoreUtil.setDataScore(getUserId(), msgAlarmVo);
         if (!ObjectUtils.isEmpty(msgAlarmVo.getAlarmMile())) {
             msgAlarmVo.setAlarmMile(msgAlarmVo.getAlarmMile() * 1000);
@@ -367,8 +388,13 @@ public class MsgAlarmController extends BaseController {
             SysDictData one = dictDataService.getOne(dict);
             msgAlarm.setAlarmTypeName(one.getDictLabel());
             String[] split1 = msgAlarm.getAlarmAttr().split(",");
+            for (SysDictData sysDictData : sysAlarmType) {
+                if (sysDictData.getDictValue().equals(msgAlarm.getAlarmType().toString())) {
+                    dictLabel=sysDictData.getDictLabel();
+                }
+            }
             String stringBuilder = "画面,大小为" + split1[0] + "×" + split1[1] + "," +
-                    "泥石流范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" +
+                    dictLabel+"范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" +
                     "大小" + split1[4] + "×" + split1[5];
             msgAlarm.setAlarmAttr(stringBuilder);
         }
@@ -423,6 +449,8 @@ public class MsgAlarmController extends BaseController {
     @GetMapping(value = "/{id}")
     @Log(title = "报警信息管理", businessType = BusinessType.MESSAGE)
     public AjaxResult getInfo(@PathVariable Long id) {
+        String dictLabel=null;
+        List<SysDictData> sysAlarmType = dictDataMapper.selectDictDataByType("sys_alarm_type");
         MsgAlarm msgAlarm = msgAlarmService.getById(id);
         if (!ObjectUtils.isEmpty(msgAlarm)) {
             LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
@@ -461,8 +489,13 @@ public class MsgAlarmController extends BaseController {
             SysDept sysDept = deptService.selectDeptById(baseCameraManagement.getDeptId());
             msgAlarmResp.setDeptName(sysDept.getDeptName());
             String[] split1 = msgAlarm.getAlarmAttr().split(",");
+            for (SysDictData sysDictData : sysAlarmType) {
+                if (sysDictData.getDictValue().equals(msgAlarm.getAlarmType().toString())) {
+                    dictLabel=sysDictData.getDictLabel();
+                }
+            }
             String stringBuilder = "画面,大小为" + split1[0] + "×" + split1[1] + "," +
-                    "泥石流范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" +
+                    dictLabel+"范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" +
                     "大小" + split1[4] + "×" + split1[5];
             msgAlarmResp.setAlarmAttrName(stringBuilder);
             msgAlarmResp.setCardNum(baseCameraManagement.getCardNum());
@@ -599,6 +632,8 @@ public class MsgAlarmController extends BaseController {
     @Log(title = "报警信息管理", businessType = BusinessType.OTHER)
     @PostMapping("/dataStatistic")
     public AjaxResult dataStatistic(@RequestBody AlarmStatisticResVo alarmStatisticResVo) {
+        AtomicReference<String> dictLabel= new AtomicReference<>();
+        List<SysDictData> sysAlarmType = dictDataMapper.selectDictDataByType("sys_alarm_type");
         alarmStatisticResVo = (AlarmStatisticResVo) dataScoreUtil.setDataScore(getUserId(), alarmStatisticResVo);
         IPage<AlarmStatisticVo> page = msgAlarmService.list(alarmStatisticResVo);
         page.setTotal(page.getTotal());
@@ -632,9 +667,14 @@ public class MsgAlarmController extends BaseController {
                     o.setIsLockName(o.getIsLock() == 1 ? "已处置" : "未处置");
                 }
                 if (!ObjectUtils.isEmpty(o.getAlarmAttr())) {
+                    for (SysDictData sysDictData : sysAlarmType) {
+                        if (sysDictData.getDictValue().equals(o.getAlarmType().toString())) {
+                            dictLabel.set(sysDictData.getDictLabel());
+                        }
+                    }
                     String[] split1 = o.getAlarmAttr().split(",");
                     String stringBuilder = "画面大小" + split1[0] + "×" + split1[1] + "," +
-                            "泥石流范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" +
+                            dictLabel+"范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" +
                             "大小" + split1[4] + "×" + split1[5];
                     o.setAlarmAttrString(stringBuilder);
                 }
@@ -713,6 +753,8 @@ public class MsgAlarmController extends BaseController {
     @Log(title = "报警信息管理", businessType = BusinessType.EXPORT)
     @PostMapping("/exportDataStatistic")
     public void exportDataStatistic(HttpServletResponse response, @RequestBody AlarmStatisticResVo alarmStatisticResVo) {
+        final String[] dictLabel = {null};
+        List<SysDictData> sysAlarmType = dictDataMapper.selectDictDataByType("sys_alarm_type");
         alarmStatisticResVo = (AlarmStatisticResVo) dataScoreUtil.setDataScore(getUserId(), alarmStatisticResVo);
         try {
             List<AlarmStatisticDto> list = msgAlarmService.exportExcel(alarmStatisticResVo);
@@ -742,9 +784,14 @@ public class MsgAlarmController extends BaseController {
                         l.setIsLockName(l.getIsLock() == 1 ? "已处置" : "未处置");
                     }
                     if (!ObjectUtils.isEmpty(l.getAlarmAttr())) {
+                        for (SysDictData sysDictData : sysAlarmType) {
+                            if (sysDictData.getDictValue().equals(l.getAlarmType().toString())) {
+                                dictLabel[0] =sysDictData.getDictLabel();
+                            }
+                        }
                         String[] split1 = l.getAlarmAttr().split(",");
                         String stringBuilder = "画面大小" + split1[0] + "×" + split1[1] + "," +
-                                "泥石流范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" +
+                                dictLabel[0] +"范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" +
                                 "大小" + split1[4] + "×" + split1[5];
                         l.setAlarmAttrString(stringBuilder);
                     }

+ 12 - 1
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmMatterController.java

@@ -16,6 +16,7 @@ import com.ozs.service.entity.*;
 import com.ozs.service.entity.vo.*;
 import com.ozs.service.mapper.MsgAlarmMapper;
 import com.ozs.service.service.*;
+import com.ozs.system.mapper.SysDictDataMapper;
 import com.ozs.system.service.DataScoreUtil;
 import com.ozs.system.service.ISysDeptService;
 import com.ozs.system.service.ISysDictDataService;
@@ -59,6 +60,9 @@ public class MsgAlarmMatterController extends BaseController {
     private ISysDictTypeService dictTypeService;
     @Resource
     private MsgAlarmExtService msgAlarmExtService;
+    // 字典
+    @Autowired
+    private SysDictDataMapper dictDataMapper;
     /**
      * 报警信息分页
      *
@@ -138,6 +142,8 @@ public class MsgAlarmMatterController extends BaseController {
     @PostMapping("/exportMsgAlarm")
     @Log(title = "报警信息管理", businessType = BusinessType.EXPORT)
     public void exportMsgAlarm(HttpServletResponse response, @RequestBody MsgAlarmMatterVo msgAlarmVo) {
+        String dictLabel=null;
+        List<SysDictData> sysAlarmType = dictDataMapper.selectDictDataByType("sys_alarm_type");
         msgAlarmVo = (MsgAlarmMatterVo) dataScoreUtil.setDataScore(getUserId(), msgAlarmVo);
         if (!ObjectUtils.isEmpty(msgAlarmVo.getAlarmMile())) {
             msgAlarmVo.setAlarmMile(msgAlarmVo.getAlarmMile() * 1000);
@@ -170,10 +176,15 @@ public class MsgAlarmMatterController extends BaseController {
 //                }
                 o.setReleasedByName(o.getReleasedBy());
             }
+            for (SysDictData sysDictData : sysAlarmType) {
+                if (sysDictData.getDictValue().equals(o.getAlarmType().toString())) {
+                    dictLabel=sysDictData.getDictLabel();
+                }
+            }
             String mils = AppendUtils.stringAppend(o.getAlarmMile());
             o.setAlarmMiles(mils);
             o.setLineDirName(o.getLineDir() == 1 ? "上行" : "下行");
-            o.setAlarmTypeStr(o.getAlarmType() == 1 ? "泥石流" : (o.getAlarmType() == 2 ? "异物侵限" : (o.getAlarmType() == 3 ? "断轨监测" : "未知")));
+            o.setAlarmTypeStr(dictLabel);
             o.setIsReleaseName(o.getIsRelease() == 1 ? "已处置" : (o.getIsRelease() == 2 ? "未处置" : "未知"));
             List<SysDictData> data = dictTypeService.selectDictDataByType("sys_alarm_type");
             data.stream().forEach(sysDictData -> {

+ 21 - 2
hazard-admin/src/main/java/com/ozs/web/controller/websocket/WebSocketConteoller.java

@@ -4,12 +4,14 @@ import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.core.domain.entity.SysDictData;
 import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.common.utils.AppendUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.service.entity.*;
 import com.ozs.service.entity.vo.MsgAlarmResp;
 import com.ozs.service.service.*;
+import com.ozs.system.mapper.SysDictDataMapper;
 import com.ozs.system.service.ISysDictDataService;
 import com.ozs.system.service.ISysUserService;
 import lombok.extern.slf4j.Slf4j;
@@ -54,6 +56,9 @@ public class WebSocketConteoller extends BaseController {
     private ISysDictDataService dictDataService;
     @Autowired
     private  MsgAlarmService  msgAlarmService;
+    // 字典
+    @Autowired
+    private SysDictDataMapper dictDataMapper;
 
     /**
      * 获取项目名称
@@ -74,6 +79,8 @@ public class WebSocketConteoller extends BaseController {
     @ResponseBody
     @GetMapping("/getMessageApp")
     public Map publishApp() {
+        String dictLabel=null;
+        List<SysDictData> sysAlarmType = dictDataMapper.selectDictDataByType("sys_alarm_type");
         String userId = getUserId();
         List<MsgAppPush> msgAppPushList = msgAppPushService.getByUserId(userId);
         for (MsgAppPush msgAppPush : msgAppPushList) {
@@ -84,11 +91,16 @@ public class WebSocketConteoller extends BaseController {
             String formatDate = sdf.format(alarmTime != null ? alarmTime : new Date());
             List<String> userList = new ArrayList<>();
             userList.add(userId);
+            for (SysDictData sysDictData : sysAlarmType) {
+                if (sysDictData.getDictValue().equals(msgAlarmResp.getAlarmType().toString())) {
+                    dictLabel=sysDictData.getDictLabel();
+                }
+            }
             JPushUtil.sendToRegistrationId(
                     userList,
                     "报警通知!", msgAlarmResp.getRailwayName() != null ? msgAlarmResp.getRailwayName() : "",
                     // content,
-                    formatDate + "     " + (msgAlarmResp.getAlarmType() == 1 ? "泥石流" : msgAlarmResp.getAlarmType()) + "     " + msgAlarmResp.getLineDir() + "     " + msgAlarmResp.getAlarmMile() + "     " + msgAlarmResp.getBeginMile(),
+                    formatDate + "     " + dictLabel + "     " + msgAlarmResp.getLineDir() + "     " + msgAlarmResp.getAlarmMile() + "     " + msgAlarmResp.getBeginMile(),
                     remark);
             msgAppPush.setOnline("1");
             msgAppPushService.updateById(msgAppPush);
@@ -126,6 +138,8 @@ public class WebSocketConteoller extends BaseController {
     @PostMapping("/publish")
     public Map publish(@RequestBody MsgAlarm msgAlarm) {
         String endMile = null;
+        String dictLabel=null;
+        List<SysDictData> sysAlarmType = dictDataMapper.selectDictDataByType("sys_alarm_type");
         log.info("消息推送:" + msgAlarm.toString());
         LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<BaseCameraManagement>();
         if (!ObjectUtils.isEmpty(msgAlarm.getCameraCode())) {
@@ -268,11 +282,16 @@ public class WebSocketConteoller extends BaseController {
                         }
                         List<String> userList = new ArrayList<>();
                         userList.add(userRegistrationid.getRegistrationId());
+                        for (SysDictData sysDictData : sysAlarmType) {
+                            if (sysDictData.getDictValue().equals(msgAlarm.getAlarmType().toString())) {
+                                dictLabel=sysDictData.getDictLabel();
+                            }
+                        }
                         JPushUtil.sendToRegistrationId(
                                 userList,
                                 "报警通知!", baseRailwayManagement.getRailwayName() != null ? baseRailwayManagement.getRailwayName() : "",
                                 // content,
-                                formatDate + "     " + (msgAlarmResp.getAlarmType() == 1 ? "泥石流" : msgAlarmResp.getAlarmType()) + "     " + lineDirName + "     " + mile + "     " + endMile,
+                                formatDate + "     " + dictLabel + "     " + lineDirName + "     " + mile + "     " + endMile,
                                 content);
                         msgAppPush.setOnline("1");
                     } else {