|
@@ -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;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 相机台账管理分页
|
|
|
*
|