From 99f220b7ee2b021418321071307c6b3d33ca59b8 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 24 五月 2023 13:44:08 +0800
Subject: [PATCH] wrkDetl
---
src/main/java/com/zy/asrs/controller/CrnController.java | 167 +++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 137 insertions(+), 30 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index 52fadad..86949ae 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
@@ -12,10 +13,7 @@
import com.zy.asrs.domain.vo.CommandLogVo;
import com.zy.asrs.domain.vo.CrnMsgTableVo;
import com.zy.asrs.domain.vo.CrnStateTableVo;
-import com.zy.asrs.entity.BasCrnError;
-import com.zy.asrs.entity.BasCrnp;
-import com.zy.asrs.entity.LocMast;
-import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.BasCrnErrorMapper;
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.LocMastService;
@@ -37,10 +35,7 @@
import com.zy.core.properties.SystemProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
@@ -53,7 +48,6 @@
*/
@Slf4j
@RestController
-@RequestMapping("/crn")
public class CrnController {
@Autowired
@@ -71,7 +65,7 @@
@ManagerAuth(memo = "杩涜涓殑鍛戒护")
- @PostMapping("/command/ongoing")
+ @PostMapping("/crn/command/ongoing")
public R ongoingCommand(){
List<CommandLogVo> list = new ArrayList<>();
for (CrnSlave crn : slaveProperties.getCrn()) {
@@ -97,7 +91,7 @@
return R.ok().add(list);
}
- @PostMapping("/table/crn/state")
+ @PostMapping("/crn/table/crn/state")
@ManagerAuth(memo = "鍫嗗灈鏈轰俊鎭〃")
public R crnStateTable(){
List<CrnStateTableVo> list = new ArrayList<>();
@@ -119,23 +113,57 @@
vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙�
vo.setStatusType(crnProtocol.modeType.desc); // 妯″紡鐘舵��
vo.setStatus(crnProtocol.getStatusType().desc); // 鐘舵��
- vo.setLoading(crnProtocol.getLoaded()==1?"鏈夌墿":"鏃犵墿"); // 鏈夌墿
+ vo.setLoading((crnProtocol.getLoaded() != null && crnProtocol.getLoaded() == 1) ? "鏈夌墿" : "鏃犵墿"); // 鏈夌墿
vo.setBay(crnProtocol.getBay()); // 鍒�
vo.setLev(crnProtocol.getLevel()); // 灞�
vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆
vo.setLiftPos(crnProtocol.getLiftPosType().desc);
vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�");
- vo.setWarnCode(String.valueOf(crnProtocol.getAlarm()));
- if (crnProtocol.getAlarm() > 0) {
- BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
+ vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));
+ if (crnProtocol.getAlarm1() > 0) {
+ BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName());
}
}
return R.ok().add(list);
}
- @PostMapping("/table/crn/msg")
+ @PostMapping("/crn/table/crn/{id}/state")
+ @ManagerAuth(memo = "鍫嗗灈鏈轰俊鎭〃")
+ public R crnStateTable(@PathVariable("id") Integer id){
+ BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", id).orderBy("crn_no"));
+ // 琛ㄦ牸琛�
+ CrnStateTableVo vo = new CrnStateTableVo();
+ vo.setCrnNo(basCrnp.getCrnNo()); // 鍫嗗灈鏈哄彿
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, basCrnp.getCrnNo());
+ if (crnThread == null) {
+ return R.error();
+ }
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ return R.error();
+ }
+ vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙�
+ vo.setStatusType(crnProtocol.modeType.desc); // 妯″紡鐘舵��
+ vo.setStatus(crnProtocol.getStatusType().desc); // 鐘舵��
+ vo.setLoading((crnProtocol.getLoaded() != null && crnProtocol.getLoaded() == 1) ? "鏈夌墿" : "鏃犵墿"); // 鏈夌墿
+ vo.setBay(crnProtocol.getBay()); // 鍒�
+ vo.setLev(crnProtocol.getLevel()); // 灞�
+
+ vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆
+ vo.setLiftPos(crnProtocol.getLiftPosType().desc);
+ vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�");
+ vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));
+ if (crnProtocol.getAlarm1() > 0) {
+ BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
+ vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName());
+ }
+ return R.ok().add(vo);
+ }
+
+ @PostMapping("/crn/table/crn/msg")
@ManagerAuth(memo = "鍫嗗灈鏈烘暟鎹〃")
public R crnMsgTable(){
List<CrnMsgTableVo> list = new ArrayList<>();
@@ -179,7 +207,47 @@
return R.ok().add(list);
}
- @PostMapping("/output/site")
+ @PostMapping("/crn/table/crn/{id}/msg")
+ @ManagerAuth(memo = "鍫嗗灈鏈烘暟鎹〃")
+ public R crnMsgTable(@PathVariable("id") Integer id){
+ BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", id).orderBy("crn_no"));
+ // 琛ㄦ牸琛�
+ CrnMsgTableVo vo = new CrnMsgTableVo();
+ vo.setCrnNo(basCrnp.getCrnNo()); // 鍫嗗灈鏈哄彿
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, basCrnp.getCrnNo());
+ if (crnThread == null) {
+ return R.error();
+ }
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ return R.error();
+ }
+
+ vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙�
+ if (crnProtocol.getTaskNo()>0) {
+ WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
+ if (wrkMast != null) {
+ vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵��
+ vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯
+ vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔�
+ vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣�
+ vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅
+ }
+ } else {
+ vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵��
+ }
+ vo.setXspeed(crnProtocol.getXSpeed()); // 璧拌閫熷害锛坢/min)
+ vo.setYspeed(crnProtocol.getYSpeed()); // 鍗囬檷閫熷害锛坢/min)
+ vo.setZspeed(crnProtocol.getZSpeed()); // 鍙夌墮閫熷害锛坢/min)
+ vo.setXdistance(crnProtocol.getXDistance()); // 璧拌璺濈(Km)
+ vo.setYdistance(crnProtocol.getYDistance()); // 鍗囬檷璺濈(Km)
+ vo.setXduration(crnProtocol.getXDuration()); // 璧拌鏃堕暱(H)
+ vo.setYduration(crnProtocol.getYDuration()); // 鍗囬檷鏃堕暱(H)
+ return R.ok().add(vo);
+ }
+
+ @PostMapping("/crn/output/site")
@ManagerAuth(memo = "鍫嗗灈鏈烘姤鏂囨棩蹇楄緭鍑�")
public R crnOutput(){
StringBuilder str = new StringBuilder();
@@ -193,7 +261,7 @@
}
- @GetMapping("/demo/status")
+ @GetMapping("/crn/demo/status")
public R demoStatus(){
List<Map<String, Object>> res = new ArrayList<>();
for (CrnSlave crnSlave : slaveProperties.getCrn()) {
@@ -206,7 +274,7 @@
}
- @PostMapping("/demo/switch")
+ @PostMapping("/crn/demo/switch")
@ManagerAuth(memo = "鍫嗗灈鏈烘紨绀�")
public R crnDemo(CrnDemoParam param) throws InterruptedException {
if (Cools.isEmpty(param.getCrnId())){
@@ -235,7 +303,7 @@
/****************************************************************/
@ManagerAuth(memo = "鍏ュ簱")
- @PostMapping("/operator/put")
+ @PostMapping("/crn/operator/put")
public R crnPut(CrnOperatorParam param){
CrnCommand command = new CrnCommand();
command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
@@ -252,7 +320,7 @@
}
@ManagerAuth(memo = "鍑哄簱")
- @PostMapping("/operator/take")
+ @PostMapping("/crn/operator/take")
public R crnTake(CrnOperatorParam param){
CrnCommand command = new CrnCommand();
command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
@@ -269,7 +337,7 @@
}
@ManagerAuth(memo = "搴撲綅杞Щ")
- @PostMapping("/operator/stockMove")
+ @PostMapping("/crn/operator/stockMove")
public R crnStockMove(CrnOperatorParam param){
CrnCommand command = new CrnCommand();
command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
@@ -291,7 +359,7 @@
}
@ManagerAuth(memo = "绔欏埌绔�")
- @PostMapping("/operator/siteMove")
+ @PostMapping("/crn/operator/siteMove")
public R crnSiteMove(CrnOperatorParam param){
CrnCommand command = new CrnCommand();
command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
@@ -308,7 +376,7 @@
}
@ManagerAuth(memo = "鍥炲師鐐�")
- @PostMapping("/operator/bacOrigin")
+ @PostMapping("/crn/operator/bacOrigin")
public R crnBacOrigin(CrnOperatorParam param){
CrnCommand command = new CrnCommand();
command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
@@ -325,7 +393,7 @@
}
@ManagerAuth(memo = "鍙嶅師鐐�")
- @PostMapping("/operator/reverseOrigin")
+ @PostMapping("/crn/operator/reverseOrigin")
public R reverseOrigin(CrnOperatorParam param){
CrnCommand command = new CrnCommand();
command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
@@ -360,7 +428,7 @@
// }
@ManagerAuth(memo = "浠诲姟瀹屾垚")
- @PostMapping("/operator/taskComplete")
+ @PostMapping("/crn/operator/taskComplete")
public R crnTaskComplete(CrnOperatorParam param){
CrnCommand command = new CrnCommand();
command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
@@ -389,17 +457,27 @@
// }
@ManagerAuth(memo = "娓呴櫎鍛戒护")
- @PostMapping("/operator/clearCommand")
+ @PostMapping("/crn/operator/clearCommand")
public R crnClearCommand(CrnOperatorParam param){
if (param.getCrnNo() == null) {
throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�");
}
- MessageQueue.clear(SlaveType.Crn, param.getCrnNo());
- return R.ok("娓呴櫎鍛戒护鎴愬姛");
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ 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); // 鐩爣搴撲綅灞�
+ return crnControl(command)?R.ok():R.error();
}
@ManagerAuth(memo = "鎵嬪姩澶嶄綅")
- @PostMapping("/operator/handleReset")
+ @PostMapping("/crn/operator/handleReset")
public R handleReset(CrnOperatorParam param) throws Exception {
if (param.getCrnNo() == null) {
throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�");
@@ -420,6 +498,7 @@
crnCommand.setCrnNo(crn.getId()); // 鍫嗗灈鏈虹紪鍙�
crnCommand.setTaskMode(CrnTaskModeType.CLEAR);
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setCommand((short) 0); // 浠诲姟瀹屾垚纭浣�
// 寤舵椂鍙戦��
Thread.sleep(1000L);
if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, crnCommand))) {
@@ -490,5 +569,33 @@
}
}
+ // /crn/list/auth
+ @RequestMapping(value = "/crnListQuery/auth")
+ @ManagerAuth
+ public R listQuery(String condition){
+ ArrayList<HashMap<String, Object>> list = new ArrayList<>();
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ if (crnThread == null) {
+ continue;
+ }
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
+
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("id", crn.getId());
+ map.put("value", "鍫嗗灈鏈�" + crn.getId() + "鍙�");
+ if (condition != "" && !condition.equals(crn.getId().toString())) {
+ continue;
+ }
+
+ list.add(map);
+ }
+ return R.ok().add(list);
+ }
+
}
--
Gitblit v1.9.1