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 | 99 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 74 insertions(+), 25 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 fc7f7a5..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,21 +1,28 @@
package com.zy.core.netty.handle;
-import com.core.common.Cools;
-import com.zy.core.Slave;
-import com.zy.core.cache.SlaveConnection;
-import com.zy.core.enums.SlaveType;
+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;
+import com.zy.core.netty.constant.FireDataType;
import com.zy.core.netty.domain.ChPackage;
-import com.zy.core.netty.properties.TcpProperties;
-import com.zy.core.properties.SlaveProperties;
-import com.zy.core.thread.BarcodeThread;
+import com.zy.core.netty.domain.fire.Fire_3030;
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+
+import java.util.Date;
/**
* 鍥芥爣涓氬姟澶勭悊handler
@@ -27,28 +34,57 @@
public class PackageServerHandler extends AbstractInboundHandler<ChPackage> {
@Autowired
- private SlaveProperties slaveProperties;
- @Autowired
- private TcpProperties tcpProperties;
+ private MainServiceImpl mainService;
@Override
protected boolean channelRead0(ChannelHandlerContext ctx, ChPackage pac) {
-// log.info("璇荤爜鍣ㄣ�怚P:{}銆� 涓婅鏁版嵁 ===>> {}", pac.getIp(), pac.getAscii());
-// //鎵爜涓婁紶鏁版嵁鏍煎紡蹇呴』2涓�#寮�澶达紝濡�:##12345678
-// String msg = pac.getAscii().replaceAll("#", "");
-// if(!Cools.isEmpty(msg) && msg.length()>=tcpProperties.getBarcodeLen()){
-// msg = msg.substring(0,tcpProperties.getBarcodeLen());
-//
-// for (Slave slave : slaveProperties.getBarcode()) {
-// if (slave.getIp().equals(pac.getIp())) {
-// BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, slave.getId());
-// if (barcodeThread == null) { continue; }
-// barcodeThread.setBarcode(msg);
-// break;
-// }
-// }
-// }
+ FireDataType dataType = FireDataType.get(pac.getBytes()[1], pac.getBytes()[2]);
+ Fire_3030 fire3030 = new Fire_3030().readFromBytes(pac.getBytes());
+ switch (dataType) {
+ case HEARTBEAT:
+ 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;
+ }
return true;
}
@@ -64,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