zengh
2021-01-12 4f595fb79090a31764e9114ae5862fbcc1b00bd5
src/main/java/org/springblade/modules/Netty/controller/nettyController.java
@@ -33,6 +33,9 @@
import org.springblade.modules.Netty.entitly.Netty;
import org.springblade.modules.Netty.vo.nettyVO;
import org.springblade.modules.catalog.service.catalogService;
import org.springblade.modules.deploy.service.IDeployService;
import org.springblade.modules.equipment.service.IEquipmentService;
import org.springblade.modules.equipment.vo.EquipmentVO;
import org.springblade.modules.nettyServer.ChannelMap;
import org.springblade.modules.nettyServer.ServerHandler;
import org.springframework.web.bind.annotation.*;
@@ -41,7 +44,9 @@
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -61,6 +66,8 @@
   private final nettyService nettyService ;
   private final org.springblade.modules.catalog.service.catalogService catalogService;
   private final org.springblade.modules.equipment.service.IEquipmentService equipmentService;
   /**
    * 详情
@@ -139,21 +146,37 @@
      response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
      response.setHeader("Access-Control-Allow-Credentials","true");
      ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
      System.out.println(channelHashMap);
      String s = "";
      if (s==null){
         return R.success("暂无设备布防");
      }
      else {
         String[] split = s.split(",");
         for (int i = 0; i < split.length; i++) {
      //清空全局参数
      childMenu = new ArrayList();
      //根据查询条件得到所有设备
      List<EquipmentVO> pages = equipmentService.selectEquipmentPage(null, null, null, null);
      List<Map<String, Object>> treedatas = catalogService.selectCatalogEqNUmber(pid);
      //根据传入的id递归出该节点下所有的设备
      List<Map<String, Object>> childList = treeMenuList(treedatas, Integer.parseInt(pid));
      int zT = 0;
      //将得到的设备与查询所得设备进行匹配
      for (int i = 0; i < childList.size(); i++) {
         for (int j = 0; j < pages.size(); j++) {
            if (childList.get(i).get("eqid") != null) {
               if (childList.get(i).get("eqid").equals(pages.get(j).getDeviceNumber())) {
            List<String> outData = new ArrayList<>();
            outData.add("LC8109085B#@");
            Channel channel = channelHashMap.get(split[i]);
                  int code = Integer.parseInt(pages.get(j).getDeviceNumber());
                  Channel channel = channelHashMap.get(code);
            channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
         }
         return R.success("设备布防");
      }
         }
      }
      if (zT == 0) {
         return R.success("暂无设备撤");
      }
      return R.success("设备布防");
   }
   /**
@@ -166,23 +189,58 @@
      response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
      response.setHeader("Access-Control-Allow-Credentials","true");
      ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
      System.out.println(channelHashMap);
      String s = "";
      if (s==null){
         return R.success("暂无设备撤防");
      }
      else {
         String[] split = s.split(",");
         for (int i = 0; i < split.length; i++) {
      //清空全局参数
      childMenu = new ArrayList();
      //根据查询条件得到所有设备
      List<EquipmentVO> pages = equipmentService.selectEquipmentPage(null, null, null, null);
      List<Map<String, Object>> treedatas = catalogService.selectCatalogEqNUmber(pid);
      //根据传入的id递归出该节点下所有的设备
      List<Map<String, Object>> childList = treeMenuList(treedatas, Integer.parseInt(pid));
      int zT = 0;
      //将得到的设备与查询所得设备进行匹配
      for (int i = 0; i < childList.size(); i++) {
         for (int j = 0; j < pages.size(); j++) {
            if (childList.get(i).get("eqid") != null) {
               if (childList.get(i).get("eqid").equals(pages.get(j).getDeviceNumber())) {
            List<String> outData = new ArrayList<>();
            outData.add("LC8109085C#@");
            Channel channel = channelHashMap.get(split[i]);
                  Channel channel = channelHashMap.get(pages.get(j).getDeviceNumber());
            channel.writeAndFlush(Unpooled.copiedBuffer(outData.get(0), CharsetUtil.UTF_8));
         }
         return R.success("设备撤防");
            }
      }
   }
      if (zT == 0) {
         return R.success("暂无设备布防");
      }
      return R.success("设备撤防");
   }
   //子节点
   private static List childMenu = new ArrayList();
   public static List treeMenuList(List<Map<String, Object>> menuList, int pid) {
      for (int i = 0; i < menuList.size(); i++) {
         //遍历出父id等于参数的id,add进子节点集合
         if (pid != 0) {
            if (menuList.get(i).get("pId").equals(pid)) {
               //递归遍历下一级
               treeMenuList(menuList, Integer.valueOf((Integer) menuList.get(i).get("id")));
               childMenu.add(menuList.get(i));
            }
         }
      }
      return childMenu;
   }
   /**