From b0cd8e56e79637407ff32bd559eab896101d887c Mon Sep 17 00:00:00 2001
From: wang <3597712270@qq.com>
Date: 星期三, 03 四月 2024 16:44:28 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/Logic.java |  117 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 107 insertions(+), 10 deletions(-)

diff --git a/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/Logic.java b/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/Logic.java
index eb7da04..f239f84 100644
--- a/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/Logic.java
+++ b/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/Logic.java
@@ -1,10 +1,16 @@
 package com.mes.service.CacheGlassService;
 
+import java.util.List;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.mes.common.PlcTools.S7control;
+import com.mes.entity.EdgStorageCageDetails;
 import com.mes.entity.GlassInfo;
+import com.mes.entity.TaskCache;
+import com.mes.entity.device.PLCAutoMes;
+import com.mes.entity.device.PlcParameterObject;
 import com.mes.mapper.SelectInfo;
 
 
@@ -12,11 +18,12 @@
 public class Logic {
     @Autowired
     private SelectInfo selectInfo;
-    //璇嗗埆閫昏緫
+    //璇嗗埆閫昏緫    涓嶄氦浜�
     public void identify(String Number){
         //鏌ヨ浠诲姟
-        // PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
-        // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+        String s=S7control.getinstance().ReadWord("DB14.26", 1).get(0)+"";
         boolean isexist=isExist(Number);
         if (isexist) {
             //瀛樺湪閫昏緫    1.娣诲姞淇℃伅 2.鍥炲PLC瀛樺湪
@@ -26,22 +33,111 @@
             //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 2);
         }
     }
+    //鐞嗙墖
+    public void Process(){
+        String Result=S7control.getinstance().ReadWord("DB14.0", 1).get(0)+"";
+        String Number=S7control.getinstance().ReadWord("DB14.2", 1).get(0)+"";
+        if(Result=="1"){//杩涚墖璇锋眰
+            processInto(Number);
+        }else if(Result=="2"){//鍑虹墖璇锋眰
+            processOut();
+        }else if(Result=="3"){//杩涘嚭鐗囪姹�
+            if (!processOut()) {   //鍏堝嚭鍚庤繘
+                processInto(Number);
+            }    
+        }
+    }
     //鐞嗙墖 杩�
-    public void process(String imagePath){
+    public boolean processInto(String Number){
         //鏌ヨ娑堟伅闃熷垪閲岀殑鐜荤拑
-
+        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
+        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+        if(GlassInfo!=null){//瀛樺湪姝ょ幓鐠冪紪鍙�  
+            //鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿
+            List<EdgStorageCageDetails> list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getTemperingfeedsequence(),GlassInfo.getWidth());
+            //绌烘爡鏍煎彿
+            if (list.size()==0) {
+                list=selectInfo.SelectCacheLeisure();
+            }
+            //灏忎簬姝ょ幓鐠冮挗鍖栫増鍥惧簭鍙风殑鏍呮牸鍙�
+            if(list.size()==0){
+                list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getWidth());
+            }
+            if(list.size()>0){
+                //瀛樺湪绌烘牸  
+                //1.鐢熸垚浠诲姟锛�  璧峰浣嶇疆0   缁撴潫浣嶇疆this.slot  浠诲姟绫诲瀷 1   锛堣繘鐗囦换鍔★級
+                //2.鍥炲 1杩涚墖
+                EdgStorageCageDetails item=list.get(0);
+                selectInfo.insertCacheTask(GlassInfo.getId()+"","0",item.getSlot()+"","1");
+                S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+                return true;
+            }
+            
+        }else{
+            // ID缂栧彿涓嶅瓨鍦�   涓嶅鐞�/鍥炲PLC  杩涜鎶ヨ鎻愮ず
+        }
         //杩斿洖缁撴灉
+        return false;
     }
     //鐞嗙墖 鍑�
-    public void processOut(String imagePath){
+    public boolean processOut(){
         //鏌ヨ浠诲姟
-
+        String A09=S7control.getinstance().ReadWord("DB14.56", 1).get(0)+"";
+        String A10=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+"";
+        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+        List<EdgStorageCageDetails> list=selectInfo.SelectCacheOut();
+        boolean isOut=true;//鍏朵粬鎯呭喌鏉′欢 濡傦細鍚庣画璁惧鏁呴殰绂佹鐞嗙墖鍑虹墖 绛�
+        if (list.size()>0&&isOut) {
+            EdgStorageCageDetails item=list.get(0);
+            if(A09=="0"&&A10=="1"){
+                //鍑哄埌  A09
+                selectInfo.insertCacheTask(item.getGlassid()+"","0","09","2");
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+                return true;
+            }else if(A09=="1"&&A10=="0"){
+                //鍑哄埌  A10
+                selectInfo.insertCacheTask(item.getGlassid()+"","0","10","2");
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+                return true;
+            }else if(A09=="0"&&A10=="0"){
+                //閮藉厑璁�    A09/A10  涓婁竴鐗囨槸鍚﹀拰姝ょ墖鐜荤拑灏哄灏哄鐩稿悓   
+                String endcell="09";
+                String SendEndcell="1";
+                boolean If_=false;
+                GlassInfo glassInfo09= selectInfo.SelectLastOutCacheInfo("09");
+                GlassInfo glassInfo10= selectInfo.SelectLastOutCacheInfo("10");
+                if(glassInfo10!=null&&glassInfo10.getWidth()==item.getWidth()&&glassInfo10.getHeight()==item.getHeight()){
+                    endcell="10";
+                    SendEndcell="2";
+                }else if(glassInfo10!=null&&If_){
+                    //鍏朵粬鏉′欢
+                }
+                selectInfo.insertCacheTask(item.getGlassid()+"","0",endcell,"2");
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+                return true;
+            }
+        }
         //杩斿洖缁撴灉
+        return false;
     }
-    //纾ㄨ竟
-    public void processMb(String imagePath){
-        //鏌ヨ浠诲姟
 
+    //纾ㄨ竟   涓嶄氦浜�  鐞嗙墖鍜岀(杈规満鑷繁浜や簰
+    public void processMb(String Number){
+        //鏌ヨ浠诲姟
+        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
+        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+        if(GlassInfo!=null){
+            //鍙戦�佷换鍔�   ID   闀� 瀹� 鍘� 鍊掕 宸ヨ壓鍔熻兘绛�
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.22").getAddress(),"N10000");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.24").getAddress(), "1000");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.26").getAddress(),"800");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(),"60");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.30").getAddress(), "2");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");   
+        }
         //杩斿洖缁撴灉
     }
 
@@ -63,6 +159,7 @@
         }
         return true;//杩斿洖 瀛樺湪
     }
+
     //鏄惁瀛樺湪姝ょ紪鍙风幓鐠� 
     public boolean isExist(String Number){
         //鏌ヨ鏄惁瀛樺湪

--
Gitblit v1.8.0