ソースを参照

异物侵限报警修改

gao.qiang 1 週間 前
コミット
d943cefdd7

+ 79 - 78
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -115,92 +115,93 @@ public class BaseCameraManagementController extends BaseController {
         Integer isLock = baseCameraManagementHomeVo.getIsLock();
         Long id = baseCameraManagementHomeVo.getId();
         String cameraCode = baseCameraManagementHomeVo.getCameraCode();
-        // isLock  报警是否解除 1已解除2未解除
-        if (!StringUtils.isEmpty(isLock) && isLock == 1 && !StringUtils.isEmpty(id)) {
+
+        if (isLock != null && id != null) {
             BaseCameraManagement baseCameraManagement = baseCameraManagementService.getById(id);
-            LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
-            if (!ObjectUtils.isEmpty(baseCameraManagement.getRailwayCode())) {
-                queryWrapper.eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getRailwayCode());
-            }
-            BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
-            SysDept sysDept = deptService.selectDeptById(baseCameraManagement.getDeptId());
-            baseCameraManagement.setDeptName(sysDept.getDeptName());
-            baseCameraManagement.setRailwayName(baseRailwayManagement.getRailwayName());
-            String mils = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
-            baseCameraManagement.setInstallMiles(mils);
-            if (!ObjectUtils.isEmpty(baseCameraManagement.getEndMile())) {
-                String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
-                baseCameraManagement.setEndMiles(end);
-            }
-            if (!ObjectUtils.isEmpty(baseCameraManagement.getBeginMile())) {
-                String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
-                baseCameraManagement.setBeginMiles(begin);
-            }
-            BaseDeviceDynamicManagement deviceDynamicManagement = baseDeviceDynamicManagementService.getOne(new LambdaQueryWrapper<BaseDeviceDynamicManagement>()
-                    .eq(BaseDeviceDynamicManagement::getCameraCode, cameraCode));
-            baseCameraManagement.setIsDisable(deviceDynamicManagement.getIsDisable());
-            baseCameraManagement.setElectricity(deviceDynamicManagement.getElectricity() + "%");
-            List<MqLog> list = mqLogService.list(new LambdaQueryWrapper<MqLog>()
-                    .eq(MqLog::getCameraCode, cameraCode).orderByDesc(MqLog::getCreateTime));
-            if (!ObjectUtils.isEmpty(list)) {
-                baseCameraManagement.setHeartTime(list.get(0).getCreateTime());
+            if (isLock == 1) {
+                // 一次性取相关的设备动态管理
+                List<BaseDeviceDynamicManagement> deviceDynamics = baseDeviceDynamicManagementService.list(new LambdaQueryWrapper<BaseDeviceDynamicManagement>()
+                        .eq(BaseDeviceDynamicManagement::getCameraCode, cameraCode));
+
+                if (!deviceDynamics.isEmpty()) {
+                    BaseDeviceDynamicManagement deviceDynamicManagement = deviceDynamics.get(0);
+                    baseCameraManagement.setIsDisable(deviceDynamicManagement.getIsDisable());
+                    baseCameraManagement.setElectricity(deviceDynamicManagement.getElectricity() + "%");
+                }
+
+                // 一次性获取铁路管理
+                BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(new LambdaQueryWrapper<BaseRailwayManagement>()
+                        .eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getRailwayCode()));
+
+                // 设置属性的单独方法
+                setCameraManagementProperties(baseCameraManagement, baseRailwayManagement);
+
+                return AjaxResult.success(baseCameraManagement);
             }
-            // 将字符串转换为浮点数
-            double installLatitude = Double.parseDouble(baseCameraManagement.getInstallLatitude());
-            double installLongitude = Double.parseDouble(baseCameraManagement.getInstallLongitude());
-            // 创建 DecimalFormat 对象,指定格式
-            DecimalFormat decimalFormat = new DecimalFormat("#.00");
-            // 格式化数字
-            baseCameraManagement.setInstallLatitude(decimalFormat.format(installLatitude));
-            baseCameraManagement.setInstallLongitude(decimalFormat.format(installLongitude));
-            return AjaxResult.success(baseCameraManagement);
-        } else if (!StringUtils.isEmpty(isLock) && isLock == 2 && !StringUtils.isEmpty(cameraCode)) {
+
+        } else if (isLock != null && cameraCode != null && isLock == 2) {
             MsgAlarm msgAlarm = msgAlarmService.selectByCameraCode(cameraCode);
-            LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
-            if (!ObjectUtils.isEmpty(msgAlarm.getCameraCode())) {
-                lw.eq(BaseCameraManagement::getCameraCode, msgAlarm.getCameraCode());
-            }
-            BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(lw);
-            LambdaQueryWrapper<BaseRailwayManagement> wrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
-            if (!ObjectUtils.isEmpty(baseCameraManagement.getRailwayCode())) {
-                wrapper.eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getRailwayCode());
-            }
-            BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(wrapper);
-            MsgAlarmResp msgAlarmResp = new MsgAlarmResp();
-            BeanUtils.copyProperties(msgAlarm, msgAlarmResp);
-            msgAlarmResp.setRailwayName(baseRailwayManagement.getRailwayName());
-            msgAlarmResp.setDeptId(baseCameraManagement.getDeptId());
-            if (!ObjectUtils.isEmpty(baseCameraManagement.getEndMile()) && !ObjectUtils.isEmpty(baseCameraManagement.getBeginMile())) {
-                String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
-                String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
-                String endMile = begin + "-" + end;
-                msgAlarmResp.setBeginMile(endMile);
-            }
-            String mile = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
-            msgAlarmResp.setAlarmMile(mile);
-            double installLatitude = Double.parseDouble(baseCameraManagement.getInstallLatitude());
-            double installLongitude = Double.parseDouble(baseCameraManagement.getInstallLongitude());
-            // 创建 DecimalFormat 对象,指定格式
-            DecimalFormat decimalFormat = new DecimalFormat("#.00");
-            // 格式化数字
-            msgAlarmResp.setInstallLongitude(decimalFormat.format(installLongitude) + "," + decimalFormat.format(installLatitude));
-            String[] split = msgAlarm.getImageUrl().split(";");
-            ArrayList<String> objects = new ArrayList<>(Arrays.asList(split));
-            msgAlarmResp.setImageUrls(objects);
-            BaseDeviceDynamicManagement deviceDynamicManagement = baseDeviceDynamicManagementService.getOne(new LambdaQueryWrapper<BaseDeviceDynamicManagement>()
-                    .eq(BaseDeviceDynamicManagement::getCameraCode, cameraCode));
-            msgAlarmResp.setIsDisable(deviceDynamicManagement.getIsDisable());
-            msgAlarmResp.setElectricity(deviceDynamicManagement.getElectricity() + "%");
-            List<MqLog> list = mqLogService.list(new LambdaQueryWrapper<MqLog>()
-                    .eq(MqLog::getCameraCode, cameraCode));
-            if (!ObjectUtils.isEmpty(list)) {
-                msgAlarmResp.setHeartTime(list.get(0).getCreateTime());
-            }
+            BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(new LambdaQueryWrapper<BaseCameraManagement>()
+                    .eq(BaseCameraManagement::getCameraCode, msgAlarm.getCameraCode()));
+
+            BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(new LambdaQueryWrapper<BaseRailwayManagement>()
+                    .eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getRailwayCode()));
+
+            // 准备 MsgAlarmResp 的方法以避免重复
+            MsgAlarmResp msgAlarmResp = prepareMsgAlarmResponse(msgAlarm, baseCameraManagement, baseRailwayManagement);
+
             return AjaxResult.success(msgAlarmResp);
         }
