From d66490d4dfbc811bca51a98c08dbbc444e258a30 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 27 九月 2022 10:52:49 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 332 +++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 294 insertions(+), 38 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 f37d508..c19564c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -43,10 +43,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -869,6 +866,11 @@
if (steNo != null) {
// 灏忚溅琛岃蛋鍒板爢鍨涙満寰呮惉绉荤偣
if (wrkMast.getWrkSts() == 11L && wrkMast.getSteNo() == null) {
+ // 鏍囪绉诲簱褰撳墠娴佺▼
+ wrkMast.setMk("I");
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("鏍囪绉诲簱褰撳墠娴佺▼ I 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
this.letCarBeWaiting(wrkMast, steNo, wrkMast.getLocNo());
}
// 鍫嗗灈鏈哄皢璐ф斁鑷冲皬杞︿笂 6.灏忚溅寰呭叆 ===>> 7.鍚婅溅鍏ュ簱涓�
@@ -1000,7 +1002,7 @@
if (wrkMastMapper.updateById(wrkMast) == 0) {
log.error("淇敼宸ヤ綔妗g姸鎬� 15.绛夊緟鍚婅溅 => 16.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
}
- wrkMastMapper.setSteEmpty(wrkMast.getWrkNo());
+// wrkMastMapper.setSteEmpty(wrkMast.getWrkNo());
}
} else {
@@ -1362,11 +1364,11 @@
continue;
} else {
// 灏忚溅鎼嚦鎸囧畾搴撲綅瀹屾垚
- if (wrkCharge.getWrkSts() == 4) {
- // 4.杩佸叆灏忚溅 ===>> 6.灏忚溅寰呭叆
- wrkCharge.setWrkSts(6L);
+ if (wrkCharge.getWrkSts() == 23) {
+ // 23.鍚婅溅鎼繍 ===>> 24.灏忚溅鍒拌揪
+ wrkCharge.setWrkSts(24L);
if (!wrkChargeService.updateById(wrkCharge)) {
- log.error("淇敼鍏呯數浠诲姟鐘舵�� 4.杩佸叆灏忚溅 ===>> 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+ log.error("淇敼鍏呯數浠诲姟鐘舵�� 23.鍚婅溅鎼繍 ===>> 24.灏忚溅鍒拌揪 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
} else {
// 鍫嗗灈鏈哄浣�
crnThread.setResetFlag(true);
@@ -1543,6 +1545,37 @@
} 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())) {
@@ -1627,7 +1660,7 @@
/**
* 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
*/
- public void carGenerateStore() {
+ public synchronized void carGenerateStore() {
Date now = new Date();
for (SteSlave ste : slaveProperties.getSte()) {
// 鑾峰彇绌挎杞︿俊鎭�
@@ -1646,19 +1679,19 @@
if (wrkCharge == null) {
continue;
} else {
- if (wrkCharge.getWrkSts() == 11) {
- // 11.鐢熸垚鍑哄簱ID ===>> 12.灏忚溅寰呮惉
- wrkCharge.setWrkSts(12L);
+ if (wrkCharge.getWrkSts() == 21) {
+ // 21.鍑嗗鍏呯數 ===>> 22.灏忚溅寰呮惉
+ wrkCharge.setWrkSts(22L);
if (!wrkChargeService.updateById(wrkCharge)) {
- log.error("淇敼鍏呯數浠诲姟鐘舵�� 11.鐢熸垚鍑哄簱ID ===>> 12.灏忚溅寰呮惉 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+ log.error("淇敼鍏呯數浠诲姟鐘舵�� 21.鍑嗗鍏呯數 ===>> 22.灏忚溅寰呮惉 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
} else {
steThread.setResetFlag(true);
}
- } else if (wrkCharge.getWrkSts() == 8) {
- // 8.灏忚溅鎼叆搴� ===>> 9.鍏ュ簱瀹屾垚
- wrkCharge.setWrkSts(9L);
+ } else if (wrkCharge.getWrkSts() == 25) {
+ // 25.灏忚溅鍘诲厖鐢� ===>> 26.绛夊緟鍏呯數
+ wrkCharge.setWrkSts(26L);
if (!wrkChargeService.updateById(wrkCharge)) {
- log.error("淇敼鍏呯數浠诲姟鐘舵�� 8.灏忚溅鎼叆搴� ===>> 9.鍏ュ簱瀹屾垚 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+ log.error("淇敼鍏呯數浠诲姟鐘舵�� 25.灏忚溅鍘诲厖鐢� ===>> 26.绛夊緟鍏呯數 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
} else {
steThread.setResetFlag(true);
}
@@ -2050,14 +2083,22 @@
/**
* 灏忚溅鐢甸噺妫�娴� ===>> 鍙戣捣鍏呯數
*/
- public void loopSteCharge() {
+ public synchronized void loopSteCharge() {
for (SteSlave ste : slaveProperties.getSte()) {
SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
SteProtocol steProtocol = steThread.getSteProtocol();
BasSte basSte = basSteService.selectById(ste.getId());
if (Cools.isEmpty(steProtocol, basSte)) { continue; }
try {
- if (!steProtocol.statusType.equals(SteStatusType.IDLE) || basSte.getPakMk().equals("Y")) {
+ // 鍦ㄧ嚎 绌洪棽 鏃犱綔涓氭爣璁� 涓嶅湪鍏呯數
+ if (steProtocol.getMode() == 0
+ || !steProtocol.statusType.equals(SteStatusType.IDLE)
+ || basSte.getPakMk().equals("Y")
+// || steProtocol.getChargeStatus() == 1
+ ) {
+ continue;
+ }
+ if (!steProtocol.isEnable()) {
continue;
}
if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())) {
@@ -2065,12 +2106,12 @@
}
WrkCharge wrkCharge = wrkChargeService.selectWorking(steProtocol.getSteNo().intValue());
- if (wrkCharge == null) {
+ if (wrkCharge == null && steProtocol.getChargeStatus() == 0) {
String idleLoc = basSte.getIdleLoc();
wrkCharge = new WrkCharge();
wrkCharge.setSteNo(ste.getId());
wrkCharge.setWrkNo(commonService.getChargeWorkNo(4));
- wrkCharge.setWrkSts(11L);
+ wrkCharge.setWrkSts(21L); // 21.鍑嗗鍏呯數
wrkCharge.setCrnNo(basSte.getCrnNo());
wrkCharge.setIoPri((double) 10);
wrkCharge.setLocNo(idleLoc);
@@ -2079,20 +2120,26 @@
continue;
}
+ // 澶勪簬鍏呯數搴撲綅缁�
if (Utils.getGroupRow(idleLoc).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(idleLoc) && steProtocol.getLev() == Utils.getLev(idleLoc)) {
- // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 6.灏忚溅寰呭叆
- wrkCharge.setWrkSts(6L);
+ // 淇敼宸ヤ綔妗g姸鎬� 21.鍑嗗鍏呯數 => 24.灏忚溅鍒拌揪
+ wrkCharge.setWrkSts(24L);
wrkCharge.setModiTime(new Date());
if (!wrkChargeService.updateById(wrkCharge)) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+ log.error("淇敼鍏呯數浠诲姟鐘舵�� 21.鍑嗗鍏呯數 => 24.灏忚溅鍒拌揪 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
}
} else {
this.letCarBeWaiting(wrkCharge, ste.getId());
}
} else {
- // 12.灏忚溅寰呮惉
- if (wrkCharge.getWrkSts() == 12) {
+ // filter
+ if (wrkCharge == null || (wrkCharge.getWrkSts() < 26 && steProtocol.getChargeStatus() == 1)) {
+ continue;
+ }
+
+ // 22.灏忚溅寰呮惉
+ if (wrkCharge.getWrkSts() == 22) {
// 鎼皬杞﹁嚦鍏呯數搴撲綅
LocMast locMast = locMastService.selectById(basSte.getIdleLoc());
@@ -2113,19 +2160,20 @@
} else {
// 淇敼绌挎杞﹁繍琛屼腑鎺掑垪灞�
steThread.modifyPos(Utils.getGroupRow(locMast.getLocNo()), locMast.getBay1(), locMast.getLev1());
- // 淇敼宸ヤ綔妗g姸鎬� 12.灏忚溅寰呮惉 => 4.杩佸叆灏忚溅
+ // 淇敼宸ヤ綔妗g姸鎬� 22.灏忚溅寰呮惉 => 23.鍚婅溅鎼繍
Date now = new Date();
- wrkCharge.setWrkSts(4L);
+ wrkCharge.setWrkSts(23L);
wrkCharge.setCrnStrTime(now);
wrkCharge.setModiTime(now);
if (!wrkChargeService.updateById(wrkCharge)) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 12.灏忚溅寰呮惉 => 4.杩佸叆灏忚溅 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+ log.error("淇敼宸ヤ綔妗g姸鎬� 22.灏忚溅寰呮惉 => 23.鍚婅溅鎼繍 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
}
}
- } else if (wrkCharge.getWrkSts() == 6L) {
+ } else if (wrkCharge.getWrkSts() == 24L) {
// 灏忚溅琛岄┒鑷冲厖鐢典綅
if (steProtocol.statusType.equals(SteStatusType.IDLE) && steProtocol.getPakMk().equals("N")) {
+ if (steProtocol.getChargeStatus() == 1) { continue; }
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
SteCommand steCommand = new SteCommand();
steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙�
@@ -2134,26 +2182,29 @@
if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) {
log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand));
} else {
- // 淇敼宸ヤ綔妗g姸鎬� 6.灏忚溅寰呭叆 ===> 8.灏忚溅鎼叆搴�
- wrkCharge.setWrkSts(8L);
+ // 淇敼宸ヤ綔妗g姸鎬� 24.灏忚溅鍒拌揪 ===> 25.灏忚溅鍘诲厖鐢�
+ wrkCharge.setWrkSts(25L);
Date now = new Date();
wrkCharge.setCrnEndTime(now);
wrkCharge.setModiTime(now);
if (!wrkChargeService.updateById(wrkCharge)) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 6.灏忚溅寰呭叆 ===> 8.灏忚溅鎼叆搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+ log.error("淇敼鍏呯數浠诲姟鐘舵�� 24.灏忚溅鍒拌揪 ===> 25.灏忚溅鍘诲厖鐢� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
}
}
}
- } else if (wrkCharge.getWrkSts() == 9L) {
+ } else if (wrkCharge.getWrkSts() == 26) {
+ if (steProtocol.getChargeStatus() == 0) { continue; }
// 缁欒緭閫佺嚎涓嬪彂鍏呯數浠诲姟
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
SteChargeType steChargeType = SteChargeType.get(wrkCharge.getLocNo());
if (null != steChargeType) {
if (devpThread.charge(steChargeType.ssbm - 1, true)) {
- // 淇敼宸ヤ綔妗g姸鎬� 9.鍏ュ簱瀹屾垚 ===> 10.搴撳瓨鏇存柊瀹屾垚
- wrkCharge.setWrkSts(10L);
+ // 淇敼宸ヤ綔妗g姸鎬� 26.绛夊緟鍏呯數 ===> 28.瀹屾垚鍏呯數
+ wrkCharge.setWrkSts(28L);
if (!wrkChargeService.updateById(wrkCharge)) {
- log.error("淇敼鍏呯數浠诲姟鐘舵�� 9.鍏ュ簱瀹屾垚 ===> 10.搴撳瓨鏇存柊瀹屾垚 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+ log.error("淇敼鍏呯數浠诲姟鐘舵�� 26.绛夊緟鍏呯數 ===> 28.瀹屾垚鍏呯數 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+ } else {
+ steThread.setResetFlag(true);
}
}
} else {
@@ -2167,4 +2218,209 @@
}
}
+
+ public List<String> crn1DemoLocs = new ArrayList<String>(); public String crn1LastLoc = "";
+ public List<String> crn2DemoLocs = new ArrayList<String>(); public String crn2LastLoc = "";
+ public List<String> crn3DemoLocs = new ArrayList<String>(); public String crn3LastLoc = "";
+ public synchronized void demo() {
+ if (Cools.isEmpty(crn1DemoLocs)) {
+ crn1DemoLocs = locMastService.getDemoNextLoc(1);
+ }
+ if (Cools.isEmpty(crn2DemoLocs)) {
+ crn2DemoLocs = locMastService.getDemoNextLoc(2);
+ }
+ if (Cools.isEmpty(crn3DemoLocs)) {
+ crn3DemoLocs = locMastService.getDemoNextLoc(3);
+ }
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+ if (!crn.getDemo()) {
+ 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) {
+
+ 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();
+ }
+ 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;
+ }
+
+ }
+ 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);
+
+ // 鑾峰彇绉诲簱宸ヤ綔妗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け璐�");
+// }
+
+ }
+
+// }
+ }
+
+ /**
+ * 鍫嗗灈鏈烘紨绀� ===>> 搴撲綅绉昏浆
+ */
+ public synchronized void crnDemoOfLocMove(){
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+ if (!crn.getDemo()) { continue; } // 蹇呴』涓烘紨绀虹姸鎬�
+
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) { continue; }
+
+ log.info("{}鍙峰爢鍨涙満姝e湪婕旂ず", crn.getId());
+
+ // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
+ if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
+// // 鑾峰彇绉诲簱宸ヤ綔妗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け璐�");
+// }
+// // 宸ヤ綔妗f槑缁嗕繚瀛�
+// List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
+// 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 (sourceLoc.getLocSts().equals("D") || sourceLoc.getLocSts().equals("F")) {
+// sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害
+// sourceLoc.setModiTime(new Date());
+// if (!locMastService.updateById(sourceLoc)){
+// throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+// }
+// } else {
+// throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�");
+// }
+// // 淇敼鐩爣搴撲綅鐘舵��
+// if (loc.getLocSts().equals("O")) {
+// loc.setLocSts("S"); // S.鍏ュ簱棰勭害
+// loc.setModiTime(new Date());
+// if (!locMastService.updateById(loc)) {
+// throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
+// }
+// } else {
+// throw new CoolException("绉昏浆澶辫触");
+// }
+
+ }
+
+ }
+ }
+
}
--
Gitblit v1.9.1