From fd74ab1958c336d1087037c516dfa3e8b8d3d61e Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 06 八月 2025 11:13:26 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/WarnMsgService.java |   88 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 69 insertions(+), 19 deletions(-)

diff --git a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/WarnMsgService.java b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/WarnMsgService.java
index ea77d31..b7d4519 100644
--- a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/WarnMsgService.java
+++ b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/WarnMsgService.java
@@ -60,9 +60,17 @@
 	@Resource
 	private UPExgMsgRealLocationDao upExgMsgRealLocationDao;
 	//走川标的公司
-	private List<Integer> enterprise = Arrays.asList(17458936, 43984060, 13914394);
-	//固定报警类型
-	private List<Integer> warnType = Arrays.asList(0x0201, 0x0202, 0x0301, 0x000B, 0x0012, 0x0203, 0x0208, 0x0002, 0x0211, 0x0212, 0x0214, 0x0213, 0x0215, 0x0217, 0x0307);
+	private List<Integer> enterprise = Arrays.asList(17458936,13914394,43984060,25439966);
+	//富临报警类型
+	private List<Integer> fl_warnType = Arrays.asList(0x0201, 0x0012, 0x0202, 0x0203, 0x0208, 0x0002, 0x0212, 0x0214, 0x0213, 0x0215, 0x0217);
+	//均辉报警类型
+	private List<Integer> jh_warnType = Arrays.asList(0x0201, 0x0012, 0x0202, 0x0203, 0x0208, 0x0002, 0x0212, 0x0214, 0x0213, 0x0215, 0x0217, 0x0307);
+	//出租车报警类型
+	private List<Integer> cz_warnType = Arrays.asList(0x0001, 0x0004, 0x0005);
+	//公交报警类型
+	private List<Integer> gj_warnType = Arrays.asList(0x0002, 0x0212, 0x0214, 0x0213, 0x0215, 0x0217, 0x0001);
+	//平安报警类型
+	private List<Integer> pa_warnType = Arrays.asList(0x0201, 0x0012, 0x0202, 0x0208, 0x0002, 0x0212, 0x0214, 0x0213, 0x0215, 0x0217, 0x0307);
 	
 	
 	public void up_warn_msg(ChannelHandlerContext ctx, OuterPacket out) {
@@ -75,19 +83,19 @@
 		DataType dataType = DataType.getDataType(warnMsg.getDataType());
 		switch (dataType) {
 			case UP_WARN_MSG_URGE_TODO_ACK:
-				log.info("报警督办应答消息({}):{}", DataType.UP_WARN_MSG_URGE_TODO_ACK.getCode(), out);
+				log.debug("报警督办应答消息({}):{}", DataType.UP_WARN_MSG_URGE_TODO_ACK.getCode(), out);
 				up_warn_msg_urge_todo_ack(ctx, out.getGnsscenterId(), warnMsg);
 				break;
 			case UP_WARN_MSG_ADPT_INFO:
-				log.info("上报报警信息({}):{}", DataType.UP_WARN_MSG_ADPT_INFO.getCode(), out);
+				log.debug("上报报警信息({}):{}", DataType.UP_WARN_MSG_ADPT_INFO.getCode(), out);
 				up_warn_msg_adpt_info(ctx, out.getGnsscenterId(), warnMsg);
 				break;
 			case UP_WARN_MSG_OPERATION_INFO:
-				log.info("上报报警处理信息({}):{}", DataType.UP_WARN_MSG_OPERATION_INFO.getCode(), out);
+				log.debug("上报报警处理信息({}):{}", DataType.UP_WARN_MSG_OPERATION_INFO.getCode(), out);
 				up_warn_msg_operation_info(ctx, out.getGnsscenterId(), warnMsg);
 				break;
 			case UP_WARN_MSG_FILELIST_ACK:
-				log.info("报警附件目录请求应答({}):{}", DataType.UP_WARN_MSG_FILELIST_ACK.getCode(), out);
+				log.debug("报警附件目录请求应答({}):{}", DataType.UP_WARN_MSG_FILELIST_ACK.getCode(), out);
 				up_warn_msg_filelist_ack(ctx, out.getGnsscenterId(), warnMsg);
 				break;
 			default:
@@ -136,6 +144,7 @@
 		upWarnMsgUrgeTodoAck.setInferiorPlatformId(inferiorPlatformId);
 		upWarnMsgUrgeTodoAck.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8)));
 		upWarnMsgUrgeTodoAckDao.save(upWarnMsgUrgeTodoAck);
