DeviceServiceImpl.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package com.warewms.hailiang.service.impl;
  2. import cn.hutool.extra.spring.SpringUtil;
  3. import com.warewms.hailiang.domain.Device;
  4. import com.warewms.hailiang.domain.DeviceLog;
  5. import com.warewms.hailiang.service.DeviceService;
  6. import org.springframework.context.event.EventListener;
  7. import org.springframework.scheduling.annotation.Async;
  8. import org.springframework.stereotype.Service;
  9. import java.util.ArrayList;
  10. import java.util.List;
  11. @Service
  12. public class DeviceServiceImpl implements DeviceService {
  13. private List<Device> devices = new ArrayList<>();
  14. {
  15. devices.add(new Device("Z1_ChengZhong_PLC-1-52.21", "ChengZhongPlc", "称重辊道PLC", "Z1", "172.20.52.21", 102, "S7", "2"));
  16. devices.add(new Device("Z1_DaoJiao_PLC-1-27.2", "DaoJiaoJiPlc", "倒角机", "Z1", "172.20.27.2", 102, "S7", "2"));
  17. devices.add(new Device("Z1_DaoJiao_PMQ-1-27.4", "InkjetPrinters", "喷码器", "Z1", "172.20.27.4", 102, "TCP", "2"));
  18. devices.add(new Device("Z1_DaoJiao_DMQ-1-27.3", "CodeReader3", "倒角读码器", "Z1", "172.20.27.3", 51236, "TCP", "2"));
  19. devices.add(new Device("Z1_Ximian_PLC-1-52.22", "XiMianPlc", "铣面辊道PLC", "Z1", "172.20.52.22", 102, "S7", "2"));
  20. devices.add(new Device("Z1_XiMian_DMQ-1-27.5", "CodeReader5", "铣面读码器", "Z1", "172.20.27.5", 51236, "TCP", "2"));
  21. devices.add(new Device("Z1_Zhazhi_PLC-1-52.24", "ZhaZhiPlc", "轧制辊道PLC", "Z1", "172.20.52.24", 102, "S7", "2"));
  22. devices.add(new Device("Z1_ZhaZhi_DMQ-1-27.6", "CodeReader6", "轧制读码器", "Z1", "172.20.27.6", 51236, "TCP", "2"));
  23. devices.add(new Device("Z1_DaSanPan_PLC-1-54.121", "DaSanPanPlc", "大散盘PLC", "Z1", "172.20.54.121", 102, "S7", "2"));
  24. devices.add(new Device("Z1_DaSanPan_DMQ-1-27.7", "CodeReader7", "大散盘读码器1", "Z1", "172.20.27.7", 51236, "TCP", "2"));
  25. devices.add(new Device("Z1_DaSanPan_DMQ-2-27.8", "CodeReader8", "大散盘读码器2", "Z1", "172.20.27.8", 51236, "TCP", "2"));
  26. devices.add(new Device("Z1_DaSanPan_DMQ-3-27.9", "CodeReader9", "大散盘读码器3", "Z1", "172.20.27.9", 51236, "TCP", "2"));
  27. devices.add(new Device("Z1_DaSanPan_DMQ-4-27.12", "CodeReader12", "大散盘读码器4", "Z1", "172.20.27.12", 51236, "TCP", "2"));
  28. devices.add(new Device("Z1_TuiHuoShangLiao_PLC-1-", "TuiHuoUPPlc", "退火上料PLC", "Z1", "172.20.27.13", 51236, "s7", "2"));
  29. devices.add(new Device("Z1_TuiHuoXiaLiao_PLC-1-", "TuiHuoDownPlc", "退火下料PLC", "Z1", "172.20.27.13", 51236, "s7", "2"));
  30. devices.add(new Device("Z1_TuiHuoShangLiao_DMQ-1-27.13", "CodeReader13", "退火上料读码器", "Z1", "172.20.27.13", 51236, "TCP", "2"));
  31. devices.add(new Device("Z1_TuiHuoXiaLiao_DMQ-1-27.14", "CodeReader14", "退火下料读码器", "Z1", "172.20.27.14", 51236, "TCP", "2"));
  32. }
  33. @Override
  34. public List<Device> getList() {
  35. return devices;
  36. }
  37. @Override
  38. public boolean IsConnect(String key) {
  39. boolean a = false;
  40. for (Device device : devices) {
  41. if (device.getDeviceName().equals(key)) {
  42. a = "1".equals(device.getStatus()) ;
  43. }
  44. }
  45. return a;
  46. }
  47. @Async
  48. @EventListener
  49. void updateStatus(Device d){
  50. for (Device device : devices) {
  51. if(device.getDeviceName().equals(d.getDeviceName())){
  52. device.setStatus(d.getStatus());
  53. if ("2".equals(d.getStatus())){
  54. SpringUtil.getApplicationContext().publishEvent(new DeviceLog(device.getDeviceId(), device.getDeviceName(), "连接中断,请联系管理员!",d.getStatus() ));
  55. }
  56. }
  57. }
  58. }
  59. }