From ef5dda6db97f89c09a714b9304f302c00ee4ac6c Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期二, 16 一月 2024 13:53:07 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes

---
 .vscode/settings.json                                                          |    3 +
 springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java    |    4 +-
 springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java   |   20 ++++++----
 springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java |   38 ++++++++++++-------
 4 files changed, 40 insertions(+), 25 deletions(-)

diff --git a/.vscode/settings.json b/.vscode/settings.json
index a760fd6..dcafc04 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,4 +1,5 @@
 {
     "java.configuration.updateBuildConfiguration": "interactive",
-    "java.debug.settings.onBuildFailureProceed": true
+    "java.debug.settings.onBuildFailureProceed": true,
+    "java.compile.nullAnalysis.mode": "automatic"
 }
\ No newline at end of file
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
index bfddeba..c2a8bac 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
@@ -29,7 +29,7 @@
         // \\ TODO Auto-generated catch block
         e.printStackTrace();
       }
-      if (S7control.getinstance().CheckConnected() == true) {
+      if (S7control.getinstance().CheckConnected() == false) {
         spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
         spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
         jdbcConnections = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
@@ -41,7 +41,7 @@
         // // TODO Auto-generated catch block
         // e.printStackTrace();
         // }
-        // spianService.selectAll("X12345610402GV");
+         spianService.selectAll("X21942610402GV");
         // 鍑虹墖浠诲姟////////////////////////////////
         List<Short> outlist = S7control.getinstance().ReadWord("DB106.20", 1); // 鍑虹墖杞︾姸鎬�
         List<Short> outlist1 = S7control.getinstance().ReadWord("DB105.18", 1); // 鍑虹墖浠诲姟鏄惁鍚姩
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
index 93c9fe4..58fa75c 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
@@ -7,7 +7,6 @@
 
 import java.util.List;
 
-import javax.print.DocFlavor.STRING;
 
 @Mapper
 
@@ -15,10 +14,12 @@
     // 鍒ゆ柇鐩搁偦绗煎瓙鏄惁鏈夌┖鏍�
     @Select("select COUNT(if(a.state1=0,cell,0))as cell,ROUND(id/2)as id from (select *,max(state)as state1 from storage_cage a  GROUP BY cage,cell)as a where (a.cage=#{cage1}-1 or a.cage=#{cage1}+1)and if(a.cage<6,a.cage>0 and a.cage<6,a.cage>5) and disabled=0 GROUP BY cage ORDER BY cell desc LIMIT 1")
     int selectCage(int cage1);
-    // 鑾峰彇璁㈠崟鍙锋帓搴忕殑绌鸿鍗曠瀛�
-    @Select("select a.cage,FrameBarcode,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1,disabled,FrameBarcode from storage_cage a left join (select COUNT(*)shu,cage from storage_cage  where order_id=#{orderids} GROUP BY cage)as b on a.cage=b.cage left join(select cage ,COUNT(glass_id)as shu2 from storage_cage GROUP BY cage)c  on a.cage=c.cage where (order_id=#{orderids} or ''='') GROUP BY cage,cell HAVING state1=0 ORDER BY (FrameBarcode=#{Fbarcode} or ''='') desc,shu desc,shu2,cage asc; ")
+    // 鑾峰彇绗煎瓙鍙疯鍗曞彿鎺掑簭鐨勭┖璁㈠崟绗煎瓙
+    @Select("select a.cage,FrameBarcode,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1,max(a.state)as state2,disabled,FrameBarcode from storage_cage a left join (select COUNT(*)shu,cage from storage_cage  where order_id=#{orderids} GROUP BY cage)as b on a.cage=b.cage left join(select cage ,COUNT(glass_id)as shu2 from storage_cage GROUP BY cage)c  on a.cage=c.cage where (order_id=#{orderids} or ''='') GROUP BY cage,cell HAVING state1=0 ORDER BY (FrameBarcode=#{Fbarcode} or ''='') desc,shu desc,shu2,state2 asc,cage asc;")
     List<StorageCage> selectAll(String orderids,String Fbarcode);
-
+    //浼樺厛鍒ゆ柇涓�娆℃槸鍚︽湁鍚岄摑妗嗙殑绌轰綅
+    @Select("select *,min(state) state1 from storage_cage  GROUP BY cage,cell HAVING state1=0 and  FrameBarcode=#{FrameBarcode} LIMIT 1;")
+    List<StorageCage> selectAllFbarcode(String Fbarcode);
     // 鑾峰彇鍒ゆ柇璇ユ牸瀛愭槸鍚﹂渶瑕佹妸澶栫墖鎺ㄥ叆鍐呯墖浣嶇疆
     @Select("select state from storage_cage where  cage=#{cage} and cell=#{cell} and tier=1;")
     int selectcell(int cage, int cell);
@@ -31,13 +32,16 @@
     @Select("select COUNT(tier)as tier from storage_cage where  cage=#{cage} and cell=#{cell} and state!=0 and state!=3;")
     int selectsum(int cage, int cell);
 
-    // 瀹屾垚杩涚墖涓殑鐜荤拑鐘舵��
+    // 瀹屾垚鍑虹墖涓殑鐜荤拑鐘舵��
     @Update("update storage_cage set state=#{state} where glass_id=#{glassid} and state=3;")
     void UpdateCageOver(String glassid, int state);
-
+    // 瀹屾垚杩涚墖涓殑鐜荤拑鐘舵��
     @Update("update storage_cage set state=#{state} where glass_id=#{glassid} and state=2;")
     void UpdateCageadd(String glassid, int state);
-
+    //鏌ヨ鏄惁鏈夎绫诲瀷鐨勪换鍔¤繕鏈畬鎴�
+     // 鍒ゆ柇鍑虹墖涓�1鏃讹紝鏄惁鍙洿鎺ュ嚭鐗�
+    @Select("select COUNT(state) from storage_cage where state=#{state}")
+    int SelectCageState(int state);
     // 鑾峰彇鐜荤拑淇℃伅
     @Select("select *,ordernumber ,glasslength_mm as glasslengthmm,glassheight_mm as glassheightmm,barcode,listnumber,boxnumber,glasslength,glassheight,FrameBarcode from north_glass_buffer1 where barcode=#{glassid}")
     north_glass_buffer1 selectGlass(String glassid);
@@ -190,7 +194,7 @@
     int Selectqueuestate();
 
     // 鍒ゆ柇閾濇鍑虹墖琛ㄦ槸鍚︽湁鐜荤拑闇�瑕佸嚭
-    @Select("SELECT glassid FROM `out_slice` where state=0 and framestate!=1 order by sequence,id  limit 1;")
+    @Select("SELECT glassid FROM `out_slice` where state=0  order by sequence,id  limit 1;")
     String SelectOutSlice();
 
     // 鍒ゆ柇閾濇鍑虹墖琛ㄦ槸鍚︽湁鐜荤拑姝e湪鍑虹墖涓�
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
index b46dad5..7d4844b 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
@@ -29,12 +29,19 @@
         double minwidth = 0;
 
         north_glass_buffer1 glasslist = spianMapper.selectGlass(glassid); // 鑾峰彇鐜荤拑鍙傛暟
+        //濡傛灉娌℃湁姝d鏃�
         if (glasslist == null) {
+            return (300);
+        }
+        //鍒ゆ柇鏄惁杩樻湁杩涚墖浠诲姟鏈畬鎴愮殑
+        int cagestate=spianMapper.SelectCageState(2);
+        //鏈夎繘鐗囦换鍔℃湭瀹屾垚鏃惰繑鍥炰笉杩涚墖
+        if(cagestate>0){
             return (300);
         }
         double widths = glasslist.getglasslengthmm();
         String orderids = glasslist.getordernumber();
-        String FrameBarcode=glasslist.getFrameBarcode();
+        String FrameBarcode = glasslist.getFrameBarcode();
 
         List<String> adddresslist = new ArrayList<>();
         adddresslist.add("DB105.0");// 杩涚墖杞﹁捣濮嬩綅缃�
@@ -47,7 +54,11 @@
 
         // String orderid="A001";
         // 鑾峰彇璁㈠崟鐩稿叧搴︽渶楂樼殑绗煎瓙鎺掑簭
-        List<StorageCage> storageCage = spianMapper.selectAll(orderids,FrameBarcode);
+        List<StorageCage> storageCage = spianMapper.selectAllFbarcode(FrameBarcode);
+        if (storageCage.size() == 0) {
+            storageCage = spianMapper.selectAll(orderids, FrameBarcode);
+        }
+
         if (storageCage == null) {
             return (400);
         }
@@ -56,7 +67,7 @@
             cage1 = storageCage2.getCage();
             // 鍒ゆ柇璇ョ瀛愬彿鐩搁偦鏈�澶х殑绌烘牸鏁�
             int cages = spianMapper.selectCage(cage1);
-            
+
             // 濡傛灉鐩搁偦绗煎瓙娌℃湁绌烘牸,鎴栬�呮湁姝e湪鎵ц鐨勫嚭鐗囦换鍔℃椂杩斿洖400
             if (cages == 0) {
                 return (400);
@@ -145,7 +156,6 @@
         int cells;
         double glasswidth = cageout.getGlassWidth();
 
-       
         // 鍒ゆ柇鐜荤拑鍐呭鐗�
         if (tier == 2) {
             int state = spianMapper.selectGlassState(cage, cell);// 鑾峰彇鏍煎瓙鏁伴噺
@@ -155,7 +165,7 @@
             datas.add((short) 1000);
             datas.add((short) state);
             datas.add((short) 1);
-            spianMapper.OverOutSlice(glassid.toString(), 1,0);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓�
+            spianMapper.OverOutSlice(glassid.toString(), 1, 0);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓�
             spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
             spianMapper.UpdataGlassCageState(glassid.toString(), 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
 
@@ -180,11 +190,11 @@
                 datas.add((short) 1000);
                 datas.add((short) 1);
                 datas.add((short) 1);
-                spianMapper.OverOutSlice(glassid.toString(), 1,0);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓�
+                spianMapper.OverOutSlice(glassid.toString(), 1, 0);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓�
                 spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, 1);// 鏂板浠诲姟
                 spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
                 spianMapper.UpdataGlassCageState(glassid, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
-                
+
                 System.out.println("鍑虹墖浠诲姟|" + datas);
                 outmesid(glassid, "DB105.34");// 娲惧彂鍑虹墖ID
                 S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔�
@@ -194,7 +204,7 @@
             } else {
                 // 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙
                 if (cage < 6) {
-                    StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 0, 6,cell);
+                    StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 0, 6, cell);
                     if (cagecell == null) {
                         return (300);
                     }
@@ -224,7 +234,7 @@
                     return (200); // 缁撴潫
 
                 } else {// 绗煎瓙鍙峰ぇ浜�5鏃�
-                    StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11,cell);
+                    StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11, cell);
                     if (cagecell == null) {
                         return (300);
                     }
@@ -307,17 +317,17 @@
     public void overtask(String glassid) {
 
         spianMapper.UpdatetaskOut(glassid.toString());// 瀹屾垚涓婁竴娆� 鍑虹墖鎴栬�呰繘鐗囦换鍔�
-        spianMapper.OverOutSlice(glassid.toString(), 2,1);// 瀹屾垚鍑虹墖闃熷垪浠诲姟
+        spianMapper.OverOutSlice(glassid.toString(), 2, 1);// 瀹屾垚鍑虹墖闃熷垪浠诲姟
         spianMapper.UpdataGlassCage(glassid.toString(), 0);// 娓呴櫎鍑虹墖鏍煎瓙鐜荤拑淇℃伅
         spianMapper.UpdateCageOver(glassid.toString(), 0);// 鏇存敼绗煎瓙琛ㄥ嚭鐗囩姸鎬�
         spianMapper.UpdateCageadd(glassid.toString(), 1);// 鏇存敼绗煎瓙琛ㄨ繘鐗囩姸鎬�
         String barcode = spianMapper.SelectBarcode(glassid.toString());// 鑾峰彇璇ョ幓鐠冪殑閾濇id
         spianMapper.UpdateAddQueue(glassid.toString());// 鎶婅繘鐗囩殑鐜荤拑鏇存柊鍒板嚭鐗囬槦鍒椾腑
         // if (barcode != null) {
-        //     int barcodeState = spianMapper.SelectOverState(barcode);// 鑾峰彇璇ラ摑妗嗙殑鐘舵��
-        //     if (barcodeState == 0) {// 褰撹閾濇鎵�鏈夌殑鐜荤拑閮芥槸瀹屾垚鐘舵�佹椂鍒犻櫎鍦ㄥ嚭鐗囬槦鍒楃殑鏁版嵁
-        //         spianMapper.DeleteQueue(barcode);
-        //     }
+        // int barcodeState = spianMapper.SelectOverState(barcode);// 鑾峰彇璇ラ摑妗嗙殑鐘舵��
+        // if (barcodeState == 0) {// 褰撹閾濇鎵�鏈夌殑鐜荤拑閮芥槸瀹屾垚鐘舵�佹椂鍒犻櫎鍦ㄥ嚭鐗囬槦鍒楃殑鏁版嵁
+        // spianMapper.DeleteQueue(barcode);
+        // }
         // }
 
     }

--
Gitblit v1.8.0