From 1d806a95e30b2d1861c14b7db7cf6c83f5a6d41f Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期日, 17 九月 2023 17:54:00 +0800
Subject: [PATCH] 增加派发id

---
 springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java    |   14 ++++--
 springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java   |   11 ++++-
 springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java |   48 ++++++++++++++++++------
 springboot-vue3/src/main/java/com/example/springboot/AuthorityApplication.java |    4 -
 4 files changed, 54 insertions(+), 23 deletions(-)

diff --git a/springboot-vue3/src/main/java/com/example/springboot/AuthorityApplication.java b/springboot-vue3/src/main/java/com/example/springboot/AuthorityApplication.java
index ac38360..689a34d 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/AuthorityApplication.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/AuthorityApplication.java
@@ -13,9 +13,7 @@
 
   public static void main(String[] args) {
 
-    // SpringApplication.run(AuthorityApplication.class, args);
-    // 111
-    //System.out.println("null");
+   
     SpringApplication springApplication = new SpringApplication(AuthorityApplication.class);
     ConfigurableApplicationContext configurableApplicationContext = springApplication.run(args);
     WebSocketServer.setApplicationContext(configurableApplicationContext);
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 c410d62..75153b0 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
@@ -45,7 +45,7 @@
       //   // TODO Auto-generated catch block
       //   e.printStackTrace();
       // }
-     spianService.selectAll((short)257);
+    // spianService.selectAll((short)257);
       //鍒ゆ柇杩涚墖璇锋眰
       List<Short> datas1List = S7control.getinstance().ReadWord("DB106.24", 1);
       List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8", 1);
@@ -57,19 +57,23 @@
         // 鑾峰彇杩涚墖杞︾姸鎬�
         boolean exist1 = datas1ListState.contains((short) 0);
         String glassid="";
+        StringBuilder strId=new StringBuilder();
+
         // 杩涚墖璇锋眰涓�1鏃�
         if (exist == true) {
           // 褰撹繘鐗囪溅绌洪棽鏃�
           if (exist1 == true) {
             // 鑾峰彇杩涚墖id
-            List<Short> datas1ListID = S7control.getinstance().ReadWord("DB106.26", 1);
+            byte[] datas1ListID = S7control.getinstance().ReadByte("DB106.26", 4);
             if (datas1ListID != null) {
               // 鑾峰彇鐜荤拑id
-              for (Short list1 : datas1ListID) {
-                glassid=glassid.concat(list1.toString());
+              for (byte list1 : datas1ListID) { 
+                strId.append(list1);
                 
               }
-              spianService.selectAll(Short.parseShort(glassid));
+              spianService.selectAll(strId.toString());
+              //spianService.selectAll(Short.parseShort(strId.toString()));
+              S7control.getinstance().WriteByte("DB105.16",datas1ListID);
             }
 
           }
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 e86cd52..3858c8f 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
@@ -9,6 +9,8 @@
 
 import java.util.List;
 
+import javax.print.DocFlavor.STRING;
+
 @Mapper
 
 public interface SpianMapper {
@@ -33,13 +35,13 @@
      void  update();
      //鑾峰彇鐜荤拑淇℃伅
      @Select("select orderid,width from glass where glassid=#{glassid}")
-     Glass selectGlass(Short glassid);
+     Glass selectGlass(String glassid);
     
     @Insert("insert into storage_task(task_type,task_state,shelf_rack,load_rack)values(#{storage_task},#{task_state},#{shelf_rack},#{load_rack})")
      void insert(StorageTask storageTask);
     
     //鍑虹墖浠诲姟鏌ヨ
-    @Select("select cage,cell,tier,glasswidth,ROUND(id/2)as prcId,id from storage_cage as a where a.order_id=#{orderId} and state=1 order by cage desc,tier desc,cell desc LIMIT 1")
+    @Select("select cage,cell,tier,glasswidth,ROUND(id/2)as prcId,id,glass_id from storage_cage as a where a.order_id=#{orderId} and state=1 order by cage desc,tier desc,cell desc LIMIT 1")
      StorageCage selectOut(String  orderId);
     //鎸夌幓鐠僆D鍑虹墖浠诲姟鏌ヨ
     @Select("select cage,cell,tier,glasswidth,ROUND(id/2)as prcId,id from storage_cage as a where a.glass_id=#{glassid} and state=1 order by cage desc,tier desc,cell desc LIMIT 1")
@@ -59,7 +61,7 @@
 
     //淇敼绗煎瓙淇℃伅(杩涚墖)
     @Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{orderid},glasswidth=#{width} where id=#{id};")
-    void UpdataAddCage(Short orderid,Short glassid,double width,int cage,int cell,int id,int state);
+    void UpdataAddCage(Short orderid,String glassid,double width,int cage,int cell,int id,int state);
     //淇敼鍚岀瀛愭牸瀛愬搴�
      @Update("update storage_cage set width=width-#{width} where   cage=#{cage} and cell=#{cell};")
     void UpdataAddCage1(double width,int cage,int cell);
@@ -92,4 +94,7 @@
     //鍒ゆ柇鏄惁鏈夎皟鎷ㄥ畬鍚庡嚭鐗囩殑浠诲姟
     @Select("select COUNT(*)as id,glass_id from storage_task where (task_type=1 or task_type=2) and task_state=0;")
     Glass SelectDBOut();
+    //鏍规嵁绗煎瓙鏍煎瓙灞傛暟鑾峰彇鐜荤拑id
+     @Select("select glass_id from storage_cage where cage=#{cage} and cell=#{cell} and tier=2;")
+     String SelectGlassid(int cage,int cell);
 }
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 70bb729..8c8565a 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
@@ -1,5 +1,6 @@
 package com.example.springboot.service;
 
+import java.lang.reflect.Array;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -11,6 +12,7 @@
 import com.example.springboot.entity.Glass;
 import com.example.springboot.entity.StorageCage;
 import com.example.springboot.mapper.SpianMapper;
+import com.google.common.primitives.Bytes;
 
 @Service
 public class SpianService {
@@ -41,6 +43,7 @@
         int cell = cageout.getCell();// 鍑虹墖鏍煎彿
         int tier = cageout.getTier();// 鍑虹墖鍐呭鐗�
         int prcid = cageout.getPrcId();// prcid
+        String glassid=cageout.getGlassId();
         int prcid2;
         int ids;
         int cages;
@@ -59,6 +62,7 @@
             spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
             spianMapper.Inserttask(1, 0,cageout.getId(),1000,orderid);//鏂板浠诲姟         
             S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+            outmesid(glassid);//娲惧彂鍑虹墖ID
             return Result.success(datas);//缁撴潫
         } else {
             // 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲�
@@ -74,6 +78,7 @@
                 spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
                 spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
                 S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+                outmesid(glassid);//娲惧彂鍑虹墖ID
                 //spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
                 return Result.success(datas);//缁撴潫
 
@@ -88,10 +93,7 @@
                     prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峆RCID
                     ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
                     cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛�
-                    cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛�
-                                          
-                    
-                   
+                    cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛�                                                          
                  
                     // 濉叆璋冩嫧鏁版嵁
                     datas.add((short) prcid);// 璋冩嫧澶栫墖璧峰浣嶇疆
@@ -105,7 +107,9 @@
                    spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
                    spianMapper.Inserttask(2, 0,cageout.getId(),ids,orderid);//鏂板璋冨害浠诲姟
                     // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
-                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�          
+                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+                        String glassids=spianMapper.SelectGlassid(cage, cell); //鑾峰彇琚皟鎷ㄧ殑鐜荤拑id
+                        outmesid(glassids);//娲惧彂璋冩嫧鐜荤拑ID
                     return Result.success(cagecell); //缁撴潫
 
                 } else {// 绗煎瓙鍙峰ぇ浜�5鏃�
@@ -129,7 +133,9 @@
                     spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
                     spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
                     // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
-                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�             
+                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�    
+                        String glassids=spianMapper.SelectGlassid(cage, cell); //鑾峰彇琚皟鎷ㄧ殑鐜荤拑id
+                        outmesid(glassids);//娲惧彂璋冩嫧鐜荤拑ID         
                      return Result.success(cagecell); //缁撴潫
 
                 }
@@ -142,7 +148,7 @@
     // @GetMapping("/all")
     // 杩涚墖浠诲姟,浼犺鍗昳d
     // 鎸夎鍗曚紭鍏堣繘鐗�
-    public Short selectAll(Short glassid) {
+    public Short selectAll(String glassid) {
 
         int cage1;
         int cells;
@@ -206,6 +212,8 @@
                     spianMapper.UpdataAddCage1(widths, cage1, cells);//鍑忓皯鏍煎瓙瀹藉害
                     spianMapper.Inserttask(0, 0, 1000, ids,glassid.toString());//鏂板浠诲姟  
                     S7control.getinstance().WriteWord(adddresslist, datas);
+                    
+                   // S7control.getinstance().WriteByte("DB105.16",glassid);
                    return (200);              
                
             }
@@ -262,8 +270,9 @@
                 spianMapper.UpdateDBCage2(cage, cell);// 娓呴櫎鍐呯墖鏁版嵁
             }
             S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
-           
-      
+            outmesid(glassid);//娲惧彂鍑虹墖ID
+            
+            
             return (200);//缁撴潫
         } else {
             // 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲�
@@ -278,8 +287,10 @@
                 spianMapper.Inserttask(1, 0,cageout.getId(),1000 ,glassid);//鏂板浠诲姟
                 spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
                 spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
+                outmesid(glassid);//娲惧彂鍑虹墖ID
                 S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
-                //spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
+                
+                
                 return (200);//缁撴潫
 
             } else {
@@ -309,7 +320,9 @@
                    spianMapper.Inserttask(2, 0,cageout.getId(),ids,glassid);//鏂板璋冨害浠诲姟
                    spianMapper.Inserttask(1, 0,cageout.getId(),1000,glassid);//鏂板鍑虹墖浠诲姟
                     // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
-                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�          
+                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+                        String glassids=spianMapper.SelectGlassid(cage, cell); //鑾峰彇琚皟鎷ㄧ殑鐜荤拑id
+                        outmesid(glassids);//娲惧彂璋冩嫧鐜荤拑ID         
                     return (200); //缁撴潫
 
                 } else {// 绗煎瓙鍙峰ぇ浜�5鏃�
@@ -334,7 +347,9 @@
                     spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
                     spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
                     // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
-                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�             
+                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�   
+                        String glassids=spianMapper.SelectGlassid(cage, cell); //鑾峰彇琚皟鎷ㄧ殑鐜荤拑id
+                        outmesid(glassids);//娲惧彂璋冩嫧鐜荤拑ID
                      return (200);//缁撴潫
 
                 }
@@ -343,6 +358,15 @@
 
     }
 
+    public void outmesid(String glassid) {
+        List<Byte> glassidlist=new ArrayList();
+            for (char iditem : glassid.toCharArray()) { 
+                glassidlist.add(Byte.valueOf(String.valueOf(iditem)));
+            }
+            byte[] bytes=  Bytes.toArray(glassidlist);          
+            S7control.getinstance().WriteByte("DB105.30", bytes);//娲惧彂鍑虹墖id
+    }
+
     /*** 淇敼鐢ㄦ埛* @throws SQLException */
     // public static int updateUser(Glass user) throws SQLException {conn =
     // getConn();

--
Gitblit v1.8.0