| 
					
				 | 
			
			
				@@ -18,6 +18,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; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -56,6 +57,7 @@ import java.io.FileOutputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.InputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.OutputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.concurrent.atomic.AtomicReference; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -88,17 +90,17 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private BaseUserService baseUserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private ISysDeptService deptService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 字典 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private MsgAppPushService msgAppPushService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private RedisService redisService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private SysDictDataMapper dictDataMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * web更多消息-总数,已读数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/messageMoreNum") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "报警信息数量信息统计", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public AjaxResult messageMoreNum(@RequestBody MsgAlarmVo msgAlarmVo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // MsgAlarmVo msgAlarmVo1 = (MsgAlarmVo) dataScoreUtil.setDataScore(getUserId(), msgAlarmVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String, Integer> messageMore = msgWebPushService.messageMoreNum(getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return AjaxResult.success(messageMore); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -107,8 +109,9 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * web更多消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/messageMore") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "报警信息详情", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public AjaxResult messageMore(@RequestBody MsgAlarmVo msgAlarmVo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // MsgAlarmVo msgAlarmVo1 = (MsgAlarmVo) dataScoreUtil.setDataScore(getUserId(), msgAlarmVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String userId = getUserId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!StringUtils.isEmpty(userId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             msgAlarmVo.setUserId(userId); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -121,8 +124,9 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * web报警未读消息个数+未读消息列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping("/webAlarm") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "web报警未读消息个数和未读消息列表", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public AjaxResult webAlarmNum() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // MsgAlarmVo msgAlarm = (MsgAlarmVo) dataScoreUtil.setDataScore(getUserId(), new MsgAlarmVo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map webAlarm = msgWebPushService.webAlarm(getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return AjaxResult.success(webAlarm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -131,7 +135,7 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * web消息全部已读 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/readAll") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "web消息全部已读信息", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public AjaxResult readAll() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return toAjax(msgWebPushService.readAll(getUserId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -140,7 +144,7 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * web消息已读 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/read") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "web消息已读信息", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public AjaxResult read(@RequestBody MsgWebPush msgWebPush) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        if (StringUtils.isEmpty(msgWebPush) || ObjectUtils.isEmpty(msgWebPush.getPushId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //            return AjaxResult.error("PushId不能为空!"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -150,14 +154,16 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 首页报警信息列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * 首页左侧报警默认为全部,先按照未解除、已解除排序,然后再按照时间倒序排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 首页左侧报警默认为全部,先按照未处置、已处置排序,然后再按照时间倒序排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param msgAlarmVo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/listHome") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "首页", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @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); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -210,9 +216,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; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -229,8 +240,10 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/list") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @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); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -256,14 +269,14 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     cameraManagementLambdaQueryWrapper.eq(BaseCameraManagement::getCameraCode, o.getCameraCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 BaseCameraManagement cameraManagement = baseCameraManagementService.getOne(cameraManagementLambdaQueryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                SysDept sysDept = deptService.selectDeptById(cameraManagement.getDeptId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                o.setDeptName(sysDept.getDeptName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (!ObjectUtils.isEmpty(cameraManagement.getRailwayCode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     queryWrapper.eq(BaseRailwayManagement::getRailwayCode, cameraManagement.getRailwayCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                SysDept sysDept = deptService.selectDeptById(cameraManagement.getDeptId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 o.setRailwayName(baseRailwayManagement.getRailwayName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                o.setDeptName(sysDept.getDeptName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (StringUtils.isNotEmpty(o.getReleasedBy())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     BaseUser user = baseUserService.getUser(o.getReleasedBy()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     o.setReleasedByName(user.getNickName()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -286,9 +299,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; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -304,8 +322,11 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param response 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/exportMsgAlarm") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.EXPORT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @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); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -372,8 +393,13 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             SysDictData one = dictDataService.getOne(dict); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             msgAlarmCloud.setAlarmTypeName(one.getDictLabel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String[] split1 = msgAlarmCloud.getAlarmAttr().split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (SysDictData sysDictData : sysAlarmType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (sysDictData.getDictValue().equals(msgAlarmCloud.getAlarmType().toString())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    dictLabel=sysDictData.getDictLabel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String stringBuilder = "画面,大小为" + split1[0] + "×" + split1[1] + "," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    "泥石流范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    dictLabel+"范围为左上角坐标(" + split1[2] + "," + split1[3] + ")" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     "大小" + split1[4] + "×" + split1[5]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             msgAlarmCloud.setAlarmAttr(stringBuilder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -382,7 +408,7 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping(value = "/getByAlarmId/{alarmId}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.MESSAGE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "根据报警ID获取报警信息", businessType = BusinessType.MESSAGE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public AjaxResult getByAlarmId(@PathVariable String alarmId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MsgAlarmCloud msgAlarmCloud = msgAlarmCloudService.getByAlarmId(alarmId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!ObjectUtils.isEmpty(msgAlarmCloud)) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -426,8 +452,10 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping(value = "/{id}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.MESSAGE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "根据主键获取报警信息", businessType = BusinessType.MESSAGE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public AjaxResult getInfo(@PathVariable Long id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String dictLabel=null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<SysDictData> sysAlarmType = dictDataMapper.selectDictDataByType("sys_alarm_type"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MsgAlarmCloud msgAlarmCloud = msgAlarmCloudService.getById(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!ObjectUtils.isEmpty(msgAlarmCloud)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -466,12 +494,29 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             SysDept sysDept = deptService.selectDeptById(baseCameraManagement.getDeptId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             msgAlarmResp.setDeptName(sysDept.getDeptName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String[] split1 = msgAlarmCloud.getAlarmAttr().split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (SysDictData sysDictData : sysAlarmType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (sysDictData.getDictValue().equals(msgAlarmCloud.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()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             msgAlarmResp.setCameraSn(baseCameraManagement.getCameraSn()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!ObjectUtils.isEmpty(baseCameraManagement)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!StringUtils.isEmpty(baseCameraManagement.getVersionName())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    msgAlarmResp.setVersionName(baseCameraManagement.getVersionName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    msgAlarmResp.setVersionName(" "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!StringUtils.isEmpty(baseCameraManagement.getVersionNum())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    msgAlarmResp.setVersionNum(baseCameraManagement.getVersionNum()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    msgAlarmResp.setVersionNum(" "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return AjaxResult.success(msgAlarmResp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return success("无报警信息数据"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -480,7 +525,7 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // todo  需要测试 验证 是否合成视频 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @RequestMapping(value = "/updateIsLock") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.UPDATE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "修改报警状态", businessType = BusinessType.UPDATE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public AjaxResult updateIsLock(@RequestParam(value = "id") Long id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    @RequestParam(value = "releasedType", required = false) Integer releasedType, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -535,7 +580,7 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping(value = "/alarmHistoricalAlarm/{alarmId}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "获取报警信息", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public AjaxResult alarmHistoricalAlarm(@PathVariable String alarmId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         QueryWrapper<MsgAlarmCloud> queryWrapper = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         queryWrapper.eq("alarm_id", alarmId); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -568,7 +613,7 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping(value = "/videoHistoricalAlarm/{cameraCode}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "根据相机编码获取报警信息", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public AjaxResult videoHistoricalAlarm(@PathVariable String cameraCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         QueryWrapper<MsgAlarmCloud> wrapper = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         wrapper.eq("camera_code", cameraCode); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -589,9 +634,11 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param alarmStatisticResVo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.OTHER) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "web报警数据统计", 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 = msgAlarmCloudService.list(alarmStatisticResVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         page.setTotal(page.getTotal()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -625,15 +672,20 @@ 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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return o; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        page.setRecords(dto1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            page.setRecords(dto1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return AjaxResult.success(page); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -644,7 +696,7 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.OTHER) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "web报警数据统计", businessType = BusinessType.OTHER) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/alarmMonthStatistic") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public AjaxResult alarmMonthStatistic(@RequestBody AlarmStatisticResVo alarmStatisticResVo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         alarmStatisticResVo = (AlarmStatisticResVo) dataScoreUtil.setDataScore(getUserId(), alarmStatisticResVo); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -703,9 +755,11 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.EXPORT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "web数报警据统计导出", 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 = msgAlarmCloudService.exportExcel(alarmStatisticResVo); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -735,9 +789,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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -758,7 +817,7 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.EXPORT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "web报警数据统计月统计导出", businessType = BusinessType.EXPORT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/exportDataStatisticMonth") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void exportDataStatisticMonth(HttpServletResponse response, @RequestBody AlarmStatisticResVo alarmStatisticResVo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         alarmStatisticResVo = (AlarmStatisticResVo) dataScoreUtil.setDataScore(getUserId(), alarmStatisticResVo); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -825,7 +884,7 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping(value = "/alarmStatistics") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "获取报警信息", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public AjaxResult alarmStatistics() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MsgAlarmVo msgAlarmVo1 = new MsgAlarmVo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MsgAlarmVo msgAlarmVo = (MsgAlarmVo) dataScoreUtil.setDataScore(getUserId(), msgAlarmVo1); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -833,7 +892,7 @@ public class MsgAlarmController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping(value = "/alarmCountSort") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Log(title = "报警信息管理", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Log(title = "获取报警信息", businessType = BusinessType.SELECT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public AjaxResult alarmCountSort() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MsgAlarmVo msgAlarmVo1 = new MsgAlarmVo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MsgAlarmVo msgAlarmVo = (MsgAlarmVo) dataScoreUtil.setDataScore(getUserId(), msgAlarmVo1); 
			 |