From 814323aa300f65154c299a9f3b1c44aa6cb5e9c6 Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期五, 22 三月 2024 10:59:59 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/Albania_Mes

---
 springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java |   22 +++-
 springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java     |   39 +++----
 springboot-vue3/src/main/java/com/example/springboot/component/S7control.java        |    9 +
 Albania_Mes-ui/src/views/home/index.vue                                              |  147 ++++++++++++++++-------------
 springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java       |    9 +
 springboot-vue3/src/main/resources/JsonFile/PlcAlbania.json                          |    8 +
 springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java          |   10 +-
 springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java          |    8 +
 8 files changed, 147 insertions(+), 105 deletions(-)

diff --git a/Albania_Mes-ui/src/views/home/index.vue b/Albania_Mes-ui/src/views/home/index.vue
index 0114c33..4cf0f78 100644
--- a/Albania_Mes-ui/src/views/home/index.vue
+++ b/Albania_Mes-ui/src/views/home/index.vue
@@ -5,8 +5,8 @@
 }
 
 .occupy {
-    height: 100%;
-    width: 20%;
+    height: 50%;
+    width: 45%;
     background-color: white;
     margin: 0px 8px 0px 8px;
     border: 1px #EBEEF5 solid;
@@ -74,6 +74,7 @@
     max-width: 57%;
     background-size: 1050px 1400px;
     margin-top: -280px;
+    overflow: hidden;
     /* width: 1660px;
     max-width: 100vw;
     background-size: 1660px 560px; */
@@ -82,17 +83,14 @@
 }
 
 .blocks-img {
-    height: 88px;
-    line-height: 90px;
-    color: white;
+    height: 900px;
     max-width: 100vw;
     background-repeat: no-repeat;
     background-attachment: local;
-    width: 32px;
+    width: 1200px;
     position: absolute;
-    background-image: url('../../img/bigcar01.png');
-    background-size: 40px 87px;
-    /* background-size: 46px 94px; */
+    background-image: url(/img/car.c2f92670.png);
+    background-size: 800px 1200px;
 }
 
 .blocks-img2 {
@@ -237,74 +235,73 @@
     height: 15px;
     position: absolute;
 }
+
 /*
 
 */
 #fileinput .container {
-  width: 800px;
-  margin: 0 auto;
+    width: 800px;
+    margin: 0 auto;
 }
 
 #fileinput .header {
-  display: flex;
-  justify-content: space-between;
-  margin-bottom: 10px;
+    display: flex;
+    justify-content: space-between;
+    margin-bottom: 10px;
 }
 
 #fileinput table {
-  width: 100%;
-  border-collapse: collapse;
-  border: 1px solid;
+    width: 100%;
+    border-collapse: collapse;
+    border: 1px solid;
 }
 
 #fileinput tr,
 #fileinput th,
 #fileinput td {
-  border: 1px solid #000;
-  padding: 5px;
+    border: 1px solid #000;
+    padding: 5px;
 }
 
 #fileinput button {
-  border: none;
-  padding: 5px;
-  background-color: #00a297;
-  color: #fff;
-  border-radius: 5px;
-  cursor: pointer;
-  margin: 0 5px;
+    border: none;
+    padding: 5px;
+    background-color: #00a297;
+    color: #fff;
+    border-radius: 5px;
+    cursor: pointer;
+    margin: 0 5px;
 }
 
 #fileinput tr:nth-child(2n) {
-  background-color: #dcdcdc;
+    background-color: #dcdcdc;
 }
 
 #fileinput .hide {
-  display: none;
+    display: none;
 }
 
 #fileinput .c1 {
-  position: fixed;
-  top: 0;
-  bottom: 0;
-  left: 0;
-  right: 0;
-  background: rgba(0, 0, 0, .5);
-  z-index: 2;
+    position: fixed;
+    top: 0;
+    bottom: 0;
+    left: 0;
+    right: 0;
+    background: rgba(0, 0, 0, .5);
+    z-index: 2;
 }
 
 #fileinput .c2 {
