From 8f9fa425d667e3d6330a3ed4553834783bb30099 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 05 六月 2025 09:53:44 +0800
Subject: [PATCH] #
---
 src/main/java/com/zy/asrs/controller/RgvController.java        |   24 ++++
 src/main/java/com/zy/asrs/controller/WrkMastStaController.java |    1 
 src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java       |   34 ++++++
 src/main/java/com/zy/core/MainProcess.java                     |    8 
 src/main/java/com/zy/core/thread/SiemensRgvThread.java         |   26 +++--
 src/main/java/com/zy/core/model/protocol/RgvProtocol.java      |   30 ++++--
 src/main/webapp/views/deviceOperate/rgvOperate.html            |  143 ++++++++++++++++++++++++++--
 7 files changed, 227 insertions(+), 39 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 8f744ed..59cb2d8 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -14,10 +14,12 @@
 import com.zy.asrs.entity.BasRgv;
 import com.zy.asrs.entity.BasRgvErr;
 import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.WrkMastSta;
 import com.zy.asrs.mapper.BasRgvErrMapper;
 import com.zy.asrs.service.BasRgvService;
 import com.zy.asrs.service.LocMastService;
 import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.service.WrkMastStaService;
 import com.zy.asrs.service.impl.MainServiceImpl;
 import com.zy.core.CrnThread;
 import com.zy.core.RgvThread;
@@ -70,6 +72,8 @@
     private MainServiceImpl mainService;
     @Autowired
     private LocMastService locMastService;
+    @Autowired
+    private WrkMastStaService wrkMastStaService;
     int wrkNo = 9990;
 
 
@@ -441,15 +445,29 @@
             if (rgvProtocol == null) {
                 continue;
             }
+            if (rgvProtocol.getTaskNo1() != 0){
+                WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>()
+                        .setSqlSelect("TOP 1 wrk_no as wrkNo , wrk_sts as wrkSts, create_time as createTime")
+                        .eq("wrk_No", rgvProtocol.getTaskNo1())
+
+                        .orderBy("create_time", false)
+
+                );
+                if (!Cools.isEmpty(wrkMastSta)){
+                    vo.setWrkSts(wrkMastSta.getWrkSts());
+                }
+            }
             vo.setStatusType(rgvProtocol.modeType.desc);   //  妯″紡鐘舵��
             vo.setStatus(rgvProtocol.getStatusType1().desc);     //  鐘舵��
             vo.setWorkNo1(rgvProtocol.getTaskNo1());  //  宸ヤ綅1浠诲姟鍙�
-            vo.setRgvPos(rgvProtocol.getRgvPos());
+            vo.setRgvPos(rgvProtocol.getCode());
             vo.setPakMk(rgvThread.isPakMk()?"鏃犻攣":"閿佸畾");
             vo.setWalkPos(rgvProtocol.getAlarm() == 0?"姝e父":"鎶ヨ");
             vo.setWarnCode(String.valueOf(rgvProtocol.getAlarm()));