+		log.info("报警督办应答消息({}):{}", DataType.UP_WARN_MSG_URGE_TODO_ACK.getCode(), JSON.toJSONString(upWarnMsgUrgeTodoAck));
 	}
 
 	/**
@@ -147,12 +156,36 @@
 	 */
 	public void up_warn_msg_adpt_info(ChannelHandlerContext ctx, int inferiorPlatformId, WarnMsg warnMsg) {
 		UPWarnMsgAdptInfo upWarnMsgAdptInfo = enterprise.contains(inferiorPlatformId) ? new UPWarnMsgAdptInfo().decode2(warnMsg) : new UPWarnMsgAdptInfo().decode1(warnMsg);
-		if(!warnType.contains(upWarnMsgAdptInfo.getWarnType())){
-			return;
-		}
 		upWarnMsgAdptInfo.setResult(0x00);
 		upWarnMsgAdptInfo.setInferiorPlatformId(inferiorPlatformId);
 		upWarnMsgAdptInfo.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8)));
+		log.warn("上报报警信息({}):{}", DataType.UP_WARN_MSG_ADPT_INFO.getCode(), JSON.toJSONString(upWarnMsgAdptInfo));
+		switch (inferiorPlatformId) {
+			case 17458936:
+				if(!fl_warnType.contains(upWarnMsgAdptInfo.getWarnType())){
+					return;
+				}
+			case 43984060:
+				if(!jh_warnType.contains(upWarnMsgAdptInfo.getWarnType())){
+					return;
+				}
+			case 17235341:
+				if(!cz_warnType.contains(upWarnMsgAdptInfo.getWarnType())){
+					return;
+				}
+			case 82296583:
+				if(!cz_warnType.contains(upWarnMsgAdptInfo.getWarnType())){
+					return;
+				}
+			case 25439966:
+				if(!gj_warnType.contains(upWarnMsgAdptInfo.getWarnType())){
+					return;
+				}
+			case 13914394:
+				if(!pa_warnType.contains(upWarnMsgAdptInfo.getWarnType())){
+					return;
+				}
+		}
 		if(0 == upWarnMsgAdptInfo.getLongitude()){
 			UPExgMsgRealLocation upExgMsgRealLocation = upExgMsgRealLocationDao.findByVehicleNoOrderByCreateTimeDesc(upWarnMsgAdptInfo.getVehicleNo());
 			if (null != upExgMsgRealLocation) {
@@ -163,6 +196,7 @@
 			}
 		}
 		upWarnMsgAdptInfoDao.save(upWarnMsgAdptInfo);
+		log.info("上报报警信息({}):{}", DataType.UP_WARN_MSG_ADPT_INFO.getCode(), JSON.toJSONString(upWarnMsgAdptInfo));
 		
 		//请求报警附件(川标协议)
 		if(enterprise.contains(inferiorPlatformId)){
@@ -195,6 +229,7 @@
 		upWarnMsgOperationInfo.setInferiorPlatformId(inferiorPlatformId);
 		upWarnMsgOperationInfo.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8)));
 		upWarnMsgOperationInfoDao.save(upWarnMsgOperationInfo);
+		log.info("上报报警处理信息({}):{}", DataType.UP_WARN_MSG_OPERATION_INFO.getCode(), JSON.toJSONString(upWarnMsgOperationInfo));
 		//修改报警处理结果
 		UPWarnMsgAdptInfo upWarnMsgAdptInfo = upWarnMsgAdptInfoDao.findByInfoIdIs(upWarnMsgOperationInfo.getInfoId());
 		if(null != upWarnMsgAdptInfo){
@@ -215,7 +250,8 @@
 		upWarnMsgFileListAck.setInferiorPlatformId(inferiorPlatformId);
 		upWarnMsgFileListAck.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8)));
 		upWarnMsgFileListAckDao.save(upWarnMsgFileListAck);
