From b496fab726e76436f1200725926f863da6edc694 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期一, 11 十二月 2023 10:19:39 +0800
Subject: [PATCH] 修改weobsocket 连接多用户同时推送

---
 springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java |  194 ++++++++++++++++++++++++++++--------------------
 1 files changed, 112 insertions(+), 82 deletions(-)

diff --git a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
index 9e66cf1..b85fc8a 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -5,22 +5,42 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
 
 import com.example.springboot.mapper.HomeMapper;
 import com.example.springboot.mapper.SpianMapper;
+import com.example.springboot.security.constant.SystemConstant;
+import com.example.springboot.security.util.JwtUtil;
+import com.example.springboot.security.util.SecurityUtil;
 import com.example.springboot.service.HomeService;
 import com.example.springboot.service.JdbcConnections;
+import com.example.springboot.service.North_Glass_Buffer1Service;
+import com.example.springboot.service.OutSliceServive;
+import com.example.springboot.service.PermissionService;
 import com.example.springboot.service.SpianService;
+
+import cn.hutool.core.util.StrUtil;
+
 import com.example.springboot.common.Result;
+import com.example.springboot.component.Plchome;
 import com.example.springboot.component.S7control;
 import com.example.springboot.entity.CarPosition;
 import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.User;
 import com.example.springboot.entity.alarmmg;
 import com.example.springboot.entity.north_glass_buffer1;
 import com.example.springboot.entity.Out_slice;
-import org.springframework.web.bind.annotation.*;
+import com.example.springboot.entity.Permission;
+import com.example.springboot.entity.Queue;
+import com.example.springboot.entity.RolePermission;
 
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 @RestController
 @RequestMapping("/home")
@@ -38,8 +58,23 @@
   SpianMapper spianMapper;
 
   @Autowired
+  OutSliceServive outSliceServive;
+
+  @Autowired
+  North_Glass_Buffer1Service north_Glass_Buffer1Service;
+
+  @Autowired
   private JdbcConnections jdbcConnections;
