From 3f3e2af96c938192cd679b67b3ebf5fafa9e54a1 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期六, 20 五月 2023 08:43:53 +0800
Subject: [PATCH] WCS监控图增加设备信息
---
src/main/java/com/zy/asrs/controller/ConsoleController.java | 62 ++++++++++++++-
src/main/webapp/views/realtimeWatch/console.html | 30 +++++-
src/main/webapp/static/wcs/js/console.js | 74 ++++++++++++++++++
src/main/webapp/static/wcs/css/render.css | 26 ++++++
4 files changed, 180 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index 4b6a012..6a5eb26 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -13,14 +13,12 @@
import com.zy.asrs.domain.enums.SiteStatusType;
import com.zy.asrs.domain.param.SystemSwitchParam;
import com.zy.asrs.domain.vo.*;
-import com.zy.asrs.entity.BasCrnError;
-import com.zy.asrs.entity.BasDevp;
-import com.zy.asrs.entity.ChartBean;
-import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.BasCrnErrorMapper;
import com.zy.asrs.mapper.LocMastMapper;
import com.zy.asrs.mapper.ReportQueryMapper;
import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.service.DeviceErrorService;
import com.zy.asrs.service.WrkMastService;
import com.zy.common.CodeRes;
import com.zy.core.CrnThread;
@@ -67,6 +65,8 @@
private BasCrnErrorMapper basCrnErrorMapper;
@Autowired
private ReportQueryMapper reportQueryMapper;
+ @Autowired
+ private DeviceErrorService deviceErrorService;
@PostMapping("/system/running/status")
@ManagerAuth(memo = "绯荤粺杩愯鐘舵��")
@@ -198,6 +198,60 @@
return R.ok().add(list);
}
+ /**
+ * 鑾峰彇璁惧璇︽儏
+ */
+ @GetMapping("/deviceInfo")
+ @ManagerAuth
+ public R getDeviceInfo() {
+ ArrayList<HashMap<String, Object>> list = new ArrayList<>();
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ if (crnThread == null) {
+ continue;
+ }
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
+
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("device", "鍫嗗灈鏈�");
+ map.put("deviceId", crn.getId());
+ map.put("battery", "");
+ map.put("error", crnProtocol.getFault());
+ map.put("status", crnProtocol.getStatusType().desc);
+ list.add(map);
+ }
+
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ DeviceError deviceError = deviceErrorService.selectByDeviceAndDeviceId("devp", devp.getId());
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("device", "杈撻�佺嚎");
+ map.put("deviceId", devp.getId());
+ map.put("battery", "");
+ map.put("error", deviceError != null);
+ map.put("status", deviceError == null ? "" : deviceError.getMsg());
+ list.add(map);
+ }
+
+ for (Slave scale : slaveProperties.getScale()) {
+ DeviceError deviceError = deviceErrorService.selectByDeviceAndDeviceId("scale", scale.getId());
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("device", "纾呯Г");
+ map.put("deviceId", scale.getId());
+ map.put("battery", "");
+ map.put("error", deviceError != null);
+ map.put("status", deviceError == null ? "" : deviceError.getMsg());
+ list.add(map);
+ }
+
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("records", list);
+ return R.ok().add(hashMap);
+ }
+
/****************************************************************/
/************************** 璇︽儏鎿嶄綔 ******************************/
/****************************************************************/
diff --git a/src/main/webapp/static/wcs/css/render.css b/src/main/webapp/static/wcs/css/render.css
index 808914a..318a0ab 100644
--- a/src/main/webapp/static/wcs/css/render.css
+++ b/src/main/webapp/static/wcs/css/render.css
@@ -527,3 +527,29 @@
width: auto;
}
+.main-part {
+ position: relative;
+ top: -50px;
+ left: -150px;
+ width: 100%;
+ height: 100%;
+}
+
+.device-info {
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 500px;
+ height: 200px;
+ background: rgba(255, 255, 255, 0.7);
+ overflow: auto;
+}
+
+.device-info table td,.device-info table th{
+ font-size: 12px !important;
+}
+
+.layui-table-cell {
+ height: auto ;
+ white-space: normal;
+}
\ No newline at end of file
diff --git a/src/main/webapp/static/wcs/js/console.js b/src/main/webapp/static/wcs/js/console.js
index 71073e8..c7984a3 100644
--- a/src/main/webapp/static/wcs/js/console.js
+++ b/src/main/webapp/static/wcs/js/console.js
@@ -148,4 +148,76 @@
$("#line-total").empty()
$("#line-total").html(total[e])
// listenChange();
-}
\ No newline at end of file
+}
+
+
+layui.config({
+ base: baseUrl + "/static/wms/layui/lay/modules/"
+}).use(['table', 'form'], function () {
+ var table = layui.table;
+ var $ = layui.jquery;
+ var cache;
+
+ // 鏁版嵁娓叉煋
+ tableIns = table.render({
+ elem: '#deviceInfo',
+ headers: {token: localStorage.getItem('token')},
+ url: baseUrl + '/console/deviceInfo',
+ page: false,
+ limit: 16,
+ limits: [16, 30, 50, 100, 200, 500],
+ even: true,
+ cellMinWidth: 50,
+ cols: [[
+ {field: 'device', align: 'center', title: '璁惧'}
+ , {field: 'deviceId', align: 'center', title: '缂栧彿'}
+ , {field: 'battery', align: 'center', title: '鐢甸噺'}
+ , {field: 'error', align: 'center', title: '寮傚父', templet: '#errorTpl'}
+ , {field: 'status', align: 'center', title: '鐘舵��', width: 150}
+ ]],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.data.total,
+ 'data': res.data.records
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function (res, curr, count) {
+ $(".layui-table-tool").hide()
+ $(".layui-table-view").css({"margin":"0px"})
+ $(".layui-table-box").css({"padding-bottom":"0px"})
+
+ cache = table.cache['deviceInfo'];
+ }
+ });
+
+ setInterval(() => {
+ tableReload()
+ },10000)
+
+ function tableReload() {
+ $.ajax({
+ url: baseUrl + "/console/deviceInfo",
+ headers: {'token': localStorage.getItem('token')},
+ contentType: 'application/json;charset=UTF-8',
+ method: 'GET',
+ traditional: true,
+ success: function (res) {
+ cache = res.data.records
+ table.reload('deviceInfo',{
+ data: cache
+ })
+ }
+ })
+ }
+
+});
+
diff --git a/src/main/webapp/views/realtimeWatch/console.html b/src/main/webapp/views/realtimeWatch/console.html
index 1678b0c..ede8fa9 100644
--- a/src/main/webapp/views/realtimeWatch/console.html
+++ b/src/main/webapp/views/realtimeWatch/console.html
@@ -4,15 +4,28 @@
<meta charset="UTF-8">
<title>鑷姩浠撳簱wcs绯荤粺</title>
<link rel="stylesheet" href="../../static/wcs/css/render.css">
- <script src="../../static/wcs/js/jquery/jquery-3.3.1.min.js"></script>
- <script src="../../static/wcs/js/layer/layer.js"></script>
+ <link rel="stylesheet" href="../../static/wms/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all">
+ <link rel="stylesheet" href="../../static/wms/css/common.css" media="all">
+
+<!-- <script src="../../static/wcs/js/jquery/jquery-3.3.1.min.js"></script>-->
+<!-- <script src="../../static/wcs/js/layer/layer.js"></script>-->
+ <script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script>
+ <script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script>
+ <script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script>
+ <script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script>
<!--鍦板浘json-->
<script src="../../static/wcs/js/console.map.js"></script>
<script src="../../static/wcs/js/console.js"></script>
<script src="../../static/wcs/js/common.js"></script>
-
-
</head>
+<script type="text/html" id="errorTpl">
+ {{# if( d.error === false ){ }}
+ <span name="level" class="layui-badge layui-badge-green">姝e父</span>
+ {{# } else { }}
+ <span name="level" class="layui-badge layui-badge-red">寮傚父</span>
+ {{# } }}
+</script>
<body>
<div id="main">
<div class="head">
@@ -20,14 +33,17 @@
<h1>鑷姩浠撳簱WCS鐩戞帶鍥�</h1>
<h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6>
</div>
- <div class="head-right">
- <img src="../../static/wcs/images/zy-logo.png" alt="涓壃" height="44" width="80">
- </div>
</div>
<!-- 璐ф灦 + 鍫嗗灈鏈� + 鍏ュ簱绔欑偣 -->
<div class="main-part">
</div>
+
+ <!--璁惧鍒楄〃-->
+ <div class="device-info">
+ <table class="layui-hide" id="deviceInfo" lay-filter="deviceInfo"></table>
+ </div>
+
<div id="body">
<!-- 鎬诲紑鍏� -->
<div class="system-state">
--
Gitblit v1.9.1