From 209a57aecbf26911f6a3ae0692b51ed0289f5b1a Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期四, 14 九月 2023 17:04:56 +0800
Subject: [PATCH] 优化理片笼逻辑

---
 springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java |  201 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 129 insertions(+), 72 deletions(-)

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 2d8f2f3..942e6dd 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
@@ -19,6 +19,8 @@
 
     // @GetMapping("/all2")
     public Result selectout(String orderid) {
+        
+        spianMapper.UpdatetaskOut(); //瀹屾垚涓婁竴娆″嚭鐗囨垨鑰呰皟搴︿换鍔�
         // 瀹氫箟PRC鏁版嵁浼犻�佹暟缁�
         List<String> adddresslist = new ArrayList<>();
         adddresslist.add("DB105.6");// 鍑虹墖杞﹁捣濮嬩綅缃�
@@ -28,25 +30,39 @@
         List<Short> datas = new ArrayList<>();
         // 鑾峰彇浼樺厛鍑虹墖鐨勪綅缃�
         StorageCage cageout = spianMapper.selectOut(orderid);
+        if(cageout==null){
+           return Result.success("200");
+        }
+        
+       
+        
+
         int cage = cageout.getCage(); // 鍌ㄥ瓨鍑虹墖浣嶇疆锛岀瀛愭牸瀛愬嚑鍙风幓鐠�
         int cell = cageout.getCell();// 鍑虹墖鏍煎彿
         int tier = cageout.getTier();// 鍑虹墖鍐呭鐗�
         int prcid = cageout.getPrcId();// prcid
         int prcid2;
         int ids;
+        int cages;
+        int cells;
         double glasswidth = cageout.getGlassWidth();
         // 鍒ゆ柇鐜荤拑鍐呭鐗�
         if (tier == 2) {
             // 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂
             // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
-            spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);
-
             datas.add((short) prcid);
             datas.add((short) 1000);
             datas.add((short) 1);
             datas.add((short) 1);
-            S7control.getinstance().WriteWord(adddresslist, datas);
-            return Result.success(datas);
+               
+            spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
+            spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
+            spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟
+           
+            S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+            S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+            S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+            return Result.success(datas);//缁撴潫
         } else {
             // 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲�
             int state = spianMapper.selectGlassState(cage, cell);
@@ -57,8 +73,15 @@
                 datas.add((short) 1000);
                 datas.add((short) 1);
                 datas.add((short) 1);
-                S7control.getinstance().WriteWord(adddresslist, datas);
-                return Result.success("鐘舵�佷负0,鐩存帴鍑虹墖");
+                spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟
+                spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
+                spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
+                S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+                S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+                S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+                //spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
+                return Result.success(datas);//缁撴潫
+
             } else {
                 // 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙
                 if (cage < 6) {
@@ -69,26 +92,27 @@
                     // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
                     prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峆RCID
                     ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
-                    // 鏇存崲鐜荤拑鐨勭瀛�
-                    spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
-                    spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹�
+                    cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛�
+                    cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛�
+                                          
+                    
+                   
+                 
                     // 濉叆璋冩嫧鏁版嵁
                     datas.add((short) prcid);// 璋冩嫧澶栫墖璧峰浣嶇疆
                     datas.add((short) prcid2);
                     datas.add((short) 2);
                     datas.add((short) 1);
+                   // 鏇存崲鐜荤拑鐨勭瀛�
+                   spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴�
+                   spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+                   spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
+                   spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟
                     // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
-                    S7control.getinstance().WriteWord(adddresslist, datas);
-                    datas.clear(); // 娓呯┖鏁翠釜鍒楄〃
-                    // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗�,濉叆鍑虹墖鏁版嵁
-                    datas.add((short) prcid);
-                    datas.add((short) 1000);
-                    datas.add((short) 1);
-                    datas.add((short) 1);
-                    S7control.getinstance().WriteWord(adddresslist, datas);
-                    // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
-
-                    return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹�
+                        S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+                        S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�          
+                    return Result.success(cagecell); //缁撴潫
 
                 } else {// 绗煎瓙鍙峰ぇ浜�5鏃�
                     StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11);
@@ -98,25 +122,22 @@
                     // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
                     prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峱rcID
                     ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
+                    cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛�
+                    cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛�
                     // 濉叆璋冩嫧鏁版嵁
                     datas.add((short) prcid);
                     datas.add((short) prcid2);
                     datas.add((short) 2);
                     datas.add((short) 1);
-                    // 杞Щ鍘熻皟鎷ㄦ牸瀛愭暟鎹�
+                    spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟
+                    spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴�
                     spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
-                    spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹�
+                    spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
                     // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
-                    S7control.getinstance().WriteWord(adddresslist, datas);
-                    datas.clear(); // 娓呯┖鏁翠釜鍒楄〃
-                    // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗�
-                    // 濉叆鍑虹墖鏁版嵁
-                    datas.add((short) prcid);
-                    datas.add((short) 1000);
-                    datas.add((short) 1);
-                    datas.add((short) 1);
-                    S7control.getinstance().WriteWord(adddresslist, datas);
-                    return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹�
+                        S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+                        S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�             
+                     return Result.success(cagecell); //缁撴潫
 
                 }
 
