From b454340c14d789c5fe41350d092ea2f14d6454b3 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 06 五月 2024 10:21:45 +0800
Subject: [PATCH] 添加plc连接不上时报警,主界面后端推送数据超时提示

---
 springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java |  474 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 421 insertions(+), 53 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 73b3e33..6b21734 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
@@ -1,83 +1,451 @@
 package com.example.springboot.controller;
 
+import java.sql.SQLException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.TimeUnit;
 
 import org.springframework.beans.factory.annotation.Autowired;
 
 import com.example.springboot.mapper.HomeMapper;
+import com.example.springboot.mapper.SpianMapper;
 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.SpianService;
+import com.example.springboot.service.StorageCageService;
+
 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.alarmmg;
+import com.example.springboot.entity.north_glass_buffer1;
+import com.example.springboot.entity.Out_slice;
+import com.example.springboot.entity.Queue;
+import com.example.springboot.entity.RolePermission;
 
 import org.springframework.web.bind.annotation.*;
 
 @RestController
 @RequestMapping("/home")
 public class HomeController {
-    @Autowired
-    HomeMapper homeMapper;
+  @Autowired
+  HomeMapper homeMapper;
 
-    @Autowired
-    HomeService storageRackService;
+  @Autowired
+  SpianService spianService;
 
-    @GetMapping("/load")    
-    public Result selectAll(){
-        List<StorageCage> storageCagelist=homeMapper.selectAll();
-        Map<String, Object> map = new HashMap<>();
-        map.put("list",storageCagelist);
-        return Result.success(map);
+  @Autowired
+  SpianMapper spianMapper;
+
+  @Autowired
+  OutSliceServive outSliceServive;
+
+  @Autowired
+  StorageCageService storageCageService;
+
+  @Autowired
+  North_Glass_Buffer1Service north_Glass_Buffer1Service;
+
+  @Autowired
+  private JdbcConnections jdbcConnections;
+
+  // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛鏉冮檺
+  @GetMapping("/SelectPermissionByUserName")
+  public Result SelectPermissionByUserName(String username) throws SQLException {
+    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() {
+    // storageCageService.EndTask(1);
+    // UpdateTask(2,0,"X12345610402GV");
+    List<StorageCage> storageCagelist = homeMapper.selectAll();
+    Map<String, Object> map = new HashMap<>();
+    map.put("list", storageCagelist);
+    return Result.success(map);
+  }
+
+  // 鏌ヨ鐞嗙墖绗肩幓鐠冩儏鍐�
+  @GetMapping("/loads")
+  public Result selectRack() {
+    List<StorageCage> storageCagelist1 = homeMapper.selectRack1();
+    List<StorageCage> storageCagelist2 = homeMapper.selectRack2();
+    List<StorageCage> storageCagelist3 = homeMapper.selectRack3();
+    List<StorageCage> storageCagelist4 = homeMapper.selectRack4();
+    Map<String, Object> map = new HashMap<>();
+    map.put("list1", storageCagelist1);
+    map.put("list2", storageCagelist2);
+    map.put("list3", storageCagelist3);
+    map.put("list4", storageCagelist4);
+    return Result.success(map);
+  }
+
+  // 鎸夎鍗曞嚭鐗�
+  @GetMapping("/InsertOrder")
+  public Result InsertOrder(String orderid) {
+    short result = homeMapper.SelectOrder(orderid);
+    Map<String, Object> map = new HashMap<>();
+    if (result > 0) {
+      homeMapper.updateOrder();
+      homeMapper.InsertOrder(orderid);
+      map.put("message", "200");
+    } else {
+      map.put("message", "500");
     }
+    return Result.success(map);
+  }
 
-    @GetMapping("/loads")    
-    public Result selectRack(){
-        List<StorageCage> storageCagelist1=homeMapper.selectRack1();
-        List<StorageCage> storageCagelist2=homeMapper.selectRack2();
-        List<StorageCage> storageCagelist3=homeMapper.selectRack3();
-        List<StorageCage> storageCagelist4=homeMapper.selectRack4();
-        Map<String, Object> map = new HashMap<>();
-        map.put("list1",storageCagelist1);
-        map.put("list2",storageCagelist2);
-        map.put("list3",storageCagelist3);
-        map.put("list4",storageCagelist4);
-        return Result.success(map);
+  // 鏍规嵁鐜荤拑id鎵嬪姩涓婄墖
+  @GetMapping("/Addglassid")
+  public Result Addglassid(String glassid) throws SQLException {
+    Map<String, Object> map = new HashMap<>();
+    short taskno = homeMapper.SelectInTask();
+    if (taskno > 0) {
+      map.put("message2", "500");
+    } else {
+      // 璋冪敤浼嶄笂鐗囧嚱鏁�
+      north_glass_buffer1 north_glass_buffer1 = jdbcConnections.SelectGlassByGlassIdOrderIdFrameId(glassid, "", "");
+      short results = spianService.selectAll(north_glass_buffer1);
+      if (results == 200) {
+        map.put("message2", "200");
+      } else if (results == 300) {
+        map.put("message2", "300");
+      } else if (results == 400) {
+        map.put("message2", "400");
+      }
     }
-    
-    
-    @GetMapping("/loadinout")    
-    public Result selectinout(Integer types){
-        List<StorageCage> storageCageinout=homeMapper.selectinout(types);
-        Map<String, Object> map = new HashMap<>();
-        map.put("list",storageCageinout);
-        return Result.success(map);
-    }
+    return Result.success(map);
+  }
 
-    @GetMapping("/InsertOrder")
-    public Result InsertOrder(String orderid){
-        short result=homeMapper.SelectOrder(orderid);
-        Map<String, Object> map = new HashMap<>();
-        if(result>0){
-            homeMapper.updateOrder();
-            homeMapper.InsertOrder(orderid);
-            map.put("message","200");
-        }else{
-            map.put("message","500");
+  // 鎵嬪姩瀹屾垚杩�/鍑虹墖浠诲姟 缁堟杩涚墖/鍑虹墖浠诲姟
+  @GetMapping("/UpdateTask")
+  public Result UpdateTask(Integer types, Integer shelfrack, String glassid) {
+    storageCageService.UpdateTask(types, shelfrack, glassid);
+    Map<String, Object> map = new HashMap<>();
+    map.put("message3", "200");
+    return Result.success(map);
+  }
+
+  // 缁堟杩涚墖/鍑虹墖浠诲姟
+  @GetMapping("/EndTask")
+  public Result EndTask(int types) {
+    storageCageService.EndTask(types);
+
+    Map<String, Object> map = new HashMap<>();
+    map.put("message3", "200");
+    return Result.success(map);
+  }
+
+  // 鏌ヨ鎶ヨ淇℃伅
+  @GetMapping("/SelectAlarmmgInfo")
+  public Result SelectAlarmmgInfo() {
+    List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
+    Map<String, Object> map = new HashMap<>();
+    map.put("alarmmg", alarmmg);
+    return Result.success(map);
+  }
+
+  // 鏌ヨ鐞嗙墖绗艰鎯�
+  @GetMapping("/SelectCageInfo")
+  public Result SelectCageInfo(String cage) throws SQLException {
+    List<StorageCage> cageinfo = homeMapper.SelectCageInfo(cage);
+    Map<String, Object> map = new HashMap<>();
+    map.put("cageinfo", cageinfo);
+    return Result.success(map);
+  }
+
+  // 鎵嬪姩鍒犻櫎鐞嗙墖绗肩幓鐠�
+  @GetMapping("/DeleteByGlassID")
+  public Result DeleteByGlassID(String glassid) {
+    outSliceServive.DeleteByGlassIDs(glassid);
+    Map<String, Object> map = new HashMap<>();
+    map.put("message3", "200");
+    return Result.success(map);
+  }
+
+  // 鏍规嵁鐜荤拑id鎵嬪姩鍑虹墖
+  @GetMapping("/OutByGlassID")
+  public Result OutByGlassID(String glassid) throws SQLException {
+    Map<String, Object> map = new HashMap<>();
+    Out_slice result = homeMapper.SelectQueueByglassid(glassid);
+    if (result == null) {
+      north_glass_buffer1 north_glass_buffer1 = jdbcConnections.SelectGlassByGlassIdOrderIdFrameIdout(glassid, "", "");
+      String flip = jdbcConnections.SelectFlipByFrameBarcode(north_glass_buffer1.getFrameBarcode());
+
+      if (flip != null&&flip != "") {
+        String position = jdbcConnections.SelectPositionByFrameBarcode(north_glass_buffer1.getFrameBarcode());
+        if (position != null) {
+          String framelength = jdbcConnections.SelectFrameLengthByFrameBarcode(north_glass_buffer1.getFrameBarcode());
+          String frameheight = jdbcConnections.SelectFrameHeightByFrameBarcode(north_glass_buffer1.getFrameBarcode());
+          int sequence = homeMapper.SelectMaxSquence();
+          homeMapper.AddOutSliceS(glassid, flip, north_glass_buffer1.getFrameBarcode(),
+              north_glass_buffer1.getglasslengthmm().toString(), north_glass_buffer1.getglassheightmm().toString(),
+              sequence, position, (short) 0, north_glass_buffer1.getordernumber(), north_glass_buffer1.getlistnumber(),
+              north_glass_buffer1.getboxnumber(), north_glass_buffer1.getglasslength().toString(),
+              north_glass_buffer1.getglassheight().toString(), framelength, frameheight);
+          map.put("message2", "200");
+        } else {
+          map.put("message2", "300");
         }
-        return Result.success(map);
+      } else {
+        map.put("message2", "400");
+      }
+    } else {
+      map.put("message2", "500");
     }
+    return Result.success(map);
+  }
 
-    @GetMapping("/Addglassid")
-    public Result Addglassid(Integer glassid){
-        Map<String, Object> map = new HashMap<>();
-        short taskno=homeMapper.SelectOutTask();
-        if(taskno>0){
-            map.put("message2","500");
-        }else{
-            map.put("message2","200");
-            //璋冪敤浼嶄笂鐗囧嚱鏁�
+  // 鍔犺浇灏忚溅浣嶇疆
+  @GetMapping("/Loadcarlist")
+  public Result Loadcarlist() {
+    List<CarPosition> carlist = homeMapper.Loadcarlist();
+    Map<String, Object> map = new HashMap<>();
+    map.put("carlist", carlist);
+    return Result.success(map);
+  }
 
-        }
-        return Result.success(map);
+  // 鏌ヨ纭瀵嗙爜
+  @GetMapping("/SelectPassword")
+  public Result SelectPassword() {
+    String pwdct = homeMapper.SelectPassword();
+    Map<String, Object> map = new HashMap<>();
+    map.put("password", pwdct);
+    return Result.success(map);
+  }
+
+  // 鏍规嵁鐜荤拑id鏌ヨ鐜荤拑淇℃伅
+  @GetMapping("/SelectGlassByGlassID")
+  public Result SelectGlassByGlassID(String glassid) throws SQLException {
+    Queue queue = jdbcConnections.SelectGlassByGlassIdOrderIdFrameIdQueue(glassid, "", "");
+    Map<String, Object> map = new HashMap<>();
+    if (glassid != "") {
+      map.put("form", queue);
     }
+    return Result.success(map);
+  }
+
+  // 鍚敤/绂佺敤鐞嗙墖绗兼牸瀛�
+  @GetMapping("/Disabled")
+  public Result Disabled(short cage, short cell, short disabled) {
+    homeMapper.Disabled(cage, cell, disabled);
+    Map<String, Object> map = new HashMap<>();
+    map.put("message", "200");
+    return Result.success(map);
+  }
+
+  // 鎵嬪姩寰�鐞嗙墖绗兼坊鍔犵幓鐠�
+  @PostMapping("/Inglassid")
+  public Result Inglassid(short cage, short cell, short tier, @RequestBody Queue queue) {
+    Map<String, Object> map = new HashMap<>();
+    short result = homeMapper.SelectStorageByGlassId(queue.getglassId());
+    Double cagewidth = homeMapper.SelectCageWidth(cage, cell);
+    if (cagewidth - queue.getglasswidth() - 400 < 0 || (cagewidth == 2750 && queue.getglasswidth() > cagewidth)) {
+      map.put("message", "400");
+    } else {
+      if (result > 0) {
+        map.put("message", "300");
+      } else {
+        homeMapper.Inglassid(queue, cage, cell, tier);
+        spianMapper.UpdataAddCage1(queue.getglasswidth(), cage, cell);
+        map.put("message", "200");
+      }
+    }
+    return Result.success(map);
+  }
+
+  // 鏌ヨ鐜荤拑淇℃伅
+  @PostMapping("/SelectGlass")
+  public Result SelectGlass(String orderid) throws SQLException {
+    Map<String, Object> map = new HashMap<>();
+    List<north_glass_buffer1> glass = jdbcConnections.SelectGlassByGlassIdOrderIdFrameIds("", orderid, "");
+    map.put("glass", glass);
+    return Result.success(map);
+  }
+
+  // 鎵嬪姩娣诲姞鎵爜浣嶇幓鐠�
+  @PostMapping("/InsertQueueGlassId")
+  public Result InsertQueueGlassId(Short id, @RequestBody Queue queue) throws SQLException {
+    return storageCageService.InsertQueueGlassId(id, queue);
+    
+  }
+
+  // 纭鎵爜浣嶇幓鐠冧俊鎭�
+  @PostMapping("/UpdateQueueState")
+  public Result UpdateQueueState() {
+    homeMapper.UpdateQueueState();
+    Map<String, Object> map = new HashMap<>();
+    map.put("message", "200");
+    return Result.success(map);
+  }
+
+  // 娓呴櫎涓婄墖闃熷垪鐜荤拑
+  @PostMapping("/DeleteQueueGlass")
+  public Result DeleteQueueGlass(String id) {
+    homeMapper.DeleteQueueGlass(id);
+    Map<String, Object> map = new HashMap<>();
+    map.put("message", "200");
+    return Result.success(map);
+  }
+
+  // 鏌ヨ姝よ鍗曞湪鐞嗙墖绗奸噷鐨勭幓鐠冩暟
+  @PostMapping("/SelectGlassNo")
+  public Result SelectGlassNo(String orderid) {
+    Short count = homeMapper.SelectGlassNo(orderid);
+    Map<String, Object> map = new HashMap<>();
+    map.put("count", count);
+    return Result.success(map);
+  }
+
+  // 鏍规嵁閾濇id鑾峰彇瀵瑰簲鐜荤拑淇℃伅
+  @PostMapping("/SelectAluminumFrameInfoById")
+  public Result SelectAluminumFrameInfoById(String FrameBarcode) throws SQLException {
+    String flip = jdbcConnections.SelectFlipByFrameBarcode(FrameBarcode);
+    List<north_glass_buffer1> AluminumFrame = north_Glass_Buffer1Service.SelectAluminumFrameInfoById(FrameBarcode);
+    Map<String, Object> map = new HashMap<>();
+    map.put("AluminumFrame", AluminumFrame);
+    map.put("flip", flip);
+    return Result.success(map);
+  }
+
+  // 鏍规嵁閾濇id鍒犻櫎鍑虹墖闃熷垪鐜荤拑
+  @PostMapping("/DeleteProductionQueueGlass")
+  public Result DeleteProductionQueueGlass(String FrameNo) {
+    return outSliceServive.CompleteQueueByFrameNo(FrameNo);
+  }
+
+  // 娣诲姞閾濇id瀵瑰簲鐜荤拑鍒板嚭鐗囬槦鍒�
+  @PostMapping("/AddOutSliceS")
+  public Result AddOutSliceS(String FrameNo) throws SQLException {
+    // public Result AddOutSliceS(@RequestBody String[][] AluminumFrames) throws
+    // SQLException {
+    north_Glass_Buffer1Service.AddOutSliceS(FrameNo);
+    Plchome.AluminumFrame = null;
+    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("/isAllowReorderings")
+  public Result isAllowReorderings(Boolean isAllowReordering, @RequestBody List<Out_slice> out_slice) {
+    Plchome.isAllowReordering = isAllowReordering;
+    if (isAllowReordering == 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, String glassid) {
+    return outSliceServive.CompleteQueue(id, frameid, glassid);
+  }
+
+  // 鎵嬪姩瀹屾垚浠诲姟
+  @PostMapping("/FrameStateUpdate")
+  public Result FrameStateUpdate(String frameno) {
+    return outSliceServive.FrameStateUpdate(frameno);
+  }
+
+  // 鎵嬪姩鍐欏叆plc鎵爜浣嶇幓鐠僫d
+  @PostMapping("/WriteGlassID")
+  public Result WriteGlassID(String glassid) {
+    // 鎵爜浣嶅啓鍏ョ幓鐠僫d
+    spianService.outmesid(glassid, "DB103.286");
+    Map<String, Object> map = new HashMap<>();
+    map.put("message", "200");
+    return Result.success(map);
+  }
+
+  // 娓呴櫎鎸囧畾浣嶇疆id
+  @PostMapping("/ClearGlassId")
+  public Result ClearGlassId(String position, String glassid) {
+    return storageCageService.ClearGlassId(position, glassid);
+  }
+
+  // 娓呴櫎寰呯‘璁ら摑妗嗕俊鎭�
+  @PostMapping("/CloseForm7")
+  public Result CloseForm7() {
+    Plchome.AluminumFrame = null;
+    Map<String, Object> map = new HashMap<>();
+    map.put("message", "200");
+    return Result.success(map);
+  }
+
+  // 缁堟杩�/鍑虹墖浠诲姟
+  @PostMapping("/TaskStop")
+  public Result TaskStop(Short num) {
+    storageCageService.EndTask(num);
+    Map<String, Object> map = new HashMap<>();
+    map.put("message", "200");
+    return Result.success(map);
+  }
+
+  // 杞�ュ仠
+  @PostMapping("/SoftEmergencyStop")
+  public Result SoftEmergencyStop(Short num) {
+    String position = "DB101.11.3";
+    Map<String, Object> map = new HashMap<>();
+    if (S7control.getinstance().CheckConnected() == true) {
+      S7control.getinstance().WriteBit(position, false);
+      try {
+        TimeUnit.MILLISECONDS.sleep(300);
+      } catch (InterruptedException e) {
+        e.printStackTrace();
+      }
+      S7control.getinstance().WriteBit(position, true);
+      map.put("message", "200");
+    } else {
+      map.put("message", "300");
+    }
+    return Result.success(map);
+  }
+
+  // 鍒囨崲PLC鑾峰彇浜岀淮鐮佹柟寮�
+  @PostMapping("/SwitchScanMethod")
+  public Result SwitchScanMethod(Boolean scansmethod) {
+    S7control.getinstance().WriteBit("DB101.11.4", scansmethod);
+    Map<String, Object> map = new HashMap<>();
+    map.put("message", "200");
+    return Result.success(map);
+  }
+
 }

--
Gitblit v1.8.0