-//            vo.setStaNo(rgvProtocol.getSouSta().intValue());
-//            vo.setSourceStaNo(rgvProtocol.getEndSta().intValue());
+            vo.setList32(rgvProtocol.getList32());
+            vo.setList33(rgvProtocol.getList33());
+            vo.setList34(rgvProtocol.getList34());
+            vo.setList35(rgvProtocol.getList35());
             if (rgvProtocol.getAlarm() > 0) {
                 BasRgvErr rgvErr = basRgvErrMapper.selectById(rgvProtocol.getAlarm());
                 vo.setAlarm(rgvErr==null?"鏈煡寮傚父":rgvErr.getErrName());
diff --git a/src/main/java/com/zy/asrs/controller/WrkMastStaController.java b/src/main/java/com/zy/asrs/controller/WrkMastStaController.java
index 4544ced..f490837 100644
--- a/src/main/java/com/zy/asrs/controller/WrkMastStaController.java
+++ b/src/main/java/com/zy/asrs/controller/WrkMastStaController.java
@@ -41,6 +41,7 @@
         excludeTrash(param);
         convert(param, wrapper);
         if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        wrapper.orderBy("create_time",false);
         return R.ok(wrkMastStaService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
diff --git a/src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java b/src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java
index 309817a..4f51171 100644
--- a/src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.domain.vo;
 
+import com.core.common.Cools;
 import lombok.Data;
 
 /**
@@ -54,4 +55,37 @@
 
     private String pakMk="-";
 
+    private boolean[] list32 = new boolean[10];
+    private boolean[] list33 = new boolean[10];
+    private boolean[] list34 = new boolean[10];
+    private boolean[] list35 = new boolean[10];
+
+    private Integer wrkSts;
+
+
+    public String getWrkSts$() {
+        if (Cools.isEmpty(this.wrkSts)) {
+            try {
+                if (this.wrkSts==0){
+                    return "鍒濆";
+                }
+            }catch (Exception e){
+                return "";
+            }
+            return "";
+        }
+        switch (this.wrkSts) {
+            case 0:
+                return "鍒濆";
+            case 1:
+                return "绛夊緟灏忚溅鍙�";
+            case 2:
+                return "绛夊緟灏忚溅鏀�";
+            case 3:
+                return "瀹屾垚";
+            default:
+                return "";
+        }
+    }
+
 }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index c3df081..bb507f6 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -46,11 +46,11 @@
 //                    mainService.getRgvTask();
 //                    mainService.RGVDemoShow0();
 //                    mainService.RGVDemoShow1();
-                    mainService.RGVDemoShow2();
+//                    mainService.RGVDemoShow2();
                     //浠诲姟鐢熸垚
-                    mainService.DevpTaskAndPut();
-                    //鎵ц灏忚溅璐х墿鎼繍浠诲姟
-                    mainService.rgvRunWrkMastFullSta();
+//                    mainService.DevpTaskAndPut();
+//                    //鎵ц灏忚溅璐х墿鎼繍浠诲姟
+//                    mainService.rgvRunWrkMastFullSta();
 
 
 
diff --git a/src/main/java/com/zy/core/model/protocol/RgvProtocol.java b/src/main/java/com/zy/core/model/protocol/RgvProtocol.java
index f1735b6..fd15dfd 100644
--- a/src/main/java/com/zy/core/model/protocol/RgvProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/RgvProtocol.java
@@ -79,6 +79,8 @@
      */
     public Short walkPos;
 
+    public Integer code;
+
     //////////////////////     宸ヤ綅2瀹氫箟   //////////////////////////////////////////////////
 //    /**
 //     * 宸ヤ綅2浠诲姟鍙�
@@ -140,6 +142,14 @@
      */
     public Float xDuration;
 
+    public boolean[] list32 = new boolean[10];
+
+    public boolean[] list33 = new boolean[10];
+
+    public boolean[] list34 = new boolean[10];
+
+    public boolean[] list35 = new boolean[10];
+
     public void setMode(Short mode) {
         this.mode = mode;
         this.modeType = RgvModeType.get(mode);
@@ -197,17 +207,17 @@
         return basRgv;
     }
 
-    public void setxSpeed(Short xSpeed) {
-        this.xSpeed = Float.valueOf(xSpeed);
-    }
+//    public void setxSpeed(Short xSpeed) {
+//        this.xSpeed = Float.valueOf(xSpeed);
+//    }
+//
+//    public void setxDistance(Short xDistance) {
+//        this.xDistance = Float.valueOf(xDistance);
+//    }
 
-    public void setxDistance(Short xDistance) {
-        this.xDistance = Float.valueOf(xDistance);
-    }
-
-    public void setxDuration(Short xDuration) {
-        this.xDuration = Float.valueOf(xDuration);
-    }
+//    public void setxDuration(Short xDuration) {
+//        this.xDuration = Float.valueOf(xDuration);
+//    }
 
     public Integer getRgvPosI(){
         //闇�瑕佹牴鎹幇鍦烘敼閫�  鏍规嵁璇诲埌鐨勫�艰幏鍙栧搴旂珯鐐逛綅缃�
diff --git a/src/main/java/com/zy/core/thread/SiemensRgvThread.java b/src/main/java/com/zy/core/thread/SiemensRgvThread.java
index c4ff6b6..e1e2829 100644
--- a/src/main/java/com/zy/core/thread/SiemensRgvThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensRgvThread.java
@@ -142,7 +142,7 @@
         }
         rgvProtocol.setMode((short) -1);
         rgvProtocol.setStatus((short)-1);
-        rgvProtocol.setTaskNo1(0);
+        rgvProtocol.setTaskNo1(1002);
         rgvProtocol.setStatus1((short)-1);
         rgvProtocol.setLoaded1((short)0);
         rgvProtocol.setWalkPos((short)0);
@@ -151,11 +151,13 @@
 //        rgvProtocol.setStatus2((short)-1);
 //        rgvProtocol.setLoaded2((short)0);
         rgvProtocol.setAlarm((short)0);
-        rgvProtocol.setxSpeed((short) 0);
-        rgvProtocol.setxDistance((short) 0);
-        rgvProtocol.setxDuration((short) 0);
+        rgvProtocol.setXSpeed(0.0F);
+        rgvProtocol.setXDistance(0.0F);
+        rgvProtocol.setXDuration(0.0F);
         rgvProtocol.setSouSta((short)0);
         rgvProtocol.setEndSta((short)0);
+        rgvProtocol.setList32(new boolean[8]);
+        rgvProtocol.setRgvPos(8000);
     }
 
     @Override
@@ -195,14 +197,18 @@
                 rgvProtocol.setStatus1(siemensNet.getByteTransform().TransInt16(result.Content, 6));
                 rgvProtocol.setRgvPos((int) siemensNet.getByteTransform().TransInt16(result.Content, 8));
                 rgvProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 10));
