|
@@ -37,15 +37,14 @@ public class SendAlarmMassage {
|
|
private FarmRegisterDao farmRegisterDao;
|
|
private FarmRegisterDao farmRegisterDao;
|
|
@Autowired
|
|
@Autowired
|
|
private AlarmHistoryDao alarmHistoryDao;
|
|
private AlarmHistoryDao alarmHistoryDao;
|
|
- @Autowired
|
|
|
|
- private AlarmHistoryService alarmHistoryService;
|
|
|
|
|
|
+
|
|
@Autowired
|
|
@Autowired
|
|
private SendWork sendWork;
|
|
private SendWork sendWork;
|
|
@Autowired
|
|
@Autowired
|
|
private PhoneNumberDao phoneNumberDao;
|
|
private PhoneNumberDao phoneNumberDao;
|
|
|
|
|
|
|
|
|
|
- @Scheduled(cron = "0/10 * * * * ?")
|
|
|
|
|
|
+ @Scheduled(cron = "0/40 * * * * ?")
|
|
public void checkDeviceAble() throws Exception {
|
|
public void checkDeviceAble() throws Exception {
|
|
LambdaQueryWrapper<FarmRegisterEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<FarmRegisterEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
lambdaQueryWrapper.select(FarmRegisterEntity::getFarmCode);
|
|
lambdaQueryWrapper.select(FarmRegisterEntity::getFarmCode);
|
|
@@ -56,7 +55,7 @@ public class SendAlarmMassage {
|
|
for (Integer farmCode : Farmcodes) {
|
|
for (Integer farmCode : Farmcodes) {
|
|
//最近一段时间内是否有数据上传
|
|
//最近一段时间内是否有数据上传
|
|
Date now = new Date();
|
|
Date now = new Date();
|
|
- Date settingTimesBefore = new Date(now.getTime() - 15000);
|
|
|
|
|
|
+ Date settingTimesBefore = new Date(now.getTime() - 40000);
|
|
//首先判断异常,然后电话通知
|
|
//首先判断异常,然后电话通知
|
|
LambdaQueryWrapper<HeartBeatEntity> wrapper1 = Wrappers.lambdaQuery();
|
|
LambdaQueryWrapper<HeartBeatEntity> wrapper1 = Wrappers.lambdaQuery();
|
|
wrapper1.eq(HeartBeatEntity::getCmd, 1).eq(HeartBeatEntity::getFarmCode, farmCode).between(HeartBeatEntity::getCreateTime, settingTimesBefore, now);
|
|
wrapper1.eq(HeartBeatEntity::getCmd, 1).eq(HeartBeatEntity::getFarmCode, farmCode).between(HeartBeatEntity::getCreateTime, settingTimesBefore, now);
|
|
@@ -66,7 +65,7 @@ public class SendAlarmMassage {
|
|
if (heartBeatEntities.size() == 0) {
|
|
if (heartBeatEntities.size() == 0) {
|
|
System.out.println("有异常---物数据上传--判断最近十分钟是否已经报警");
|
|
System.out.println("有异常---物数据上传--判断最近十分钟是否已经报警");
|
|
Date now1 = new Date();
|
|
Date now1 = new Date();
|
|
- Date settingTimesBefore1 = new Date(now.getTime() - 600000);
|
|
|
|
|
|
+ Date settingTimesBefore1 = new Date(now.getTime() - 1200000);
|
|
//异常 判断十分钟内是否已经通知过,通知过就放弃
|
|
//异常 判断十分钟内是否已经通知过,通知过就放弃
|
|
LambdaQueryWrapper<AlarmHistoryEntity> wrapper11 = Wrappers.lambdaQuery();
|
|
LambdaQueryWrapper<AlarmHistoryEntity> wrapper11 = Wrappers.lambdaQuery();
|
|
wrapper11.eq(AlarmHistoryEntity::getAlarmType, 1).eq(AlarmHistoryEntity::getFarmCode, farmCode).between(AlarmHistoryEntity::getBeginTime, settingTimesBefore1, now1);
|
|
wrapper11.eq(AlarmHistoryEntity::getAlarmType, 1).eq(AlarmHistoryEntity::getFarmCode, farmCode).between(AlarmHistoryEntity::getBeginTime, settingTimesBefore1, now1);
|
|
@@ -93,7 +92,7 @@ public class SendAlarmMassage {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- @Scheduled(cron = "0/10 * * * * ?")
|
|
|
|
|
|
+ @Scheduled(cron = "0/40 * * * * ?")
|
|
public void alarm2() throws Exception {
|
|
public void alarm2() throws Exception {
|
|
LambdaQueryWrapper<FarmRegisterEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<FarmRegisterEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
lambdaQueryWrapper.select(FarmRegisterEntity::getFarmCode);
|
|
lambdaQueryWrapper.select(FarmRegisterEntity::getFarmCode);
|
|
@@ -103,7 +102,7 @@ public class SendAlarmMassage {
|
|
for (Integer farmCode : Farmcodes) {
|
|
for (Integer farmCode : Farmcodes) {
|
|
//最近一段时间内是否有数据上传
|
|
//最近一段时间内是否有数据上传
|
|
Date now = new Date();
|
|
Date now = new Date();
|
|
- Date settingTimesBefore = new Date(now.getTime() - 15000);
|
|
|
|
|
|
+ Date settingTimesBefore = new Date(now.getTime() - 40000);
|
|
//首先判断异常,然后电话通知
|
|
//首先判断异常,然后电话通知
|
|
LambdaQueryWrapper<HeartBeatEntity> wrapper1 = Wrappers.lambdaQuery();
|
|
LambdaQueryWrapper<HeartBeatEntity> wrapper1 = Wrappers.lambdaQuery();
|
|
wrapper1.eq(HeartBeatEntity::getCmd, 2).eq(HeartBeatEntity::getFarmCode, farmCode).between(HeartBeatEntity::getCreateTime, settingTimesBefore, now);
|
|
wrapper1.eq(HeartBeatEntity::getCmd, 2).eq(HeartBeatEntity::getFarmCode, farmCode).between(HeartBeatEntity::getCreateTime, settingTimesBefore, now);
|
|
@@ -112,7 +111,7 @@ public class SendAlarmMassage {
|
|
if (heartBeatEntities.size() == 0) {
|
|
if (heartBeatEntities.size() == 0) {
|
|
System.out.println("222有异常---物数据上传--判断最近十分钟是否已经报警");
|
|
System.out.println("222有异常---物数据上传--判断最近十分钟是否已经报警");
|
|
Date now1 = new Date();
|
|
Date now1 = new Date();
|
|
- Date settingTimesBefore1 = new Date(now.getTime() - 600000);
|
|
|
|
|
|
+ Date settingTimesBefore1 = new Date(now.getTime() - 1200000);
|
|
//异常 判断十分钟内是否已经通知过,通知过就放弃
|
|
//异常 判断十分钟内是否已经通知过,通知过就放弃
|
|
LambdaQueryWrapper<AlarmHistoryEntity> wrapper11 = Wrappers.lambdaQuery();
|
|
LambdaQueryWrapper<AlarmHistoryEntity> wrapper11 = Wrappers.lambdaQuery();
|
|
wrapper11.eq(AlarmHistoryEntity::getAlarmType, 2).eq(AlarmHistoryEntity::getFarmCode, farmCode).between(AlarmHistoryEntity::getBeginTime, settingTimesBefore1, now1);
|
|
wrapper11.eq(AlarmHistoryEntity::getAlarmType, 2).eq(AlarmHistoryEntity::getFarmCode, farmCode).between(AlarmHistoryEntity::getBeginTime, settingTimesBefore1, now1);
|
|
@@ -136,5 +135,50 @@ public class SendAlarmMassage {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Scheduled(cron = "0/40 * * * * ?")
|
|
|
|
+ public void checkDeviceAble3() throws Exception {
|
|
|
|
+ LambdaQueryWrapper<FarmRegisterEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ lambdaQueryWrapper.select(FarmRegisterEntity::getFarmCode);
|
|
|
|
+ lambdaQueryWrapper.eq(FarmRegisterEntity::getStatus, 0); //在使用的牧场
|
|
|
|
+ List<Integer> Farmcodes = farmRegisterDao.selectObjs(lambdaQueryWrapper).stream().map(o -> (Integer) o).collect(Collectors.toList());
|
|
|
|
+ System.out.println("牧场列表" + Farmcodes);
|
|
|
|
+
|
|
|
|
+ for (Integer farmCode : Farmcodes) {
|
|
|
|
+ //最近一段时间内是否有数据上传
|
|
|
|
+ Date now = new Date();
|
|
|
|
+ Date settingTimesBefore = new Date(now.getTime() - 40000);
|
|
|
|
+ //首先判断异常,然后电话通知
|
|
|
|
+ LambdaQueryWrapper<HeartBeatEntity> wrapper1 = Wrappers.lambdaQuery();
|
|
|
|
+ wrapper1.eq(HeartBeatEntity::getCmd, 3).eq(HeartBeatEntity::getFarmCode, farmCode).between(HeartBeatEntity::getCreateTime, settingTimesBefore, now);
|
|
|
|
+ List<HeartBeatEntity> heartBeatEntities = heartBeatDao.selectList(wrapper1);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (heartBeatEntities.size() == 0) {
|
|
|
|
+ System.out.println("有异常---物数据上传--判断最近十分钟是否已经报警");
|
|
|
|
+ Date now1 = new Date();
|
|
|
|
+ Date settingTimesBefore1 = new Date(now.getTime() - 1200000);
|
|
|
|
+ //异常 判断十分钟内是否已经通知过,通知过就放弃
|
|
|
|
+ LambdaQueryWrapper<AlarmHistoryEntity> wrapper11 = Wrappers.lambdaQuery();
|
|
|
|
+ wrapper11.eq(AlarmHistoryEntity::getAlarmType, 3).eq(AlarmHistoryEntity::getFarmCode, farmCode).between(AlarmHistoryEntity::getBeginTime, settingTimesBefore1, now1);
|
|
|
|
+ List<AlarmHistoryEntity> alarmHistoryEntities = alarmHistoryDao.selectList(wrapper11);
|
|
|
|
+ if (alarmHistoryEntities.size() == 0) {
|
|
|
|
+ System.out.println("有异常而且最近十分钟没有报警-----》报警");
|
|
|
|
+ //找出所有在使用的电话
|
|
|
|
+ LambdaQueryWrapper<PhoneNumberEntity> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
|
+ lambdaQueryWrapper1.eq(PhoneNumberEntity::getStatus, 0); //在使用的牧场
|
|
|
|
+ lambdaQueryWrapper1.eq(PhoneNumberEntity::getFarmCode, farmCode);
|
|
|
|
+ lambdaQueryWrapper1.eq(PhoneNumberEntity::getAlarmType, 3);
|
|
|
|
+ List<PhoneNumberEntity> collect = phoneNumberDao.selectList(lambdaQueryWrapper1);
|
|
|
|
+ System.out.println("333报警结束--存储历史报警信息**通知号码="+collect);
|
|
|
|
+ sendWork.send( "1", collect);
|
|
|
|
+ }else {
|
|
|
|
+ System.out.println("333有故障但是十分钟内已经报警过了");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ System.out.println("333一切正常");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|