From 8b6c03b3f14f1e140c2ab694f1e2a3bbc123d7f4 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期六, 13 八月 2022 16:32:32 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/netty/handle/PackageServerHandler.java | 64 +++++++++++++++++++++++++++++--
1 files changed, 59 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/core/netty/handle/PackageServerHandler.java b/src/main/java/com/zy/core/netty/handle/PackageServerHandler.java
index 403643e..5487114 100644
--- a/src/main/java/com/zy/core/netty/handle/PackageServerHandler.java
+++ b/src/main/java/com/zy/core/netty/handle/PackageServerHandler.java
@@ -1,7 +1,14 @@
package com.zy.core.netty.handle;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.DateUtils;
+import com.core.common.SpringUtils;
+import com.zy.asrs.entity.FireLog;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.service.FireLogService;
+import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
+import com.zy.asrs.utils.Utils;
import com.zy.core.netty.AbstractInboundHandler;
import com.zy.core.netty.cache.ChannelCache;
import com.zy.core.netty.constant.Constant;
@@ -14,6 +21,8 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+
+import java.util.Date;
/**
* 鍥芥爣涓氬姟澶勭悊handler
@@ -30,16 +39,48 @@
@Override
protected boolean channelRead0(ChannelHandlerContext ctx, ChPackage pac) {
FireDataType dataType = FireDataType.get(pac.getBytes()[1], pac.getBytes()[2]);
+ Fire_3030 fire3030 = new Fire_3030().readFromBytes(pac.getBytes());
switch (dataType) {
case HEARTBEAT:
- Fire_3030 fire3030 = new Fire_3030().readFromBytes(pac.getBytes());
- String now = "20" + fire3030.getYear() + "-" + fire3030.getMonth() + "-" + fire3030.getDay()
- + " " + fire3030.getHour() + ":" + fire3030.getMinute() + ":" + fire3030.getSeconds();
-
- Constant.FIRE_HEARTBEAT.put(fire3030.getNo().toString(), DateUtils.convert(now));
+ ChannelCache.setChannel(String.valueOf(fire3030.getNo()), ctx.channel());
+ Constant.errorMap.remove(fire3030.getNo());
break;
case FIRE_ALARM:
+ //娑堥槻IO鐐圭紪鍙�
+ String fireNo = fire3030.getNo().toString() + fire3030.getLoop().toString() + fire3030.getPartNo().toString();
+ String fireTime = "20" + fire3030.getYear() + "-" + fire3030.getMonth() + "-" + fire3030.getDay()
+ + " " + fire3030.getHour() + ":" + fire3030.getMinute() + ":" + fire3030.getSeconds();
+ Date dt = DateUtils.convert(fireTime);
+ LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
+ if(null != locMastService){
+ //鎶ヨ淇″彿鏇存柊鍒板簱瀛樹富妗� fire_status瀛楁
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("fire_no",fireNo));
+ if(null != locMast){
+ if(locMast.getFireStatus() != 1) {
+ locMast.setFireStatus(1);
+ locMast.setModiTime(new Date());
+ locMastService.update(locMast, new EntityWrapper<LocMast>().eq("fire_no", fireNo));
+ }
+ //鎻掑叆鎶ヨ鏃ュ織璁板綍锛屽悓涓�搴撲綅鍚屼竴鎶ヨ鍙彃鍏ヤ竴娆�
+ FireLogService fireLogService = SpringUtils.getBean(FireLogService.class);
+ if(null != fireLogService){
+ String ymd = "20" + fire3030.getYear() + "" + fire3030.getMonth() + "" + fire3030.getDay();
+ FireLog one = fireLogService.selectOne(new EntityWrapper<FireLog>()
+ .eq("ymd",ymd)
+ .eq("fire_no",fireNo));
+ if(null == one) {
+ FireLog fireLog = new FireLog();
+ fireLog.setYmd(ymd);
+ fireLog.setFireNo(fireNo);
+ fireLog.setFireTime(dt);
+ fireLog.setLocNo(locMast.getLocNo());
+ fireLog.setCreateTime(new Date());
+ fireLogService.insert(fireLog);
+ }
+ }
+ }
+ }
break;
default:
break;
@@ -59,4 +100,17 @@
}
channel.writeAndFlush(chPackage);
}
+
+ /**************************************** 娴嬭瘯涓撶敤 *****************************************/
+ public static void main(String[] args){
+ byte[] bytes = new byte[]{(byte)0x82, 0x38, 0x30, 0x32, 0x34, 0x30, 0x38, 0x39, 0x3B, 0x30, 0x31, 0x31, 0x31,
+ 0x30, 0x33, 0x30, 0x38, 0x31, 0x30, 0x30, 0x34, 0x30, 0x38, 0x38, 0x30, (byte)0x83};
+ Fire_3030 fire3030 = new Fire_3030().readFromBytes(bytes);
+ String now = "20" + fire3030.getYear() + "-" + fire3030.getMonth() + "-" + fire3030.getDay()
+ + " " + fire3030.getHour() + ":" + fire3030.getMinute() + ":" + fire3030.getSeconds();
+ //娑堥槻IO鐐圭紪鍙�
+ String fireNo = fire3030.getNo().toString() + fire3030.getLoop().toString() + fire3030.getPartNo().toString();
+ System.out.println(fireNo);
+ String aa="";
+ }
}
--
Gitblit v1.9.1