From 481c47f602eb0ec69d4f740f84680348f2d86b79 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 24 十二月 2024 09:49:47 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/StaStsType.java | 20 ++-
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/StaTypeType.java | 19 ++-
zy-acs-fake/src/main/java/com/zy/acs/fake/service/impl/AgvDetailServiceImpl.java | 10 +
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionTypeType.java | 19 ++-
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskTypeType.java | 19 ++-
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionStsType.java | 19 ++-
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskStsType.java | 18 ++-
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/AgvDetailMapper.java | 4
zy-acs-fake/src/main/resources/mapper/ActionStsMapper.xml | 2
zy-acs-fake/src/main/resources/mapper/ActionTypeMapper.xml | 2
zy-acs-manager/src/main/resources/mapper/manager/AgvDetailMapper.xml | 15 ++
zy-acs-fake/src/main/java/com/zy/acs/fake/service/AgvDetailService.java | 3
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/AgvStsType.java | 19 ++-
zy-acs-manager/src/main/java/com/zy/acs/manager/fake/AgvSimulatorTask.java | 26 +--
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/BusStsType.java | 18 ++-
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvDetailService.java | 4
zy-acs-fake/src/main/java/com/zy/acs/fake/mapper/AgvDetailMapper.java | 4
zy-acs-fake/src/main/resources/mapper/AgvMapper.xml | 2
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java | 2
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java | 10 +
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/LocTypeType.java | 19 ++-
zy-acs-fake/src/main/resources/mapper/CodeMapper.xml | 2
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/AgvModelType.java | 19 ++-
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/LocStsType.java | 19 ++-
zy-acs-fake/src/main/resources/mapper/AgvDetailMapper.xml | 15 +-
25 files changed, 211 insertions(+), 98 deletions(-)
diff --git a/zy-acs-fake/src/main/java/com/zy/acs/fake/mapper/AgvDetailMapper.java b/zy-acs-fake/src/main/java/com/zy/acs/fake/mapper/AgvDetailMapper.java
index e1ed4b3..ad203e4 100644
--- a/zy-acs-fake/src/main/java/com/zy/acs/fake/mapper/AgvDetailMapper.java
+++ b/zy-acs-fake/src/main/java/com/zy/acs/fake/mapper/AgvDetailMapper.java
@@ -6,8 +6,8 @@
public interface AgvDetailMapper extends BaseMapper<AgvDetail> {
- int updatePosCode(@Param("id") Long id, @Param("codeId") Long codeId);
+ int updatePosCodeByAgvId(@Param("agvId") Long agvId, @Param("codeId") Long codeId);
- int updateUnPosCode(@Param("id") Long id, @Param("lastCode") Long lastCode);
+ Boolean updateAngleByAgvId(@Param("agvId") Long agvId, @Param("angle") Double angle);
}
diff --git a/zy-acs-fake/src/main/java/com/zy/acs/fake/service/AgvDetailService.java b/zy-acs-fake/src/main/java/com/zy/acs/fake/service/AgvDetailService.java
index 0fe1eb0..44ace1f 100644
--- a/zy-acs-fake/src/main/java/com/zy/acs/fake/service/AgvDetailService.java
+++ b/zy-acs-fake/src/main/java/com/zy/acs/fake/service/AgvDetailService.java
@@ -8,5 +8,8 @@
AgvDetail selectByAgvId(Long agvId);
+ Boolean updatePosCodeByAgvId(Long agvId, Long codeId);
+
+ Boolean updateAngleByAgvId(Long agvId, Double angle);
}
diff --git a/zy-acs-fake/src/main/java/com/zy/acs/fake/service/impl/AgvDetailServiceImpl.java b/zy-acs-fake/src/main/java/com/zy/acs/fake/service/impl/AgvDetailServiceImpl.java
index 71c1438..f2cf335 100644
--- a/zy-acs-fake/src/main/java/com/zy/acs/fake/service/impl/AgvDetailServiceImpl.java
+++ b/zy-acs-fake/src/main/java/com/zy/acs/fake/service/impl/AgvDetailServiceImpl.java
@@ -20,4 +20,14 @@
return this.getOne(new LambdaQueryWrapper<AgvDetail>().eq(AgvDetail::getAgvId, agvId));
}
+ @Override
+ public Boolean updatePosCodeByAgvId(Long agvId, Long codeId) {
+ return this.baseMapper.updatePosCodeByAgvId(agvId, codeId) > 0;
+ }
+
+ @Override
+ public Boolean updateAngleByAgvId(Long agvId, Double angle) {
+ return this.baseMapper.updateAngleByAgvId(agvId, angle);
+ }
+
}
diff --git a/zy-acs-fake/src/main/resources/mapper/ActionStsMapper.xml b/zy-acs-fake/src/main/resources/mapper/ActionStsMapper.xml
index 6ca6bac..c47afae 100644
--- a/zy-acs-fake/src/main/resources/mapper/ActionStsMapper.xml
+++ b/zy-acs-fake/src/main/resources/mapper/ActionStsMapper.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zy.acs.manager.fake.ActionStsMapper">
+<mapper namespace="com.zy.acs.fake.mapper.ActionStsMapper">
<!-- 鍏宠仈鏌ヨsql -->
<sql id="selectSql">
diff --git a/zy-acs-fake/src/main/resources/mapper/ActionTypeMapper.xml b/zy-acs-fake/src/main/resources/mapper/ActionTypeMapper.xml
index 89e6e7a..21b93ff 100644
--- a/zy-acs-fake/src/main/resources/mapper/ActionTypeMapper.xml
+++ b/zy-acs-fake/src/main/resources/mapper/ActionTypeMapper.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zy.acs.manager.fake.ActionTypeMapper">
+<mapper namespace="com.zy.acs.fake.mapper.ActionTypeMapper">
<!-- 鍏宠仈鏌ヨsql -->
<sql id="selectSql">
diff --git a/zy-acs-fake/src/main/resources/mapper/AgvDetailMapper.xml b/zy-acs-fake/src/main/resources/mapper/AgvDetailMapper.xml
index a5dd373..5de09ec 100644
--- a/zy-acs-fake/src/main/resources/mapper/AgvDetailMapper.xml
+++ b/zy-acs-fake/src/main/resources/mapper/AgvDetailMapper.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zy.acs.manager.fake.AgvDetailMapper">
+<mapper namespace="com.zy.acs.fake.mapper.AgvDetailMapper">
<!-- 鍏宠仈鏌ヨsql -->
<sql id="selectSql">
@@ -26,22 +26,19 @@
</where>
</sql>
- <update id="updatePosCode">
+ <update id="updatePosCodeByAgvId">
update man_agv_detail
set code = #{codeId},
- last_code = null,
pos = 1
where 1=1
- and id = #{id}
+ and agv_id = #{agvId}
</update>
- <update id="updateUnPosCode">
+ <update id="updateAngleByAgvId">
update man_agv_detail
- set last_code = #{lastCode},
- code = null,
- pos = 0
+ set agv_angle = #{angle}
where 1=1
- and id = #{id}
+ and agv_id = #{agvId}
</update>
</mapper>
diff --git a/zy-acs-fake/src/main/resources/mapper/AgvMapper.xml b/zy-acs-fake/src/main/resources/mapper/AgvMapper.xml
index 74419aa..f76e441 100644
--- a/zy-acs-fake/src/main/resources/mapper/AgvMapper.xml
+++ b/zy-acs-fake/src/main/resources/mapper/AgvMapper.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zy.acs.manager.fake.AgvMapper">
+<mapper namespace="com.zy.acs.fake.mapper.AgvMapper">
</mapper>
diff --git a/zy-acs-fake/src/main/resources/mapper/CodeMapper.xml b/zy-acs-fake/src/main/resources/mapper/CodeMapper.xml
index 4489d70..d1cf62f 100644
--- a/zy-acs-fake/src/main/resources/mapper/CodeMapper.xml
+++ b/zy-acs-fake/src/main/resources/mapper/CodeMapper.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zy.acs.manager.fake.CodeMapper">
+<mapper namespace="com.zy.acs.fake.mapper.CodeMapper">
<!-- 鍏宠仈鏌ヨsql -->
<sql id="selectSql">
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
index 10adeb2..79e4062 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
@@ -136,9 +136,7 @@
List<String> actionGroupIds = actionService.selectPrepareGroup();
for (String actionGroupId : actionGroupIds) {
- long startTime = System.currentTimeMillis();
mainService.publishAction(actionGroupId);
- log.info("publish action calculation spend {} ms", System.currentTimeMillis() - startTime);
}
} catch (Exception e) {
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/fake/AgvSimulatorTask.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/fake/AgvSimulatorTask.java
index a09ad38..0cb4de9 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/fake/AgvSimulatorTask.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/fake/AgvSimulatorTask.java
@@ -79,15 +79,11 @@
}
private void processAction(Agv agv, Action action) throws InterruptedException {
- AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId());
- if (agvDetail == null) {
- return;
- }
switch (Objects.requireNonNull(ActionTypeType.get(action.getActionTypeEl()))) {
case TurnCorner:
- simulateWalking(agv, agvDetail, action);
- simulateRotating(agv, agvDetail, action);
+ simulateWalking(agv, action);
+ simulateRotating(agv, action);
break;
case StraightBackUnturnable:
case StraightBackTurnable:
@@ -95,7 +91,7 @@
case StraightAheadTurnable:
case FinishPath:
case DockingCharge:
- simulateWalking(agv, agvDetail, action);
+ simulateWalking(agv, action);
break;
case ReadyTakeFromShelvesLoc:
case ReadyReleaseToShelvesLoc:
@@ -107,16 +103,17 @@
}
- private void simulateWalking(Agv agv, AgvDetail agvDetail, Action action) throws InterruptedException {
+ private void simulateWalking(Agv agv, Action action) throws InterruptedException {
Code code = codeService.selectByData(action.getCode());
- agvDetail.setPos(1);
- agvDetail.setCode(code.getId());
+// agvDetail.setPos(1);
+// agvDetail.setCode(code.getId());
// 妯℃嫙鐢甸噺娑堣��
// agvDetail.setVol(agvDetail.getVol() - 0.1 * distanceToMove); // 鏍规嵁璺濈娑堣�楃數閲�
Thread.sleep(MapDataWsScheduler.WEBSOCKET_BROADCAST_INTERVAL);
- agvDetailService.updateById(agvDetail);
+ agvDetailService.updatePosCodeByAgvId(agv.getId(), code.getId());
+// agvDetailService.updateById(agvDetail);
mapService.unlockPath(agv.getUuid(), code.getData());
jamService.checkIfFinish(agv.getId(), code.getData());
@@ -129,17 +126,16 @@
* 妯℃嫙AGV鏃嬭浆
*
* @param agv 褰撳墠AGV
- * @param agvDetail AGV璇︾粏淇℃伅
* @param action 褰撳墠鍔ㄤ綔
*/
- private void simulateRotating(Agv agv, AgvDetail agvDetail, Action action) throws InterruptedException {
+ private void simulateRotating(Agv agv, Action action) throws InterruptedException {
double actionAngle = Double.parseDouble(action.getParams());
- agvDetail.setAgvAngle(actionAngle);
+// agvDetail.setAgvAngle(actionAngle);
// 妯℃嫙鐢甸噺娑堣��?
// agvDetail.setVol(agvDetail.getVol() - 0.05 * (angleToRotate / 15.0)); // 鏍规嵁瑙掑害娑堣�楃數閲�
Thread.sleep(MapDataWsScheduler.WEBSOCKET_BROADCAST_INTERVAL);
- agvDetailService.updateById(agvDetail);
+ agvDetailService.updateAngleByAgvId(agv.getId(), actionAngle);
action.setActionSts(ActionStsType.FINISH.val());
actionService.updateById(action);
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionStsType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionStsType.java
index 1e94e9b..db6930c 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionStsType.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionStsType.java
@@ -5,6 +5,9 @@
import com.zy.acs.manager.manager.entity.ActionSts;
import com.zy.acs.manager.manager.service.ActionStsService;
+import java.util.EnumMap;
+import java.util.Map;
+
public enum ActionStsType {
PREPARE,
@@ -16,13 +19,17 @@
ActionStsType() {
}
+ private static final Map<ActionStsType, Long> cache = new EnumMap<>(ActionStsType.class);
+
public long val() {
- ActionStsService service = SpringUtils.getBean(ActionStsService.class);
- ActionSts actionSts = service.selectByUuid(this.toString());
- if (actionSts == null) {
- throw new BusinessException("ActionStsType Error!");
- }
- return actionSts.getId();
+ return cache.computeIfAbsent(this, key -> {
+ ActionStsService service = SpringUtils.getBean(ActionStsService.class);
+ ActionSts actionSts = service.selectByUuid(this.toString());
+ if (actionSts == null) {
+ throw new BusinessException("ActionStsType Error!");
+ }
+ return actionSts.getId();
+ });
}
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionTypeType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionTypeType.java
index aaac6b4..94af12f 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionTypeType.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionTypeType.java
@@ -5,6 +5,9 @@
import com.zy.acs.manager.manager.entity.ActionType;
import com.zy.acs.manager.manager.service.ActionTypeService;
+import java.util.EnumMap;
+import java.util.Map;
+
public enum ActionTypeType {
TurnCorner("杞集"), // 杞集
@@ -25,13 +28,17 @@
}
public String desc;
+ private static final Map<ActionTypeType, Long> cache = new EnumMap<>(ActionTypeType.class);
+
public long val() {
- ActionTypeService service = SpringUtils.getBean(ActionTypeService.class);
- ActionType actionType = service.selectByUuid(this.toString());
- if (actionType == null) {
- throw new BusinessException("ActionTypeType Error!");
- }
- return actionType.getId();
+ return cache.computeIfAbsent(this, key -> {
+ ActionTypeService service = SpringUtils.getBean(ActionTypeService.class);
+ ActionType actionType = service.selectByUuid(this.toString());
+ if (actionType == null) {
+ throw new BusinessException("ActionTypeType Error!");
+ }
+ return actionType.getId();
+ });
}
public static ActionTypeType get(String el) {
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/AgvModelType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/AgvModelType.java
index ab1bcd1..3b9bbbd 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/AgvModelType.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/AgvModelType.java
@@ -5,6 +5,9 @@
import com.zy.acs.manager.manager.entity.AgvModel;
import com.zy.acs.manager.manager.service.AgvModelService;
+import java.util.EnumMap;
+import java.util.Map;
+
public enum AgvModelType {
CTU_BOX_TRANSPORT_AGV,
@@ -17,13 +20,17 @@
AgvModelType() {
}
+ private static final Map<AgvModelType, Long> cache = new EnumMap<>(AgvModelType.class);
+
public long val() {
- AgvModelService service = SpringUtils.getBean(AgvModelService.class);
- AgvModel agvModel = service.selectByType(this.toString());
- if (agvModel == null) {
- throw new BusinessException("AgvModelType Error!");
- }
- return agvModel.getId();
+ return cache.computeIfAbsent(this, key -> {
+ AgvModelService service = SpringUtils.getBean(AgvModelService.class);
+ AgvModel agvModel = service.selectByType(this.toString());
+ if (agvModel == null) {
+ throw new BusinessException("AgvModelType Error!");
+ }
+ return agvModel.getId();
+ });
}
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/AgvStsType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/AgvStsType.java
index c713884..2ffded5 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/AgvStsType.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/AgvStsType.java
@@ -5,6 +5,9 @@
import com.zy.acs.manager.manager.entity.AgvSts;
import com.zy.acs.manager.manager.service.AgvStsService;
+import java.util.EnumMap;
+import java.util.Map;
+
public enum AgvStsType {
IDLE,
@@ -14,13 +17,17 @@
AgvStsType() {
}
+ private static final Map<AgvStsType, Long> cache = new EnumMap<>(AgvStsType.class);
+
public long val() {
- AgvStsService service = SpringUtils.getBean(AgvStsService.class);
- AgvSts agvSts = service.selectByUuid(this.toString());
- if (agvSts == null) {
- throw new BusinessException("AgvStsType Error!");
- }
- return agvSts.getId();
+ return cache.computeIfAbsent(this, key -> {
+ AgvStsService service = SpringUtils.getBean(AgvStsService.class);
+ AgvSts agvSts = service.selectByUuid(this.toString());
+ if (agvSts == null) {
+ throw new BusinessException("AgvStsType Error!");
+ }
+ return agvSts.getId();
+ });
}
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/BusStsType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/BusStsType.java
index 478694d..c5602f7 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/BusStsType.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/BusStsType.java
@@ -7,7 +7,9 @@
import com.zy.acs.manager.manager.service.BusStsService;
import java.util.Arrays;
+import java.util.EnumMap;
import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
public enum BusStsType implements DataFieldSortFunc {
@@ -24,13 +26,17 @@
this.dataSort = dataSort;
}
+ private static final Map<BusStsType, Long> cache = new EnumMap<>(BusStsType.class);
+
public long val() {
- BusStsService service = SpringUtils.getBean(BusStsService.class);
- BusSts busSts = service.selectByUuid(this.toString());
- if (busSts == null) {
- throw new BusinessException("BusStsType Error!");
- }
- return busSts.getId();
+ return cache.computeIfAbsent(this, key -> {
+ BusStsService service = SpringUtils.getBean(BusStsService.class);
+ BusSts busSts = service.selectByUuid(this.toString());
+ if (busSts == null) {
+ throw new BusinessException("BusStsType Error!");
+ }
+ return busSts.getId();
+ });
}
@Override
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/LocStsType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/LocStsType.java
index e83ab60..e314173 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/LocStsType.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/LocStsType.java
@@ -5,6 +5,9 @@
import com.zy.acs.manager.manager.entity.LocSts;
import com.zy.acs.manager.manager.service.LocStsService;
+import java.util.EnumMap;
+import java.util.Map;
+
public enum LocStsType {
IDLE,
@@ -18,13 +21,17 @@
LocStsType() {
}
+ private static final Map<LocStsType, Long> cache = new EnumMap<>(LocStsType.class);
+
public long val() {
- LocStsService service = SpringUtils.getBean(LocStsService.class);
- LocSts locSts = service.selectByUuid(this.toString());
- if (locSts == null) {
- throw new BusinessException("LocStsType Error!");
- }
- return locSts.getId();
+ return cache.computeIfAbsent(this, key -> {
+ LocStsService service = SpringUtils.getBean(LocStsService.class);
+ LocSts locSts = service.selectByUuid(this.toString());
+ if (locSts == null) {
+ throw new BusinessException("LocStsType Error!");
+ }
+ return locSts.getId();
+ });
}
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/LocTypeType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/LocTypeType.java
index d9ed8c7..9589269 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/LocTypeType.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/LocTypeType.java
@@ -5,6 +5,9 @@
import com.zy.acs.manager.manager.entity.LocType;
import com.zy.acs.manager.manager.service.LocTypeService;
+import java.util.EnumMap;
+import java.util.Map;
+
public enum LocTypeType {
;
@@ -12,13 +15,17 @@
LocTypeType() {
}
+ private static final Map<LocTypeType, Long> cache = new EnumMap<>(LocTypeType.class);
+
public long val() {
- LocTypeService service = SpringUtils.getBean(LocTypeService.class);
- LocType locType = service.selectByUuid(this.toString());
- if (locType == null) {
- throw new BusinessException("LocTypeType Error!");
- }
- return locType.getId();
+ return cache.computeIfAbsent(this, key -> {
+ LocTypeService service = SpringUtils.getBean(LocTypeService.class);
+ LocType locType = service.selectByUuid(this.toString());
+ if (locType == null) {
+ throw new BusinessException("LocTypeType Error!");
+ }
+ return locType.getId();
+ });
}
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/StaStsType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/StaStsType.java
index 00adde1..1c7a039 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/StaStsType.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/StaStsType.java
@@ -5,6 +5,9 @@
import com.zy.acs.manager.manager.entity.StaSts;
import com.zy.acs.manager.manager.service.StaStsService;
+import java.util.EnumMap;
+import java.util.Map;
+
public enum StaStsType {
;
@@ -12,13 +15,18 @@
StaStsType() {
}
+ private static final Map<StaStsType, Long> cache = new EnumMap<>(StaStsType.class);
+
+
public long val() {
- StaStsService service = SpringUtils.getBean(StaStsService.class);
- StaSts staSts = service.selectByUuid(this.toString());
- if (staSts == null) {
- throw new BusinessException("StaStsType Error!");
- }
- return staSts.getId();
+ return cache.computeIfAbsent(this, key -> {
+ StaStsService service = SpringUtils.getBean(StaStsService.class);
+ StaSts staSts = service.selectByUuid(this.toString());
+ if (staSts == null) {
+ throw new BusinessException("StaStsType Error!");
+ }
+ return staSts.getId();
+ });
}
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/StaTypeType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/StaTypeType.java
index 6af0e78..7eef594 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/StaTypeType.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/StaTypeType.java
@@ -5,6 +5,9 @@
import com.zy.acs.manager.manager.entity.StaType;
import com.zy.acs.manager.manager.service.StaTypeService;
+import java.util.EnumMap;
+import java.util.Map;
+
public enum StaTypeType {
IDLE,
@@ -13,13 +16,17 @@
StaTypeType() {
}
+ private static final Map<StaTypeType, Long> cache = new EnumMap<>(StaTypeType.class);
+
public long val() {
- StaTypeService service = SpringUtils.getBean(StaTypeService.class);
- StaType staType = service.selectByUuid(this.toString());
- if (staType == null) {
- throw new BusinessException("StaTypeType Error!");
- }
- return staType.getId();
+ return cache.computeIfAbsent(this, key -> {
+ StaTypeService service = SpringUtils.getBean(StaTypeService.class);
+ StaType staType = service.selectByUuid(this.toString());
+ if (staType == null) {
+ throw new BusinessException("StaTypeType Error!");
+ }
+ return staType.getId();
+ });
}
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskStsType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskStsType.java
index 9ef7231..7b67ea4 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskStsType.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskStsType.java
@@ -7,7 +7,9 @@
import com.zy.acs.manager.manager.service.TaskStsService;
import java.util.Arrays;
+import java.util.EnumMap;
import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
public enum TaskStsType implements DataFieldSortFunc {
@@ -26,13 +28,17 @@
this.dataSort = dataSort;
}
+ private static final Map<TaskStsType, Long> cache = new EnumMap<>(TaskStsType.class);
+
public long val() {
- TaskStsService service = SpringUtils.getBean(TaskStsService.class);
- TaskSts taskSts = service.selectByUuid(this.toString());
- if (taskSts == null) {
- throw new BusinessException("TaskStsType Error!");
- }
- return taskSts.getId();
+ return cache.computeIfAbsent(this, key -> {
+ TaskStsService service = SpringUtils.getBean(TaskStsService.class);
+ TaskSts taskSts = service.selectByUuid(key.toString());
+ if (taskSts == null) {
+ throw new BusinessException("TaskStsType Error for " + key);
+ }
+ return taskSts.getId();
+ });
}
@Override
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskTypeType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskTypeType.java
index e5695b4..9fe987b 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskTypeType.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskTypeType.java
@@ -5,6 +5,9 @@
import com.zy.acs.manager.manager.entity.TaskType;
import com.zy.acs.manager.manager.service.TaskTypeService;
+import java.util.EnumMap;
+import java.util.Map;
+
public enum TaskTypeType {
MOVE,
@@ -19,13 +22,17 @@
TaskTypeType() {
}
+ private static final Map<TaskTypeType, Long> cache = new EnumMap<>(TaskTypeType.class);
+
public long val() {
- TaskTypeService service = SpringUtils.getBean(TaskTypeService.class);
- TaskType taskType = service.selectByUuid(this.toString());
- if (taskType == null) {
- throw new BusinessException("TaskTypeType Error!");
- }
- return taskType.getId();
+ return cache.computeIfAbsent(this, key -> {
+ TaskTypeService service = SpringUtils.getBean(TaskTypeService.class);
+ TaskType taskType = service.selectByUuid(this.toString());
+ if (taskType == null) {
+ throw new BusinessException("TaskTypeType Error!");
+ }
+ return taskType.getId();
+ });
}
public static TaskTypeType get(String el) {
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/AgvDetailMapper.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/AgvDetailMapper.java
index b1a0d27..b0e24ed 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/AgvDetailMapper.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/AgvDetailMapper.java
@@ -10,4 +10,8 @@
int updateUnPosCode(@Param("id") Long id, @Param("lastCode") Long lastCode);
+ int updatePosCodeByAgvId(@Param("agvId") Long agvId, @Param("codeId") Long codeId);
+
+ Boolean updateAngleByAgvId(@Param("agvId") Long agvId, @Param("angle") Double angle);
+
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvDetailService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvDetailService.java
index 0a5d90c..cacb293 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvDetailService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvDetailService.java
@@ -13,8 +13,12 @@
Boolean updatePosCode(Long id, Long codeId);
+ Boolean updatePosCodeByAgvId(Long agvId, Long codeId);
+
Boolean updateUnPosCode(Long id, Long codeId);
+ Boolean updateAngleByAgvId(Long agvId, Double angle);
+
Boolean removeByAgvId(Long agvId);
Boolean isPowerLoss(Agv agv, AgvDetail agvDetail, AgvModel agvModel);
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java
index 96fdae3..816efbd 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java
@@ -37,11 +37,21 @@
}
@Override
+ public Boolean updatePosCodeByAgvId(Long agvId, Long codeId) {
+ return this.baseMapper.updatePosCodeByAgvId(agvId, codeId) > 0;
+ }
+
+ @Override
public Boolean updateUnPosCode(Long id, Long codeId) {
return this.baseMapper.updateUnPosCode(id, codeId) > 0;
}
@Override
+ public Boolean updateAngleByAgvId(Long agvId, Double angle) {
+ return this.baseMapper.updateAngleByAgvId(agvId, angle);
+ }
+
+ @Override
public Boolean removeByAgvId(Long agvId) {
return baseMapper.delete(new LambdaQueryWrapper<AgvDetail>().eq(AgvDetail::getAgvId, agvId)) > 0;
}
diff --git a/zy-acs-manager/src/main/resources/mapper/manager/AgvDetailMapper.xml b/zy-acs-manager/src/main/resources/mapper/manager/AgvDetailMapper.xml
index 8af6baa..2239272 100644
--- a/zy-acs-manager/src/main/resources/mapper/manager/AgvDetailMapper.xml
+++ b/zy-acs-manager/src/main/resources/mapper/manager/AgvDetailMapper.xml
@@ -44,4 +44,19 @@
and id = #{id}
</update>
+ <update id="updatePosCodeByAgvId">
+ update man_agv_detail
+ set code = #{codeId},
+ pos = 1
+ where 1=1
+ and agv_id = #{agvId}
+ </update>
+
+ <update id="updateAngleByAgvId">
+ update man_agv_detail
+ set agv_angle = #{angle}
+ where 1=1
+ and agv_id = #{agvId}
+ </update>
+
</mapper>
--
Gitblit v1.9.1