-  background-color: white;
-  position: fixed;
-  width: 400px;
-  height: 300px;
-  top: 50%;
-  left: 50%;
-  z-index: 3;
-  margin-top: -150px;
-  margin-left: -200px;
+    background-color: white;
+    position: fixed;
+    width: 400px;
+    height: 300px;
+    top: 50%;
+    left: 50%;
+    z-index: 3;
+    margin-top: -150px;
+    margin-left: -200px;
 }
-
-
 </style>
 <template>
     <el-container>
@@ -338,20 +335,42 @@
             </div>
             <div style="display: flex;align-items: center;">
                 <div class="blocks" style="position: relative;width: 100%;">
+                    <div class="blocks-img" :style="'z-index:999;left:150px;top:555px;'">
 
+                    </div>
+                    <div
+                        :style="'position: absolute;z-index:999;left:271px;top:987px;width:210px;height:38px;background-color:' + ShowDeviceList(0) + ';;'">
+                    </div>
+                    <div
+                        :style="'position: absolute;z-index:999;left:553px;top:956px;width:110px;height:74px;background-color:' + ShowDeviceList(0) + ';;'">
+                    </div>
+                    <div
+                        :style="'position: absolute;z-index:999;left:800px;top:450px;width:115px;height:30px;background-color:' + ShowDeviceList(0) + ';;'">
+                    </div>
+                    <div
+                        :style="'position: absolute;z-index:999;left:800px;top:675px;width:115px;height:30px;background-color:' + ShowDeviceList(0) + ';;'">
+                    </div>
+                    <div
+                        :style="'position: absolute;z-index:999;left:740px;top:930px;width:230px;height:90px;background-color:' + ShowDeviceList(0) + ';;'">
+                        <div v-for="item in cagelist1" :key="item['number']">
+                            <div v-for="(num) in item['number']" :key="num">
+                                1
+                            </div>
+                        </div>
+                    </div>
                 </div>
                 <div>
-                    <div style="padding: 10px;display: flex;height:100px;">
+                    <div style="padding: 10px;display: flex;height: 300px;flex-wrap: wrap;">
                         <div v-for="item in tableData" :key="item['cageno']" class="occupy">
                             <el-col style="text-align:left;font-weight: bold;">#{{ item['cage'] }}</el-col>
                             <el-col
