From bfbe2204cfb0eea3f000b145f5e3f19eca89aa68 Mon Sep 17 00:00:00 2001
From: tqs <56479841@qq.com>
Date: 星期一, 31 十月 2022 17:47:42 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/Utils.java | 55 ++-
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 591 ++++++++++++++++++++++++++++++++++++++++--------
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 13 +
src/main/resources/mapper/WrkMastMapper.xml | 7
4 files changed, 543 insertions(+), 123 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 9aab3b2..693d3e1 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -83,4 +83,17 @@
WrkMast selectPakout(@Param("crnNo")Integer crnNo, @Param("steNo")Integer steNo);
+ /**
+ * 鏌ヨ宸ヤ綔妗f槸鏄惁瀛樺湪鏈畬鎴愮殑绉诲簱浠诲姟锛岀姸鎬�17琛ㄧず绉诲簱宸茬粡瀹屾垚锛岀瓑寰呭洖鍘熷簱浣�
+ * @param crnNo
+ * @return
+ */
+ WrkMast selectLocMoveWorking(@Param("crnNo")Integer crnNo);
+
+ /**
+ * 鏌ユ壘宸ヤ綔鐘舵�佷负17鐨勭Щ搴撳畬鎴愪换鍔★紝寰呭鐞嗗洖鍒板師搴撲綅锛屽苟椤哄簭寰�閲岀Щ鍔�
+ * @param crnNo
+ * @return
+ */
+ WrkMast selectLocMove17(@Param("crnNo")Integer crnNo);
}
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 91e8b19..ad8937d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -11,6 +11,7 @@
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
+import com.zy.asrs.utils.VersionUtils;
import com.zy.common.model.LocTypeDto;
import com.zy.common.model.MatDto;
import com.zy.common.model.SearchLocParam;
@@ -645,7 +646,9 @@
}
}
// 搴撲綅绉昏浆
- this.locToLoc(crn, crnProtocol);
+ this.locToLoc1(crn, crnProtocol);
+ // 搴撲綅绉昏浆锛屽洖鍘熷簱浣�
+ this.locToLoc17(crn, crnProtocol);
// 婕旂ず浠诲姟
this.steMoveDemo(crn, crnProtocol);
}
@@ -865,6 +868,59 @@
if (wrkMast == null) {
continue;
}
+
+ //鍑哄簱搴撲綅涓嶆槸鏈�澶栧眰搴撲綅锛屽垽鏂祬搴撲綅缁勬槸鍚﹂兘涓虹┖锛屾垨瀛樺湪搴撲綅绉昏浆浠诲姟
+ boolean flag = false;
+ if(!locMastService.isOutMost(wrkMast.getSourceLocNo())){
+ WrkMast wrkMastMove = wrkMastMapper.selectLocMoveWorking(slave.getId());
+ if(wrkMastMove != null){
+ continue;
+ }
+
+ String[] shallowlocs = Utils.getShallowLocs(wrkMast.getSourceLocNo());
+ if(!Cools.isEmpty(shallowlocs)){
+ for(String shallowLocNo : shallowlocs){
+ LocMast shallowLoc = locMastService.selectById(shallowLocNo);
+ WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
+ if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
+ if (null == waitWrkMast) {
+ log.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo);
+ } else {
+ //iotype=11锛寃rksts=17锛岃鏄庤揣鐗╁凡缁忕Щ搴撳埌鏆傚瓨搴撲綅锛岀瓑寰呭洖鍘熷簱浣�,姝ゆ椂鍏佽缁х画鍑哄簱
+ if (waitWrkMast.getIoType()!=11 || waitWrkMast.getWrkSts()!=17) {
+ waitWrkMast.setIoPri((double) 9999);
+ waitWrkMast.setModiTime(new Date());
+ if (wrkMastMapper.updateById(waitWrkMast) == 0) {
+ log.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
+ }
+ flag = true;
+ break;
+ }
+ }
+ } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
+ if (null == waitWrkMast) {
+ // 鐢熸垚涓�绗旂Щ搴撲换鍔″伐浣滄。銆佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵��
+ moveLocForDeepLoc(slave, shallowLoc);
+ flag = true;
+ break;
+ } else {
+ log.error("搴撲綅鍑哄簱鍒板爢鍨涙満绔� ===>> 搴撲綅鐘舵�佸湪搴擄紝浣嗘槸娴呭簱浣嶅凡瀛樺湪宸ヤ綔妗d换鍔★紒鍑哄簱搴撲綅={},娴呭簱浣嶅彿={}", shallowLoc.getLocNo());
+ flag = true;
+ break;
+ }
+ } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")){
+ log.error("搴撲綅鍑哄簱鍒板爢鍨涙満绔� ===>> 娴呭簱浣嶅簱浣嶇姸鎬佷负鍏ュ簱棰勭害锛佸嚭搴撳簱浣�={},娴呭簱浣嶅彿={}", shallowLoc.getLocNo());
+ flag = true;
+ break;
+ }
+
+ }
+ }
+ }
+ if(flag){
+ continue;
+ }
+
// 宸ヤ綔妗g姸鎬佸垽鏂�
if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null){
log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType());
@@ -1216,6 +1272,169 @@
// 鍫嗗灈鏈烘惉杩愬皬杞�
if (wrkMast.getWrkSts() == 12L) {
this.carMoveIn(wrkMast, wrkMast.getSteNo(), crnProtocol);
+ }
+ }
+ }
+ }
+
+ /**
+ * 搴撲綅绉昏浆锛屽洖鍘熷簱浣�
+ */
+ public void locToLoc17(CrnSlave slave, CrnProtocol crnProtocol){
+ // 鑾峰彇宸ヤ綔妗d俊鎭�
+ WrkMast wrkMast = wrkMastMapper.selectLocMove17(slave.getId());
+ if (null == wrkMast) {
+ return;
+ }
+
+ //鏌ユ壘搴撲綅
+ boolean flag = false;
+ String[] deeplocs = Utils.getDeepLocs(wrkMast.getSourceLocNo());
+ if(!Cools.isEmpty(deeplocs)){
+ for(String deepLocNo : deeplocs) {
+ LocMast deepLoc = locMastService.selectById(deepLocNo);
+// WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(deepLocNo);
+ if(deepLoc != null && !deepLoc.getLocSts().equals("F") && deepLoc.getLocSts().equals("D") && deepLoc.getLocSts().equals("O")){
+ flag = true;
+ break;
+ }
+ if(deepLoc != null && deepLoc.getLocSts().equals("O")){
+ //淇敼绉诲簱宸ヤ綔妗�
+ wrkMast.setSourceLocNo(wrkMast.getLocNo());
+ wrkMast.setIoPri((double)9999);
+ wrkMast.setWrkSts(2L);
+ wrkMast.setLocNo(deepLocNo);
+ wrkMast.setSteNo(null);
+ wrkMast.setModiTime(new Date());
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+
+ if(deepLoc.getLocSts().equals("O")){
+ deepLoc.setLocSts("S"); // S.鍏ュ簱棰勭害
+ deepLoc.setModiTime(new Date());
+ if (!locMastService.updateById(deepLoc)) {
+ log.error("鍙屾繁搴撲綅 --- 鏇存柊鐩爣搴撲綅鐘舵�佸け璐ワ紒 寰呯Щ杞祬搴撲綅锛�" + deepLoc.getLocNo());
+ throw new CoolException("鏇存柊绉诲簱鍥炲簱鐩爣搴撲綅鐘舵�佸け璐�");
+ }
+ }
+ break;
+ }
+ }
+ }
+ if(flag){
+ return;
+ }
+
+ // 鑾峰彇婧愬簱浣嶄俊鎭�
+ LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
+ if (null == sourceLoc) {
+ log.error("宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈡簮搴撲綅澶辫触锛佸伐浣滃彿={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
+ return;
+ }
+ // 婧愬簱浣� 搴撲綅鐘舵�佸垽鏂�
+ if (!sourceLoc.getLocSts().equals("R")) {
+ return;
+ }
+
+ // 鑾峰彇鐩爣搴撲綅淇℃伅
+ LocMast loc = locMastService.selectById(wrkMast.getLocNo());
+ if (null == loc || !loc.getLocSts().equals("S")) {
+ log.error("宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈢洰鏍囧簱浣嶅け璐ワ紒宸ヤ綔鍙�={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getLocNo());
+ return;
+ }
+
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭� 骞� 鍒ゆ柇鏄惁鍙叆鍑�
+ BasCrnp basCrnp = basCrnpService.selectById(slave.getId());
+ if (!basCrnp.getInEnable().equals("Y") && !basCrnp.getOutEnable().equals("Y")) {
+ return;
+ }
+
+ // 鍫嗗灈鏈烘帶鍒惰繃婊�
+ if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+ return;
+ }
+
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (wrkMastMapper.selectWorking(slave.getId()) != null) {
+ return;
+ }
+
+ // 缃《浠诲姟
+ wrkMast.setIoPri((double) 9999);
+ wrkMastMapper.updateById(wrkMast);
+
+ // 婧愬簱浣� ===>> 鏈�澶栧眰搴撲綅
+ if (locMastService.isOutMost(wrkMast.getSourceLocNo())) {
+ // 鐩爣搴撲綅 ===>> 鏈�澶栧眰搴撲綅
+ if (!locMastService.isOutMost(wrkMast.getLocNo())) {
+ // 鍒ゆ柇灏忚溅鏄惁鍦ㄥ綋鍓嶇粍搴撲綅锛屽鏋滄槸鍒欏皢绌挎杞︾Щ鑷虫渶澶栧眰锛岀瓑寰呭爢鍨涙満鏀捐揣锛涘鏋滀笉鏄紝鍒欏爢鍨涙満瀵绘壘绌挎杞︼紝骞舵斁缃綋鍓嶇粍鏈�澶栧眰
+ Integer steNo = this.hasCarOfIdle(wrkMast.getLocNo());
+ // 鏈夊皬杞�
+ if (steNo != null) {
+ // 灏忚溅琛岃蛋鍒板爢鍨涙満寰呮惉绉荤偣
+ if (wrkMast.getWrkSts() == 2L && wrkMast.getSteNo() == null) {
+ // 娌℃湁鍏朵粬浠诲姟
+ if (null == wrkMastMapper.selectPakin(slave.getId(), steNo)) {
+ this.letCarBeWaiting(wrkMast, steNo, wrkMast.getLocNo());
+ }
+ }
+ // 鍫嗗灈鏈哄皢璐ф斁鑷冲皬杞︿笂 3.灏忚溅寰呮惉锛堝皬杞︿笉鐢ㄦ惉杩愶紝宸茬粡鍦ㄥ綋鍓嶇粍搴撲綅锛� / 6.灏忚溅寰呭叆 ===>> 7.鍚婅溅鍏ュ簱涓�
+ if (wrkMast.getWrkSts() == 3L || wrkMast.getWrkSts() == 6L) {
+ // 灏忚溅澶勪簬绌洪棽
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { return; }
+ if (steProtocol.isIdle()) {
+
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (wrkMastMapper.selectWorking(slave.getId()) != null) {
+ return;
+ }
+ // 鍫嗗灈鏈哄叆搴� 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX(sourceLoc.getRow1().shortValue()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY(sourceLoc.getBay1().shortValue()); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ(sourceLoc.getLev1().shortValue()); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX(Utils.getGroupRow(loc.getLocNo()).shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY(loc.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ(loc.getLev1().shortValue()); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 3.灏忚溅寰呮惉 ===>> 7.鍚婅溅鍏ュ簱涓�
+ Date now = new Date();
+ wrkMast.setWrkSts(7L);
+ wrkMast.setCrnStrTime(now);
+ wrkMast.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 3.灏忚溅寰呮惉/6.灏忚溅寰呭叆 => 7.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ return;
+ }
+ }
+ }
+ // 娌℃湁灏忚溅
+ } else {
+ if (wrkMast.getWrkSts() == 2L && wrkMast.getSteNo() == null) {
+ // 瀵绘壘褰撳墠鍫嗗灈鏈哄搴旂殑灏忚溅
+ SteThread steThread = queryIdleCar(wrkMast);
+ if (steThread != null) {
+ // 娌℃湁鍏朵粬浠诲姟
+ if (null == wrkMastMapper.selectPakin(slave.getId(), steNo)) {
+ // 璁╁皬杞︾瓑寰呮惉杩愬緟缁�
+ this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getLocNo());
+ }
+ }
+ }
+ // 鍫嗗灈鏈烘惉杩愬皬杞�
+ if (wrkMast.getWrkSts() == 3L) {
+ this.carMoveIn(wrkMast, wrkMast.getSteNo(), crnProtocol);
+ }
}
}
}
@@ -2028,59 +2247,8 @@
}
// 搴撲綅绉昏浆
} else {
- if (wrkMast.getWrkSts() == 16) {
- Date now = new Date();
-// if (locMastService.isOutMost(wrkMast.getLocNo())) {
-// // 16.鍚婅溅鍑哄簱涓� ==> 9.鍏ュ簱瀹屾垚
-// wrkMast.setWrkSts(9L);
-// wrkMast.setCrnEndTime(now);
-// } else {
-// // 16.鍚婅溅鍑哄簱涓� ==> 9.鍏ュ簱瀹屾垚
-// wrkMast.setWrkSts(9L);
-// }
- if (locMastService.isOutMost(wrkMast.getLocNo())) {
- wrkMast.setWrkSts(17L);
- }
- wrkMast.setModiTime(now);
- // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
- if (wrkMastMapper.updateById(wrkMast) > 0) {
- // 鍫嗗灈鏈哄浣�
- crnThread.setResetFlag(true);
- } else {
- log.error("淇敼宸ヤ綔妗g姸鎬� 16.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
- }
- } else if (wrkMast.getWrkSts() == 4) {
- // 4.杩佸叆灏忚溅 ==> 6.灏忚溅寰呭叆
- wrkMast.setWrkSts(6L);
- Date now = new Date();
- wrkMast.setCrnEndTime(now);
- wrkMast.setModiTime(now);
- // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
- if (wrkMastMapper.updateById(wrkMast) > 0) {
- // 鍫嗗灈鏈哄浣�
- crnThread.setResetFlag(true);
- // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰
- SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, wrkMast.getSteNo());
- if (!steThread.confirmPos()) {
- log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo());
- }
- // 绌挎杞﹀幓寰呮満浣�
- BasSte basSte = basSteService.selectById(wrkMast.getSteNo());
- SteCommand steCommand = new SteCommand();
- steCommand.setSteNo(wrkMast.getSteNo()); // 绌挎杞︾紪鍙�
- steCommand.setTaskNo(9999); // 宸ヤ綔鍙�
- steCommand.setTaskMode(SteTaskModeType.findWaiting(basSte.getRow())); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
-// steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue());
-// steCommand.setBay(steProtocol.getBay());
-// steCommand.setLev(steProtocol.getLev());
- if (!MessageQueue.offer(SlaveType.Ste, wrkMast.getSteNo(), new Task(2, steCommand))) {
- log.error("绌挎杞﹀緟鏈轰綅鍛戒护涓嬪彂澶辫触锛岀┛姊溅鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getSteNo(), JSON.toJSON(steCommand));
- }
- } else {
- log.error("淇敼宸ヤ綔妗g姸鎬� 4.杩佸叆灏忚溅 => 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
- }
- // 鍏ュ簱 ===>> 杩佸嚭灏忚溅 瀹屾垚
- } else if (wrkMast.getWrkSts() == 7){
+ // 鍏ュ簱 ==>> 璐х墿鎼叆搴�
+ if (wrkMast.getWrkSts() == 7){
// 鍒ゆ柇鏄惁闇�瑕佸皬杞﹀叆搴�
if (locMastService.isOutMost(wrkMast.getLocNo())) {
// ==> 9.鍏ュ簱瀹屾垚
@@ -2124,38 +2292,167 @@
}
}
}
- } else if (wrkMast.getWrkSts() == 13) {
- // 缁欑┛姊溅涓嬪彂鍛戒护
- Integer steNo = wrkMast.getSteNo();
- SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
- SteProtocol steProtocol = steThread.getSteProtocol();
- if (steProtocol == null) { continue; }
- // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰
- if (!steThread.confirmPos()) {
- log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo());
- }
- // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
- SteCommand steCommand = new SteCommand();
- steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
- steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
- steCommand.setTaskMode(SteTaskModeType.findOutByLoc(wrkMast.getSourceLocNo())); // 浠诲姟妯″紡: 鎼嚭搴�
- if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
- log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
- } else {
- // 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴�
- wrkMast.setWrkSts(14L);
- Date now = new Date();
- wrkMast.setCrnEndTime(now);
- wrkMast.setModiTime(now);
- // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
- if (wrkMastMapper.updateById(wrkMast) > 0) {
- // 鍫嗗灈鏈哄浣�
- crnThread.setResetFlag(true);
- } else {
- log.error("淇敼宸ヤ綔妗g姸鎬� 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ // 鍏ュ簱 ===>> 杩佸叆灏忚溅 瀹屾垚
+ } else if (wrkMast.getWrkSts() == 4) {
+ // 4.杩佸叆灏忚溅 ==> 6.灏忚溅寰呭叆
+ wrkMast.setWrkSts(6L);
+ Date now = new Date();
+ wrkMast.setCrnEndTime(now);
+ wrkMast.setModiTime(now);
+ // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+ if (wrkMastMapper.updateById(wrkMast) > 0) {
+ // 鍫嗗灈鏈哄浣�
+ crnThread.setResetFlag(true);
+ // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, wrkMast.getSteNo());
+ if (!steThread.confirmPos()) {
+ log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo());
}
+ // 绌挎杞﹀幓寰呮満浣�
+ BasSte basSte = basSteService.selectById(wrkMast.getSteNo());
+ SteCommand steCommand = new SteCommand();
+ steCommand.setSteNo(wrkMast.getSteNo()); // 绌挎杞︾紪鍙�
+ steCommand.setTaskNo(9999); // 宸ヤ綔鍙�
+ steCommand.setTaskMode(SteTaskModeType.findWaiting(basSte.getRow())); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
+// steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue());
+// steCommand.setBay(steProtocol.getBay());
+// steCommand.setLev(steProtocol.getLev());
+ if (!MessageQueue.offer(SlaveType.Ste, wrkMast.getSteNo(), new Task(2, steCommand))) {
+ log.error("绌挎杞﹀緟鏈轰綅鍛戒护涓嬪彂澶辫触锛岀┛姊溅鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getSteNo(), JSON.toJSON(steCommand));
+ }
+ } else {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 4.杩佸叆灏忚溅 => 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
}
+ // 鍏ュ簱 ===>> 杩佸嚭灏忚溅 瀹屾垚
}
+// if (wrkMast.getWrkSts() == 16) {
+// Date now = new Date();
+//// if (locMastService.isOutMost(wrkMast.getLocNo())) {
+//// // 16.鍚婅溅鍑哄簱涓� ==> 9.鍏ュ簱瀹屾垚
+//// wrkMast.setWrkSts(9L);
+//// wrkMast.setCrnEndTime(now);
+//// } else {
+//// // 16.鍚婅溅鍑哄簱涓� ==> 9.鍏ュ簱瀹屾垚
+//// wrkMast.setWrkSts(9L);
+//// }
+// if (locMastService.isOutMost(wrkMast.getLocNo())) {
+// wrkMast.setWrkSts(17L);
+// }
+// wrkMast.setModiTime(now);
+// // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+// if (wrkMastMapper.updateById(wrkMast) > 0) {
+// // 鍫嗗灈鏈哄浣�
+// crnThread.setResetFlag(true);
+// } else {
+// log.error("淇敼宸ヤ綔妗g姸鎬� 16.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+// }
+// } else if (wrkMast.getWrkSts() == 4) {
+// // 4.杩佸叆灏忚溅 ==> 6.灏忚溅寰呭叆
+// wrkMast.setWrkSts(6L);
+// Date now = new Date();
+// wrkMast.setCrnEndTime(now);
+// wrkMast.setModiTime(now);
+// // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+// if (wrkMastMapper.updateById(wrkMast) > 0) {
+// // 鍫嗗灈鏈哄浣�
+// crnThread.setResetFlag(true);
+// // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰
+// SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, wrkMast.getSteNo());
+// if (!steThread.confirmPos()) {
+// log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo());
+// }
+// // 绌挎杞﹀幓寰呮満浣�
+// BasSte basSte = basSteService.selectById(wrkMast.getSteNo());
+// SteCommand steCommand = new SteCommand();
+// steCommand.setSteNo(wrkMast.getSteNo()); // 绌挎杞︾紪鍙�
+// steCommand.setTaskNo(9999); // 宸ヤ綔鍙�
+// steCommand.setTaskMode(SteTaskModeType.findWaiting(basSte.getRow())); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
+//// steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue());
+//// steCommand.setBay(steProtocol.getBay());
+//// steCommand.setLev(steProtocol.getLev());
+// if (!MessageQueue.offer(SlaveType.Ste, wrkMast.getSteNo(), new Task(2, steCommand))) {
+// log.error("绌挎杞﹀緟鏈轰綅鍛戒护涓嬪彂澶辫触锛岀┛姊溅鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getSteNo(), JSON.toJSON(steCommand));
+// }
+// } else {
+// log.error("淇敼宸ヤ綔妗g姸鎬� 4.杩佸叆灏忚溅 => 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+// }
+// // 鍏ュ簱 ===>> 杩佸嚭灏忚溅 瀹屾垚
+// } else if (wrkMast.getWrkSts() == 7){
+// // 鍒ゆ柇鏄惁闇�瑕佸皬杞﹀叆搴�
+// if (locMastService.isOutMost(wrkMast.getLocNo())) {
+// // ==> 9.鍏ュ簱瀹屾垚
+// wrkMast.setWrkSts(9L);
+// Date now = new Date();
+// wrkMast.setCrnEndTime(now);
+// wrkMast.setModiTime(now);
+// // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+// if (wrkMastMapper.updateById(wrkMast) > 0) {
+// // 鍫嗗灈鏈哄浣�
+// crnThread.setResetFlag(true);
+// } else {
+// log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 9.鍏ュ簱瀹屾垚 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+// }
+// } else {
+// // 缁欑┛姊溅涓嬪彂鍛戒护
+// Integer steNo = wrkMast.getSteNo();
+// SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+// SteProtocol steProtocol = steThread.getSteProtocol();
+// if (steProtocol == null) { continue; }
+// if (steProtocol.isIdle()) {
+// // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+// SteCommand steCommand = new SteCommand();
+// steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
+// steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
+// steCommand.setTaskMode(SteTaskModeType.findInByLoc(wrkMast.getLocNo())); // 浠诲姟妯″紡: 鎼叆搴�
+// if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
+// log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
+// } else {
+// // 淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴�
+// wrkMast.setWrkSts(8L);
+// Date now = new Date();
+// wrkMast.setCrnEndTime(now);
+// wrkMast.setModiTime(now);
+// if (wrkMastMapper.updateById(wrkMast) > 0) {
+// // 鍫嗗灈鏈哄浣�
+// crnThread.setResetFlag(true);
+// } else {
+// log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+// }
+// }
+// }
+// }
+// } else if (wrkMast.getWrkSts() == 13) {
+// // 缁欑┛姊溅涓嬪彂鍛戒护
+// Integer steNo = wrkMast.getSteNo();
+// SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+// SteProtocol steProtocol = steThread.getSteProtocol();
+// if (steProtocol == null) { continue; }
+// // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰
+// if (!steThread.confirmPos()) {
+// log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo());
+// }
+// // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+// SteCommand steCommand = new SteCommand();
+// steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
+// steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
+// steCommand.setTaskMode(SteTaskModeType.findOutByLoc(wrkMast.getSourceLocNo())); // 浠诲姟妯″紡: 鎼嚭搴�
+// if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
+// log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
+// } else {
+// // 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴�
+// wrkMast.setWrkSts(14L);
+// Date now = new Date();
+// wrkMast.setCrnEndTime(now);
+// wrkMast.setModiTime(now);
+// // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+// if (wrkMastMapper.updateById(wrkMast) > 0) {
+// // 鍫嗗灈鏈哄浣�
+// crnThread.setResetFlag(true);
+// } else {
+// log.error("淇敼宸ヤ綔妗g姸鎬� 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+// }
+// }
+// }
}
}
}
@@ -2247,23 +2544,23 @@
// 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.灏忚溅寰呮惉
wrkMast.setWrkSts(12L);
} else {
- if (Cools.isEmpty(wrkMast.getMk())) {
- log.error("绉诲簱宸ヤ綔妗f病鏈夋祦绋嬫爣璁帮紒锛侊紝宸ヤ綔鍙�={}", wrkMast.getWrkNo());
- } else {
- if (wrkMast.getMk().equals("I")) {
- String locNo = wrkMast.getLocNo();
- if (Utils.getGroupRow(locNo).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(locNo) && steProtocol.getLev() == Utils.getLev(locNo)) {
- // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 6.灏忚溅寰呭叆
- wrkMast.setWrkSts(6L);
- } else {
- // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 3.灏忚溅寰呮惉
- wrkMast.setWrkSts(3L);
- }
- } else if (wrkMast.getMk().equals("O")) {
- // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.灏忚溅寰呮惉
- wrkMast.setWrkSts(12L);
- }
- }
+// if (Cools.isEmpty(wrkMast.getMk())) {
+// log.error("绉诲簱宸ヤ綔妗f病鏈夋祦绋嬫爣璁帮紒锛侊紝宸ヤ綔鍙�={}", wrkMast.getWrkNo());
+// } else {
+// if (wrkMast.getMk().equals("I")) {
+// String locNo = wrkMast.getLocNo();
+// if (Utils.getGroupRow(locNo).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(locNo) && steProtocol.getLev() == Utils.getLev(locNo)) {
+// // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 6.灏忚溅寰呭叆
+// wrkMast.setWrkSts(6L);
+// } else {
+// // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 3.灏忚溅寰呮惉
+// wrkMast.setWrkSts(3L);
+// }
+// } else if (wrkMast.getMk().equals("O")) {
+// // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.灏忚溅寰呮惉
+// wrkMast.setWrkSts(12L);
+// }
+// }
}
wrkMast.setModiTime(now);
if (wrkMastMapper.updateById(wrkMast) == 0) {
@@ -3093,5 +3390,99 @@
}
+ /**
+ * 鍥犳繁搴撲綅闃诲锛屽娴呭簱浣嶈繘琛岀Щ杞�
+ */
+ private void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc){
+ try {
+ String rows = "";
+ switch (crn.getId()){
+ case 1:
+ rows = "3,4";
+ break;
+ case 2:
+ rows = "11,12";
+ break;
+ case 3:
+ rows = "18,19";
+ break;
+ }
+ LocMast loc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("crn_no",crn.getId())
+ .eq("loc_type1",shallowLoc.getLocType1())
+ .eq("loc_sts","O")
+ .last(" and row1 in (" + rows + ") order by bay1,lev1"));
+
+ if (null == loc) {
+ log.error("娣卞簱浣嶅嚭搴� --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo());
+ throw new CoolException("娣卞簱浣嶅嚭搴� --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo());
+ }
+
+ // 鑾峰彇宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(0);
+ Date now = new Date();
+ // 淇濆瓨宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(now);
+ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
+ wrkMast.setIoPri((double) 9999);
+ wrkMast.setCrnNo(crn.getId());
+ wrkMast.setSourceLocNo(shallowLoc.getLocNo()); // 婧愬簱浣�
+ wrkMast.setLocNo(loc.getLocNo()); // 鐩爣搴撲綅
+ wrkMast.setFullPlt(shallowLoc.getFullPlt()); // 婊℃澘
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk(shallowLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘
+ wrkMast.setBarcode(shallowLoc.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setLinkMis("N");
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiTime(now);
+ int res = wrkMastMapper.insert(wrkMast);
+ if (res == 0) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 宸ヤ綔妗f槑缁嗕繚瀛�
+ if (shallowLoc.getLocSts().equals("F")) {
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo()));
+ for (LocDetl locDetl : locDetls) {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(locDetl);
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(new Date());
+ wrkDetl.setAnfme(locDetl.getAnfme());
+ wrkDetl.setAppeTime(new Date());
+ wrkDetl.setModiTime(new Date());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ }
+ }
+ // 淇敼婧愬簱浣嶇姸鎬�
+ if (shallowLoc.getLocSts().equals("D") || shallowLoc.getLocSts().equals("F")) {
+ shallowLoc.setLocSts("R"); // R.鍑哄簱棰勭害
+ shallowLoc.setModiTime(now);
+ if (!locMastService.updateById(shallowLoc)) {
+ throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+ }
+ } else {
+ throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�");
+ }
+ // 淇敼鐩爣搴撲綅鐘舵��
+ if (loc.getLocSts().equals("O")) {
+ loc.setLocSts("S"); // S.鍏ュ簱棰勭害
+ loc.setModiTime(now);
+ if (!locMastService.updateById(loc)) {
+ throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException("绉昏浆澶辫触");
+ }
+ } catch (Exception e) {
+ log.error("娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆澶辫触", e);
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ }
+ }
}
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index e4d3d75..6c8c17f 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -225,7 +225,8 @@
/**
* 鑾峰彇 娣卞簱浣嶅搴旂殑娴呭簱浣嶇粍
*/
- public static String getShallowLocs(String deepLoc){
+ public static String[] getShallowLocs(String deepLoc){
+ String[] locsArr = null;
String locs="";
int row = getRow(deepLoc);
switch (row){
@@ -270,13 +271,17 @@
locs += zerofill(String.valueOf(row-1),2) + deepLoc.substring(2);
break;
}
- return locs;
+ if(!Cools.isEmpty(locs)){
+ locsArr = locs.split(",");
+ }
+ return locsArr;
}
/**
* 鑾峰彇 娴呭簱浣嶅搴旂殑娣卞簱浣嶇粍
*/
- public static String getDeepLocs(String shallowLoc){
+ public static String[] getDeepLocs(String shallowLoc){
+ String[] locsArr = null;
String locs="";
int row = getRow(shallowLoc);
switch (row){
@@ -288,19 +293,19 @@
case 3:
case 10:
case 17:
- locs += zerofill(String.valueOf(row-1),2) + shallowLoc.substring(2);
- locs += "," + zerofill(String.valueOf(row-2),2) + shallowLoc.substring(2);
+ locs += zerofill(String.valueOf(row-2),2) + shallowLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row-1),2) + shallowLoc.substring(2);
break;
case 4:
- locs += zerofill(String.valueOf(row+1),2) + shallowLoc.substring(2);
+ locs += zerofill(String.valueOf(row+3),2) + shallowLoc.substring(2);
locs += "," + zerofill(String.valueOf(row+2),2) + shallowLoc.substring(2);
- locs += "," + zerofill(String.valueOf(row+3),2) + shallowLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row+1),2) + shallowLoc.substring(2);
break;
case 5:
case 12:
case 19:
- locs += zerofill(String.valueOf(row+1),2) + shallowLoc.substring(2);
- locs += "," + zerofill(String.valueOf(row+2),2) + shallowLoc.substring(2);
+ locs += zerofill(String.valueOf(row+2),2) + shallowLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row+1),2) + shallowLoc.substring(2);
break;
case 6:
case 13:
@@ -309,12 +314,15 @@
break;
case 11:
case 18:
- locs += zerofill(String.valueOf(row-1),2) + shallowLoc.substring(2);
+ locs += zerofill(String.valueOf(row-3),2) + shallowLoc.substring(2);
locs += "," + zerofill(String.valueOf(row-2),2) + shallowLoc.substring(2);
- locs += "," + zerofill(String.valueOf(row-3),2) + shallowLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row-1),2) + shallowLoc.substring(2);
break;
}
- return locs;
+ if(!Cools.isEmpty(locs)){
+ locsArr = locs.split(",");
+ }
+ return locsArr;
}
/**
@@ -340,17 +348,18 @@
}
public static void main(String[] args) {
- String shallowLocs = getShallowLocs("2100203");
- String deepLocs = getDeepLocs("2100203");
- System.out.println("shallowLocs ==>> " + shallowLocs);
- System.out.println("deepLocs ==>> " + deepLocs);
- String[] shallowArr = null, deepArr = null;
- if (shallowLocs.indexOf(',') >= 0) {
- shallowArr = shallowLocs.split(",");
- }
- if (deepLocs.indexOf(',') >= 0) {
- deepArr = deepLocs.split(",");
- }
+// String shallowLocs = getShallowLocs("2100203");
+// String deepLocs = getDeepLocs("2100203");
+// System.out.println("shallowLocs ==>> " + shallowLocs);
+// System.out.println("deepLocs ==>> " + deepLocs);
+ String[] shallowArr = getShallowLocs("1700203");;
+ String[] deepArr = getDeepLocs("1700203");
+// if (shallowLocs.indexOf(',') >= 0) {
+// shallowArr = shallowLocs.split(",");
+// }
+// if (deepLocs.indexOf(',') >= 0) {
+// deepArr = deepLocs.split(",");
+// }
for(String str : deepArr){
System.out.println(str);
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 4c51a32..fcf6341 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -158,4 +158,11 @@
</if>
</select>
+ <select id="selectLocMoveWorking" resultMap="BaseResultMap">
+ select top 1 * from dbo.asr_wrk_mast where crn_no=#{crnNo} and wrk_sts != 17 and io_type=11 order by io_pri desc,io_time,wrk_no asc
+ </select>
+
+ <select id="selectLocMove17" resultMap="BaseResultMap">
+ select top 1 * from dbo.asr_wrk_mast where wrk_sts in (17) and io_type=11 and crn_no=#{crnNo} order by io_pri desc,io_time,wrk_no
+ </select>
</mapper>
--
Gitblit v1.9.1