From 72b74223d69c358fece617c57b44d85c68248fde Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 12 十月 2023 09:32:33 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 143 ++++++++++++++++++++++++++++-------------------
1 files changed, 84 insertions(+), 59 deletions(-)
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 4563418..309f246 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -698,38 +698,6 @@
continue;
}
}
-
-
-
-
- // 鏍规嵁杈撻�佺嚎plc閬嶅巻
- for (DevpSlave devp : slaveProperties.getDevp()) {
- // 閬嶅巻鍏ュ簱绔�
- for (DevpSlave.StaRack staRack : devp.getRackInStn()) {
- // 鑾峰彇鍏ュ簱绔欎俊鎭�
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
- StaProtocol staProtocol = devpThread.getStation().get(staRack.getStaNo());
- if (staProtocol == null) {
- continue;
- } else {
- staProtocol = staProtocol.clone();
- }
- Short workNo = staProtocol.getWorkNo();
- BasDevp basDevp = basDevpService.selectById(staProtocol.getSiteId());
- if (basDevp == null) {
- continue;//绔欑偣淇℃伅涓嶅瓨鍦�
- }
-
- // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢锛岃嚜鍔ㄣ�佹湁鐗┿�佸洓鍚戠┛姊溅鍙彇淇″彿
- if (!(staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isShuttleTakeEnable())) {
- continue;
- }
-
-
-
- }
- }
-
}
// /**
@@ -1222,10 +1190,14 @@
return false;
}
- //璋冨害灏忚溅閬胯
- boolean result = Utils.searchEmptyGroupToMoveShuttle(Utils.getLev(wrkMast.getSourceLocNo()), wrkMast.getShuttleNo(), shuttleThread);
- if (!result) {
- return false;
+ NyShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
+ if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
+ //灏忚溅杩樺湪杈撻�佺珯鐐�
+ //璋冨害灏忚溅閬胯
+ boolean result = Utils.searchEmptyGroupToMoveShuttle(Utils.getLev(wrkMast.getSourceLocNo()), wrkMast.getShuttleNo(), shuttleThread);
+ if (!result) {
+ return false;
+ }
}
//鑾峰彇鍑哄簱绔欑偣(鐩爣绔�)
@@ -1409,7 +1381,7 @@
continue;
}
- boolean step4 = this.locToLocExecuteStep4(wrkMast);//璋冨害杞﹁締鍙栬揣骞惰繍閫佸埌鍑哄簱鍙�
+ boolean step4 = this.locToLocExecuteStep4(wrkMast);//璋冨害杞﹁締鍙栬揣骞惰繍閫佸埌鐩爣搴撲綅
if (!step4) {
continue;
}
@@ -2033,6 +2005,7 @@
if (wrkMast.getStaNo() != 303 && wrkMast.getStaNo() != 317) {
//瑕嗙洊宸ヤ綔妗g洰鏍囩珯
wrkMast.setStaNo(targetSta.intValue());
+ wrkMast.setShuttleNo(null);//閲婃斁灏忚溅
if (wrkMastMapper.updateById(wrkMast) > 0) {
//鍚�300绔欏啓鍏ョ洰鏍囩珯
staProtocol = staProtocol.clone();
@@ -2053,30 +2026,82 @@
StaProtocol staProtocol317 = devpThread.getStation().get(317);
if (staProtocol303.isAutoing() && staProtocol303.isLoading() && staProtocol303.getWorkNo() != 0) {
//璋冨害鏈烘鑷�
-// //鏌ヨ鏄惁鏈夊伐浣滄。
-// WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol303.getWorkNo().intValue());
-// if (wrkMast == null) {
-// continue;
-// }
-// WrkDetl wrkDetl = wrkDetlService.selectById(wrkMast.getWrkNo());
-// if (wrkDetl == null) {
-// continue;
-// }
-// RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetl.getAnfme().intValue(), "303");
- RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), -1, "303");
+ //鏌ヨ鏄惁鏈夊伐浣滄。
+ WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol303.getWorkNo().intValue());
+ if (wrkMast == null) {
+ continue;
+ }
+ List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
+ if (wrkDetls.isEmpty()) {
+ continue;
+ }
+
+ if (wrkMast.getInvWh() == null) {
+ wrkMast.setInvWh("Y");//鏍囪宸茬粡涓嬪彂鏈烘鑷備换鍔�
+ if (wrkMastMapper.updateById(wrkMast) > 0) {
+ RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetls.size(), "303");
+ }
+ }
}else if (staProtocol317.isAutoing() && staProtocol317.isLoading() && staProtocol317.getWorkNo() != 0) {
//璋冨害鏈烘鑷�
-// //鏌ヨ鏄惁鏈夊伐浣滄。
-// WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol317.getWorkNo().intValue());
-// if (wrkMast == null) {
-// continue;
-// }
-// WrkDetl wrkDetl = wrkDetlService.selectById(wrkMast.getWrkNo());
-// if (wrkDetl == null) {
-// continue;
-// }
-// RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetl.getAnfme().intValue(), "317");
- RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), -1, "317");
+ //鏌ヨ鏄惁鏈夊伐浣滄。
+ WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol317.getWorkNo().intValue());
+ if (wrkMast == null) {
+ continue;
+ }
+ List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
+ if (wrkDetls.isEmpty()) {
+ continue;
+ }
+ if (wrkMast.getInvWh() == null) {
+ wrkMast.setInvWh("Y");//鏍囪宸茬粡涓嬪彂鏈烘鑷備换鍔�
+ if (wrkMastMapper.updateById(wrkMast) > 0) {
+ RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetls.size(), "317");
+ }
+ }
+ }
+ }
+ }
+
+ // 300绔欐嫞鏂�
+ public void pick300() {
+ //妫�娴�300绔欐槸鍚﹁嚜鍔ㄣ�佹湁鐗┿�佸伐浣滃彿
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(300);
+ if (staProtocol == null) {
+ continue;
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() != 0) {
+ //鏌ヨ鏄惁鏈夊伐浣滄。
+ WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol.getWorkNo().intValue());
+ if (wrkMast == null) {
+ continue;
+ }
+
+ if (wrkMast.getWrkSts() != 25) {//25.鎻愬崌鏈烘惉杩愬畬鎴�
+ continue;
+ }
+
+ if (wrkMast.getMk() == null) {
+ Integer sourceStaNo = wrkMast.getSourceStaNo();//婧愮珯
+ Integer staNo = wrkMast.getStaNo();//鐩爣绔�
+ //瑕嗙洊宸ヤ綔妗g洰鏍囩珯
+ wrkMast.setStaNo(sourceStaNo);
+ wrkMast.setSourceStaNo(staNo);
+ if (wrkMastMapper.updateById(wrkMast) > 0) {
+ //鍚�300绔欏啓鍏ョ洰鏍囩珯
+ staProtocol = staProtocol.clone();
+ staProtocol.setStaNo(wrkMast.getStaNo().shortValue());//绉诲姩鍒扮洰鏍囩珯
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ try {
+ Thread.sleep(500);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
}
}
}
--
Gitblit v1.9.1