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