From f11edf2a41cd186ce46581f0b72ebccfc650674f Mon Sep 17 00:00:00 2001
From: zc <zc@123>
Date: 星期四, 24 四月 2025 14:02:14 +0800
Subject: [PATCH] 初步调试
---
src/main/java/com/zy/asrs/controller/TVController.java | 234 +++++++++++++++++++++++++++++++++++----------------------
1 files changed, 143 insertions(+), 91 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/TVController.java b/src/main/java/com/zy/asrs/controller/TVController.java
index 889d1c7..27109c92 100644
--- a/src/main/java/com/zy/asrs/controller/TVController.java
+++ b/src/main/java/com/zy/asrs/controller/TVController.java
@@ -1,5 +1,8 @@
package com.zy.asrs.controller;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Arith;
import com.core.common.Cools;
@@ -16,20 +19,28 @@
import com.zy.asrs.service.BasShuttleErrService;
import com.zy.asrs.service.BasShuttleService;
import com.zy.asrs.service.WrkMastService;
+import com.zy.common.model.MatDto;
+import com.zy.common.model.SearchLocParam;
import com.zy.common.service.CommonService;
+import com.zy.common.utils.HttpHandler;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
+import com.zy.core.model.LedSlave;
import com.zy.core.model.ShuttleSlave;
import com.zy.core.model.command.LedCommand;
import com.zy.core.model.protocol.ShuttleProtocol;
import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.LedThread;
import com.zy.core.thread.ShuttleThread;
+import com.zy.core.thread.impl.NormalLedThread;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
+import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -55,6 +66,8 @@
private SlaveProperties slaveProperties;
@Autowired
private BasShuttleErrService basShuttleErrService;
+ @Value("${asrs.wmsUrl}")
+ private String wmsUrl;
/**
* 鑾峰彇褰撳墠鏃堕棿
@@ -210,105 +223,145 @@
/**
* 鑾峰彇鍏朵粬淇℃伅
*/
-// @GetMapping("/led")
-// public R monitorLed(@RequestParam("ledId") Integer ledId) {
-// BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", ledId));
-// if (Cools.isEmpty(basDevp)) {
-// return R.ok();
-// }
-// WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
-// if (Cools.isEmpty(wrkMast)) {
-// return R.ok();
-// }
-// List<LedCommand> commands = new ArrayList<>();
-//
-// // 缁勮鍛戒护
-// LedCommand ledCommand = new LedCommand();
-// ledCommand.setWorkNo(wrkMast.getWrkNo());
-// ledCommand.setIoType(wrkMast.getIoType());
-// // 鍑哄簱妯″紡
-// switch (wrkMast.getIoType()) {
-// case 1:
-// ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
-// break;
-// case 10:
-// ledCommand.setTitle("绌烘澘鍏ュ簱");
-// break;
-// case 101:
-// ledCommand.setTitle("鍏ㄦ澘鍑哄簱");
-// break;
-// case 103:
-// ledCommand.setTitle("鎷f枡鍑哄簱");
-// break;
-// case 104:
-// ledCommand.setTitle("骞舵澘鍑哄簱");
-// break;
-// case 107:
-// ledCommand.setTitle("鐩樼偣鍑哄簱");
-// break;
-// case 110:
-// ledCommand.setTitle("绌烘澘鍑哄簱");
-// ledCommand.setEmptyMk(true);
-// break;
-// case 53:
-// ledCommand.setTitle("鎷f枡鍏ュ簱");
-// break;
-// case 57:
-// ledCommand.setTitle("鐩樼偣鍏ュ簱");
-// break;
-// case 54:
-// ledCommand.setTitle("骞舵澘鍏ュ簱");
-// break;
-// default:
-// break;
-// }
-// ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
-// ledCommand.setLocNo(wrkMast.getLocNo());
-// ledCommand.setStaNo(wrkMast.getStaNo());
-//// ledCommand.setSourceStaNo(wrkMast.getSourceStaNo());
-// if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
-// List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-// try {
-// if (wrkMast.getIoType() > 100) {
-// for (WrkDetl wrkDetl : wrkDetls) {
-// LocDetl locDetl = locDetlService.selectMatnrSpecs(wrkDetl.getMatnr(), wrkDetl.getSpecs(), wrkMast.getSourceLocNo());
-// wrkDetl.setWeight(locDetl.getAnfme());
-// }
-// } else {
-// for (WrkDetl wrkDetl : wrkDetls) {
-// wrkDetl.setWeight(wrkDetl.getAnfme());
-// }
-// }
-// } catch (Exception e) {
-//// log.error("宸ヤ綔妗f鏄庣粏杈撳叆鐢佃鏈哄け璐�1锛氬紓甯镐俊鎭�==銆�"+e);
-// }
-// wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getWeight(), wrkDetl.getSpecs(), wrkDetl.getModel())));
-// }
-// commands.add(ledCommand);
-// return R.ok().add(commands);
-// }
+ @GetMapping("/led")
+ public R monitorLed(@RequestParam("ledId") Integer ledId) {
+ int dev_no = 1012;
+ if (ledId == 1) {
+ dev_no = 1012;
+ } else if (ledId == 2) {
+ dev_no = 1014;
+ } else if (ledId == 3) {
+ dev_no = 1022;
+ } else if (ledId == 4) {
+ dev_no = 1025;
+ }
+ BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", dev_no));
+ if (Cools.isEmpty(basDevp)) {
+ return R.ok();
+ }
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", basDevp.getWrkNo()));
+ if (Cools.isEmpty(wrkMast)) {
+ return R.ok();
+ }
+ List<LedCommand> commands = new ArrayList<>();
+
+ // 缁勮鍛戒护
+ LedCommand ledCommand = new LedCommand();
+ ledCommand.setWorkNo(wrkMast.getWmsWrkNo());
+ ledCommand.setIoType(wrkMast.getIoType());
+ // 鍑哄簱妯″紡
+ switch (wrkMast.getIoType()) {
+ case 1:
+ ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
+ break;
+ case 10:
+ ledCommand.setTitle("绌烘澘鍏ュ簱");
+ break;
+ case 101:
+ ledCommand.setTitle("鍏ㄦ澘鍑哄簱");
+ break;
+ case 103:
+ ledCommand.setTitle("鎷f枡鍑哄簱");
+ break;
+ case 104:
+ ledCommand.setTitle("骞舵澘鍑哄簱");
+ break;
+ case 107:
+ ledCommand.setTitle("鐩樼偣鍑哄簱");
+ break;
+ case 110:
+ ledCommand.setTitle("绌烘澘鍑哄簱");
+ ledCommand.setEmptyMk(true);
+ break;
+ case 53:
+ ledCommand.setTitle("鎷f枡鍏ュ簱");
+ break;
+ case 57:
+ ledCommand.setTitle("鐩樼偣鍏ュ簱");
+ break;
+ case 54:
+ ledCommand.setTitle("骞舵澘鍏ュ簱");
+ break;
+ default:
+ break;
+ }
+ ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
+ ledCommand.setLocNo(wrkMast.getLocNo());
+ ledCommand.setStaNo(wrkMast.getStaNo());
+ if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
+ Map<String, Object> param = new HashMap<>();
+ param.put("taskNo", wrkMast.getWmsWrkNo());
+ param.put("sta", wrkMast.getStaNo());
+ String response = null;
+ try {
+ response = new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath("/rpc/led/getTask2")
+ .setJson(JSON.toJSONString(param))
+ .build()
+ .doPost();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ JSONObject jsonObject = JSON.parseObject(response);
+ Integer code = jsonObject.getInteger("code");
+ if (code.equals(200)) {
+ String data = jsonObject.getString("data");
+ List<LedCommand> wrkDetls = JSONArray.parseArray(data, LedCommand.class);
+ commands.addAll(wrkDetls);
+ }
+ }
+
+ return R.ok().add(commands);
+ }
/**
* 寮傚父閫氱煡
*/
@GetMapping("/led/error")
public R monitorLedError(@RequestParam("ledId") Integer ledId) {
- BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", ledId));
- if (Cools.isEmpty(basDevp)) {
- return R.ok();
+ String errorMsg = "";
+ for (LedSlave slave : slaveProperties.getLed()) {
+ if (slave.getId() == ledId) {
+ NormalLedThread ledThread = (NormalLedThread) SlaveConnection.get(SlaveType.Led, slave.getId());
+ if (null != ledThread) {
+ errorMsg = ledThread.getErrorMsg().toString();
+ }
+ }
}
- if (Cools.isEmpty(basDevp.getArea())) {
- return R.ok();
- }
- if (basDevp.getLoading().equals("N")) {
- basDevp.setArea("");
- basDevpService.updateById(basDevp);
- return R.ok();
- }
- String errorMsg = basDevp.getArea();
-
return R.ok().add(errorMsg);
}
+ /**
+ * 寮傚父閫氱煡
+ */
+// @GetMapping("/led/error")
+// public R monitorLedError(@RequestParam("ledId") Integer ledId) {
+// int dev_no = 1012;
+// if (ledId == 1) {
+// dev_no = 1012;
+// } else if (ledId == 2) {
+// dev_no = 1014;
+// } else if (ledId == 3) {
+// dev_no = 1022;
+// } else if (ledId == 4) {
+// dev_no = 1025;
+// }
+// BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", dev_no));
+// if (Cools.isEmpty(basDevp)) {
+// return R.ok();
+// }
+// if (Cools.isEmpty(basDevp.getArea())) {
+// return R.ok();
+// }
+// if (basDevp.getLoading().equals("N")) {
+// basDevp.setArea("");
+// basDevpService.updateById(basDevp);
+// return R.ok();
+// }
+// String errorMsg = basDevp.getArea();
+//
+// return R.ok().add(errorMsg);
+// }
/**
* 璁惧寮傚父閫氱煡
@@ -316,7 +369,6 @@
@GetMapping("/device/error")
public R monitorDeviceError() {
ArrayList<HashMap<String, Object>> list = new ArrayList<>();
- List<BasShuttle> basCrnpLiset = shuttleService.selectList(new EntityWrapper<BasShuttle>());
for (ShuttleSlave shuttleSlave : slaveProperties.getShuttle()) {
// 鑾峰彇鍥涘悜绌挎杞︿俊鎭�
--
Gitblit v1.9.1