From 6b8225e9d81cb6bfa0efeed2f0a02428eb3a86d1 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 22 九月 2022 10:43:37 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java | 3 + src/main/java/com/zy/asrs/controller/SteController.java | 45 +++++++++++++++++++++- src/main/webapp/views/ste.html | 38 ++++++++++++++++++- src/main/java/com/zy/asrs/domain/param/SteModeParam.java | 19 +++++++++ 4 files changed, 101 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/SteController.java b/src/main/java/com/zy/asrs/controller/SteController.java index 40cf485..a0a9a87 100644 --- a/src/main/java/com/zy/asrs/controller/SteController.java +++ b/src/main/java/com/zy/asrs/controller/SteController.java @@ -7,6 +7,8 @@ import com.core.common.R; import com.core.exception.CoolException; import com.zy.asrs.domain.enums.CrnStatusType; +import com.zy.asrs.domain.param.CrnDemoParam; +import com.zy.asrs.domain.param.SteModeParam; import com.zy.asrs.domain.param.SteOperatorParam; import com.zy.asrs.domain.vo.SteMsgTableVo; import com.zy.asrs.domain.vo.SteStateTableVo; @@ -20,11 +22,13 @@ import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.SlaveType; import com.zy.core.enums.SteTaskModeType; +import com.zy.core.model.CrnSlave; import com.zy.core.model.SteSlave; import com.zy.core.model.Task; import com.zy.core.model.command.SteCommand; import com.zy.core.model.protocol.SteProtocol; import com.zy.core.properties.SlaveProperties; +import com.zy.core.properties.SystemProperties; import com.zy.core.thread.SteThread; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -70,6 +74,7 @@ continue; } vo.setTaskNo(steProtocol.getTaskNo().intValue()); // 浠诲姟鍙� + vo.setStatusVal(steProtocol.getMode().intValue()); // 鍦ㄧ嚎鐘舵�� vo.setStatusType(steProtocol.mode == 0 ? "绂荤嚎" : "鍦ㄧ嚎"); // 妯″紡鐘舵�� if (!Cools.isEmpty(steProtocol.getStatus())) { vo.setStatus(steProtocol.getStatusType().desc); // 鐘舵�� @@ -215,6 +220,42 @@ /************************** 鎵嬪姩鎿嶄綔 ******************************/ /****************************************************************/ + @PostMapping("/mode/switch") + @ManagerAuth + public R crnDemo(SteModeParam param) throws InterruptedException { + if (Cools.isEmpty(param.getSteNo())){ + return R.error(); + } + if (Cools.isEmpty(param.getPassword())){ + return R.error("璇疯緭鍏ュ彛浠�"); + } + if (!param.getPassword().equals(SystemProperties.WCS_PASSWORD)){ + return R.error("鍙d护閿欒"); + } + Thread.sleep(200L); + for (SteSlave steSlave : slaveProperties.getSte()) { + if (steSlave.getId().equals(param.getSteNo())) { + // 鑾峰彇绌挎杞︿俊鎭� + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steSlave.getId()); + SteProtocol steProtocol = steThread.getSteProtocol(); + if (steProtocol == null) { continue; } + SteCommand steCommand = new SteCommand(); + steCommand.setSteNo(param.getSteNo()); // 绌挎杞︾紪鍙� + if (steProtocol.getMode() == 0) { + steCommand.setControlMode((short) 1); + } else { + steCommand.setControlMode((short) 0); + } + if (MessageQueue.offer(SlaveType.Ste, param.getSteNo(), new Task(2, steCommand))) { + return R.ok(); + } else { + throw new CoolException("鍛戒护涓嬪彂澶辫触"); + } + } + } + return R.ok(); + } + @ManagerAuth(memo = "鎵嬪姩鎿嶄綔") @PostMapping("/operator/ste") public R steOperator(SteOperatorParam param){ @@ -238,9 +279,9 @@ steCommand.setSteNo(ste.getId()); // 绌挎杞︾紪鍙� if (param.getSteTaskMode() == 16) { steCommand.setComplete(true); - } else if (param.getSteTaskMode() == 17) { + } else if (param.getSteTaskMode() == 99) { steCommand.setControlMode((short) 1); - } else if (param.getSteTaskMode() == 18) { + } else if (param.getSteTaskMode() == 100) { steCommand.setControlMode((short) 0); } else { if (steTaskModeType == null) { diff --git a/src/main/java/com/zy/asrs/domain/param/SteModeParam.java b/src/main/java/com/zy/asrs/domain/param/SteModeParam.java new file mode 100644 index 0000000..b15331d --- /dev/null +++ b/src/main/java/com/zy/asrs/domain/param/SteModeParam.java @@ -0,0 +1,19 @@ +package com.zy.asrs.domain.param; + +import lombok.Data; + +/** + * 鍫嗗灈鏈烘紨绀烘搷浣滃叆鍙� + * Created by vincent on 2020-06-03 + */ +@Data +public class SteModeParam { + + private Integer steNo; + + // 瀵嗙爜鍙d护 + private String password; + + private Boolean opt; + +} diff --git a/src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java b/src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java index 7c2e7f2..17e499a 100644 --- a/src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java +++ b/src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java @@ -11,6 +11,9 @@ // 绌挎杞﹀彿 private Integer steNo; + // 鍦ㄧ嚎鐘舵�� + private Integer statusVal; + // 妯″紡 private String statusType = "-"; diff --git a/src/main/webapp/views/ste.html b/src/main/webapp/views/ste.html index 41feab5..7c60c8d 100644 --- a/src/main/webapp/views/ste.html +++ b/src/main/webapp/views/ste.html @@ -24,14 +24,17 @@ <div data-steNo="1" class="ste-command-item" style="margin-top: 30px"> <label>1#</label> <button class="demoBtn pos-btn">鏁版嵁缁存姢</button> + <button id="mode-1" class="demoBtn mode-btn" > - </button> </div> <div data-steNo="2" class="ste-command-item" style="margin-top: 30px"> <label>2#</label> <button class="demoBtn pos-btn">鏁版嵁缁存姢</button> + <button id="mode-2" class="demoBtn mode-btn" > - </button> </div> <div data-steNo="3" class="ste-command-item" style="margin-top: 30px"> <label>3#</label> <button class="demoBtn pos-btn">鏁版嵁缁存姢</button> + <button id="mode-3" class="demoBtn mode-btn" > - </button> </div> </div> <!-- 鍫嗗灈鏈虹姸鎬佷綅淇℃伅 --> @@ -106,8 +109,8 @@ <fieldset> <legend>鎵嬪姩鎿嶄綔</legend> <div class="button-group"> - <button class="item" onclick="steOperator(17)">鑱旀満</button> - <button class="item" onclick="steOperator(18)">鑴辨満</button> + <button class="item" onclick="steOperator(99)">鑱旀満</button> + <button class="item" onclick="steOperator(100)">鑴辨満</button> <button class="item" onclick="steOperator(1)">鍚戝乏鍑哄簱</button> <button class="item" onclick="steOperator(2)">鍚戝彸鍑哄簱</button> <button class="item" onclick="steOperator(3)">浠庡乏鍏ュ簱</button> @@ -265,6 +268,36 @@ }) }) + $(document).on('click ','.mode-btn', function () { + let steNo = Number($(this).parent().attr("data-steNo")); + layer.confirm("鏀瑰彉" + steNo + ' 鍙风┛姊溅鍦ㄧ嚎鐘舵�佸悧锛�', function(){ + var index = layer.load(1, { + shade: [0.1,'#fff'] + }); + $.ajax({ + url: baseUrl+ "/ste/mode/switch", + headers: {'token': localStorage.getItem('token')}, + data: { + steNo: Number(steNo), + password: 'root' + }, + method: 'POST', + success: function (res) { + layer.close(index); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + } else if (res.code === 403){ + window.location.href = baseUrl+"/login"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }); + }); + }) + + + $(document).on('click ','#save', function () { http.post(baseUrl+ "/ste/detl/update", { steNo: $('#steNo').val(), @@ -299,6 +332,7 @@ steStateTableFullRows = table.length; } for (let i=1;i<=table.length;i++){ + $("#mode-"+table[i-1].steNo).html(table[i-1].statusVal===0?'鑱旀満':'鑴辨満'); let tr = tableEl.find("tr").eq(i); setVal(tr.children("td").eq(0), table[i-1].steNo); setVal(tr.children("td").eq(1), table[i-1].statusType); -- Gitblit v1.9.1