From d051d72b3c8c91ce415b33efc9ee560c6aa29e5d Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 16 十一月 2023 13:59:17 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/CommandUtils.java | 24 +++--
src/main/java/com/zy/core/model/protocol/StaProtocol.java | 3
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 20 ++++-
src/main/webapp/views/commandManageLog/commandManageLog.html | 2
src/main/java/com/zy/asrs/utils/Utils.java | 20 +++++
src/main/webapp/views/commandManage/commandManage.html | 90 ++++++++++++++++++++++
src/main/webapp/views/realtimeWatch/console.html | 14 +-
src/main/java/com/zy/asrs/controller/TaskWrkController.java | 6 +
src/main/webapp/views/old_page/console.html | 14 +-
src/main/java/com/zy/core/model/command/CrnCommand.java | 3
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 25 +++++-
11 files changed, 187 insertions(+), 34 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
index 914645f..009f02c 100644
--- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java
+++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
@@ -140,7 +140,11 @@
Date now = new Date();
taskWrk.setStatus(TaskStatusType.COMPLETE.id);
taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿
- taskWrk.setModiUser(getUserId());//鎿嶄綔鍛�
+ try{
+ taskWrk.setModiUser(getUserId());//鎿嶄綔鍛�
+ }catch (Exception e){
+ taskWrk.setModiUser(9999L);//鎿嶄綔鍛�
+ }
taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿
taskWrkService.updateById(taskWrk);
return R.ok();
diff --git a/src/main/java/com/zy/asrs/utils/CommandUtils.java b/src/main/java/com/zy/asrs/utils/CommandUtils.java
index 86f59fc..38635d0 100644
--- a/src/main/java/com/zy/asrs/utils/CommandUtils.java
+++ b/src/main/java/com/zy/asrs/utils/CommandUtils.java
@@ -48,12 +48,14 @@
commandInfo.setStartTime(new Date());
commandInfo.setDevice(SlaveType.Crn.toString());
- commandPackage.setWrkNo(wrkNo);
- commandPackage.setCommand(command);
- commandPackage.setDevice("鍫嗗灈鏈�");
-
- commandInfo.setCommand(JSON.toJSONString(commandPackage));
commandInfoService.insert(commandInfo);//鎻掑叆鎸囦护
+
+ command.setCommandId(commandInfo.getId());
+ commandPackage.setWrkNo(wrkNo);
+ commandPackage.setDevice("鍫嗗灈鏈�");
+ commandPackage.setCommand(command);//淇濆瓨鍛戒护鎶ユ枃
+ commandInfo.setCommand(JSON.toJSONString(commandPackage));
+ commandInfoService.updateById(commandInfo);
//灏嗘寚浠よ繘琛屾姇閫�
if (!MessageQueue.offer(type, id, task)) {
@@ -76,13 +78,15 @@
commandInfo.setStartTime(new Date());
commandInfo.setDevice(SlaveType.Devp.toString());
- commandPackage.setWrkNo(wrkNo);
- commandPackage.setCommand(staProtocol);
- commandPackage.setDevice("杈撻�佺嚎");
-
- commandInfo.setCommand(JSON.toJSONString(commandPackage));
commandInfoService.insert(commandInfo);//鎻掑叆鎸囦护
+ staProtocol.setCommandId(commandInfo.getId());
+ commandPackage.setCommand(staProtocol);
+ commandPackage.setWrkNo(wrkNo);
+ commandPackage.setDevice("杈撻�佺嚎");
+ commandInfo.setCommand(JSON.toJSONString(commandPackage));//淇濆瓨鍛戒护鎶ユ枃
+ commandInfoService.updateById(commandInfo);
+
//灏嗘寚浠よ繘琛屾姇閫�
if (!MessageQueue.offer(type, id, task)) {
return false;
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 36a0324..461fd2e 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -144,6 +144,26 @@
}
/**
+ * 閫氳繃搴撲綅鍙疯幏鍙� 鍒�
+ */
+ public static int getBay(String locNo) {
+ if (!Cools.isEmpty(locNo)) {
+ return Integer.parseInt(locNo.substring(2, 5));
+ }
+ throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+ }
+
+ /**
+ * 閫氳繃搴撲綅鍙疯幏鍙� 灞�
+ */
+ public static int getLev(String locNo) {
+ if (!Cools.isEmpty(locNo)) {
+ return Integer.parseInt(locNo.substring(5, 7));
+ }
+ throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+ }
+
+ /**
* 褰撴绱㈠埌鍙屾繁搴撲綅鐨勬祬搴撲綅鏃讹紝濡傛灉娣卞簱浣嶆棤璐э紝鍒欐斁鍏ュ搴旂殑娣卞簱浣�
*/
public static void toDeepIfEmptyByShallow(String shallowLoc) {
diff --git a/src/main/java/com/zy/core/model/command/CrnCommand.java b/src/main/java/com/zy/core/model/command/CrnCommand.java
index 6d4b4b0..9610157 100644
--- a/src/main/java/com/zy/core/model/command/CrnCommand.java
+++ b/src/main/java/com/zy/core/model/command/CrnCommand.java
@@ -75,6 +75,9 @@
// 浠诲姟纭 0锛氭湭纭 1锛氬凡纭
private Short command = 0;
+ //鎸囦护ID
+ private Integer commandId;
+
public void setTaskMode(Short taskMode){
this.taskMode = taskMode;
this.taskModeType = CrnTaskModeType.get(taskModeType);
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index 6817b2b..28513ec 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -56,6 +56,9 @@
// 闅斿绔欑偣锛堝彴杞︿綅缃級
private String nearbySta;
+ //鎸囦护ID
+ private Integer commandId;
+
public BasDevp toSqlModel(){
BasDevp basDevp = new BasDevp();
basDevp.setDevNo(siteId);
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index d32c3b7..b403e3e 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -7,10 +7,7 @@
import com.alibaba.fastjson.JSON;
import com.core.common.DateUtils;
import com.core.common.SpringUtils;
-import com.zy.asrs.entity.BasCrnOpt;
-import com.zy.asrs.entity.BasCrnp;
-import com.zy.asrs.entity.CommandInfo;
-import com.zy.asrs.entity.TaskWrk;
+import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.core.CrnThread;
import com.zy.core.cache.MessageQueue;
@@ -461,9 +458,20 @@
}
} catch (Exception ignore) {}
+ //鏇存柊鍛戒护鏃ュ織
+ CommandInfoLogService commandInfoLogService = SpringUtils.getBean(CommandInfoLogService.class);
+ CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class);
+ CommandInfo commandInfo = commandInfoService.selectById(command.getCommandId());
+ CommandInfoLog commandInfoLog = JSON.parseObject(JSON.toJSONString(commandInfo), CommandInfoLog.class);
+ commandInfoLog.setId(null);
+
if (result.IsSuccess && result1.IsSuccess) {
log.warn("鍫嗗灈鏈哄懡浠や笅鍙慬id:{},鏃堕棿锛歿}] >>>>> {}", slave.getId(), DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmsssss_F), JSON.toJSON(command));
OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
+
+ //鏇存柊鎸囦护鏃ュ織
+ commandInfoLog.setDeviceLog("鎸囦护涓嬪彂鎴愬姛");
+ commandInfoLogService.insert(commandInfoLog);
//鏇存柊浠诲姟姝ュ簭
TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
@@ -477,6 +485,10 @@
} else {
OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ爢鍨涙満plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
+
+ //鏇存柊鎸囦护鏃ュ織
+ commandInfoLog.setDeviceLog("鎸囦护涓嬪彂澶辫触");
+ commandInfoLogService.insert(commandInfoLog);
return false;
}
}
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 2ec4a9a..32873e4 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -11,11 +11,9 @@
import com.core.exception.CoolException;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.CommandInfo;
+import com.zy.asrs.entity.CommandInfoLog;
import com.zy.asrs.entity.TaskWrk;
-import com.zy.asrs.service.BasDevpService;
-import com.zy.asrs.service.CommandInfoService;
-import com.zy.asrs.service.DeviceErrorService;
-import com.zy.asrs.service.TaskWrkService;
+import com.zy.asrs.service.*;
import com.zy.core.DevpThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
@@ -317,6 +315,13 @@
array[1] = staProtocol.getStaNo();
// OperateResult write = siemensS7Net.Write("DB100." + index*4, array);
+ //鏇存柊鍛戒护鏃ュ織
+ CommandInfoLogService commandInfoLogService = SpringUtils.getBean(CommandInfoLogService.class);
+ CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class);
+ CommandInfo commandInfo = commandInfoService.selectById(staProtocol.getCommandId());
+ CommandInfoLog commandInfoLog = JSON.parseObject(JSON.toJSONString(commandInfo), CommandInfoLog.class);
+ commandInfoLog.setId(null);
+
OperateResult writeResult;
//浠诲姟涓嬪彂娆℃暟
int writeCount = 0;
@@ -324,6 +329,10 @@
boolean writeFlag = false;
while(writeCount < 5){
writeResult = siemensS7Net.Write("DB100." + index*4, array); // 宸ヤ綔鍙枫�佺洰鏍囩珯
+ //鏇存柊鎸囦护鏃ュ織
+ commandInfoLog.setDeviceLog("鎸囦护涓嬪彂鎴愬姛");
+ commandInfoLogService.insert(commandInfoLog);
+
if(writeResult.IsSuccess){
Thread.sleep(200);
OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index*4, (short)4);
@@ -346,12 +355,20 @@
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
slave.getId(), JSON.toJSON(staProtocol), writeCount));
log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+
+ //鏇存柊鎸囦护鏃ュ織
+ commandInfoLog.setDeviceLog("鎸囦护涓嬪彂澶辫触");
+ commandInfoLogService.insert(commandInfoLog);
}
} else {
writeCount++;
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
slave.getId(), JSON.toJSON(staProtocol),writeCount));
log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+
+ //鏇存柊鎸囦护鏃ュ織
+ commandInfoLog.setDeviceLog("鎸囦护涓嬪彂澶辫触");
+ commandInfoLogService.insert(commandInfoLog);
}
Thread.sleep(200);
}
diff --git a/src/main/webapp/views/commandManage/commandManage.html b/src/main/webapp/views/commandManage/commandManage.html
index 81e2487..c858206 100644
--- a/src/main/webapp/views/commandManage/commandManage.html
+++ b/src/main/webapp/views/commandManage/commandManage.html
@@ -184,6 +184,96 @@
}
return '';
},
+ handleCommand(command, row) {
+ switch (command) {
+ case "showTask":
+ //鏌ョ湅浠诲姟
+ this.showTask(row)
+ break;
+ case "executeCommand":
+ //鎵ц鎸囦护
+ this.executeCommand(row)
+ break;
+ case "completeCommand":
+ //瀹屾垚鎸囦护
+ this.completeWrk(row)
+ break;
+ }
+ },
+ showTask(row) {
+ let wrkNo = row.wrkNo == null ? "" : row.wrkNo
+ console.log(wrkNo)
+ //鏌ョ湅鎸囦护
+ $layui.layer.open({
+ type: 2,
+ title: '浠诲姟绠$悊',
+ maxmin: true,
+ area: [top.detailWidth, top.detailHeight],
+ shadeClose: true,
+ content: '../taskWrk/taskWrk.html?taskNo=' + row.taskNo + "&wrkNo=" + wrkNo,
+ success: function(layero, index) {}
+ });
+ },
+ executeCommand(row) {
+ //鎵ц鎸囦护
+ let that = this
+ $.ajax({
+ url: baseUrl + "/commandInfo/executeCommand",
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: {
+ id: row.id
+ },
+ method: 'POST',
+ success: function(res) {
+ if (res.code == 200) {
+ that.$message({
+ message: "鎵ц鎴愬姛",
+ type: 'success'
+ });
+ that.getTableData()
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ that.$message({
+ message: res.msg,
+ type: 'error'
+ });
+ }
+ }
+ });
+ },
+ completeCommand(row) {
+ //瀹屾垚鎸囦护
+ let that = this
+ $.ajax({
+ url: baseUrl + "/commandInfo/completeCommand",
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: {
+ id: row.id
+ },
+ method: 'POST',
+ success: function(res) {
+ if (res.code == 200) {
+ that.$message({
+ message: "瀹屾垚鎴愬姛",
+ type: 'success'
+ });
+ that.getTableData()
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ that.$message({
+ message: res.msg,
+ type: 'error'
+ });
+ }
+ }
+ });
+ },
}
})
</script>
diff --git a/src/main/webapp/views/commandManageLog/commandManageLog.html b/src/main/webapp/views/commandManageLog/commandManageLog.html
index 5c0f551..aeb178a 100644
--- a/src/main/webapp/views/commandManageLog/commandManageLog.html
+++ b/src/main/webapp/views/commandManageLog/commandManageLog.html
@@ -118,7 +118,7 @@
data.curr = this.currentPage
data.limit = this.pageSize
$.ajax({
- url: baseUrl + "/commandInfo/list/auth",
+ url: baseUrl + "/commandInfoLog/list/auth",
headers: {
'token': localStorage.getItem('token')
},
diff --git a/src/main/webapp/views/old_page/console.html b/src/main/webapp/views/old_page/console.html
index 2bb3074..27658be 100644
--- a/src/main/webapp/views/old_page/console.html
+++ b/src/main/webapp/views/old_page/console.html
@@ -80,28 +80,28 @@
</div>
</div>
<div class="bar-code">
- <div class="body-head" id="code">纾呯Г</div>
+ <div class="body-head" id="code">鏉$爜鎵弿鍣�</div>
<div class="tablebox">
<div class="table-head">
- <li><span>纾呯Г缂栧彿-纾呯Г閲嶉噺</span><span class="right">绉伴噸鏃堕棿</span></li>
+ <li><span>鏉$爜鍚嶇О</span><span class="right">鎵爜鏃堕棿</span></li>
</div>
- <div id="scale1" class="table-body">
+ <div id="barcode1" class="table-body">
</div>
</div>
<div class="tablebox">
<div class="table-head">
- <li><span>纾呯Г缂栧彿-纾呯Г閲嶉噺</span><span class="right">绉伴噸鏃堕棿</span></li>
+ <li><span>鏉$爜鍚嶇О</span><span class="right">鎵爜鏃堕棿</span></li>
</div>
- <div id="scale2" class="table-body">
+ <div id="barcode2" class="table-body">
</div>
</div>
<div class="tablebox">
<div class="table-head">
- <li><span>纾呯Г缂栧彿-纾呯Г閲嶉噺</span><span class="right">绉伴噸鏃堕棿</span></li>
+ <li><span>鏉$爜鍚嶇О</span><span class="right">鎵爜鏃堕棿</span></li>
</div>
- <div id="scale3" class="table-body">
+ <div id="barcode3" class="table-body">
</div>
</div>
diff --git a/src/main/webapp/views/realtimeWatch/console.html b/src/main/webapp/views/realtimeWatch/console.html
index 965483e..b97dcba 100644
--- a/src/main/webapp/views/realtimeWatch/console.html
+++ b/src/main/webapp/views/realtimeWatch/console.html
@@ -96,28 +96,28 @@
</div>
</div>
<div class="bar-code">
- <div class="body-head" id="code">纾呯Г</div>
+ <div class="body-head" id="code">鏉$爜鎵弿鍣�</div>
<div class="tablebox">
<div class="table-head">
- <li><span>纾呯Г缂栧彿-纾呯Г閲嶉噺</span><span class="right">绉伴噸鏃堕棿</span></li>
+ <li><span>鏉$爜鍚嶇О</span><span class="right">鎵爜鏃堕棿</span></li>
</div>
- <div id="scale1" class="table-body">
+ <div id="barcode1" class="table-body">
</div>
</div>
<div class="tablebox">
<div class="table-head">
- <li><span>纾呯Г缂栧彿-纾呯Г閲嶉噺</span><span class="right">绉伴噸鏃堕棿</span></li>
+ <li><span>鏉$爜鍚嶇О</span><span class="right">鎵爜鏃堕棿</span></li>
</div>
- <div id="scale2" class="table-body">
+ <div id="barcode2" class="table-body">
</div>
</div>
<div class="tablebox">
<div class="table-head">
- <li><span>纾呯Г缂栧彿-纾呯Г閲嶉噺</span><span class="right">绉伴噸鏃堕棿</span></li>
+ <li><span>鏉$爜鍚嶇О</span><span class="right">鎵爜鏃堕棿</span></li>
</div>
- <div id="scale3" class="table-body">
+ <div id="barcode3" class="table-body">
</div>
</div>
--
Gitblit v1.9.1