@@ -136,10 +157,11 @@
         int prcid;
         int tiers;
         int prctier;
-
+        
+        spianMapper.Updatetask(1, 0);//瀹屾垚浠诲姟
         Glass glasslist = spianMapper.selectGlass(glassid);
-        if (glasslist == null) {
-            return (300);
+        if(glasslist==null){
+          return (300);
         }
         double widths = glasslist.getWidth();
         Short orderids = glasslist.getOrderId();
@@ -169,6 +191,12 @@
                 tiers = cages1.getTier();// 鍐呭鐗�
                 cells = cages1.getCell();// 鏍煎瓙鍙�
                 prcid = cages1.getPrcId();// 浼犵粰prc鐨勭洰鏍囧湴id
+                
+                
+               if (glasslist == null) {
+                    return (300);
+                }
+                spianMapper.Inserttask(0, 0, 1000, ids);//鏂板浠诲姟
                 prctier = spianMapper.selectsum(cage1, cells);// 浼犵粰prc鐨勬牸瀛愬唴鐜荤拑鏁�
                 // 鏈夊悎閫傜┖鏍兼椂杩涚墖
                 if (cages > 1 && cages1.getTier() != null) {
@@ -179,19 +207,22 @@
                     datas.add((short) 1);
                     // 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠�
                     spianMapper.UpdataAddCage(orderids, glassid, widths, cage1, cells, ids, 1);
+                    spianMapper.UpdataAddCage1(widths, cage1, cells);//鍑忓皯鏍煎瓙瀹藉害
+                    
                     S7control.getinstance().WriteWord(adddresslist, datas);
-
+                    S7control.getinstance().WriteWord("DB106.10", (short)0); //杩涚墖浠诲姟瀹屾垚鏀规垚0
+                    S7control.getinstance().WriteWord("DB106.8", (short)1); //杩涚墖杞︾姸鎬佹敼鎴愬繖纰�
                     return (200);
                 }
             }
 
         }
-        return (300);
+        return (400);
 
     }
 
     // @GetMapping("/all2")
