|
@@ -1,12 +1,19 @@
|
|
|
package com.huimv.env.input.server;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.huimv.env.common.dao.entity.EnvDeviceRegisterEntity;
|
|
|
+import com.huimv.env.common.service.IDeviceRegisterService;
|
|
|
+import com.huimv.env.common.service.ISprayConfigService;
|
|
|
+import com.huimv.env.common.service.ISprayTimeService;
|
|
|
+import com.huimv.env.common.service.ITempThresholdService;
|
|
|
import com.huimv.env.common.utils.RegexUtil;
|
|
|
import com.huimv.env.input.producer.Producer;
|
|
|
import com.huimv.env.input.service.ICommandProcessorService;
|
|
|
import com.huimv.env.input.utils.DateUtil2;
|
|
|
import io.netty.buffer.ByteBuf;
|
|
|
import io.netty.buffer.Unpooled;
|
|
|
+
|
|
|
import io.netty.channel.ChannelHandler;
|
|
|
import io.netty.channel.ChannelHandlerContext;
|
|
|
import io.netty.channel.ChannelInboundHandlerAdapter;
|
|
@@ -20,6 +27,7 @@ import java.io.BufferedWriter;
|
|
|
import java.io.File;
|
|
|
import java.io.FileWriter;
|
|
|
import java.io.IOException;
|
|
|
+import java.sql.Timestamp;
|
|
|
import java.text.ParseException;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
@@ -47,6 +55,8 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
|
|
|
@Autowired
|
|
|
private Producer producer;
|
|
|
private StringBuilder askTextSb = null;
|
|
|
+ @Autowired
|
|
|
+ private ITempThresholdService tempThresholdService;
|
|
|
|
|
|
//
|
|
|
public void appendClientAsk(String text) {
|
|
@@ -215,7 +225,8 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
|
|
|
System.out.println("##高温,低温报警参数请求-未注册设备 idCode=" + idCode);
|
|
|
return;
|
|
|
}
|
|
|
- String answerText = "hm+115+18+265+12+6+end";
|
|
|
+ String threshold = tempThresholdService.getTempThresholdByDeviceCode(idCode);
|
|
|
+ String answerText = "hm+"+idCode+"+18+"+threshold+"+6+end";
|
|
|
log.info(">>高温,低温报警参数请求-应答数据>>" + answerText);
|
|
|
answerCmd(answerText, ctx);
|
|
|
}
|
|
@@ -263,7 +274,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
|
|
|
System.out.println("##获取报警使能请求-未注册设备 idCode=" + idCode);
|
|
|
return;
|
|
|
}
|
|
|
- String answerText = "hm+115+14+1(122)1(122)1(122)1(122)+0+4+end";
|
|
|
+ String answerText = "hm+"+idCode+"+14+2(111)2(111)2(111)2(111)+0+4+end";
|
|
|
log.info(">>获取报警使能请求-应答数据>>" + answerText);
|
|
|
answerCmd(answerText, ctx);
|
|
|
}
|
|
@@ -275,22 +286,46 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
|
|
|
System.out.println("##上报喷雾除臭状态请求-未注册设备 idCode=" + idCode);
|
|
|
return;
|
|
|
}
|
|
|
- String answerText = "hm+"+idCode+"+7+1+201702081523+6+end";
|
|
|
+ String answerText = "hm+" + idCode + "+7+6+end";
|
|
|
log.info(">>上报喷雾除臭状态请求-应答数据>>" + answerText);
|
|
|
answerCmd(answerText, ctx);
|
|
|
//发送喷雾设备状态到消息队列
|
|
|
producer.sendSprayEquipStatusToMQ(askText);
|
|
|
}
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ISprayConfigService sprayConfigService;
|
|
|
+ @Autowired
|
|
|
+ private ISprayTimeService sprayTimeService;
|
|
|
+ @Autowired
|
|
|
+ private IDeviceRegisterService deviceRegisterService;
|
|
|
+
|
|
|
//获取喷雾除臭配置请求
|
|
|
- private void getSprayConfig(String askText, String idCode, ChannelHandlerContext ctx) {
|
|
|
+ private void getSprayConfig(String askText, String deviceCode, ChannelHandlerContext ctx) {
|
|
|
System.out.println("==>获取喷雾除臭配置请求 askText>>" + askText);
|
|
|
- if (!cmdProService.isEffectiveDevice(idCode)) {
|
|
|
- System.out.println("##获取喷雾除臭配置请求-未注册设备 idCode=" + idCode);
|
|
|
+ if (!cmdProService.isEffectiveDevice(deviceCode)) {
|
|
|
+ System.out.println("##获取喷雾除臭配置请求-未注册设备 idCode=" + deviceCode);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //读取设备注册信息
|
|
|
+ EnvDeviceRegisterEntity envDeviceRegisterEntity = deviceRegisterService.getDeviceRegisterByDeviceCode(deviceCode);
|
|
|
+ if (envDeviceRegisterEntity == null) {
|
|
|
+ log.error("该设备[" + deviceCode + "]未注册.");
|
|
|
return;
|
|
|
}
|
|
|
-// String answerText = "hm+115+6+1+1+(201708080101,60,10,10)(201708080202,60,10,10)(201708080303,60,10,10)(201708080404,60,10,10)...+60+201702081523+6+end";
|
|
|
- String answerText = "hm+"+idCode+"+6+1+1+0101,60,10,10,0202,60,10,10,0303,60,10,10,0404,60,10,10+60+6+end";
|
|
|
+ java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
|
|
|
+ Timestamp nowTimestamp = new Timestamp(new java.util.Date().getTime());
|
|
|
+ String farmCode = envDeviceRegisterEntity.getFarmCode();
|
|
|
+
|
|
|
+ //读取喷雾配置表数据
|
|
|
+ JSONObject configJo = sprayConfigService.getSprayConfigByDeviceCode(deviceCode, farmCode);
|
|
|
+ int runMode = configJo.getInteger("runMode");
|
|
|
+ int deviceStatus = configJo.getInteger("deviceStatus");
|
|
|
+ int timeInterval = configJo.getInteger("timeInterval") * 60;
|
|
|
+ //读取定时时间配置表数据
|
|
|
+ String sprayTime = sprayTimeService.getSprayTimeByDeviceCode(deviceCode);
|
|
|
+// String answerText = "hm+"+deviceCode+"+6+1+1+0101,60,10,10,0202,60,10,10,0303,60,10,10,0404,60,10,10+60+6+end";
|
|
|
+ String answerText = "hm+" + deviceCode + "+6+" + runMode + "+" + deviceStatus + "+" + sprayTime + "+" + timeInterval + "+6+end";
|
|
|
log.info(">>获取喷雾除臭配置请求-应答数据>>" + answerText);
|
|
|
answerCmd(answerText, ctx);
|
|
|
}
|
|
@@ -305,6 +340,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
|
|
|
String answerText = "hm+5+0+8+end";
|
|
|
log.info(">>氨气度上传请求-应答数据>>" + answerText);
|
|
|
answerCmd(answerText, ctx);
|
|
|
+
|
|
|
//发送氨气请求到消息队列
|
|
|
producer.sendAmmoniaAskToMQ(askText);
|
|
|
}
|