-//                rgvProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 12));
-//                rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 14));
+                rgvProtocol.setCode(siemensNet.getByteTransform().TransInt32(result.Content, 12));
                 rgvProtocol.setLoaded1(siemensNet.getByteTransform().TransInt16(result.Content, 16));
                 rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 18));
-//                rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 20));
-                rgvProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 20));
-//                rgvProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 24));
-//                rgvProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 26));
+                rgvProtocol.setXSpeed(siemensNet.getByteTransform().TransSingle(result.Content, 20));
+                rgvProtocol.setXDistance(siemensNet.getByteTransform().TransSingle(result.Content, 24));
+                rgvProtocol.setXDuration(siemensNet.getByteTransform().TransSingle(result.Content, 28));
+                rgvProtocol.setList32(siemensNet.getByteTransform().TransBool(result.Content, 32, 1));
+                rgvProtocol.setList33(siemensNet.getByteTransform().TransBool(result.Content, 33, 1));
+                rgvProtocol.setList34(siemensNet.getByteTransform().TransBool(result.Content, 34, 1));
+                rgvProtocol.setList35(siemensNet.getByteTransform().TransBool(result.Content, 35, 1));
+
+
 
 
                 OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
diff --git a/src/main/webapp/views/deviceOperate/rgvOperate.html b/src/main/webapp/views/deviceOperate/rgvOperate.html
index 8c3d4a9..2d11955 100644
--- a/src/main/webapp/views/deviceOperate/rgvOperate.html
+++ b/src/main/webapp/views/deviceOperate/rgvOperate.html
@@ -13,12 +13,44 @@
 
 <body>
 	<div id="app" style="display: flex;justify-content: center;flex-wrap: wrap;">
