From 328f9b1f7a046378ef5d8f2b8337770fff372cc7 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期六, 26 十月 2024 19:12:07 +0800
Subject: [PATCH] 更新测试后代码

---
 springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java |  143 ++++++++++++++++++++++++++++++-----------------
 1 files changed, 90 insertions(+), 53 deletions(-)

diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java b/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java
index 5c4474a..64d54bb 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java
@@ -8,7 +8,6 @@
 import com.example.springboot.component.S7control;
 import com.example.springboot.entity.GlassInfo;
 import com.example.springboot.entity.StorageCage;
-import com.example.springboot.entity.GlassInfo;
 import com.example.springboot.entity.device.PlcParameterObject;
 import com.example.springboot.mapper.AlbaniaMapper;
 import com.google.common.primitives.Bytes;
@@ -25,78 +24,109 @@
         //鏈夎繘鐗囪姹備絾鏄祴閲忓彴娌℃湁鐜荤拑
         return 400;
     }
+    
+    System.out.println(glassInfo+"鍒濆");
     //瀹氫箟鍒濆瀛楁
-    int cageid;
+    StorageCage cage;
     String glassid=glassInfo.getGlassid();
     Double width=glassInfo.getWidth();
-    //int mateid=glassInfo.getMateid();
+    Double height=glassInfo.getHeight();
     String flowcard=glassInfo.getFlowcard();
     int glasstype=glassInfo.getGlasstype();
-    
-    
-
     //鍒ゆ柇鏄惁鏈夊悓绫诲瀷鐨�
-     cageid=albaniaMapper.SelectCage(glasstype,width, 50);
+    cage=albaniaMapper.SelectCage(glasstype,width, 300);
+     
     //濡傛灉鏈夊悓绫诲瀷鏃剁洿鎺ュ鍔�
-    if(cageid!=Integer.MIN_VALUE){
+    if(cage!=null){
         //鍙戦�乸lc浠诲姟
-        //Mestast(glassid,1001,cageid,1);
+        Mestast(glassid, 1001, cage.getId(), 1,"MESID1",1);
+        System.out.println("浠诲姟鍙戦�佺幓鐠僫d:"+glassid+"璧峰浣嶇疆:"+1001+"鏍煎瓙鍙�:"+cage.getId()+"鍚姩:"+1);
         
     }else{ 
          //鍒ゆ柇鐜荤拑鏄惁杩涘叆澶х墖绗�
-        if(glassInfo.getThickness()>=15){
-            cageid=albaniaMapper.SelectNewCell(3,5);
+         if(glassInfo.getThickness()>=15){
+            cage=albaniaMapper.SelectNewCell(3,5);
         }else{
-            cageid=albaniaMapper.SelectNewCell(3,5);
-            //鍙戦�乸lc浠诲姟
+            cage=albaniaMapper.SelectNewCell(0,4);
+            
+            System.out.println(cage+"鐞嗙墖绗煎垽鏂�");
         }
         //褰撹繑鍥炵殑鏍煎瓙鍙蜂负绌烘椂,杩斿洖400绗煎瓙宸叉弧
-        if(cageid!=Integer.MIN_VALUE){
-            Mestast(glassid,1001,cageid,1);
-            //鍙戦�乸lc浠诲姟
-            
+        if(cage!=null){
+            albaniaMapper.AddCage(cage.getId(), glassid,width, height, 1, glasstype, 0);
+            Mestast(glassid,1001,cage.getId(),1,"MESID1",1);
+            System.out.println("浠诲姟鍙戦�佺幓鐠僫d:"+glassid+"璧峰浣嶇疆:"+1001+"鏍煎瓙鍙�:"+cage.getId()+"鍚姩:"+1);
+            albaniaMapper.UpdateStorage(width,height,cage.getId());
         }else{
             return(400);
         }
     }
     //澧炲姞浠诲姟璁板綍
-    albaniaMapper.Inserttask(0, 0, 1001, cageid, glassid,glasstype, flowcard,0,0);
+    albaniaMapper.Inserttask(0, 0, 1001, cage.getId(), glassid,glasstype, flowcard,0,0);
+    albaniaMapper.UpdateQueueState(glassid);
     return(200);
 
 }
 
     //鍑虹墖
     public Short selectout(int line) {
-        int mateid;
-        int glasstype;
-        int tier;
-        int sumid;
-        String flowcard;
         GlassInfo glassmate=new GlassInfo();
-           
+        GlassInfo method=new GlassInfo();
+        StorageCage glass=new StorageCage();
+        int glassend=0;
+        method=albaniaMapper.SelectMethod(line);
+        if(method==null){
+            return (400);
+        }
+        double width=0;
             for(int i=1;i<=7;i++){
-                glassmate= albaniaMapper.SelectOutGlass(line);
-                mateid=glassmate.getMateid();
-                glasstype=glassmate.getGlasstype();
-                tier=glassmate.getTier();
-                sumid=glassmate.getId();
-                flowcard=glassmate.getFlowcard(); 
-   
-                    StorageCage glass= albaniaMapper.SelectCageGlass(glasstype);
-                    //鍙戦�侀厤鐗囨暟鎹�
-                    Mestast(glassmate.getGlasstype()+"i", glass.getId(),2002, 0);
-                    albaniaMapper.AddFinishNumber(flowcard, mateid, tier);
-                    albaniaMapper.Inserttask(1, 0, glass.getId(), 2002, glassmate.getGlassid()+i, glasstype,glass.getFlowcard(),mateid,tier);
-                    if(tier==sumid){
-                        //鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠�
-                        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short)2);//鍑虹墖浠诲姟鍚姩
-                        return (200);//缁撴潫
-                    }
+                //濡傛灉涓嶆槸鐩撮�氭ā寮忓彧鍑烘湁瀹屾暣閰嶇墖鐨勬祦绋嬪崱
+                if(method.getMethod()==0){
+                    glassmate= albaniaMapper.SelectOutGlass(1);
+                }else{
+                    //鐩撮�氭ā寮忔椂鎸夐『搴忕洿鍑�
+                    glassmate= albaniaMapper.SelectOutGlass2(1);
+                    //鑾峰彇鐩撮�氭ā寮忔渶鍚庝竴鍧�
+                    glassend=albaniaMapper.SelectOutGlassend(1);
+                }
+                System.err.println("method:"+method+"glassmate:"+glassmate);
+                System.err.println(line);
+                if(glassmate==null){ 
+                    //鏈鍙栦换鍔�
+                    System.out.println("鏈鍙栦换鍔�");
+                    return (400);
+                }else{
                 
+                glass= albaniaMapper.SelectCageGlass(glassmate.getGlasstype()); 
+                System.out.println("glassmate:"+glassmate+"glassend:"+glassend+"glass:"+glass);   
+                  if(glass!=null){  
+                    //鍙戦�佷换鍔′箣鍓嶅垽鏂溅涓婄殑鍓╀綑瀹藉害鏄惁澶т簬姝ょ幓鐠�
+                    width=width+glassmate.getWidth()+300;
+                    //澶т簬杞︿笂绌轰綑瀹藉害鏃舵彁鍓嶅彂閫佸嚭鐗囧惎鍔�
+                    if(width>5000){
+                        //鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠�
+                        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short)1);//鍑虹墖浠诲姟鍚姩
+                        return (200);//缁撴潫
+                      }
+                    //鍙戦�侀厤鐗囨暟鎹�
+                    Mestast(glass.getGlassId(), glass.getId(),40, 0,"MESID"+i,i);
+                    albaniaMapper.AddFinishNumber(glassmate.getFlowcard(), glassmate.getMateid(), glassmate.getTier());
+                    albaniaMapper.Inserttask(1, 0, glass.getId(), 2001, glassmate.getGlassid(), glassmate.getGlasstype(),glass.getFlowcard(),glassmate.getMateid(),glassmate.getTier());
+                      if(glassmate.getTier()==glassmate.getId()||glassmate.getTier()==glassend){//褰撻厤鐗囨暟閲忕瓑浜庢垚鍝佸皬鐗囨�荤墖鏁版椂
+                        //鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠�
+                        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short)1);//鍑虹墖浠诲姟鍚姩
+                        System.out.println("浠诲姟绫诲瀷:1,浠诲姟鐘舵��:0,璧峰:"+glass.getId()+",鐩爣"+"40");
+                        return (200);//缁撴潫
+                      }
+                     
+                      
+                    }else{
+                        return (400);//缁撴潫
+                    }
+                    
+                
+                }
             }
