|
@@ -97,6 +97,7 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
String pack = "FAAF0007001e781e50003C37D5";
|
|
String pack = "FAAF0007001e781e50003C37D5";
|
|
// 验证是否需要切换ip
|
|
// 验证是否需要切换ip
|
|
// sendChangeIp();
|
|
// sendChangeIp();
|
|
|
|
+ logger.info("开始接受数据...");
|
|
System.out.println("收到===" + arg1 + "\n");
|
|
System.out.println("收到===" + arg1 + "\n");
|
|
String equipmentNo = processMsg(arg1);
|
|
String equipmentNo = processMsg(arg1);
|
|
// 校准时间
|
|
// 校准时间
|
|
@@ -309,6 +310,7 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
Date openTime = parseDate(input, start, pos, 6);
|
|
Date openTime = parseDate(input, start, pos, 6);
|
|
time.setOpenTime(openTime);
|
|
time.setOpenTime(openTime);
|
|
logger.info("第" + (pos + 1) + "包");
|
|
logger.info("第" + (pos + 1) + "包");
|
|
|
|
+ logger.info("本包开合时间戳--" + openTime.getTime());
|
|
if (pos == 0) {
|
|
if (pos == 0) {
|
|
MouldHistoryTimeExample mhtExp = new MouldHistoryTimeExample();
|
|
MouldHistoryTimeExample mhtExp = new MouldHistoryTimeExample();
|
|
//查询当前包是否是之前丢的包,判断依据,看看有没有比当前开合日期更后的开合数据
|
|
//查询当前包是否是之前丢的包,判断依据,看看有没有比当前开合日期更后的开合数据
|
|
@@ -318,6 +320,7 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
mhtExp.clear();
|
|
mhtExp.clear();
|
|
mhtExp.setOrderByClause("open_time desc limit 1");
|
|
mhtExp.setOrderByClause("open_time desc limit 1");
|
|
mhtExp.createCriteria().andEquipmentNoEqualTo(item.getEquipmentNo()).andOpenTimeLessThanOrEqualTo(openTime);
|
|
mhtExp.createCriteria().andEquipmentNoEqualTo(item.getEquipmentNo()).andOpenTimeLessThanOrEqualTo(openTime);
|
|
|
|
+ //小于当前开合时间的最新的一包开合数据
|
|
historyList = mouldHistoryTimeMapper.selectByExample(mhtExp);
|
|
historyList = mouldHistoryTimeMapper.selectByExample(mhtExp);
|
|
if (historyList.size() > 0) {
|
|
if (historyList.size() > 0) {
|
|
openTimeDiff = openTime.getTime() - historyList.get(0).getOpenTime().getTime();
|
|
openTimeDiff = openTime.getTime() - historyList.get(0).getOpenTime().getTime();
|
|
@@ -326,7 +329,6 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
time.setTimeCost(0);
|
|
time.setTimeCost(0);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- logger.info("本包开合时间戳--" + openTime.getTime());
|
|
|
|
logger.info("本次开合周期--" + (openTime.getTime() - aHeadOpenTimeLongVal));
|
|
logger.info("本次开合周期--" + (openTime.getTime() - aHeadOpenTimeLongVal));
|
|
time.setTimeCost((int) (openTime.getTime() - aHeadOpenTimeLongVal));
|
|
time.setTimeCost((int) (openTime.getTime() - aHeadOpenTimeLongVal));
|
|
}
|
|
}
|
|
@@ -339,6 +341,7 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
}
|
|
}
|
|
if(GreaterThanOpenTimeList.size()>0){
|
|
if(GreaterThanOpenTimeList.size()>0){
|
|
//当前数据为丢包重传的数据
|
|
//当前数据为丢包重传的数据
|
|
|
|
+ logger.info("此包为之前丢的包...需要修改之前的第一包周期");
|
|
MouldHistoryTime mouldHistoryTime = GreaterThanOpenTimeList.get(0);
|
|
MouldHistoryTime mouldHistoryTime = GreaterThanOpenTimeList.get(0);
|
|
mouldHistoryTime.setTimeCost((int) (mouldHistoryTime.getOpenTime().getTime() - aHeadOpenTimeLongVal));
|
|
mouldHistoryTime.setTimeCost((int) (mouldHistoryTime.getOpenTime().getTime() - aHeadOpenTimeLongVal));
|
|
MouldHistoryTimeExample mhtExp = new MouldHistoryTimeExample();
|
|
MouldHistoryTimeExample mhtExp = new MouldHistoryTimeExample();
|
|
@@ -348,9 +351,11 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
//当前包为非丢包重传的数据
|
|
//当前包为非丢包重传的数据
|
|
Integer lossPacketCount = differenceValue - thisOpenCounts;
|
|
Integer lossPacketCount = differenceValue - thisOpenCounts;
|
|
if(lossPacketCount>0){
|
|
if(lossPacketCount>0){
|
|
|
|
+ logger.info("本次丢包数---->"+lossPacketCount+"_上一包开合数据数:"+historyList.size()+"_两包之间的时间差值:"+openTimeDiff);
|
|
if(historyList.size()>0){
|
|
if(historyList.size()>0){
|
|
//本次第一包开合时间与上一包最新开合数据的开合时间差值超过一分钟则判断为丢包了
|
|
//本次第一包开合时间与上一包最新开合数据的开合时间差值超过一分钟则判断为丢包了
|
|
if(openTimeDiff>60000){
|
|
if(openTimeDiff>60000){
|
|
|
|
+ logger.info("触发补充数据任务,时间:"+new SimpleDateFormat("yy-MM-dd,HH:mm:ss").format(new Date()));
|
|
//此时丢包了,丢了lossPacketCount个包,如果小于0则是第二包或者是之前的丢包补上来了
|
|
//此时丢包了,丢了lossPacketCount个包,如果小于0则是第二包或者是之前的丢包补上来了
|
|
examineTask(item.getEquipmentNo(),lossPacketCount,firstMouldHistoryTime,historyList.get(0),pool);
|
|
examineTask(item.getEquipmentNo(),lossPacketCount,firstMouldHistoryTime,historyList.get(0),pool);
|
|
}
|
|
}
|
|
@@ -747,10 +752,12 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
pool.schedule(new Runnable() {
|
|
pool.schedule(new Runnable() {
|
|
@Override
|
|
@Override
|
|
public void run() {
|
|
public void run() {
|
|
- logger.info("定时补充数据任务开始了,时间:"+new SimpleDateFormat("yy-MM-dd,HH:mm:ss").format(new Date()));
|
|
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd,HH:mm:ss");
|
|
|
|
+ logger.info("定时补充数据任务开始了,时间:"+sdf.format(new Date()));
|
|
MouldHistoryTimeExample mhtExp = new MouldHistoryTimeExample();
|
|
MouldHistoryTimeExample mhtExp = new MouldHistoryTimeExample();
|
|
- mhtExp.createCriteria().andOpenTimeBetween(lastEndMouldHistoryTime.getOpenTime(), firstMouldHistoryTime.getOpenTime());
|
|
|
|
|
|
+ mhtExp.createCriteria().andOpenTimeGreaterThan(lastEndMouldHistoryTime.getOpenTime()).andOpenTimeLessThan(firstMouldHistoryTime.getOpenTime());
|
|
long count = mouldHistoryTimeMapper.countByExample(mhtExp);
|
|
long count = mouldHistoryTimeMapper.countByExample(mhtExp);
|
|
|
|
+ logger.info(sdf.format(lastEndMouldHistoryTime.getOpenTime())+"--"+sdf.format(firstMouldHistoryTime.getOpenTime())+"时间段内丢包时间段上来了"+count+"条数据");
|
|
if(count==loseCount){
|
|
if(count==loseCount){
|
|
return;
|
|
return;
|
|
}else{
|
|
}else{
|
|
@@ -1019,7 +1026,6 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
// }
|
|
// }
|
|
// System.out.println("while執行完了");
|
|
// System.out.println("while執行完了");
|
|
// System.out.println(strList);
|
|
// System.out.println(strList);
|
|
-
|
|
|
|
System.out.println(strHexStr16("#CLEAR_PROTOCOL"));
|
|
System.out.println(strHexStr16("#CLEAR_PROTOCOL"));
|
|
}
|
|
}
|
|
}
|
|
}
|