+		<div style="width: 100%;" class="demo-container">
+
+				<el-card class="box-card" >
+					<div slot="header" class="clearfix">
+						<span>璁惧浣嶇疆</span>
+					</div>
+					<el-row >
+						<el-col :span="1" :offset="3"><el-card class="card-bg"></el-card></el-col>
+						<el-col :span="1" ><el-card class="card-bg"></el-card></el-col>
+						<el-col :span="1" ><el-card class="card-bg"></el-card></el-col>
+					</el-row>
+					<el-row  type="flex" justify="center">
+						<el-col :span="18" >
+							<el-slider v-model="value1" :min="min" :max="max" :format-tooltip="formatTooltip" >
+							</el-slider>
+						</el-col>
+
+					</el-row>
+
+					<el-row >
+						<el-col :span="1" :offset="3"><el-card class="card-bg"></el-card></el-col>
+						<el-col :span="1" ><el-card class="card-bg"></el-card></el-col>
+						<el-col :span="1" ><el-card class="card-bg"></el-card></el-col>
+						<el-col :span="1" ><el-card class="card-bg"></el-card></el-col>
+						<el-col :span="1" :offset="13"><el-card class="card-bg"></el-card></el-col>
+						<el-col :span="1" ><el-card class="card-bg"></el-card></el-col>
+						<el-col :span="1" ><el-card class="card-bg"></el-card></el-col>
+					</el-row>
+				</el-card>
+		</div>
 		<div style="width: 100%;">
 			<el-table border ref="singleTable" :data="tableData" highlight-current-row @row-click="handleRowClick"
 				max-height="350" style="width: 100%">
 				<el-table-column property="rgvNo" label="RGV鍙�">
 				</el-table-column>
 				<el-table-column property="workNo1" label="宸ヤ綔鍙�">
+				</el-table-column>
+				<el-table-column property="wrkSts$" label="浠诲姟鐘舵��">
 				</el-table-column>
 				<el-table-column property="statusType" label="妯″紡">
 				</el-table-column>
@@ -27,6 +59,10 @@
 				<el-table-column property="walkPos" label="璁惧鐘舵��">
 				</el-table-column>
 				<el-table-column property="pakMk" label="閿佸畾鐘舵��">
+				</el-table-column>
+				<el-table-column property="warnCode" label="寮傚父浠g爜">
+				</el-table-column>
+				<el-table-column property="alarm" label="寮傚父鎻忚堪">
 				</el-table-column>
 			</el-table>
 		</div>
@@ -126,7 +162,7 @@
 				</el-card>
 			</div>
 			<div style="width: 45%;">
-				<el-card class="box-card">
+				<el-card style="width: 100%;">
 					<div slot="header" class="clearfix">
 						<span>璁惧鐘舵��</span>
 					</div>
@@ -135,7 +171,7 @@
 							<el-empty description="璇烽�夋嫨璁惧"></el-empty>
 						</div>
 						<div v-else>
-							<el-descriptions :title="currentTitle" direction="vertical" :column="4" border>
+							<el-descriptions :title="currentTitle" direction="vertical" :column="8" border>
 								<el-descriptions-item label="RGV">{{ tableData[currentIndex].rgvNo }}
 								</el-descriptions-item>
 								<el-descriptions-item label="宸ヤ綔鍙�">
@@ -146,20 +182,70 @@
 								</el-descriptions-item>
 								<el-descriptions-item label="浠诲姟鐘舵��">
 
-										<el-tag>{{ tableData[currentIndex].status}}</el-tag>
+									<el-tag>{{ tableData[currentIndex].status}}</el-tag>
 
 								</el-descriptions-item>
-								<el-descriptions-item label="璁惧鐘舵��">
-									<el-tag>{{ tableData[currentIndex].walkPos }}</el-tag>
+								<el-descriptions-item label="鍓嶅悗鏋侀檺">
+									{{ tableData[currentIndex].list32[0]}}
 								</el-descriptions-item>
-								<el-descriptions-item label="鏁呴殰浠g爜">{{ tableData[currentIndex].warnCode }}
+								<el-descriptions-item label="璐у弶涓綅1">{{ tableData[currentIndex].list32[1]}}
 								</el-descriptions-item>
-								<el-descriptions-item label="鏁呴殰鎻忚堪">{{ tableData[currentIndex].alarm }}
+								<el-descriptions-item label="璐у弶涓綅2">{{ tableData[currentIndex].list32[2]}}
 								</el-descriptions-item>