-		//修改报警处理结果
+		log.info("报警附件目录请求应答({}):{}", DataType.UP_WARN_MSG_FILELIST_ACK.getCode(), JSON.toJSONString(upWarnMsgFileListAck));
+		//修改报警附件数据
 		UPWarnMsgAdptInfo upWarnMsgAdptInfo = upWarnMsgAdptInfoDao.findByInfoIdIs(upWarnMsgFileListAck.getInfoId());
 		if(upWarnMsgFileListAck.getFileList().size() > 0){
 			StringJoiner joiner = new StringJoiner(",");
@@ -225,6 +261,8 @@
 				}
 			});
 			upWarnMsgAdptInfo.setPicUrl(joiner.toString());
+		}else{
+			upWarnMsgAdptInfo.setPicUrl("*");
 		}
 		upWarnMsgAdptInfoDao.save(upWarnMsgAdptInfo);
 	}
@@ -259,7 +297,7 @@
 								String url = jsonObject1.getString("url");
 								joiner.add(url);
 							}
-							upWarnMsgAdptInfo.setPicUrl(joiner.toString());
+							upWarnMsgAdptInfo.setPicUrl(joiner.length() > 0 ? joiner.toString() : "*");
 							upWarnMsgAdptInfoDao.save(upWarnMsgAdptInfo);
 						}
 					}
@@ -285,7 +323,7 @@
 				}
 			}
 			
-			down_warn_msg_urge_todo_req(upWarnMsgAdptInfo);
+//			down_warn_msg_urge_todo_req(upWarnMsgAdptInfo);
 		}
 	}
 	
@@ -343,11 +381,21 @@
 					}
 					upWarnMsgAdptInfo.setInfoId(data.getAlarmId());
 					upWarnMsgAdptInfo.setLevel(getLevel(data.getLevel()));
-					if(null != data.getLatitude()){
-						upWarnMsgAdptInfo.setLongitude(data.getLatitude().intValue() * 10);
-					}
-					if(null != data.getLongitude()){
-						upWarnMsgAdptInfo.setLatitude(data.getLongitude().intValue());
+//					if(null != data.getLatitude()){
+//						upWarnMsgAdptInfo.setLongitude(data.getLatitude().intValue() * 10);
+//					}
+//					if(null != data.getLongitude()){
+//						upWarnMsgAdptInfo.setLatitude(data.getLongitude().intValue());
+//					}
+					//调用获取实时定位数据
+					UPExgMsgRealLocation upExgMsgRealLocation = upExgMsgRealLocationDao.findByVehicleNoOrderByCreateTimeDesc(upWarnMsgAdptInfo.getVehicleNo());
+					if (null != upExgMsgRealLocation) {
+						GnssData gnssData = upExgMsgRealLocation.getGnssData();
+						upWarnMsgAdptInfo.setSpeed(gnssData.getVec1());
+						upWarnMsgAdptInfo.setLongitude(gnssData.getLon());
+						upWarnMsgAdptInfo.setLatitude(gnssData.getLat());
+					}else{
+						return;
 					}
 					if(null != data.getHeight()){
 						upWarnMsgAdptInfo.setAltitude(data.getHeight().intValue() / 10);
@@ -365,7 +413,7 @@
 					upWarnMsgAdptInfo.setInfoContent(data.getAlarmInfo());
 					upWarnMsgAdptInfo.setInferiorPlatformId(25439966);
 					upWarnMsgAdptInfo.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8)));
-					if(!warnType.contains(upWarnMsgAdptInfo.getWarnType())){
+					if(!gj_warnType.contains(upWarnMsgAdptInfo.getWarnType())){
 						return;
 					}
 					upWarnMsgAdptInfo.setResult(0x00);
@@ -391,6 +439,8 @@
 							}
 							upWarnMsgAdptInfo.setPicUrl(joiner.toString());
 						}
+					}else{
+						upWarnMsgAdptInfo.setPicUrl("*");
 					}
 					upWarnMsgAdptInfoDao.save(upWarnMsgAdptInfo);
 					

--
Gitblit v1.7.1