From 61ceac3d348b5d2a58cba2bfde1002674368002e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 24 十二月 2020 16:54:14 +0800
Subject: [PATCH] #newVersion
---
src/main/java/com/zy/asrs/controller/CrnController.java | 114 +++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 87 insertions(+), 27 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index ee31492..86d7e68 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -1,18 +1,25 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
+import com.core.common.Cools;
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.CrnOperatorParam;
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.WrkMast;
import com.zy.asrs.mapper.BasCrnErrorMapper;
+import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.service.impl.MainServiceImpl;
+import com.zy.core.CrnThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
@@ -25,7 +32,7 @@
import com.zy.core.model.command.CrnCommand;
import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.properties.SlaveProperties;
-import com.zy.core.thread.CrnThread;
+import com.zy.core.properties.SystemProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@@ -50,6 +57,10 @@
private WrkMastService wrkMastService;
@Autowired
private BasCrnErrorMapper basCrnErrorMapper;
+ @Autowired
+ private BasCrnpService basCrnpService;
+ @Autowired
+ private MainServiceImpl mainService;
@ManagerAuth(memo = "杩涜涓殑鍛戒护")
@@ -83,30 +94,31 @@
@ManagerAuth(memo = "鍫嗗灈鏈轰俊鎭〃")
public R crnStateTable(){
List<CrnStateTableVo> list = new ArrayList<>();
- for (CrnSlave crn : slaveProperties.getCrn()) {
+ List<BasCrnp> crnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().orderBy("crn_no"));
+ for (BasCrnp basCrnp : crnps) {
+ // 琛ㄦ牸琛�
+ CrnStateTableVo vo = new CrnStateTableVo();
+ vo.setCrnNo(basCrnp.getCrnNo()); // 鍫嗗灈鏈哄彿
+ list.add(vo);
// 鑾峰彇鍫嗗灈鏈轰俊鎭�
- CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, basCrnp.getCrnNo());
if (crnThread == null) {
- log.error("{}鍙峰爢鍨涙満杩炴帴澶辫触", crn.getId());
continue;
}
CrnProtocol crnProtocol = crnThread.getCrnProtocol();
if (crnProtocol == null) {
- log.error("{}鍙峰爢鍨涙満杩炴帴澶辫触", crn.getId());
continue;
}
- // 琛ㄦ牸琛�
- CrnStateTableVo vo = new CrnStateTableVo();
- vo.setCrnNo(crn.getId()); // 鍫嗗灈鏈哄彿
vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙�
- if (crnProtocol.getTaskNo()>0) {
- WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
- if (wrkMast != null) {
- vo.setStatusType(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵��
- }
- } else {
- vo.setStatusType(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵��
- }
+// if (crnProtocol.getTaskNo()>0) {
+// WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
+// if (wrkMast != null) {
+// vo.setStatusType(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵��
+// }
+// } else {
+//
+// }
+ vo.setStatusType(crnProtocol.modeType.desc); // 妯″紡鐘舵��
vo.setStatus(crnProtocol.getStatusType().desc); // 鐘舵��
vo.setLoading(crnProtocol.getLoaded()==1?"鏈夌墿":"鏃犵墿"); // 鏈夌墿
vo.setBay(crnProtocol.getBay()); // 鍒�
@@ -116,9 +128,8 @@
vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆
vo.setXLocation(crnProtocol.getWalkPos() == 1?"鏄�":"鍚�"); // 璧拌瀹氫綅
vo.setYLocation(crnProtocol.getLiftPosType().equals(CrnLiftPosType.NONE)?"鍚�":"鏄�"); // 鍗囬檷瀹氫綅
- vo.setStop(crnProtocol.getCrnTemp1().stop?"鏄�":"鍚�"); // 鎬ュ仠
- vo.setWarnCode(String.valueOf(crnProtocol.getAlarm())); // 寮傚父鐮�
- list.add(vo);
+ vo.setStop(crnProtocol.getCrnError1().controlStop||crnProtocol.getCrnError1().mainStop||crnProtocol.getCrnError1().remoteStop?"鏄�":"鍚�"); // 鎬ュ仠
+ vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); // 寮傚父鐮�
}
return R.ok().add(list);
}
@@ -127,9 +138,14 @@
@ManagerAuth(memo = "鍫嗗灈鏈烘暟鎹〃")
public R crnMsgTable(){
List<CrnMsgTableVo> list = new ArrayList<>();
- for (CrnSlave crn : slaveProperties.getCrn()) {
+ List<BasCrnp> crnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().orderBy("crn_no"));
+ for (BasCrnp basCrnp : crnps) {
+ // 琛ㄦ牸琛�
+ CrnMsgTableVo vo = new CrnMsgTableVo();
+ vo.setCrnNo(basCrnp.getCrnNo()); // 鍫嗗灈鏈哄彿
+ list.add(vo);
// 鑾峰彇鍫嗗灈鏈轰俊鎭�
- CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, basCrnp.getCrnNo());
if (crnThread == null) {
continue;
}
@@ -137,11 +153,9 @@
if (crnProtocol == null) {
continue;
}
- // 琛ㄦ牸琛�
- CrnMsgTableVo vo = new CrnMsgTableVo();
- vo.setCrnNo(crn.getId()); // 鍫嗗灈鏈哄彿
+
vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙�
- BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
+ BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
if (null != crnError) {
vo.setError(crnError.getErrName());
}
@@ -164,8 +178,6 @@
vo.setYdistance(crnProtocol.getYDistance()); // 鍗囬檷璺濈(Km)
vo.setXduration(crnProtocol.getXDuration()); // 璧拌鏃堕暱(H)
vo.setYduration(crnProtocol.getYDuration()); // 鍗囬檷鏃堕暱(H)
- list.add(vo);
-
}
return R.ok().add(list);
}
@@ -181,6 +193,23 @@
i++;
}
return R.ok().add(str.toString());
+ }
+
+ @PostMapping("/demo/switch")
+ @ManagerAuth(memo = "鍫嗗灈鏈烘紨绀�")
+ public R crnDemo(CrnDemoParam param) throws InterruptedException {
+ if (Cools.isEmpty(param.getCrnId())){
+ 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);
+ mainService.crnDemoOfLocMove(param.getCrnId());
+ return R.ok();
}
@@ -202,6 +231,7 @@
command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺�
command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒�
command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞�
+ staNoProcess(param, command);
return crnControl(command)?R.ok():R.error();
}
@@ -219,6 +249,7 @@
command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺�
command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒�
command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞�
+ staNoProcess(param, command);
return crnControl(command)?R.ok():R.error();
}
@@ -236,6 +267,7 @@
command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺�
command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒�
command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞�
+ staNoProcess(param, command);
return crnControl(command)?R.ok():R.error();
}
@@ -253,6 +285,7 @@
command.setDestinationPosX(param.getStaNo()); // 鐩爣搴撲綅鎺�
command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
command.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
+ staNoProcess(param, command);
return crnControl(command)?R.ok():R.error();
}
@@ -304,6 +337,7 @@
command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺�
command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒�
command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞�
+ staNoProcess(param, command);
return crnControl(command)?R.ok():R.error();
}
@@ -417,4 +451,30 @@
return false;
}
+ private void staNoProcess(CrnOperatorParam param, CrnCommand command){
+ if (param.getSourceStaNo()!=null) {
+ if (param.getSourceStaNo() == 5) {
+ command.setSourcePosX((short) 2); // 婧愬簱浣嶆帓
+ command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪
+ command.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
+ } else if (param.getSourceStaNo() == 6) {
+ command.setSourcePosX((short) 1); // 婧愬簱浣嶆帓
+ command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪
+ command.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
+ }
+ }
+ if (param.getStaNo()!=null) {
+ if (param.getStaNo() == 5) {
+ command.setDestinationPosX((short) 2); // 鐩爣搴撲綅鎺�
+ command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
+ command.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
+ } else if (param.getStaNo() == 6) {
+ command.setDestinationPosX((short) 1); // 鐩爣搴撲綅鎺�
+ command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
+ command.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
+ }
+ }
+ }
+
+
}
--
Gitblit v1.9.1