From 850273b8707537450399fa0d0070c413fb177db5 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 21 九月 2022 16:36:04 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/WrkChargeService.java | 2
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 48 ++++++++-------
src/main/java/com/zy/core/enums/SteChargeType.java | 13 ++-
src/main/java/com/zy/core/enums/SteTaskModeType.java | 60 ++++++++++++++++++++
src/main/resources/mapper/WrkChargeMapper.xml | 8 ++
src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java | 4 +
src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java | 2
7 files changed, 110 insertions(+), 27 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java b/src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java
index 6ecb24a..2bd833f 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java
@@ -9,4 +9,6 @@
@Repository
public interface WrkChargeMapper extends BaseMapper<WrkCharge> {
+ WrkCharge selectWorking(Integer steNo);
+
}
diff --git a/src/main/java/com/zy/asrs/service/WrkChargeService.java b/src/main/java/com/zy/asrs/service/WrkChargeService.java
index bc19b31..b14f662 100644
--- a/src/main/java/com/zy/asrs/service/WrkChargeService.java
+++ b/src/main/java/com/zy/asrs/service/WrkChargeService.java
@@ -5,4 +5,6 @@
public interface WrkChargeService extends IService<WrkCharge> {
+ WrkCharge selectWorking(Integer steNo);
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 30aae8a..f37d508 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1149,27 +1149,30 @@
SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
SteProtocol steProtocol = steThread.getSteProtocol();
if (steProtocol == null) { return; }
- if (steProtocol.isIdle()) {
- // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
- SteCommand steCommand = new SteCommand();
- steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
- steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙�
- steCommand.setTaskMode(SteTaskModeType.findWaiting(steProtocol.getRow().intValue())); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
+ if (!basSteService.updatePakMk(steNo, "Y")) {
+ log.error("淇敼绌挎杞︿綔涓氱姸鎬� 澶辫触锛侊紒锛岀┛姊溅={}", steNo);
+ return;
+ }
- steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue());
- steCommand.setBay(steProtocol.getBay());
- steCommand.setLev(steProtocol.getLev());
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ SteCommand steCommand = new SteCommand();
+ steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
+ steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙�
+ steCommand.setTaskMode(SteTaskModeType.findOriginByLoc(steProtocol.getRow())); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
- if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
- log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
- } else {
- // 淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞�
- wrkCharge.setSteNo(steNo);
- wrkCharge.setModiTime(new Date());
- if (!wrkChargeService.updateById(wrkCharge)) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
- }
+ steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue());
+ steCommand.setBay(steProtocol.getBay());
+ steCommand.setLev(steProtocol.getLev());
+
+ if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
+ log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞�
+ wrkCharge.setSteNo(steNo);
+ wrkCharge.setModiTime(new Date());
+ if (!wrkChargeService.updateById(wrkCharge)) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
}
}
}
@@ -2054,13 +2057,13 @@
BasSte basSte = basSteService.selectById(ste.getId());
if (Cools.isEmpty(steProtocol, basSte)) { continue; }
try {
- if (!steProtocol.statusType.equals(SteStatusType.IDLE)) {
+ if (!steProtocol.statusType.equals(SteStatusType.IDLE) || basSte.getPakMk().equals("Y")) {
continue;
}
if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())) {
continue;
}
- WrkCharge wrkCharge = wrkChargeService.selectById(steProtocol.getTaskNo());
+ WrkCharge wrkCharge = wrkChargeService.selectWorking(steProtocol.getSteNo().intValue());
if (wrkCharge == null) {
String idleLoc = basSte.getIdleLoc();
@@ -2071,8 +2074,9 @@
wrkCharge.setCrnNo(basSte.getCrnNo());
wrkCharge.setIoPri((double) 10);
wrkCharge.setLocNo(idleLoc);
- if (wrkChargeService.insert(wrkCharge)) {
+ if (!wrkChargeService.insert(wrkCharge)) {
log.error("淇濆瓨{}鍙风┛姊溅鍏呯數浠诲姟澶辫触!!!", ste.getId());
+ continue;
}
if (Utils.getGroupRow(idleLoc).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(idleLoc) && steProtocol.getLev() == Utils.getLev(idleLoc)) {
@@ -2121,7 +2125,7 @@
} else if (wrkCharge.getWrkSts() == 6L) {
// 灏忚溅琛岄┒鑷冲厖鐢典綅
- if (steProtocol.isIdle()) {
+ if (steProtocol.statusType.equals(SteStatusType.IDLE) && steProtocol.getPakMk().equals("N")) {
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
SteCommand steCommand = new SteCommand();
steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙�
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java
index b2d225b..662469a 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java
@@ -9,4 +9,8 @@
@Service("wrkChargeService")
public class WrkChargeServiceImpl extends ServiceImpl<WrkChargeMapper, WrkCharge> implements WrkChargeService {
+ @Override
+ public WrkCharge selectWorking(Integer steNo) {
+ return this.baseMapper.selectWorking(steNo);
+ }
}
diff --git a/src/main/java/com/zy/core/enums/SteChargeType.java b/src/main/java/com/zy/core/enums/SteChargeType.java
index fd7436b..aa89906 100644
--- a/src/main/java/com/zy/core/enums/SteChargeType.java
+++ b/src/main/java/com/zy/core/enums/SteChargeType.java
@@ -4,19 +4,22 @@
public enum SteChargeType {
- FIRST(1, "0100101"),
- SECOND(2, "1400701"),
- THIRD(3, "2100401"),
+ FIRST(1, "0100101", "0300101"),
+ SECOND(2, "1400701", "1200701"),
+ THIRD(3, "2100401", "1900401"),
;
- SteChargeType(int ssbm, String locNo) {
+ SteChargeType(int ssbm, String locNo, String idleLoc) {
this.ssbm = ssbm;
this.locNo = locNo;
+ this.idleLoc = idleLoc;
}
public int ssbm;
public String locNo;
+
+ public String idleLoc;
public static SteChargeType get(String locNo) {
if (Cools.isEmpty(locNo)) {
@@ -24,7 +27,7 @@
}
SteChargeType[] values = SteChargeType.values();
for (SteChargeType value : values) {
- if (value.locNo.equals(locNo)) {
+ if (value.idleLoc.equals(locNo)) {
return value;
}
}
diff --git a/src/main/java/com/zy/core/enums/SteTaskModeType.java b/src/main/java/com/zy/core/enums/SteTaskModeType.java
index 509b553..565ee04 100644
--- a/src/main/java/com/zy/core/enums/SteTaskModeType.java
+++ b/src/main/java/com/zy/core/enums/SteTaskModeType.java
@@ -118,6 +118,36 @@
}
}
+ public static SteTaskModeType findOriginByLoc(Short row) {
+ switch (row) {
+ case 1:
+ case 2:
+ case 3:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ return SteTaskModeType.GO_ORIGIN;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 12:
+ case 13:
+ case 14:
+ case 19:
+ case 20:
+ case 21:
+ return SteTaskModeType.BACK_ORIGIN;
+ default:
+ throw new CoolException("瑙f瀽绌挎杞﹀師鐐瑰畾浣嶅け璐�");
+ }
+ }
+
public static SteTaskModeType findInByLoc(SteProtocol steProtocol) {
switch (steProtocol.getRow()) {
case 1:
@@ -238,4 +268,34 @@
}
}
+ public static SteTaskModeType findChargeByLocForCharge(Integer row) {
+ switch (row) {
+ case 1:
+ case 2:
+ case 3:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ return SteTaskModeType.GO_ORIGIN;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 12:
+ case 13:
+ case 14:
+ case 19:
+ case 20:
+ case 21:
+ return SteTaskModeType.BACK_ORIGIN;
+ default:
+ throw new CoolException("瑙f瀽绌挎杞﹀師鐐瑰畾浣嶅け璐�");
+ }
+ }
+
}
diff --git a/src/main/resources/mapper/WrkChargeMapper.xml b/src/main/resources/mapper/WrkChargeMapper.xml
index 5499e2a..c3dbf40 100644
--- a/src/main/resources/mapper/WrkChargeMapper.xml
+++ b/src/main/resources/mapper/WrkChargeMapper.xml
@@ -29,4 +29,12 @@
</resultMap>
+ <select id="selectWorking" resultMap="BaseResultMap">
+ select top 1 *
+ from asr_wrk_charge
+ where 1=1
+ and ste_no = #{steNo}
+ and wrk_sts != 10
+ </select>
+
</mapper>
--
Gitblit v1.9.1