From 035cf4214c257ed917b07ba9412a4af5a5f11134 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 10 十月 2022 15:06:48 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/Utils.java | 4 +
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 147 +++++++++++++++++++++++-------------------------
2 files changed, 74 insertions(+), 77 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 0ffb2d7..d57809e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2469,100 +2469,93 @@
continue;
} // 蹇呴』涓烘紨绀虹姸鎬�
-// CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
-// CrnProtocol crnProtocol = crnThread.getCrnProtocol();
-// if (crnProtocol == null) {
-// continue;
-// }
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
// 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
-// if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
+ if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
- String locNo = null;
- Iterator<String> iterator = crn1DemoLocs.iterator();
- if (crn.getId() == 1) {
- iterator = crn1DemoLocs.iterator();
- } else if (crn.getId() == 2) {
- iterator = crn2DemoLocs.iterator();
- } else if (crn.getId() == 3) {
- iterator = crn3DemoLocs.iterator();
+ // filter
+ if (wrkChargeService.selectCount(new EntityWrapper<WrkCharge>()
+ .eq("crn_no", crn.getId()).lt("wrk_sts", 35)) > 0) {
+ continue;
}
- while (iterator.hasNext()) {
- String next = iterator.next();
- String lastLoc = "";
+
+ int steNo = crn.getId();
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ BasSte basSte = basSteService.selectById(steNo);
+ if (Cools.isEmpty(steProtocol, basSte)) { continue; }
+
+ // 鍙湁褰撶┛姊溅绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
+ if (steProtocol.isIdle()) {
+
+ String locNo = null;
+ Iterator<String> iterator = crn1DemoLocs.iterator();
if (crn.getId() == 1) {
- lastLoc = crn1LastLoc;
+ iterator = crn1DemoLocs.iterator();
} else if (crn.getId() == 2) {
- lastLoc = crn2LastLoc;
+ iterator = crn2DemoLocs.iterator();
} else if (crn.getId() == 3) {
- lastLoc = crn3LastLoc;
+ iterator = crn3DemoLocs.iterator();
}
- if (!Cools.isEmpty(lastLoc)) {
- if (!lastLoc.substring(2, 7).equals(next.substring(2, 7)) || !Utils.getGroupRow(lastLoc).equals(Utils.getGroupRow(next))) {
+ while (iterator.hasNext()) {
+ String next = iterator.next();
+ String lastLoc = "";
+ if (crn.getId() == 1) {
+ lastLoc = crn1LastLoc;
+ } else if (crn.getId() == 2) {
+ lastLoc = crn2LastLoc;
+ } else if (crn.getId() == 3) {
+ lastLoc = crn3LastLoc;
+ }
+ if (!Cools.isEmpty(lastLoc)) {
+ if (!lastLoc.substring(2, 7).equals(next.substring(2, 7)) || !Utils.getGroupRow(lastLoc).equals(Utils.getGroupRow(next))) {
+ locNo = next;
+ iterator.remove();
+ break;
+ } else {
+ iterator.remove();
+ }
+ } else {
locNo = next;
iterator.remove();
break;
- } else {
- iterator.remove();
}
- } else {
- locNo = next;
- iterator.remove();
- break;
+
+ }
+ if (!Cools.isEmpty(locNo)) {
+ if (crn.getId() == 1) {
+ crn1LastLoc = locNo;
+ } else if (crn.getId() == 2) {
+ crn2LastLoc = locNo;
+ } else if (crn.getId() == 3) {
+ crn3LastLoc = locNo;
+ }
}
- }
- if (!Cools.isEmpty(locNo)) {
- if (crn.getId() == 1) {
- crn1LastLoc = locNo;
- } else if (crn.getId() == 2) {
- crn2LastLoc = locNo;
- } else if (crn.getId() == 3) {
- crn3LastLoc = locNo;
+ log.info("{}鍙峰爢鍨涙満瀵箋}搴撲綅杩涜婕旂ず", crn.getId(), locNo);
+
+ String sourceLocNo = Utils.getLocNo(steProtocol.getRow(), steProtocol.getBay(), steProtocol.getLev());
+
+ WrkCharge wrkCharge = new WrkCharge();
+ wrkCharge.setCrnNo(crn.getId());
+ wrkCharge.setSteNo(steNo);
+ wrkCharge.setWrkNo(commonService.getChargeWorkNo(5));
+ wrkCharge.setWrkSts(31L); // 31.鐢熸垚婕旂ずID
+ wrkCharge.setIoPri((double) 10);
+ wrkCharge.setSourceLocNo(sourceLocNo);
+ wrkCharge.setLocNo(locNo);
+ if (!wrkChargeService.insert(wrkCharge)) {
+ log.error("鐢熸垚婕旂ず浠诲姟澶辫触锛屽爢鍨涙満鍙凤細{}锛屽皬杞︼細{}锛屾簮搴撲綅锛歿}锛岀洰鏍囧簱浣嶏細{}", crn.getId(), steNo, sourceLocNo, locNo);
+ continue;
}
}
-
-// log.info("{}鍙峰爢鍨涙満瀵箋}搴撲綅杩涜婕旂ず", crn.getId(), locNo);
-
- // 鑾峰彇绉诲簱宸ヤ綔妗d俊鎭�
-// WrkMast wrkMast = wrkMastMapper.selectLocMove(crn.getId());
-// if (null != wrkMast) { continue; }
-//
-// LocMast sourceLoc = locMastService.queryDemoSourceLoc(crn.getId());
-// LocMast loc = locMastService.queryDemoLoc(crn.getId());
-// if (null == sourceLoc || null == loc) { continue; }
-//
-// String sourceLocNo = sourceLoc.getLocNo();
-// String locNo = loc.getLocNo();
-//
-// // 鑾峰彇宸ヤ綔鍙�
-// int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
-// // 淇濆瓨宸ヤ綔妗�
-// wrkMast = new WrkMast();
-// wrkMast.setWrkNo(workNo);
-// wrkMast.setIoTime(new Date());
-// wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
-// wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
-// wrkMast.setIoPri(13D);
-// wrkMast.setCrnNo(crn.getId());
-// wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣�
-// wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
-// wrkMast.setFullPlt("N"); // 婊℃澘锛歒
-// wrkMast.setPicking("N"); // 鎷f枡
-// wrkMast.setExitMk("N"); // 閫�鍑�
-// wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘
-// wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮�
-// wrkMast.setLinkMis("N");
-// wrkMast.setAppeTime(new Date());
-// wrkMast.setModiTime(new Date());
-// int res = wrkMastMapper.insert(wrkMast);
-// if (res == 0) {
-// throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
-// }
-
}
-
-// }
+ }
}
/**
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index df6f92d..f463cff 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -241,6 +241,10 @@
}
+ public static String getLocNo(Number row, Number bay, Number lev) {
+ return zerofill(String.valueOf(row), 2) + zerofill(String.valueOf(bay), 3) + zerofill(String.valueOf(lev), 2);
+ }
+
public static void main(String[] args) {
SlaveProperties slaveProperties = new SlaveProperties();
slaveProperties.setDoubleDeep(true);
--
Gitblit v1.9.1