-           
-     
-       
         return(200);// 缁撴潫
     }
 
@@ -111,9 +141,10 @@
             glassidlist.add((byte) iditem);
         }
         byte[] bytes = Bytes.toArray(glassidlist);
+        //writeString
         System.out.println("outmesidbytes:" + bytes.length);
-        S7control.getinstance().WriteByte(plcmes.getPlcParameter(address).getAddress(),bytes);
-        //S7control.getinstance().WriteByte(address, bytes);// 娲惧彂鍑虹墖id
+        System.out.println(plcmes.getPlcParameter(address).getAddress());
+        System.out.println();
 
     }
 
@@ -150,15 +181,21 @@
     }
 
     //涓嬪彂鐞嗙墖浠诲姟
-    public void Mestast(String glassid,int MESToPLCStart1,int MESToPLCTarget1,int MESToPLC) {
-        outmesid(glassid, "MESID1");//涓嬪彂鐜荤拑id
-        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCStart1").getAddress(), (short) MESToPLCStart1);//璧峰浣嶇疆
-        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCTarget1").getAddress(), (short) MESToPLCTarget1);//鐩爣浣嶇疆
+    public void Mestast(String glassid,int MESToPLCStart1,int MESToPLCTarget1,int MESToPLC,String address,int i) {
+        S7control.getinstance().writeString(plcmes.getPlcParameter(address).getAddress(),glassid);//鐜荤拑id
+        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCStart"+i).getAddress(), (short) MESToPLCStart1);//璧峰浣嶇疆
+        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCTarget"+i).getAddress(), (short) MESToPLCTarget1);//鐩爣浣嶇疆
         if(MESToPLC!=0){
             S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short)MESToPLC);//mes鐞嗙墖浠诲姟绫诲瀷
-        }
-        
-        
+        }    
     }
+    
+    // 鎵爜澧炲姞闃熷垪浠诲姟
+    public boolean scan(String address) {
+        List<Short> list = S7control.getinstance().ReadWord(address, 1);// 杩斿洖涓簍ure鏃朵负1
+        boolean listbool = list.contains((short) 1);
+        return listbool;
+    }
+
 
 }

--
Gitblit v1.8.0