-  
+
+  // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鏉冮檺
+  @GetMapping("/SelectPermissionByUserName")
+  public Result SelectPermissionByUserName(String username) {
+    Map<String, Object> map = new HashMap<>();
+    List<RolePermission> permission = homeMapper.SelectPermissionByUserName(username);
+    map.put("permission", permission);
+    return Result.success(map);
+  }
+
   // 鏌ヨ鐞嗙墖绗间娇鐢ㄦ儏鍐�
   @GetMapping("/load")
   public Result selectAll() {
@@ -52,6 +87,7 @@
   // 鏌ヨ鐞嗙墖绗肩幓鐠冩儏鍐�
   @GetMapping("/loads")
   public Result selectRack() {
+
     List<StorageCage> storageCagelist1 = homeMapper.selectRack1();
     List<StorageCage> storageCagelist2 = homeMapper.selectRack2();
     List<StorageCage> storageCagelist3 = homeMapper.selectRack3();
@@ -61,21 +97,6 @@
     map.put("list2", storageCagelist2);
     map.put("list3", storageCagelist3);
     map.put("list4", storageCagelist4);
-    return Result.success(map);
-  }
-
-  // 鏌ヨ杩�/鍑虹墖浠诲姟
-  @GetMapping("/loadinout")
-  public Result selectinout(Integer types) throws SQLException{
-    List<StorageCage> storageCageinout = homeMapper.selectinout(types);
-    
-    for (StorageCage storageCage : storageCageinout) {
-      storageCage.setnorth_glass_buffer1s(jdbcConnections.SelectGlassByGlassIdOrderIdFrameId(storageCage.getGlassId(), "", ""));
-      // storageCage.setnorth_glass_buffer1s(homeMapper.SelectBoxNo(storageCage.getGlassId()));
-    }
-    
-    Map<String, Object> map = new HashMap<>();
-    map.put("list", storageCageinout);
     return Result.success(map);
   }
 
@@ -144,13 +165,8 @@
 
   // 鏌ヨ鐞嗙墖绗艰鎯�
   @GetMapping("/SelectCageInfo")
-  public Result SelectCageInfo(short cage) throws SQLException {
+  public Result SelectCageInfo(String cage) throws SQLException {
     List<StorageCage> cageinfo = homeMapper.SelectCageInfo(cage);
-    for (StorageCage storageCage : cageinfo) {
-      // storageCage.setnorth_glass_buffer1s(homeMapper.SelectBoxNo(storageCage.getGlassId()));
-      storageCage.setnorth_glass_buffer1s(jdbcConnections.SelectGlassByGlassIdOrderIdFrameId(storageCage.getGlassId(), "", ""));
-      
-    }
     Map<String, Object> map = new HashMap<>();
     map.put("cageinfo", cageinfo);
     return Result.success(map);
@@ -169,21 +185,31 @@
 
   // 鏍规嵁鐜荤拑id鎵嬪姩鍑虹墖
   @GetMapping("/OutByGlassID")
-  public Result OutByGlassID(String glassid) {
+  public Result OutByGlassID(String glassid) throws SQLException {
     Map<String, Object> map = new HashMap<>();
-    // 璋冪敤浼嶄笂鐗囧嚱鏁�
-    short result = homeMapper.SelectStorageByGlassId(glassid);
-    if (result > 0) {
-      Short results = spianService.selectout2(glassid);
-      if (results == 200) {
-        map.put("message2", "200");
-      } else if (results == 300) {
-        map.put("message2", "300");
+    Out_slice result = homeMapper.SelectQueueByglassid(glassid);
+    if (result == null) {
+      north_glass_buffer1 north_glass_buffer1 = jdbcConnections.SelectGlassByGlassIdOrderIdFrameId(glassid, "", "");
+      String flip = jdbcConnections.SelectFlipByFrameBarcode(north_glass_buffer1.getFrameBarcode());
+      if (flip != null) {
+        String position = jdbcConnections.SelectPositionByFrameBarcode(north_glass_buffer1.getFrameBarcode());
+        if (position != null) {
+          int sequence = homeMapper.SelectMaxSquence();
+          homeMapper.AddOutSliceS(glassid, flip, north_glass_buffer1.getFrameBarcode(),
+              north_glass_buffer1.getglasslengthmm().toString(), north_glass_buffer1.getglassheightmm().toString(),
+              sequence, position);
+          map.put("message2", "200");
+        } else {
+          map.put("message2", "300");
+        }
+
+      } else {
+        map.put("message2", "400");
       }
+
     } else {
       map.put("message2", "500");
     }
-
     return Result.success(map);
   }
 
@@ -208,14 +234,10 @@
   // 鏍规嵁鐜荤拑id鏌ヨ鐜荤拑淇℃伅
   @GetMapping("/SelectGlassByGlassID")
   public Result SelectGlassByGlassID(String glassid) throws SQLException {
-    // north_glass_buffer1 north_glass_buffer1s = homeMapper.SelectGlassByGlassID(glassid);
-    
-    north_glass_buffer1 north_glass_buffer1s=jdbcConnections.SelectGlassByGlassIdOrderIdFrameId(glassid, "", "");
+    Queue queue = jdbcConnections.SelectGlassByGlassIdOrderIdFrameIdQueue(glassid, "", "");
     Map<String, Object> map = new HashMap<>();
-    if(glassid!=""){
-      
-    map.put("form", north_glass_buffer1s);
-    
+    if (glassid != "") {
+      map.put("form", queue);
     }
     return Result.success(map);
   }
@@ -231,14 +253,15 @@
 
   // 鎵嬪姩寰�鐞嗙墖绗兼坊鍔犵幓鐠�
   @PostMapping("/Inglassid")
-  public Result Inglassid(short cage, short cell, short tier, @RequestBody north_glass_buffer1 north_glass_buffer1s) {
+  public Result Inglassid(short cage, short cell, short tier, @RequestBody Queue queue) {
     Map<String, Object> map = new HashMap<>();
-    short result = homeMapper.SelectStorageByGlassId(north_glass_buffer1s.getbarcode());
+    short result = homeMapper.SelectStorageByGlassId(queue.getglassId());
     if (result > 0) {
       map.put("message", "300");
     } else {
-      homeMapper.Inglassid(north_glass_buffer1s, cage, cell, tier);
-      spianMapper.UpdataAddCage1(north_glass_buffer1s.getglasslengthmm(), cage, cell);
+      homeMapper.Inglassid(queue, cage, cell, tier);
+      spianMapper.UpdataAddCage1(queue.getglasswidth(), cage, cell);
+      map.put("message", "200");
     }
     return Result.success(map);
   }
@@ -254,15 +277,17 @@
 
   // 鎵嬪姩娣诲姞鎵爜浣嶇幓鐠�
   @PostMapping("/InsertQueueGlassId")
-  public Result InsertQueueGlassId(String glassid, Short id) {
+  public Result InsertQueueGlassId(Short id, @RequestBody Queue queue) {
     Map<String, Object> map = new HashMap<>();
-    short result = homeMapper.SelectStorageByGlassId(glassid);
+    short result = homeMapper.SelectStorageByGlassId(queue.getglassId());
     if (result > 0) {
       map.put("message", "300");
     } else {
-      homeMapper.InsertQueueGlassId(glassid, id);
-    //璋冪敤浼嶅瓨鍌ㄨ繃绋�
-    spianService.selectAll(glassid);
+      homeMapper.InsertQueueGlassId(queue, id);
+      if (id == 1) {
+        // 璋冪敤浼嶅瓨鍌ㄨ繃绋�
+        spianService.selectAll(queue.getglassId());
+      }
       map.put("message", "200");
     }
     return Result.success(map);
@@ -298,55 +323,60 @@
   // 鏍规嵁閾濇id鑾峰彇瀵瑰簲鐜荤拑淇℃伅
   @PostMapping("/SelectAluminumFrameInfoById")
   public Result SelectAluminumFrameInfoById(String FrameBarcode) throws SQLException {
-
-    // List<north_glass_buffer1> listAluminumFrame = homeMapper.SelectAluminumFrameInfoById(FrameBarcode);
-    List<north_glass_buffer1> listAluminumFrame = jdbcConnections.SelectGlassByGlassIdOrderIdFrameIds("","",FrameBarcode);
-    String flip=homeMapper.SelectFlipByFrameBarcode(FrameBarcode);
-    for (north_glass_buffer1 north_glass_buffer1 : listAluminumFrame) {
-      north_glass_buffer1.setstorageCage(homeMapper.SelectStorageGlassById(north_glass_buffer1.getbarcode()));
-      north_glass_buffer1.setOut_slice(homeMapper.SelectQueueByglassid(north_glass_buffer1.getbarcode()));
-    }
+    String flip = jdbcConnections.SelectFlipByFrameBarcode(FrameBarcode);
+    List<north_glass_buffer1> listAluminumFrame = north_Glass_Buffer1Service.SelectAluminumFrameInfoById(FrameBarcode);
     Map<String, Object> map = new HashMap<>();
     map.put("listAluminumFrame", listAluminumFrame);
     map.put("flip", flip);
     return Result.success(map);
   }
-  
-  
-
-  // 鏌ヨ鍑虹墖闃熷垪鏁版嵁
-  @PostMapping("/SelectProductionqueue")
-  public Result SelectProductionqueue() throws SQLException {
-    List<Out_slice> listoutslice = homeMapper.SelectProductionqueue();
-    for (Out_slice out_slice : listoutslice) {
-      out_slice.setnorth_glass_buffer1s(jdbcConnections.SelectGlassByGlassIdOrderIdFrameId(out_slice.getGlassId(), "", ""));
-      out_slice.setstorageCage(homeMapper.SelectStorageGlassById(out_slice.getGlassId()));
-    }
-    Map<String, Object> maps = new HashMap<>();
-    maps.put("listoutslice", listoutslice);
-    return Result.success(maps);
-  }
 
   // 鏍规嵁鐜荤拑id鍒犻櫎鍑虹墖闃熷垪鐜荤拑
   @PostMapping("/DeleteProductionQueueGlass")
-  public Result DeleteProductionQueueGlass(Short id) {
-    homeMapper.DeleteProductionQueueGlass(id);
+  public Result DeleteProductionQueueGlass(String FrameNo) {
+    homeMapper.DeleteProductionQueueGlass(FrameNo);
     Map<String, Object> map = new HashMap<>();
     map.put("message", "200");
     return Result.success(map);
   }
 
-  // 
+  // 娣诲姞閾濇id瀵瑰簲鐜荤拑鍒板嚭鐗囬槦鍒�
   @PostMapping("/AddOutSliceS")
-  public Result AddOutSliceS(@RequestBody String[][] AluminumFrames ) {
-    for (String[] item : AluminumFrames) {
-      if(item[1]=="true"){
-        homeMapper.AddOutSliceS(item[0],item[2],item[3],item[4],item[5]);
-      }
-    }
-    System.out.println(AluminumFrames);
+  public Result AddOutSliceS(@RequestBody String[][] AluminumFrames) throws SQLException {
+    outSliceServive.AddOutSliceS(AluminumFrames);
     Map<String, Object> map = new HashMap<>();
     map.put("message", "200");
     return Result.success(map);
   }
+
+  // 淇敼鍑虹墖闃熷垪鐘舵�佷笌鍑虹墖闃熷垪璋冨簭
+  @PostMapping("/isAllowQueues")
+  public Result isAllowQueues(Boolean isAllowQueue, @RequestBody List<Out_slice> out_slice) {
+    Plchome.isAllowQueue = isAllowQueue;
+    if (isAllowQueue == true) {
+      for (Out_slice out_slice2 : out_slice) {
+        homeMapper.UpdateOutSliceSequence(out_slice2.getGlassId(), out_slice2.getSequence());
+      }
+    }
+    Map<String, Object> map = new HashMap<>();
+    map.put("message", "200");
+    return Result.success(map);
+  }
+
+  // 淇敼鍑虹墖闃熷垪鐘舵�佷笌鍑虹墖闃熷垪璋冨簭
+  @PostMapping("/isConfirmStates")
+  public Result isConfirmStates(Boolean isConfirmStates) {
+    Plchome.isConfirm = isConfirmStates;
+    Map<String, Object> map = new HashMap<>();
+    map.put("message", "200");
+    return Result.success(map);
+  }
+
+  //鎵嬪姩瀹屾垚浠诲姟
+  @PostMapping("/CompleteQueue")
+  public Result CompleteQueue(String id,String frameid) {
+    return outSliceServive.CompleteQueue(id,frameid);
+    
+  }
+  
 }

--
Gitblit v1.8.0