Browse Source

警灯加了全部关闭

java8
shenzhouyu 12 months ago
parent
commit
1ec8e1bbf7
  1. 11
      src/main/java/com/xujie/sys/modules/pms/entity/vo/EquipmentFolderLocationVo.java
  2. 5
      src/main/java/com/xujie/sys/modules/pms/mapper/TpmMessageNotificationMapper.java
  3. 17
      src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java
  4. 6
      src/main/java/com/xujie/sys/modules/pms/service/Impl/TpmMessageNotificationServiceImpl.java
  5. 5
      src/main/java/com/xujie/sys/modules/pms/service/TpmMessageNotificationService.java
  6. 4
      src/main/resources/mapper/pms/TpmMessageNotificationMapper.xml

11
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;
}

5
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<TpmMessageNotification> {
List<EquipmentFolderLocationVo> getAllEquipmentFolderLocation();
}

17
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<String, List<TpmMessageNotification>> loranotifications = notifications.stream().collect(Collectors.groupingBy(TpmMessageNotification::getIp));
//获取所有列表如果没有就关闭
List<EquipmentFolderLocationVo> location = tpmMessageNotificationService.getAllEquipmentFolderLocation();
List<String> ips = new ArrayList<>();
for (Map.Entry<String,List<TpmMessageNotification>> entry:loranotifications.entrySet()){
ips.add(entry.getKey());
}
List<EquipmentFolderLocationVo> 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<String,List<TpmMessageNotification>> entry:loranotifications.entrySet()){
//过滤掉时间不为空并最后时间加上间隔时间大于当前时间的
List<TpmMessageNotification> 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);
}
}
/**

6
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<TpmMessageNotificationMapper, TpmMessageNotification> implements TpmMessageNotificationService {
@Override
public List<EquipmentFolderLocationVo> getAllEquipmentFolderLocation() {
List<EquipmentFolderLocationVo> locationVos = baseMapper.getAllEquipmentFolderLocation();
return locationVos;
}
}

5
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<TpmMessageNotification> {
public interface TpmMessageNotificationService extends IService<TpmMessageNotification> {
List<EquipmentFolderLocationVo> getAllEquipmentFolderLocation();
}

4
src/main/resources/mapper/pms/TpmMessageNotificationMapper.xml

@ -3,4 +3,8 @@
<mapper namespace="com.xujie.sys.modules.pms.mapper.TpmMessageNotificationMapper">
<select id="getAllEquipmentFolderLocation"
resultType="com.xujie.sys.modules.pms.entity.vo.EquipmentFolderLocationVo">
select DISTINCT IP,suffix from Equipment_folder_location where suffix ='C'
</select>
</mapper>
Loading…
Cancel
Save