-                                style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-                                <span class="biao">{{ $t('Usage') }}</span><span class="zhi">{{ item['cell'] }}%</span>
+                                style="text-align:left;display:flex;justify-content: space-between;align-items: center;height: 70px;">
+                                <span class="biao">{{ $t('Usage') }}</span><span class="zhi">{{ item['width'] }}%</span>
                             </el-col>
                             <hr style="width:80%;margin: 0 auto;" />
                             <el-col
                                 style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-                                <span class="biao">{{ $t('Space (Pieces)') }}</span><span class="zhi">{{ item['state']
+                                <span class="biao">{{ $t('Space (Pieces)') }}</span><span class="zhi">{{ item['cell']
                                     }}</span>
                             </el-col>
                         </div>
@@ -440,7 +459,7 @@
                             <td>{{ item.films }}</td>
                             <td>{{ item.quantity }}</td>
                             <td>{{ item.tier }}</td>
-                            <td>{{ item.matching}}</td>
+                            <td>{{ item.matching }}</td>
                             <td>{{ item.glasstype }}</td>
                             <td>{{ item.productname }}</td>
                         </tr>
@@ -599,7 +618,7 @@
 <script>
 
 import {
-    home, home2, SelectCageInfo,
+    home, SelectCageInfo,
     Disabled, SelectPermissionByUserName, currentUsername, CompleteQueue,
     isAllowReorderings,
 
@@ -706,7 +725,7 @@
             reset: false,
             isQueueWarning: false,
             CurrentFrame: [],
-            DeviceList: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+            DeviceList: [1, 1, 1, 1],
             GlassIdList: [],
             Scanningmethod: true,
             CurrrentGlassId: "",
@@ -762,7 +781,10 @@
                         // this.car1 = 210 + 11.25 * (obj.params[0][1]-this.carlist[1]['start'])/(this.carlist[1]['end']-this.carlist[1]['start'])*100;
                         // this.car2 = 300 + 11.25 * (obj.params[0][1]-this.carlist[1]['start'])/(this.carlist[1]['end']-this.carlist[1]['start'])*100;
                     }
-
+                    // 鑾峰彇璁惧鐘舵��
+                    if (obj.DeviceList != null) {
+                        this.DeviceList = obj.DeviceList[0];
+                    }
                     this.tableData = obj.tableData[0];
                     this.cagelist1 = obj.cagelist1[0];
                     this.cagelist2 = obj.cagelist2[0];
@@ -850,13 +872,6 @@
             SelectCageInfo("").then(res => {
                 this.cageinfo = res.data.cageinfo;
                 this.currentPages = 1;
-            });
-            //鍔犺浇鐞嗙墖绗肩幓鐠冩暟鎹�
-            home2().then(res => {
-                this.cagelist1 = res.data.list1;
-                this.cagelist2 = res.data.list2;
-                this.cagelist3 = res.data.list3;
-                this.cagelist4 = res.data.list4;
             });
         },
         //娣诲姞鐞嗙墖绗肩幓鐠�
@@ -1021,9 +1036,9 @@
                 let _this = this //鎶奷ata閲岀殑鏁版嵁璧嬪�肩粰鏂扮殑鍙橀噺
                 // wb:wordbook 宸ヤ綔琛�  
                 reader.addEventListener("load", function (e) {
-                    
+
                     var data = e.target.result; //璇诲彇鎴愬姛鍚巖esult涓殑鏁版嵁
-                    var wb = XLSX.read(data, { type: "binary" });  
+                    var wb = XLSX.read(data, { type: "binary" });
                     let sheetName = wb.SheetNames[0]; //鏄幏鍙朣heets涓涓�涓猄heet鐨勫悕瀛�
                     let sheets = wb.Sheets[sheetName];
                     let dataList2 = JSON.stringify(XLSX.utils.sheet_to_json(sheets));
@@ -1036,10 +1051,10 @@
             }
         },
         Add() {
-            
+
         },
         importData() {
-            
+
             //let tbdata=JSON.stringify(this.dataList);
             let tbdata=this.dataList;
             console.log(tbdata);
@@ -1050,7 +1065,7 @@
             });
         },
         del() {
-            
+
             this.StorageCageAdd = true;
         }
 
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
index 13c2640..eed7ccf 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
@@ -39,14 +39,17 @@
       // List<Short> E0sss1id = S7control.getinstance().ReadWord("DB14.0",1);
       // String E01id = S7control.getinstance().readStrings("DB14.38");
       // System.out.println(E01id);
-      // if (S7control.getinstance().CheckConnected() == false) {
-        byte[] E0sss1id = S7control.getinstance().ReadByte("DB14.208",1);
+      // if (S7control.getinstance().CheckCsonnected() == false) {
+        List<Short> E0sss1id = S7control.getinstance().ReadWord("DB14.206",1);
+        List<String> st= S7control.getinstance().readStrings("DB14.206");
+        byte[] E0sss1ids = S7control.getinstance().ReadByte("DB14.206",2);
+        byte[] E0sss1idss = S7control.getinstance().ReadByte("DB14.0",210);
       spianService = WebSocketServer.applicationContext.getBean(SpianServiceNew.class);
       albaniaMapper = WebSocketServer.applicationContext.getBean(AlbaniaMapper.class);
       //spianService.selectAll(albaniaMapper.SelectGlass());
       //璇诲彇DB14鍖烘枃浠�
       PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
-
+      
     
       String ExportTOMES1=plcmes.getPlcParameter("ExportTOMES1").getValue();//鍑虹墖璇锋眰涓�绾�
       String ExportToMES2=plcmes.getPlcParameter("ExportToMES2").getValue();//鍑虹墖璇锋眰浜岀嚎
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
index 4c3aa17..2a2322c 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -77,13 +77,13 @@
                 storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
 
                 // 绗煎瓙浣跨敤鎯呭喌
-                List<StorageCage> tableData = homeMapper.selectAll();
+                List<StorageCage> tableData = homeMapper.selectAlls();
                 jsonObject.append("tableData", tableData);
                 // 鏍肩悊鐗囩鏍煎瓙鐘舵��
-                List<StorageCage> cagelist1 = homeMapper.selectRack1();
-                List<StorageCage> cagelist2 = homeMapper.selectRack2();
-                List<StorageCage> cagelist3 = homeMapper.selectRack3();
-                List<StorageCage> cagelist4 = homeMapper.selectRack4();
+                List<StorageCage> cagelist1=storageCageService.SelectStorageCageByCage(1);
+                List<StorageCage> cagelist2=storageCageService.SelectStorageCageByCage(2);
+                List<StorageCage> cagelist3=storageCageService.SelectStorageCageByCage(3);
+                List<StorageCage> cagelist4=storageCageService.SelectStorageCageByCage(4);
                 jsonObject.append("cagelist1", cagelist1);
                 jsonObject.append("cagelist2", cagelist2);
                 jsonObject.append("cagelist3", cagelist3);
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java b/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
index 44a6805..d4a7529 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
@@ -201,7 +201,6 @@
     public List<Short> ReadWord(String address, int count) {
         if (s7PLC == null)
             return null;
-
         List<String> addresslist = GetAddressList(address, count, 16);
         try {
             return s7PLC.readInt16(addresslist);
@@ -211,7 +210,13 @@
             return null;
         }
     }
-
+    public byte[] Readbyte(String address, int count) {
+        byte[] byt=new byte[count];
+        int wordcount=((count%2==0)?count/2:count+1);
+        List<Short> word=ReadWord(address,wordcount);
+        
+        return byt;
+    }
     /**
      * 鎸夋寚瀹氱殑鍦板潃 璇诲彇byte缁撴灉闆�
      * 
diff --git a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
index bf310e4..40f05a3 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -17,29 +17,28 @@
         //
         System.out.println("鍚姩瀹屾垚");
         // new PLCAutoMes().start();
-        //  new PlcHold().start();
-        //  new PlcHoldNew().start();
-        
+        // new PlcHold().start();
+        // new PlcHoldNew().start();
 
-         new Plchome().start();
-        //  new PlcLayout().start();
-        //  new Plcalarm().start();
-        //  new Plcsign().start();
-        //  new Plcstate().start();
-        //  new PlcPositioning1().start();
-        //  new PlcParameter2().start();
-        //  new PLCAutomaticParameterSetting().start();
+        new Plchome().start();
+        // new PlcLayout().start();
+        // new Plcalarm().start();
+        // new Plcsign().start();
+        // new Plcstate().start();
+        // new PlcPositioning1().start();
+        // new PlcParameter2().start();
+        // new PLCAutomaticParameterSetting().start();
 
-        //  new PlcManualonePosition().start();
-        //  new PlcManualonePosition2().start();
-        //  new PlcServoManualone().start();
-        //  new PLCManualJog().start();
-        //  new Plclog().start();
+        // new PlcManualonePosition().start();
+        // new PlcManualonePosition2().start();
+        // new PlcServoManualone().start();
+        // new PLCManualJog().start();
+        // new Plclog().start();
 
-        //  new PlcInteractionState().start();
-        //new PlcParameter1Review().start();
-        //new PLCAutomaticParameterSettingReview2().start();
+        // new PlcInteractionState().start();
+        // new PlcParameter1Review().start();
+        // new PLCAutomaticParameterSettingReview2().start();
 
-    // new PLCManualJogReview().start();
+        // new PLCManualJogReview().start();
     }
 }
\ No newline at end of file
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
index e2c5d54..f5df5a2 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -22,6 +22,9 @@
   @Select("select cage,round(100-(21-sum(if(state>0,1,state)))/21*100) as cell,21-sum(if(state>0,1,state)) as state from (select cage,cell,max(state) as state from storage_cage group by cage,cell) as cages group by cage")
   List<StorageCage> selectAll();
 
+  @Select("Select cage,sum(case when number=0 or number is null then 1 else 0 end) as cell,100-sum(case when number=0 or number is null then 1 else 0 end)/count(id)*100 as width from storage_cage group by cage")
+  List<StorageCage> selectAlls();
+
   // 鏌ヨ10-6绗煎唴灞傛牸瀛愮姸鎬�
   @Select("SELECT cage,state,ifnull(glasswidth/2750*2,0) as glasswidth from storage_cage where cage>5 and tier=2 order by cage desc,cell desc")
   List<StorageCage> selectRack1();
@@ -284,7 +287,7 @@
   @Update("update queue set flowcard=#{flowcard},glasswidth=#{width},glassheight=#{height},glasstype=#{glasstype},state=1 where state<=0")
   void UpdateQueue(String flowcard,double width,double height,Integer glasstype);
 
-  @Update("update glassinfo set finishnumber=finishnumber+1 where flowcard=#{flowcard} and mateid=#{mateid} and tier=#{geTier}")
+  @Update("update glassinfo set finishnumber=ifnull(finishnumber,0)+1 where flowcard=#{flowcard} and mateid=#{mateid} and tier=#{geTier}")
   void AddGlassNo(String flowcard, Integer mateid, Integer geTier);
   
   //娣诲姞鍑虹墖闃熷垪
@@ -297,4 +300,7 @@
   //鏌ヨ鍏ㄩ儴鐜荤拑绫诲瀷
   @Select("select CONCAT(IFNULL(width,''),'_',IFNULL(height,''),'_',IFNULL(thickness,''),'_',IFNULL(films,'')) as type,glasstype from glassinfo GROUP BY width,height,thickness,films")
   List<Map> SelectType();
+  // 鏌ヨ绗煎唴鐜荤拑淇℃伅
+  @Select("select * from storage_cage where cage=#{cage} order by id desc")
+  List<StorageCage> SelectStorageCageByCage(Integer cage);
 }
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
index 742d175..be840ea 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
@@ -319,6 +319,10 @@
         return Result.success(map);
     }
 
+    public List<StorageCage> SelectStorageCageByCage(int cage) {
+        return homeMapper.SelectStorageCageByCage(cage);
+    }
+
     // 浜哄伐鎷胯蛋
     public Result ManualTake(String glassInfo) {
         // 璇诲彇DB105鍖烘枃浠�
@@ -368,14 +372,15 @@
         // 澶勭悊瀹屾垚 娣诲姞鏁版嵁搴�
         for (Map map : RemoveErrorData) {
             // GlassInfo glassInfo = mapper.convertValue(map, GlassInfo.class);
-            
-            String key=map.get("base").toString()+"_"+map.get("height").toString()+"_"+map.get("thickness").toString()+"_"+map.get("films").toString();
-            String value=TypeData.get(key);
+
+            String key = map.get("base").toString() + "_" + map.get("height").toString() + "_"
+                    + map.get("thickness").toString() + "_" + map.get("films").toString();
+            String value = TypeData.get(key);
             Integer glasstype;
-            if (TypeData.get(key)==null) {
-                glasstype=homeMapper.SelectMaxType();
-            }else{
-                glasstype=Integer.valueOf(value);
+            if (TypeData.get(key) == null) {
+                glasstype = homeMapper.SelectMaxType();
+            } else {
+                glasstype = Integer.valueOf(value);
             }
             homeMapper.AddGlassinfo(map.get("order").toString(), glasstype,
                     Integer.parseInt(map.get("glasstype").toString()) // 闇�瑕佽绠� 閰嶇墖ID
@@ -390,4 +395,7 @@
         return Result.success(ResultCode);
     }
 
+
+
+
 }
diff --git a/springboot-vue3/src/main/resources/JsonFile/PlcAlbania.json b/springboot-vue3/src/main/resources/JsonFile/PlcAlbania.json
index ab65b19..47c58e7 100644
--- a/springboot-vue3/src/main/resources/JsonFile/PlcAlbania.json
+++ b/springboot-vue3/src/main/resources/JsonFile/PlcAlbania.json
@@ -409,6 +409,12 @@
          "addressLenght":"2",
          "ratio":"1",
          "unit":"mm/S"
-      }
+      },{
+         "codeId": "MainControl",
+         "addressIndex":"208",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+         }
    ]
 }

--
Gitblit v1.8.0