diff --git a/src/main/java/com/xujie/sys/modules/pms/entity/vo/EquipmentFolderLocationVo.java b/src/main/java/com/xujie/sys/modules/pms/entity/vo/EquipmentFolderLocationVo.java new file mode 100644 index 00000000..c91226aa --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/pms/entity/vo/EquipmentFolderLocationVo.java @@ -0,0 +1,11 @@ +package com.xujie.sys.modules.pms.entity.vo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class EquipmentFolderLocationVo implements Serializable { + private String IP; + private String suffix; +} diff --git a/src/main/java/com/xujie/sys/modules/pms/mapper/TpmMessageNotificationMapper.java b/src/main/java/com/xujie/sys/modules/pms/mapper/TpmMessageNotificationMapper.java index e10c262b..cb7abe85 100644 --- a/src/main/java/com/xujie/sys/modules/pms/mapper/TpmMessageNotificationMapper.java +++ b/src/main/java/com/xujie/sys/modules/pms/mapper/TpmMessageNotificationMapper.java @@ -1,14 +1,19 @@ package com.xujie.sys.modules.pms.mapper; import com.xujie.sys.modules.pms.entity.TpmMessageNotification; +import com.xujie.sys.modules.pms.entity.vo.EquipmentFolderLocationVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.springframework.stereotype.Repository; +import java.util.List; + @Mapper @Repository public interface TpmMessageNotificationMapper extends BaseMapper { + List getAllEquipmentFolderLocation(); + } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java index a4f249d9..b86cf714 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java @@ -15,6 +15,7 @@ import com.xujie.sys.modules.pms.data.*; import com.xujie.sys.modules.pms.entity.EamWorkOrderCoreComponentsData; import com.xujie.sys.modules.pms.entity.SendMessageNotification; import com.xujie.sys.modules.pms.entity.TpmMessageNotification; +import com.xujie.sys.modules.pms.entity.vo.EquipmentFolderLocationVo; import com.xujie.sys.modules.pms.entity.vo.LoraWatchResponseVo; import com.xujie.sys.modules.pms.mapper.EamDao; import com.xujie.sys.modules.pms.mapper.EamMapper; @@ -3826,6 +3827,21 @@ public class EamServiceImpl implements EamService { //根据ip区分多个lora Map> loranotifications = notifications.stream().collect(Collectors.groupingBy(TpmMessageNotification::getIp)); + + //获取所有列表,如果没有就关闭 + List location = tpmMessageNotificationService.getAllEquipmentFolderLocation(); + List ips = new ArrayList<>(); + for (Map.Entry> entry:loranotifications.entrySet()){ + ips.add(entry.getKey()); + } + List collect = location.stream().filter(obj -> ips.stream().noneMatch(obj2 -> obj2.equals(obj.getIP()))).collect(Collectors.toList()); + if(collect != null && collect.size()>0){ + for(EquipmentFolderLocationVo vo:collect){ + loraWatchUtils.sendloraRedLight(vo.getIP(),0, 0,0); + } + } + collect.forEach(item->System.out.println("-----------------"+item.getIP())); + for (Map.Entry> entry:loranotifications.entrySet()){ //过滤掉时间不为空并最后时间加上间隔时间大于当前时间的 List messageNotifications = entry.getValue().stream().filter(obj -> obj.getLastSendTime() == null || calculateFutureTime(obj.getLastSendTime(), obj.getCycleTimeSend() ) < new Date().getTime()).collect(Collectors.toList()); @@ -3855,6 +3871,7 @@ public class EamServiceImpl implements EamService { sendMessageNotification.setSendMes(res); sendMessageNotificationService.save(sendMessageNotification); } + } /** diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/TpmMessageNotificationServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/TpmMessageNotificationServiceImpl.java index 0742e024..93bfeed1 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/TpmMessageNotificationServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/TpmMessageNotificationServiceImpl.java @@ -1,6 +1,7 @@ package com.xujie.sys.modules.pms.service.Impl; import com.xujie.sys.modules.pms.entity.TpmMessageNotification; +import com.xujie.sys.modules.pms.entity.vo.EquipmentFolderLocationVo; import com.xujie.sys.modules.pms.mapper.TpmMessageNotificationMapper; import com.xujie.sys.modules.pms.service.TpmMessageNotificationService; import org.springframework.stereotype.Service; @@ -14,4 +15,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class TpmMessageNotificationServiceImpl extends ServiceImpl implements TpmMessageNotificationService { + @Override + public List getAllEquipmentFolderLocation() { + List locationVos = baseMapper.getAllEquipmentFolderLocation(); + return locationVos; + } } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/TpmMessageNotificationService.java b/src/main/java/com/xujie/sys/modules/pms/service/TpmMessageNotificationService.java index f9861d54..49716648 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/TpmMessageNotificationService.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/TpmMessageNotificationService.java @@ -2,10 +2,13 @@ package com.xujie.sys.modules.pms.service; import com.baomidou.mybatisplus.extension.service.IService; import com.xujie.sys.modules.pms.entity.TpmMessageNotification; +import com.xujie.sys.modules.pms.entity.vo.EquipmentFolderLocationVo; +import java.util.List; -public interface TpmMessageNotificationService extends IService { +public interface TpmMessageNotificationService extends IService { + List getAllEquipmentFolderLocation(); } diff --git a/src/main/resources/mapper/pms/TpmMessageNotificationMapper.xml b/src/main/resources/mapper/pms/TpmMessageNotificationMapper.xml index 75609a10..68abd2c8 100644 --- a/src/main/resources/mapper/pms/TpmMessageNotificationMapper.xml +++ b/src/main/resources/mapper/pms/TpmMessageNotificationMapper.xml @@ -3,4 +3,8 @@ + \ No newline at end of file