From 46d68076bfa7b706549e0420dfe09314024e3696 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 22 十一月 2024 21:02:39 +0800
Subject: [PATCH] #读取地图文件优化
---
src/main/java/com/zy/asrs/controller/ShuttleController.java | 52 +++++++++++++++++++++++++++++++---------------------
1 files changed, 31 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/ShuttleController.java b/src/main/java/com/zy/asrs/controller/ShuttleController.java
index ce01db0..18777ea 100644
--- a/src/main/java/com/zy/asrs/controller/ShuttleController.java
+++ b/src/main/java/com/zy/asrs/controller/ShuttleController.java
@@ -2,7 +2,6 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
@@ -71,10 +70,13 @@
@ManagerAuth(memo = "鍥涘悜绌挎杞︿俊鎭〃")
public R shuttleStateTable(){
ArrayList<JSONObject> list = new ArrayList<>();
- List<BasShuttle> shuttles = basShuttleService.selectList(new EntityWrapper<BasShuttle>().orderBy("shuttle_no"));
- for (BasShuttle basShuttle : shuttles) {
+ for (ShuttleSlave slave : slaveProperties.getShuttle()) {
+ // 琛ㄦ牸琛�
+ JSONObject baseObj = new JSONObject();
+ baseObj.put("shuttleNo", slave.getId());
+ list.add(baseObj);
// 鑾峰彇鍥涘悜绌挎杞︿俊鎭�
- NyShuttleThread shuttleThread = (NyShuttleThread) SlaveConnection.get(SlaveType.Shuttle, basShuttle.getShuttleNo());
+ NyShuttleThread shuttleThread = (NyShuttleThread) SlaveConnection.get(SlaveType.Shuttle, slave.getId());
if (shuttleThread == null) {
continue;
}
@@ -82,7 +84,7 @@
JSONObject shuttleData = JSON.parseObject(JSON.toJSONString(shuttleProtocol));
if (shuttleProtocol == null || shuttleProtocol.getShuttleNo()==null) {
if (shuttleData != null) {
- list.add(shuttleData);
+ baseObj.putAll(shuttleData);
}
continue;
}
@@ -90,14 +92,20 @@
shuttleData.put("moveAdvancePath", null);//绌挎杞﹂璁¤矾寰�
if (shuttleProtocol.getTaskNo() != 0) {
//瀛樺湪浠诲姟锛岃幏鍙栨寚浠�
- Object object = redisUtil.get("shuttle_wrk_no_" + shuttleProtocol.getTaskNo());
+ Object object = redisUtil.get(RedisKeyType.SHUTTLE.key + shuttleProtocol.getTaskNo());
if (object != null) {
ShuttleRedisCommand redisCommand = JSON.parseObject(object.toString(), ShuttleRedisCommand.class);
shuttleData.put("moveAdvancePath", redisCommand.getAssignCommand().getNodes());//绌挎杞﹂璁¤矾寰�
}
}
- list.add(shuttleData);
+ Integer chargeLine = basShuttleService.selectById(slave.getId()).getChargeLine();
+ String lowerPower = "N";
+ if (chargeLine != null && shuttleProtocol.getPowerPercent() != null) {
+ lowerPower = shuttleProtocol.getPowerPercent() <= chargeLine ? "Y" : "N";
+ }
+ shuttleData.put("lowerPower", lowerPower);//鏄惁浣庣數閲�
+ baseObj.putAll(shuttleData);
}
return R.ok().add(list);
}
@@ -106,14 +114,13 @@
@ManagerAuth(memo = "鍥涘悜绌挎杞︽暟鎹〃")
public R steMsgTable(){
List<ShuttleMsgTableVo> list = new ArrayList<>();
- List<BasShuttle> shuttles = basShuttleService.selectList(new EntityWrapper<BasShuttle>().orderBy("shuttle_no"));
- for (BasShuttle basShuttle : shuttles) {
+ for (ShuttleSlave slave : slaveProperties.getShuttle()) {
// 琛ㄦ牸琛�
ShuttleMsgTableVo vo = new ShuttleMsgTableVo();
- vo.setShuttleNo(basShuttle.getShuttleNo()); // 鍥涘悜绌挎杞﹀彿
+ vo.setShuttleNo(slave.getId()); // 鍥涘悜绌挎杞﹀彿
list.add(vo);
// 鑾峰彇绌挎杞︿俊鎭�
- ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, basShuttle.getShuttleNo());
+ ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, slave.getId());
if (shuttleThread == null) {
continue;
}
@@ -147,8 +154,11 @@
vo.setPakMk(shuttleProtocol.getPakMk()?"Y" : "N"); // 浣滀笟鏍囪
vo.setLocNo(shuttleProtocol.getLocNo());//鍥涘悜绌挎杞﹀綋鍓嶅簱浣嶅彿
vo.setLev(shuttleProtocol.getLocNo() == null ? 0 : Utils.getLev(shuttleProtocol.getLocNo()));//鍥涘悜绌挎杞﹀綋鍓嶅眰楂�
-// vo.setRunSpeed(basShuttle.getRunSpeed());//鍥涘悜绌挎杞﹁繍琛岄�熷害(璁剧疆)
- vo.setChargeLine(basShuttle.getChargeLine());//鍏呯數闃堝��
+
+ BasShuttle basShuttle = basShuttleService.selectById(slave.getId());
+ if (basShuttle != null) {
+ vo.setChargeLine(basShuttle.getChargeLine());//鍏呯數闃堝��
+ }
}
return R.ok().add(list);
}
@@ -174,7 +184,7 @@
@RequestMapping(value = "/command/query")
public R shuttleCommandQuery(@RequestParam("wrkNo") Integer wrkNo) {
- Object o = redisUtil.get("shuttle_wrk_no_" + wrkNo);
+ Object o = redisUtil.get(RedisKeyType.SHUTTLE.key + wrkNo);
if (o == null) {
return R.error();
}
@@ -186,13 +196,13 @@
@RequestMapping(value = "/command/rollback")
public R shuttleCommandRollback(@RequestParam("wrkNo") Integer wrkNo
, @RequestParam("commandStep") Integer commandStep) {
- Object o = redisUtil.get("shuttle_wrk_no_" + wrkNo);
+ Object o = redisUtil.get(RedisKeyType.SHUTTLE.key + wrkNo);
if (o == null) {
return R.error();
}
ShuttleRedisCommand redisCommand = JSON.parseObject(o.toString(), ShuttleRedisCommand.class);
redisCommand.setCommandStep(commandStep);
- redisUtil.set("shuttle_wrk_no_" + wrkNo, JSON.toJSONString(redisCommand));
+ redisUtil.set(RedisKeyType.SHUTTLE.key + wrkNo, JSON.toJSONString(redisCommand));
return R.ok();
}
@@ -201,7 +211,7 @@
public R shuttleCommandCompleteSwitch(@RequestParam("wrkNo") Integer wrkNo
, @RequestParam("commandStep") Integer commandStep
, @RequestParam("complete") Integer complete) {
- Object o = redisUtil.get("shuttle_wrk_no_" + wrkNo);
+ Object o = redisUtil.get(RedisKeyType.SHUTTLE.key + wrkNo);
if (o == null) {
return R.error();
}
@@ -210,14 +220,14 @@
List<NyShuttleHttpCommand> commands = assignCommand.getCommands();
NyShuttleHttpCommand command = commands.get(commandStep);
command.setComplete(complete != 0);
- redisUtil.set("shuttle_wrk_no_" + wrkNo, JSON.toJSONString(redisCommand));
+ redisUtil.set(RedisKeyType.SHUTTLE.key + wrkNo, JSON.toJSONString(redisCommand));
return R.ok();
}
//閲嶅惎浠诲姟(鍛戒护)
@RequestMapping(value = "/command/restart")
public R shuttleCommandCompleteSwitch(@RequestParam("wrkNo") Integer wrkNo) {
- Object o = redisUtil.get("shuttle_wrk_no_" + wrkNo);
+ Object o = redisUtil.get(RedisKeyType.SHUTTLE.key + wrkNo);
if (o == null) {
return R.error();
}
@@ -243,11 +253,11 @@
//鍒犻櫎浠诲姟(鍛戒护)
@RequestMapping(value = "/command/del")
public R liftCommandDel(@RequestParam("wrkNo") Integer wrkNo) {
- Object o = redisUtil.get("shuttle_wrk_no_" + wrkNo);
+ Object o = redisUtil.get(RedisKeyType.SHUTTLE.key + wrkNo);
if (o == null) {
return R.error();
}
- redisUtil.del("shuttle_wrk_no_" + wrkNo);
+ redisUtil.del(RedisKeyType.SHUTTLE.key + wrkNo);
return R.ok();
}
--
Gitblit v1.9.1