From 52a57d1a6cd61009304656db35e50d4b9dbbda03 Mon Sep 17 00:00:00 2001 From: cpT <1@123> Date: 星期二, 01 七月 2025 11:16:40 +0800 Subject: [PATCH] #改造 --- src/main/java/com/zy/core/thread/SiemensCrnThread.java | 22 ++++++++++ src/main/webapp/static/wms/js/crnOperate/crnOperate.js | 7 +++ src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 17 +++++--- src/main/java/com/zy/core/CrnThread.java | 1 src/main/java/com/zy/asrs/controller/CrnController.java | 67 +++++++++++++++++++++++++++------ src/main/webapp/views/deviceOperate/crnOperate.html | 5 ++ src/main/java/com/zy/asrs/domain/vo/CrnListVo.java | 1 7 files changed, 98 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java index 4a7dc85..688fed8 100644 --- a/src/main/java/com/zy/asrs/controller/CrnController.java +++ b/src/main/java/com/zy/asrs/controller/CrnController.java @@ -331,6 +331,7 @@ } vo.setInEnable(basCrnp.getInEnable()); vo.setOutEnable(basCrnp.getOutEnable()); + vo.setTaskComplete(crnThread.getResetFlag()? "浠诲姟瀹屾垚涓嬪彂绛夊緟":"-"); } return R.ok().add(list); } @@ -549,19 +550,54 @@ // if (SystemProperties.WCS_RUNNING_STATUS.get()) { // return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); // } - CrnCommand command = new CrnCommand(); - command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - command.setTaskNo((short) 0); // 宸ヤ綔鍙� - command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡 - command.setSourcePosX((short) 0); // 婧愬簱浣嶆帓 - command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪 - command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰 - command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� - command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� - command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� - command.setCommand((short)0); - return crnControl(command)?R.ok():R.error(); + if (Cools.isEmpty(param.getCrnNo()) || param.getCrnNo() == 0) { + return R.error("璇烽�夋嫨鍫嗗灈鏈�"); + } + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, param.getCrnNo()); + crnThread.setResetFlag(true); + return R.ok(); +// CrnCommand command = new CrnCommand(); +// command.setCrnNo(); // 鍫嗗灈鏈虹紪鍙� +// command.setTaskNo((short) 0); // 宸ヤ綔鍙� +// command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣� +// command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡 +// command.setSourcePosX((short) 0); // 婧愬簱浣嶆帓 +// command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪 +// command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰 +// command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� +// command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� +// command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� +// command.setCommand((short)0); +// return crnControl(command)?R.ok():R.error(); + } + + @ManagerAuth(memo = "浠诲姟瀹屾垚鎸囦护娓呴櫎") + @PostMapping("/crn/operator/taskCompleteClearCommand") + public R crnTaskCompleteClearCommand(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } + // 绯荤粺杩愯鐘舵�佸垽鏂� + if (Cools.isEmpty(param.getCrnNo()) || param.getCrnNo() == 0) { + return R.error("璇烽�夋嫨鍫嗗灈鏈�"); + } + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, param.getCrnNo()); + crnThread.setResetFlag(false); + return R.ok(); +// CrnCommand command = new CrnCommand(); +// command.setCrnNo(); // 鍫嗗灈鏈虹紪鍙� +// command.setTaskNo((short) 0); // 宸ヤ綔鍙� +// command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣� +// command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡 +// command.setSourcePosX((short) 0); // 婧愬簱浣嶆帓 +// command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪 +// command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰 +// command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� +// command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� +// command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� +// command.setCommand((short)0); +// return crnControl(command)?R.ok():R.error(); } // @ManagerAuth(memo = "鏆傚仠") @@ -624,6 +660,7 @@ } CrnCommand crnCommand = new CrnCommand(); crnCommand.setCrnNo(crn.getId()); // 鍫嗗灈鏈虹紪鍙� + crnCommand.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撳彿 crnCommand.setTaskMode(CrnTaskModeType.CLEAR); crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� crnCommand.setCommand((short) 0); // 浠诲姟瀹屾垚纭浣� @@ -781,6 +818,8 @@ if (crnProtocol == null) { throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ嚎"); } + command.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撳彿 + // 绌洪棽鍒ゆ柇 // if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) { if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(4, command))) { @@ -815,6 +854,8 @@ if (crnProtocol == null) { throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ嚎"); } + command.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撳彿 + // 绌洪棽鍒ゆ柇 // if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) { if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) { diff --git a/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java b/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java index fe895e9..baa96a6 100644 --- a/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java +++ b/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java @@ -112,6 +112,7 @@ // 鍙嚭 private String outEnable; + private String taskComplete = "鏃�"; private String errorCrn; public void setXspeed(Float xspeed) { diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index f9d8209..2b8cad3 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -668,7 +668,7 @@ } CrnSlave crnSlave = new CrnSlave(crn); - if (Cools.isEmpty(crnProtocol.getLoaded()) || crnProtocol.getLoaded()==0){ + if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){ continue; } @@ -778,7 +778,7 @@ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- CrnCommand crnCommand = new CrnCommand(); crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - crnCommand.setCrnNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙� + crnCommand.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙� crnCommand.setTaskNo((short)999); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡: 搴撲綅绉昏浆 @@ -831,7 +831,7 @@ } CrnSlave crn = new CrnSlave(crnSlave); - if (Cools.isEmpty(crnProtocol.getLoaded()) || crnProtocol.getLoaded()==0){ + if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){ continue; } @@ -1335,7 +1335,7 @@ } CrnSlave crn = new CrnSlave(crnSlave); - if (Cools.isEmpty(crnProtocol.getLoaded()) || crnProtocol.getLoaded()==0){ + if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){ continue; } @@ -1357,11 +1357,14 @@ } // Thread.sleep(300); //纭瀹屾垚淇″彿 - CrnOperatorParam crnOperatorParam = new CrnOperatorParam(); - crnOperatorParam.setCrnNo(crn.getId()); +// CrnOperatorParam crnOperatorParam = new CrnOperatorParam(); +// crnOperatorParam.setCrnNo(crn.getId()); Date now = new Date(); - crnController.crnTaskComplete(crnOperatorParam); +// crnController.crnTaskComplete(crnOperatorParam); +// MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command)) + crnThread.setResetFlag(true); + if (!Cools.isEmpty(taskWrk)) { if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) { taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚 diff --git a/src/main/java/com/zy/core/CrnThread.java b/src/main/java/com/zy/core/CrnThread.java index 70c3d75..082d9b9 100644 --- a/src/main/java/com/zy/core/CrnThread.java +++ b/src/main/java/com/zy/core/CrnThread.java @@ -7,5 +7,6 @@ CrnProtocol getCrnProtocol(); void setResetFlag(boolean flag); + boolean getResetFlag(); } diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java index ce0da89..48cbfbf 100644 --- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java +++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java @@ -207,10 +207,12 @@ backHpFlag = false; } - if (!Cools.isEmpty(crnProtocol.getLoaded()) && crnProtocol.getLoaded()!=0){ + if (!Cools.isEmpty(crnProtocol.getLaneNo()) && crnProtocol.getLaneNo()!=0){ CrnCommand crnCommand = new CrnCommand(); crnCommand.setAckFinish((short)1); +// crnCommand.setTaskNo(crnProtocol.getTaskNo()); crnCommand.setLaneNo(crnProtocol.getLaneNo()); + crnCommand.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡 if (write(crnCommand)) { resetFlag = false; } @@ -556,4 +558,22 @@ public void setWrkSign() { } + + /** + * 娓呴櫎浣滀笟鍚姩涓� + */ + @Override + public void setResetFlag(boolean flag) { + this.resetFlag = flag; + } + + + /** + * 娓呴櫎浣滀笟鍚姩涓� + */ + @Override + public boolean getResetFlag() { + return resetFlag; + } + } diff --git a/src/main/webapp/static/wms/js/crnOperate/crnOperate.js b/src/main/webapp/static/wms/js/crnOperate/crnOperate.js index 1bf52c0..a1bd0db 100644 --- a/src/main/webapp/static/wms/js/crnOperate/crnOperate.js +++ b/src/main/webapp/static/wms/js/crnOperate/crnOperate.js @@ -105,6 +105,13 @@ }); } +// 浠诲姟瀹屾垚 +function taskCompleteClearCommand() { + http.post(baseUrl+"/crn/operator/taskCompleteClearCommand", getReqParam(), function (res) { + layer.msg(res.msg); + }); +} + // 娓呴櫎鍛戒护 function clearCommand() { http.post(baseUrl+"/crn/operator/clearCommand", getReqParam(), function (res) { diff --git a/src/main/webapp/views/deviceOperate/crnOperate.html b/src/main/webapp/views/deviceOperate/crnOperate.html index 8406daf..a8ab6cd 100644 --- a/src/main/webapp/views/deviceOperate/crnOperate.html +++ b/src/main/webapp/views/deviceOperate/crnOperate.html @@ -28,6 +28,8 @@ </el-table-column> <el-table-column property="deviceStatus" label="璁惧鐘舵��"> </el-table-column> + <el-table-column property="taskComplete" label="浠诲姟瀹屾垚鎸囦护"> + </el-table-column> <el-table-column property="errorCrn" label="寮傚父鎻愮ず"> </el-table-column> </el-table> @@ -81,7 +83,8 @@ <!-- <el-button @click="requestOperate('take')" type="primary">鍑哄簱</el-button>--> <!-- <el-button @click="requestOperate('stockMove')" type="primary">搴撲綅杞Щ</el-button>--> <!-- <el-button @click="requestOperate('siteMove')" type="primary">绔欏埌绔�</el-button>--> -<!-- <el-button @click="requestOperate('taskComplete')" type="primary">浠诲姟瀹屾垚</el-button>--> + <el-button @click="requestOperate('taskComplete')" type="primary">浠诲姟瀹屾垚</el-button> + <el-button @click="requestOperate('taskCompleteClearCommand')" type="primary">浠诲姟瀹屾垚鎸囦护娓呴櫎</el-button> <!-- <el-button @click="requestOperate('clearCommand')" type="primary">娓呴櫎鍛戒护</el-button>--> <!-- <el-button @click="requestOperate('reset')" type="primary">澶嶄綅</el-button>--> <br/> -- Gitblit v1.9.1