From af1b0101f2f19fb562ba81eb2bbe3a7976e3d716 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 24 十一月 2023 15:50:50 +0800
Subject: [PATCH] #堆垛机出入库
---
src/main/java/com/zy/asrs/controller/CrnController.java | 126 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 126 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index b8e24d5..e7b9991 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -1,6 +1,8 @@
package com.zy.asrs.controller;
+import HslCommunication.Profinet.Siemens.SiemensS7Net;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
@@ -21,6 +23,7 @@
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
import com.zy.asrs.utils.VersionUtils;
+import com.zy.common.utils.HttpHandler;
import com.zy.core.CrnThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
@@ -36,8 +39,10 @@
import com.zy.core.properties.SystemProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -50,6 +55,13 @@
@Slf4j
@RestController
public class CrnController {
+
+ @Value("${wms.url}")
+ private String wmsUrl;
+ @Value("${wms.movePath}")
+ private String movePath;
+
+
@Autowired
private SlaveProperties slaveProperties;
@@ -576,6 +588,120 @@
return R.error();
}
+ @ManagerAuth(memo = "鍒囨崲鑱旀満妯″紡")
+ @PostMapping("/crn/operator/auto")
+ public R crnAuto(CrnOperatorParam param){
+ short[] array = new short[9];
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setAuto((short)1);
+
+ return crnControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "鍒囨崲鍗婃墜鍔ㄦā寮�")
+ @PostMapping("/crn/operator/semiAutomatic")
+ public R crnsemiAutomatic(CrnOperatorParam param){
+ short[] array = new short[9];
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setAuto((short)2);
+
+ return crnControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "鍒囨崲鎵嬪姩妯″紡")
+ @PostMapping("/crn/operator/hand")
+ public R onlineWrk1(CrnOperatorParam param){
+ short[] array = new short[9];
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setAuto((short)3);
+
+ return crnControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "鐢宠瀹屾垚浠诲姟")
+ @PostMapping("/crn/operator/onlineWrk1")
+ public R onlineWrk2(CrnOperatorParam param){
+ short[] array = new short[9];
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setOnlineWrk1((short)1);
+
+ return crnControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "鐢宠鍙栨秷浠诲姟")
+ @PostMapping("/crn/operator/onlineWrk2")
+ public R onlineWrk3(CrnOperatorParam param){
+ short[] array = new short[9];
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setOnlineWrk2((short)1);
+
+ return crnControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "娓呴櫎鑱旀満浠诲姟")
+ @PostMapping("/crn/operator/onlineWrk3")
+ public R onlineWrk4(CrnOperatorParam param){
+ short[] array = new short[9];
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setOnlineWrk3((short)1);
+
+ return crnControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "鎭㈠鑱旀満浠诲姟")
+ @PostMapping("/crn/operator/onlineWrk4")
+ public R crnHand(CrnOperatorParam param){
+ short[] array = new short[9];
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setOnlineWrk4((short)1);
+
+ return crnControl2(command)?R.ok():R.error();
+ }
+
+
+
+ private boolean crnControl2(CrnCommand command){
+ if (command.getCrnNo() == null) {
+ throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�");
+ }
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ if (command.getCrnNo().equals(crn.getId())) {
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ if (crnThread == null) {
+ throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ嚎");
+ }
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ嚎");
+ }
+ // 绌洪棽鍒ゆ柇
+// if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) {
+ if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(4, command))) {
+ return true;
+ } else {
+ throw new CoolException("鍛戒护涓嬪彂澶辫触");
+ }
+// } else {
+// throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ┖闂茬姸鎬�");
+// }
+ }
+ }
+ return false;
+ }
+
+
+
+
+
private boolean crnControl(CrnCommand command){
if (command.getCrnNo() == null) {
throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�");
--
Gitblit v1.9.1