-<!--								<el-descriptions-item label="婧愮珯">{{ tableData[currentIndex].staNo }}-->
-<!--								</el-descriptions-item>-->
-<!--								<el-descriptions-item label="鐩爣绔�">{{ tableData[currentIndex].sourceStaNo }}-->
-<!--								</el-descriptions-item>-->
+								<el-descriptions-item label="璐у弶鍓嶆瀬闄�">{{ tableData[currentIndex].list32[3]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="璐у弶鍚庢瀬闄�">{{ tableData[currentIndex].list32[4]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="琛岃蛋寮哄噺閫�">{{ tableData[currentIndex].list32[5]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="鎬ュ仠">{{ tableData[currentIndex].list32[6]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="鐐瑰姩鍓嶈繘">{{ tableData[currentIndex].list32[7]}}
+								</el-descriptions-item>
+
+								<el-descriptions-item label="鐐瑰姩鍚庨��">{{ tableData[currentIndex].list33[0]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="鐐瑰姩宸︿几">{{ tableData[currentIndex].list33[1]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="鐐瑰姩鍙充几">{{ tableData[currentIndex].list33[2]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="鏈湴杩滅▼">{{ tableData[currentIndex].list33[3]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="澶嶄綅">{{ tableData[currentIndex].list33[4]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="琛岃蛋鎶遍椄">{{ tableData[currentIndex].list33[5]}}
+								</el-descriptions-item>
+
+
+								<el-descriptions-item label="鎵嬪姩椤跺崌">{{ tableData[currentIndex].list34[0]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="椤跺崌涓婂埌浣�">{{ tableData[currentIndex].list34[1]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="椤跺崌涓嬪埌浣�">{{ tableData[currentIndex].list34[2]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="宸﹁秴闄�">{{ tableData[currentIndex].list34[3]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="鍙宠秴闄�">{{ tableData[currentIndex].list34[4]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="鍓嶅嚫鍑�">{{ tableData[currentIndex].list34[5]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="鍚庡嚫鍑�">{{ tableData[currentIndex].list34[6]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="瓒呴珮">{{ tableData[currentIndex].list34[7]}}
+								</el-descriptions-item>
+
+
+								<el-descriptions-item label="杞借揣鍙版湁鐗�">{{ tableData[currentIndex].list32[0]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="宸︽帰璐�1">{{ tableData[currentIndex].list32[1]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="宸︽帰璐�2">{{ tableData[currentIndex].list32[2]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="鍙虫帰璐�1">{{ tableData[currentIndex].list32[3]}}
+								</el-descriptions-item>
+								<el-descriptions-item label="鍙虫帰璐�2">{{ tableData[currentIndex].list32[4]}}
+								</el-descriptions-item>
+
 							</el-descriptions>
 
 						</div>
@@ -217,7 +303,10 @@
 					}
 				],
 				demo: 'X',
-				rgvMode: 0
+				rgvMode: 0,
+				value1:50000,
+				min:8000,
+				max:80000
 			},
 			created() {
 				this.init()
@@ -226,6 +315,9 @@
 
 			},
 			methods: {
+				formatTooltip(){
+					return "RGV 1"
+				},
 				staTova(sta,end){
 					let that = this
 					that.$confirm('姝ゆ搷浣滃瓨鍦ㄩ闄╋紝鏄惁缁х画','鎻愮ず',{
@@ -290,6 +382,7 @@
 						method: 'post',
 						success: function (res) {
 							that.tableData = res.data
+							that.value1 = res.data.rgvPos
 						}
 					});
 				},
@@ -518,6 +611,32 @@
 			}
 		})
 	</script>
+	<style>
+		 .el-slider__bar {
+			background-color: #e4e7ed;
+		}
+		 .el-slider__button{
+			 width: 30px !important;
+			 height: 30px !important;
+			 border-radius: 2px !important; /* 鍏抽敭灞炴�� */
+			 border: 2px solid #409EFF !important;
+
+		 }
+		 .el-slider__runway {
+			 cursor: not-allowed !important;
+			 pointer-events: none !important;
+		 }
+		 .card-bg{
+			 background-color: #9d9d9d;
+		 }
+		 .el-slider {
+			 transform: scaleX(-1);
+		 }
+		 /*.el-slider__button-wrapper {*/
+			/* transform: scaleX(-1);*/
+		 /*}*/
+
+	</style>
 </body>
 
 </html>
\ No newline at end of file
--
Gitblit v1.9.1