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