-    public Result selectout2(String glassid) {
+    public Short selectout2(String glassid) {
         // 瀹氫箟PRC鏁版嵁浼犻�佹暟缁�
         List<String> adddresslist = new ArrayList<>();
         adddresslist.add("DB105.6");// 鍑虹墖杞﹁捣濮嬩綅缃�
@@ -201,92 +232,117 @@
         List<Short> datas = new ArrayList<>();
         // 鑾峰彇浼樺厛鍑虹墖鐨勪綅缃�
         StorageCage cageout = spianMapper.selectOut2(glassid);
+        if(cageout==null){
+           return (300);
+        }
+        
+       
+        
+
         int cage = cageout.getCage(); // 鍌ㄥ瓨鍑虹墖浣嶇疆锛岀瀛愭牸瀛愬嚑鍙风幓鐠�
         int cell = cageout.getCell();// 鍑虹墖鏍煎彿
         int tier = cageout.getTier();// 鍑虹墖鍐呭鐗�
         int prcid = cageout.getPrcId();// prcid
         int prcid2;
         int ids;
+        int cages;
+        int cells;
         double glasswidth = cageout.getGlassWidth();
         // 鍒ゆ柇鐜荤拑鍐呭鐗�
         if (tier == 2) {
             // 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂
             // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
-            spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);
-
             datas.add((short) prcid);
             datas.add((short) 1000);
             datas.add((short) 1);
             datas.add((short) 1);
-            S7control.getinstance().WriteWord(adddresslist, datas);
-            return Result.success(datas);
+               
+            spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
+            spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
+            spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟
+           
+            S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+            S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+            S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+            return (200);//缁撴潫
         } else {
             // 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲�
             int state = spianMapper.selectGlassState(cage, cell);
             // 鍒ゆ柇鍐呯墖鏄惁闇�瑕佽皟鎷�
             if (state == 0) {
-                return Result.success("鐘舵�佷负0,鐩存帴鍑虹墖");
+                spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);
+                datas.add((short) prcid);
+                datas.add((short) 1000);
+                datas.add((short) 1);
+                datas.add((short) 1);
+                spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟
+                spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
+                spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
+                S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+                S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+                S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+                //spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
+                return (200);//缁撴潫
+
             } else {
                 // 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙
                 if (cage < 6) {
                     StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 0, 6);
                     if (cagecell == null) {
-                        return Result.success(cagecell);
+                        return (300);
                     }
                     // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
                     prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峆RCID
                     ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
-                    // 鏇存崲鐜荤拑鐨勭瀛�
-                    spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
-                    spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹�
+                    cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛�
+                    cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛�
+                    
+                       
+                    
+                   
+                 
                     // 濉叆璋冩嫧鏁版嵁
                     datas.add((short) prcid);// 璋冩嫧澶栫墖璧峰浣嶇疆
                     datas.add((short) prcid2);
                     datas.add((short) 2);
                     datas.add((short) 1);
+                   // 鏇存崲鐜荤拑鐨勭瀛�
+                   spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴�
+                   spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+                   spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
+                   spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟
                     // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
-                    S7control.getinstance().WriteWord(adddresslist, datas);
-                    datas.clear(); // 娓呯┖鏁翠釜鍒楄〃
-                    // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗�,濉叆鍑虹墖鏁版嵁
-                    datas.add((short) prcid);
-                    datas.add((short) 1000);
-                    datas.add((short) 1);
-                    datas.add((short) 1);
-                    S7control.getinstance().WriteWord(adddresslist, datas);
-                    // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
-
-                    return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹�
+                        S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+                        S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�          
+                    return (200); //缁撴潫
 
                 } else {// 绗煎瓙鍙峰ぇ浜�5鏃�
                     StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11);
                     if (cagecell == null) {
-                        return Result.success(cagecell);
+                        return (300);
                     }
                     // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
                     prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峱rcID
                     ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
+                    cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛�
+                    cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛�
                     // 濉叆璋冩嫧鏁版嵁
                     datas.add((short) prcid);
                     datas.add((short) prcid2);
                     datas.add((short) 2);
                     datas.add((short) 1);
-                    // 杞Щ鍘熻皟鎷ㄦ牸瀛愭暟鎹�
+                    spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟
+                    spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴�
                     spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
-                    spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹�
+                    spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
                     // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
-                    S7control.getinstance().WriteWord(adddresslist, datas);
-                    datas.clear(); // 娓呯┖鏁翠釜鍒楄〃
-                    // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗�
-                    // 濉叆鍑虹墖鏁版嵁
-                    datas.add((short) prcid);
-                    datas.add((short) 1000);
-                    datas.add((short) 1);
-                    datas.add((short) 1);
-                    S7control.getinstance().WriteWord(adddresslist, datas);
-                    return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹�
+                        S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+                        S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�             
+                     return (200);//缁撴潫
 
                 }
-
             }
         }
 
@@ -311,3 +367,4 @@
     // }
 
 }
+

--
Gitblit v1.8.0