+
         return null;
     }
 
+    // 设置 BaseCameraManagement 的属性方法
+    private void setCameraManagementProperties(BaseCameraManagement baseCameraManagement, BaseRailwayManagement baseRailwayManagement) {
+        SysDept sysDept = deptService.selectDeptById(baseCameraManagement.getDeptId());
+        baseCameraManagement.setDeptName(sysDept.getDeptName());
+        baseCameraManagement.setRailwayName(baseRailwayManagement.getRailwayName());
+
+        // 处理里程和坐标格式化
+        baseCameraManagement.setInstallMiles(AppendUtils.stringAppend(baseCameraManagement.getInstallMile()));
+        if (!ObjectUtils.isEmpty(baseCameraManagement.getEndMile())) {
+            baseCameraManagement.setEndMiles(AppendUtils.stringAppend(baseCameraManagement.getEndMile()));
+        }
+        if (!ObjectUtils.isEmpty(baseCameraManagement.getBeginMile())) {
+            baseCameraManagement.setBeginMiles(AppendUtils.stringAppend(baseCameraManagement.getBeginMile()));
+        }
+        formatCoordinates(baseCameraManagement);
+    }
+
+    // 坐标格式化方法
+    private void formatCoordinates(BaseCameraManagement baseCameraManagement) {
+        double installLatitude = Double.parseDouble(baseCameraManagement.getInstallLatitude());
+        double installLongitude = Double.parseDouble(baseCameraManagement.getInstallLongitude());
+        DecimalFormat decimalFormat = new DecimalFormat("#.00");
+        baseCameraManagement.setInstallLatitude(decimalFormat.format(installLatitude));
+        baseCameraManagement.setInstallLongitude(decimalFormat.format(installLongitude));
+    }
+
+    // 准备 MsgAlarmResp 的方法
+    private MsgAlarmResp prepareMsgAlarmResponse(MsgAlarm msgAlarm, BaseCameraManagement baseCameraManagement, BaseRailwayManagement baseRailwayManagement) {
+        MsgAlarmResp msgAlarmResp = new MsgAlarmResp();
+        BeanUtils.copyProperties(msgAlarm, msgAlarmResp);
+        msgAlarmResp.setRailwayName(baseRailwayManagement.getRailwayName());
+        msgAlarmResp.setDeptId(baseCameraManagement.getDeptId());
+
+        // 添加里程数据
+        msgAlarmResp.setBeginMile(AppendUtils.stringAppend(baseCameraManagement.getBeginMile()) + "-" +
+                AppendUtils.stringAppend(baseCameraManagement.getEndMile()));
+
+        msgAlarmResp.setAlarmMile(AppendUtils.stringAppend(baseCameraManagement.getInstallMile()));
+        formatCoordinates(baseCameraManagement);
+
+        // 处理图像 URL
+        msgAlarmResp.setImageUrls(new ArrayList<>(Arrays.asList(msgAlarm.getImageUrl().split(";"))));
+
+        return msgAlarmResp;
+    }
+
     /**
      * 相机台账管理分页
      *