From 083ceafc0a7631c92df9464303deae343ef103ac Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期五, 11 三月 2022 14:30:51 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 519 ---------------------------------------------------------
1 files changed, 0 insertions(+), 519 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 0c4fdc8..5209aa8 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -5,7 +5,6 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.Cools;
-import com.core.common.DateUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.BasCrnErrorMapper;
@@ -13,7 +12,6 @@
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;
@@ -174,64 +172,6 @@
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl+"/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
}
-
-// // 妫�绱㈠簱浣�
-// LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
-// List<String> matNos = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
-// StartupDto startupDto = commonService.getLocNo(1, 1, inSta.getStaNo(), matNos, locTypeDto, 0);
-// // 宸ヤ綔鍙�
-// int workNo = startupDto.getWorkNo();
-// // 鎻掑叆宸ヤ綔鏄庣粏妗�
-// wrkDetlService.createWorkDetail(workNo, waitPakins, barcode);
-//
-// // 鎻掑叆宸ヤ綔涓绘。
-// wrkMast = new WrkMast();
-// wrkMast.setWrkNo(workNo);
-// wrkMast.setIoTime(new Date());
-// wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細2.璁惧涓婅蛋
-// wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
-// wrkMast.setIoPri(10D); // 浼樺厛绾э細10
-// wrkMast.setCrnNo(startupDto.getCrnNo());
-// wrkMast.setSourceStaNo(startupDto.getSourceStaNo());
-// wrkMast.setStaNo(startupDto.getStaNo());
-// wrkMast.setLocNo(startupDto.getLocNo());
-// wrkMast.setBarcode(barcode); // 鎵樼洏鐮�
-// wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
-// wrkMast.setPicking("N"); // 鎷f枡
-// wrkMast.setExitMk("N"); // 閫�鍑�
-// wrkMast.setEmptyMk("N"); // 绌烘澘
-// wrkMast.setLinkMis("N");
-// // 鎿嶄綔浜哄憳鏁版嵁
-// wrkMast.setAppeTime(new Date());
-// wrkMast.setModiTime(new Date());
-// Integer insert = wrkMastMapper.insert(wrkMast);
-// if (insert == 0) {
-// throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
-// }
-// // 鏇存柊鐩爣搴撲綅鐘舵��
-// LocMast locMast = locMastService.selectById(startupDto.getLocNo());
-// locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
-// locMast.setModiTime(new Date());
-// if (!locMastService.updateById(locMast)){
-// throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
-// }
-// // 灏嗗叆搴撻�氱煡妗d慨鏀逛负宸插惎鍔�
-// if (wrkMastMapper.updateWaitPakInStep1(barcode) == 0) {
-// throw new CoolException("淇敼鍏ュ簱閫氱煡妗g姸鎬佷负宸插惎鍔ㄥけ璐�");
-// }
-//
-// // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-//
-// // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
-// barcodeThread.setBarcode("");
-// staProtocol.setWorkNo((short) workNo);
-// staProtocol.setStaNo(startupDto.getStaNo().shortValue());
-// devpThread.setPakMk(staProtocol.getSiteId(), false);
-// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-// if (!result) {
-// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
-// }
-
} catch (Exception e) {
e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -338,15 +278,6 @@
continue;
}
- // 鎷c�佺洏銆佸苟 浣滀笟绔欒浆鎹�
-// int stnNo = 0;
-// if (wrkMast.getStaNo() == 109) {
-// stnNo = 127;
-// } else if (wrkMast.getStaNo() == 113) {
-// stnNo = 128;
-// } else {
-// log.error("{}鍙蜂换鍔℃暟鎹紓甯革紒", wrkMast.getWrkNo());
-// }
// 鑾峰彇鐩爣绔�
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", wrkMast.getIoType() - 50)
@@ -519,8 +450,6 @@
}
}
}
- // 搴撲綅绉昏浆
- this.locToLoc(crn, crnProtocol);
}
}
@@ -1024,75 +953,6 @@
}
/**
- * 搴撲綅绉昏浆
- */
- public void locToLoc(CrnSlave slave, CrnProtocol crnProtocol){
- // 鑾峰彇宸ヤ綔妗d俊鎭�
- WrkMast wrkMast = wrkMastMapper.selectLocMove(slave.getId());
- if (null == wrkMast) {
- return;
- }
- // 鑾峰彇婧愬簱浣嶄俊鎭�
- LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo());
- if (null == sourceSta) {
- log.error("宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈡簮搴撲綅澶辫触锛佸伐浣滃彿={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
- return;
- }
- // 婧愬簱浣� 搴撲綅鐘舵�佸垽鏂�
- if (!sourceSta.getLocSts().equals("R") && !sourceSta.getLocSts().equals("S")) {
- return;
- }
- // 鑾峰彇鐩爣搴撲綅淇℃伅
- LocMast sta = locMastService.selectById(wrkMast.getLocNo());
- if (null == sta) {
- 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.selectLocMoving(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(sourceSta.getRow1().shortValue()); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY(sourceSta.getBay1().shortValue()); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue()); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX(sta.getRow1().shortValue()); // 鐩爣搴撲綅鎺�
- crnCommand.setDestinationPosY(sta.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosZ(sta.getLev1().shortValue()); // 鐩爣搴撲綅灞�
- if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
- } else {
- // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
- Date now = new Date();
- wrkMast.setWrkSts(12L);
- wrkMast.setCrnStrTime(now);
- wrkMast.setModiTime(now);
- if (wrkMastMapper.updateById(wrkMast) == 0) {
- log.error("銆愬簱浣嶇Щ杞�� 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
- }
- }
-
- }
-
-
- /**
* 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
*/
@Async
@@ -1476,62 +1336,6 @@
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
-
-
-
-// // 妫�绱㈠簱浣�
-// LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
-// StartupDto startupDto = commonService.getLocNo(1, 10, emptyInSta.getStaNo(), null, locTypeDto, 0);
-// // 宸ヤ綔鍙�
-// int workNo = startupDto.getWorkNo();
-//
-// try {
-// // 鎻掑叆宸ヤ綔涓绘。
-// WrkMast wrkMast = new WrkMast();
-// wrkMast.setWrkNo(workNo);
-// wrkMast.setIoTime(new Date());
-// wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細2.璁惧涓婅蛋
-// wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
-// wrkMast.setIoPri(10D); // 浼樺厛绾э細10
-// wrkMast.setCrnNo(startupDto.getCrnNo());
-// wrkMast.setSourceStaNo(startupDto.getSourceStaNo());
-// wrkMast.setStaNo(startupDto.getStaNo());
-// wrkMast.setLocNo(startupDto.getLocNo());
-// wrkMast.setFullPlt("N"); // 婊℃澘
-// wrkMast.setPicking("N"); // 鎷f枡
-// wrkMast.setExitMk("N"); // 閫�鍑�
-// wrkMast.setEmptyMk("Y"); // 绌烘澘
-// wrkMast.setLinkMis("N");
-//// wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
-// // 鎿嶄綔浜哄憳鏁版嵁
-// wrkMast.setAppeTime(new Date());
-// wrkMast.setModiTime(new Date());
-// Integer insert = wrkMastMapper.insert(wrkMast);
-// if (insert == 0) {
-// throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
-// }
-// // 鏇存柊鐩爣搴撲綅鐘舵��
-// LocMast locMast = locMastService.selectById(startupDto.getLocNo());
-// locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
-// locMast.setModiTime(new Date());
-// if (!locMastService.updateById(locMast)){
-// throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
-// }
-// // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-//
-// // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
-// staProtocol.setWorkNo((short) workNo);
-// staProtocol.setStaNo(startupDto.getStaNo().shortValue());
-// devpThread.setPakMk(staProtocol.getSiteId(), false);
-// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-// if (!result) {
-// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
-// }
-// } catch (Exception e) {
-// e.printStackTrace();
-// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-// }
-
}
@@ -1639,33 +1443,6 @@
*/
@Async
public void ledReset() {
-// for (LedSlave led : slaveProperties.getLed()) {
-// // 鑾峰彇杈撻�佺嚎plc绾跨▼
-// DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
-// // 鍛戒护闆嗗悎
-// boolean reset = true;
-// for (Integer staNo : led.getStaArr()) {
-// // 鑾峰彇鍙夎溅绔欑偣
-// StaProtocol staProtocol = devpThread.getStation().get(staNo);
-// if (staProtocol == null) {
-// continue;
-// } else {
-// staProtocol = staProtocol.clone();
-// }
-// if (staProtocol.getWorkNo() != 0) {
-// reset = false;
-// break;
-// }
-// }
-// // 鑾峰彇led绾跨▼
-// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getDevpPlcId());
-// // led鏄剧ず榛樿鍐呭
-// if (reset) {
-// if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) {
-// log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
-// }
-// }
-// }
for (LedSlave led : slaveProperties.getLed()) {
// 鑾峰彇杈撻�佺嚎plc绾跨▼
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
@@ -1696,304 +1473,8 @@
}
}
- /**
- * 鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堝叆搴撶増)
- * tip锛氬悓姝�
- */
- @Transactional
- public synchronized void moveLocForDeepLocPakin(CrnSlave crn, LocMast shallowLoc, WrkMast pakinWrkMast){
- LocMast loc = locMastService.selectById(pakinWrkMast.getLocNo());
-
- // 鑾峰彇宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(0);
- // 淇濆瓨宸ヤ綔妗�
- WrkMast wrkMast = new WrkMast();
- wrkMast.setWrkNo(workNo);
- wrkMast.setIoTime(new Date());
- wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
- wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
- wrkMast.setIoPri(15D);
- 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.setCtnNo("Y"); // 鍏ュ簱闃诲搴撲綅绉昏浆鏍囪
- wrkMast.setAppeTime(new Date());
- wrkMast.setModiTime(new Date());
- 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.setWrkNo(workNo);
- wrkDetl.setIoTime(new Date());
- wrkDetl.setQty(locDetl.getQty());
- VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
- 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("S"); // S.鍏ュ簱棰勭害锛屽叆搴撻樆濉炲簱浣嶇Щ杞�
- shallowLoc.setModiTime(new Date());
- if (!locMastService.updateById(shallowLoc)){
- 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("绉昏浆澶辫触");
-// }
- wrkMast.setLocNo(shallowLoc.getLocNo());
- if (wrkMastMapper.updateById(wrkMast) == 0) {
- throw new CoolException("淇敼闃诲鍏ュ簱浠诲姟澶辫触");
- }
- }
-
- /**
- * 鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)
- * tip锛氬悓姝�
- */
- private void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc){
- List<Integer> rows = locMastService.queryDistinctRow(crn.getId());
- LocMast loc = null;
- for (Integer row : rows) {
- if (Utils.isDeepLoc(slaveProperties, row)) {
- loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
- if (null != loc) { break; }
- }
- }
- if (null == loc) {
- for (Integer row : rows) {
- if (Utils.isShallowLoc(slaveProperties, row)) {
- loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
- if (null != loc) { break; }
- }
- }
- }
- if (null == loc) {
- throw new CoolException("鍙屾繁搴撲綅 --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo());
- }
-
- // 鑾峰彇宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(0);
- // 淇濆瓨宸ヤ綔妗�
- WrkMast 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(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(new Date());
- wrkMast.setModiTime(new Date());
- 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.setWrkNo(workNo);
- wrkDetl.setIoTime(new Date());
- wrkDetl.setQty(locDetl.getQty());
- VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
- 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(new Date());
- if (!locMastService.updateById(shallowLoc)){
- 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("绉昏浆澶辫触");
- }
-
- }
-
- /**
- * 鍫嗗灈鏈烘紨绀� ===>> 搴撲綅绉昏浆
- */
- public synchronized void crnDemoOfLocMove1(){
- 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) {
- // 鑾峰彇绉诲簱宸ヤ綔妗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(0);
- // 淇濆瓨宸ヤ綔妗�
- 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.setWrkNo(workNo);
-// wrkDetl.setIoTime(new Date());
-// wrkDetl.setAnfme(locDetl.getAnfme());
-// VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
-// wrkDetl.setAppeTime(new Date());
-// wrkDetl.setModiTime(new Date());
-// if (!wrkDetlService.insert(wrkDetl)) {
-// throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
-// }
-// }
- // 淇敼婧愬簱浣嶇姸鎬�
- if (sourceLoc.getLocSts().equals("D")) {
- 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("绉昏浆澶辫触");
- }
-
- }
-
- }
- }
-
- /**
- * 鍫嗗灈鏈哄懡浠や笅鍙戝悗锛屽紓姝ヤ慨鏀瑰伐浣滄。鐘舵��
- */
- public synchronized void crnIoWrkMast(){
- for (CrnSlave crn : slaveProperties.getCrn()) {
- // 鑾峰彇鍫嗗灈鏈轰俊鎭�
- CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
- CrnProtocol crnProtocol = crnThread.getCrnProtocol();
- if (crnProtocol == null) {
- continue;
- }
- Date now = new Date();
- // 鍫嗗灈鏈烘鍦ㄨ繍琛�
- if (crnProtocol.getStatusType() != CrnStatusType.IDLE && crnProtocol.getTaskNo() != 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
- // 鑾峰彇宸ヤ綔妗�
- WrkMast wrkMast = wrkMastMapper.selectById(crnProtocol.getTaskNo());
- if (wrkMast == null) { continue; }
- // 鍏ュ簱
- if (wrkMast.getWrkSts() == 1 || wrkMast.getWrkSts() == 2) {
- log.warn("鍫嗗灈鏈洪潪绌洪棽鎯呭喌涓嬶紝寮�濮嬩慨鏀瑰伐浣滄。鐘舵�併�俒id:{},鏃堕棿锛歿}] >>>>> 鍫嗗灈鏈哄綋鍓嶇姸鎬佷负锛歿}銆備换鍔″彿:{}", crn.getId(), DateUtils.convert(now, DateUtils.yyyyMMddHHmmsssss_F), crnProtocol.getStatusType().desc, crnProtocol.getTaskNo());
- // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓�
- wrkMast.setWrkSts(3L);
- wrkMast.setCrnStrTime(now);
- wrkMast.setModiTime(now);
- if (wrkMastMapper.updateById(wrkMast) == 0) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
- }
- log.warn("淇敼宸ヤ綔妗g姸鎬佹垚鍔熴�俒鏃堕棿锛歿}] >>>>> 浠诲姟鍙�:{}", DateUtils.convert(now, DateUtils.yyyyMMddHHmmsssss_F), wrkMast.getWrkNo());
- }
- // 鍑哄簱銆佺Щ搴�
- if (wrkMast.getWrkSts() == 11) {
- log.warn("鍫嗗灈鏈洪潪绌洪棽鎯呭喌涓嬶紝寮�濮嬩慨鏀瑰伐浣滄。鐘舵�併�俒id:{},鏃堕棿锛歿}] >>>>> 鍫嗗灈鏈哄綋鍓嶇姸鎬佷负锛歿}銆備换鍔″彿:{}", crn.getId(), DateUtils.convert(now, DateUtils.yyyyMMddHHmmsssss_F), crnProtocol.getStatusType().desc, crnProtocol.getTaskNo());
- // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
- wrkMast.setWrkSts(12L);
- wrkMast.setCrnStrTime(now);
- wrkMast.setModiTime(now);
- if (wrkMastMapper.updateById(wrkMast) == 0) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
- }
- log.warn("淇敼宸ヤ綔妗g姸鎬佹垚鍔熴�俒鏃堕棿锛歿}] >>>>> 浠诲姟鍙�:{}", DateUtils.convert(now, DateUtils.yyyyMMddHHmmsssss_F), wrkMast.getWrkNo());
- }
- }
-
- }
- }
}
--
Gitblit v1.9.1