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