From f9ff2ea7ca9ff9b87e33e27c355753ec79b6bb56 Mon Sep 17 00:00:00 2001
From: whycq <you@example.com>
Date: 星期六, 08 七月 2023 22:05:59 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 443 +++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 301 insertions(+), 142 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 27d906e..fa2ca02 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
@@ -484,136 +485,217 @@
continue;
}
- try {
- // 璁块棶 WMS 鑾峰彇鍏ュ簱搴撲綅
- LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
- SearchLocParam param = new SearchLocParam();
- param.setWrkNo(wrkMast.getWrkNo());
- param.setIoType(wrkMast.getIoType());
- param.setSourceStaNo(pickSta.getStaNo());
- param.setLocType1(locTypeDto.getLocType1());
- String response = new HttpHandler.Builder()
- .setUri(wmsUrl)
- .setPath("/rpc/pakin/loc/v1")
- .setJson(JSON.toJSONString(param))
- .build()
- .doPost();
- JSONObject jsonObject = JSON.parseObject(response);
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
- Integer code = jsonObject.getInteger("code");
- if (code.equals(200)) {
- StartupDto dto = jsonObject.getObject("data", StartupDto.class);
- News.info("鍐嶅叆搴撹幏鍙栨柊搴撲綅鎴愬姛锛岃繑鍥炴暟鎹�===>>", JSON.toJSON(dto));
-// // 鑾峰彇鐩爣绔�
-// Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
-// .eq("type_no", wrkMast.getIoType() - 50)
-// .eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
-// .eq("crn_no", dto.getCrnNo()); // 鍫嗗灈鏈哄彿
-// StaDesc staDesc = staDescService.selectOne(wrapper);
-// if (Cools.isEmpty(staDesc)) {
-// News.error("鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
-// continue;
-// }
-// // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
-// Integer staNo = staDesc.getCrnStn();
-
- // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
-// if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
-// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
-// }
- // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
- if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
- throw new CoolException(wrkMast.getWrkNo() + "淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
- }
-
- String sourceLocNo = wrkMast.getSourceLocNo().trim();
-
- // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
- wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
- wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
- wrkMast.setIoPri(13D);
- wrkMast.setSourceStaNo(pickSta.getStaNo()); // 婧愮珯
- wrkMast.setStaNo(dto.getStaNo()); // 鐩爣绔�
- wrkMast.setCrnNo(dto.getCrnNo());
- wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
- wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
- wrkMast.setModiTime(new Date());
- if (wrkMastMapper.updateById(wrkMast) == 0) {
- throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
- }
- if (wrkMastMapper.setSteEmpty(wrkMast.getWrkNo()) == 0) {
- throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
- }
-
- LocMast locMast = null;
- // 淇敼鐩爣搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
- locMast = locMastService.selectById(wrkMast.getLocNo());
- locMast.setLocSts("Q");
- locMast.setModiTime(new Date());
- if (!locMastService.updateById(locMast)) {
- throw new CoolException(wrkMast.getWrkNo() + "淇敼鐩爣搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�");
- }
- // 婧愬簱浣嶅簱瀛樻槑缁嗚浆绉诲埌鐩爣搴撲綅
- if (!locDetlService.updateLocNo(wrkMast.getLocNo(), sourceLocNo)) {
- throw new CoolException(wrkMast.getLocNo() + "浠诲姟搴撳瓨鏄庣粏杞Щ澶辫触锛侊紒锛�");
- }
-
- // 淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�
- LocMast sourceLocMast = locMastService.selectById(sourceLocNo);
- if (sourceLocMast.getLocSts().equals("P")) {
- sourceLocMast.setLocSts("O");
- sourceLocMast.setBarcode("");
- sourceLocMast.setModiTime(new Date());
- if (!locMastService.updateById(sourceLocMast)) {
- throw new CoolException(wrkMast.getWrkNo() + "淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�");
- }
- locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
- }
-
- // 鏉$爜璁惧澶勭悊
- barcodeThread.setBarcode("");
-
- ledThread.errorReset();
-
- if(wrkMast.getIoType()>100){
- throw new CoolException("鍐嶅叆搴撴洿鏂板伐浣滄。澶辫触锛屼笉鑳界粰PLC涓嬪彂浠诲姟===>>" + wrkMast.getWrkNo());
- }
- // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
- staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
- staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- if (!result) {
- News.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
- }
-
- } else if (code == 500){
- if (ledThread != null) {
- String errorMsg = jsonObject.getString("msg");
- if (!Cools.isEmpty(errorMsg)) {
- MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg));
- }
- }
- News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
- } else {
- staProtocol.setWorkNo((short) 9995);
- staProtocol.setStaNo(pickSta.getBackSta().shortValue());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-
- // led 寮傚父鏄剧ず
- if (ledThread != null) {
- String errorMsg = jsonObject.getString("msg");
-// String errorMsg = barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒";
- MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg));
- }
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-// continue;
+ // 鑾峰彇鐩爣绔�
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+ .eq("type_no", wrkMast.getIoType() - 50)
+ .eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+ .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
+ StaDesc staDesc = staDescService.selectOne(wrapper);
+ if (Cools.isEmpty(staDesc)) {
+ News.error("鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
+ continue;
}
+ // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
+ Integer staNo = staDesc.getCrnStn();
+
+ // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
+ if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
+ }
+ // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+ if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
+ throw new CoolException(wrkMast.getWrkNo() + "淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
+ }
+
+ String sourceLocNo = wrkMast.getSourceLocNo().trim();
+
+ // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
+ wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+ wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+ wrkMast.setIoPri(13D);
+ wrkMast.setSourceStaNo(pickSta.getStaNo()); // 婧愮珯
+ wrkMast.setStaNo(staNo); // 鐩爣绔�
+ wrkMast.setCrnNo(wrkMast.getCrnNo());
+ wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
+ wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+ wrkMast.setModiTime(new Date());
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+ }
+ if (wrkMastMapper.setSteEmpty(wrkMast.getWrkNo()) == 0) {
+ throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+ }
+
+ LocMast locMast = null;
+ // 淇敼鐩爣搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+ locMast = locMastService.selectById(wrkMast.getLocNo());
+ locMast.setLocSts("Q");
+ locMast.setModiTime(new Date());
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException(wrkMast.getWrkNo() + "淇敼鐩爣搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�");
+ }
+ // 婧愬簱浣嶅簱瀛樻槑缁嗚浆绉诲埌鐩爣搴撲綅
+ if (!locDetlService.updateLocNo(wrkMast.getLocNo(), sourceLocNo)) {
+ throw new CoolException(wrkMast.getLocNo() + "浠诲姟搴撳瓨鏄庣粏杞Щ澶辫触锛侊紒锛�");
+ }
+
+ // 淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�
+ LocMast sourceLocMast = locMastService.selectById(sourceLocNo);
+ if (sourceLocMast.getLocSts().equals("P")) {
+ sourceLocMast.setLocSts("O");
+ sourceLocMast.setBarcode("");
+ sourceLocMast.setModiTime(new Date());
+ if (!locMastService.updateById(sourceLocMast)) {
+ throw new CoolException(wrkMast.getWrkNo() + "淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�");
+ }
+ locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
+ }
+
+ // 鏉$爜璁惧澶勭悊
+ barcodeThread.setBarcode("");
+
+ if(wrkMast.getIoType()>100){
+ throw new CoolException("鍐嶅叆搴撴洿鏂板伐浣滄。澶辫触锛屼笉鑳界粰PLC涓嬪彂浠诲姟===>>" + wrkMast.getWrkNo());
+ }
+ // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
+ staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
+ staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result) {
+ News.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+ }
+
+// try {
+// // 璁块棶 WMS 鑾峰彇鍏ュ簱搴撲綅
+// LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
+// SearchLocParam param = new SearchLocParam();
+// param.setWrkNo(wrkMast.getWrkNo());
+// param.setIoType(wrkMast.getIoType());
+// param.setSourceStaNo(pickSta.getStaNo());
+// param.setLocType1(locTypeDto.getLocType1());
+// String response = new HttpHandler.Builder()
+// .setUri(wmsUrl)
+// .setPath("/rpc/pakin/loc/v1")
+// .setJson(JSON.toJSONString(param))
+// .build()
+// .doPost();
+// JSONObject jsonObject = JSON.parseObject(response);
+// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
+// Integer code = jsonObject.getInteger("code");
+// if (code.equals(200)) {
+// StartupDto dto = jsonObject.getObject("data", StartupDto.class);
+// News.info("鍐嶅叆搴撹幏鍙栨柊搴撲綅鎴愬姛锛岃繑鍥炴暟鎹�===>>", JSON.toJSON(dto));
+//// // 鑾峰彇鐩爣绔�
+//// Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+//// .eq("type_no", wrkMast.getIoType() - 50)
+//// .eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+//// .eq("crn_no", dto.getCrnNo()); // 鍫嗗灈鏈哄彿
+//// StaDesc staDesc = staDescService.selectOne(wrapper);
+//// if (Cools.isEmpty(staDesc)) {
+//// News.error("鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
+//// continue;
+//// }
+//// // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
+//// Integer staNo = staDesc.getCrnStn();
+//
+// // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
+//// if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
+//// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
+//// }
+// // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+// if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
+// throw new CoolException(wrkMast.getWrkNo() + "淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
+// }
+//
+// String sourceLocNo = wrkMast.getSourceLocNo().trim();
+//
+// // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
+// wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+// wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+// wrkMast.setIoPri(13D);
+// wrkMast.setSourceStaNo(pickSta.getStaNo()); // 婧愮珯
+// wrkMast.setStaNo(dto.getStaNo()); // 鐩爣绔�
+// wrkMast.setCrnNo(dto.getCrnNo());
+// wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
+// wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+// wrkMast.setModiTime(new Date());
+// if (wrkMastMapper.updateById(wrkMast) == 0) {
+// throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+// }
+// if (wrkMastMapper.setSteEmpty(wrkMast.getWrkNo()) == 0) {
+// throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+// }
+//
+// LocMast locMast = null;
+// // 淇敼鐩爣搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+// locMast = locMastService.selectById(wrkMast.getLocNo());
+// locMast.setLocSts("Q");
+// locMast.setModiTime(new Date());
+// if (!locMastService.updateById(locMast)) {
+// throw new CoolException(wrkMast.getWrkNo() + "淇敼鐩爣搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�");
+// }
+// // 婧愬簱浣嶅簱瀛樻槑缁嗚浆绉诲埌鐩爣搴撲綅
+// if (!locDetlService.updateLocNo(wrkMast.getLocNo(), sourceLocNo)) {
+// throw new CoolException(wrkMast.getLocNo() + "浠诲姟搴撳瓨鏄庣粏杞Щ澶辫触锛侊紒锛�");
+// }
+//
+// // 淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�
+// LocMast sourceLocMast = locMastService.selectById(sourceLocNo);
+// if (sourceLocMast.getLocSts().equals("P")) {
+// sourceLocMast.setLocSts("O");
+// sourceLocMast.setBarcode("");
+// sourceLocMast.setModiTime(new Date());
+// if (!locMastService.updateById(sourceLocMast)) {
+// throw new CoolException(wrkMast.getWrkNo() + "淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�");
+// }
+// locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
+// }
+//
+// // 鏉$爜璁惧澶勭悊
+// barcodeThread.setBarcode("");
+//
+// ledThread.errorReset();
+//
+// if(wrkMast.getIoType()>100){
+// throw new CoolException("鍐嶅叆搴撴洿鏂板伐浣滄。澶辫触锛屼笉鑳界粰PLC涓嬪彂浠诲姟===>>" + wrkMast.getWrkNo());
+// }
+// // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
+// staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
+// staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+// devpThread.setPakMk(staProtocol.getSiteId(), false);
+// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+// if (!result) {
+// News.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+// }
+//
+// } else if (code == 500){
+// if (ledThread != null) {
+// String errorMsg = jsonObject.getString("msg");
+// if (!Cools.isEmpty(errorMsg)) {
+// MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg));
+// }
+// }
+// News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+// } else {
+// staProtocol.setWorkNo((short) 9995);
+// staProtocol.setStaNo(pickSta.getBackSta().shortValue());
+// devpThread.setPakMk(staProtocol.getSiteId(), false);
+// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+//
+// // led 寮傚父鏄剧ず
+// if (ledThread != null) {
+// String errorMsg = jsonObject.getString("msg");
+//// String errorMsg = barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒";
+// MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg));
+// }
+// }
+//
+// } catch (Exception e) {
+// e.printStackTrace();
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//// continue;
+// }
}
}
@@ -858,7 +940,7 @@
continue;
}
- // 鍏ュ簱娣卞簱浣嶆槸鍚︽湁闈濬銆丏搴撲綅杩涜鏍¢獙
+ // 鍏ュ簱娣卞簱浣嶆槸鍚︽湁闈濬銆丏銆乆搴撲綅杩涜鏍¢獙
if (wrkMastMapper.selectShallowLoc(Integer.parseInt(wrkMast.getLocNo().substring(0, 2)),Integer.parseInt(wrkMast.getLocNo().substring(2, 5)),Integer.parseInt(wrkMast.getLocNo().substring(5, 7)))!=null){
continue;
}
@@ -911,18 +993,22 @@
}
}
- } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) {
- News.error("搴撲綅鍑哄簱鍒板爢鍨涙満绔� ===>> 娴呭簱浣嶅簱浣嶇姸鎬佷负鍏ュ簱棰勭害锛佸嚭搴撳簱浣�={},娴呭簱浣嶅彿={}", shallowLoc.getLocNo());
+// } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) {
+// News.error("搴撲綅鍑哄簱鍒板爢鍨涙満绔� ===>> 娴呭簱浣嶅簱浣嶇姸鎬佷负鍏ュ簱棰勭害锛佸嚭搴撳簱浣�={},娴呭簱浣嶅彿={}", shallowLoc.getLocNo());
+// flag = true;
+// break;
+ } else if (shallowLoc.getLocSts().equals("R") || shallowLoc.getLocSts().equals("P")) {
+ News.error("搴撲綅鍑哄簱鍒板爢鍨涙満绔� ===>> 搴撲綅鐘舵�佸湪搴擄紝浣嗘槸娴呭簱浣嶅凡瀛樺湪宸ヤ綔妗d换鍔★紒鍑哄簱搴撲綅={},娴呭簱浣嶅彿={}", shallowLoc.getLocNo());
flag = true;
break;
}
- //20230307 ADD锛屽啀鍔犱竴娆″垽鏂紝褰撴祬搴撲綅鐘舵�佷笉涓篛鏃讹紝涓嶆墽琛屽綋鍓嶅嚭搴撲换鍔�
- if (shallowLoc != null && !shallowLoc.getLocSts().equals("O")) {
- News.error("鍋氫簡娴呭簱浣嶉樆濉炲鐞嗗悗鍙嶅鍒ゆ柇锛屾祬搴撲綅鐘舵�佷笉涓篛 ===>> 娴呭簱浣嶅簱浣嶇姸鎬佷负鍏ュ簱棰勭害锛佸嚭搴撳簱浣�={},娴呭簱浣嶅彿={}", wrkMast.getSourceLocNo(), shallowLoc.getLocNo());
- flag = true;
- break;
- }
+// //20230307 ADD锛屽啀鍔犱竴娆″垽鏂紝褰撴祬搴撲綅鐘舵�佷笉涓篛鏃讹紝涓嶆墽琛屽綋鍓嶅嚭搴撲换鍔�
+// if (shallowLoc != null && !shallowLoc.getLocSts().equals("O")) {
+// News.error("鍋氫簡娴呭簱浣嶉樆濉炲鐞嗗悗鍙嶅鍒ゆ柇锛屾祬搴撲綅鐘舵�佷笉涓篛 ===>> 娴呭簱浣嶅簱浣嶇姸鎬佷负鍏ュ簱棰勭害锛佸嚭搴撳簱浣�={},娴呭簱浣嶅彿={}", wrkMast.getSourceLocNo(), shallowLoc.getLocNo());
+// flag = true;
+// break;
+// }
}
}
}
@@ -1112,6 +1198,10 @@
}
// 鍫嗗灈鏈烘惉杩愬皬杞�
if (wrkMast.getWrkSts() == 3L) {
+ if (Cools.isEmpty(wrkMast.getSteNo()) || wrkMast.getSteNo()==0){
+ News.error("宸ヤ綔鍙�={}鍗冲皢寮�濮嬫惉杩愬皬杞︿絾鏄伐浣滄。娌℃湁灏忚溅鍙�",wrkMast.getWrkNo());
+ return false;
+ }
this.carMoveIn(wrkMast, wrkMast.getSteNo(), crnProtocol);
}
}
@@ -1125,6 +1215,7 @@
* 鍑哄簱 ===>> 搴撲綅鍒板爢鍨涙満绔�
*/
public synchronized boolean locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol){
+ Collections.shuffle(slave.getCrnOutStn());
for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
// 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
WrkMast wrkMast = wrkMastMapper.selectPakOutStep111215(slave.getId(), crnStn.getStaNo());
@@ -1228,7 +1319,36 @@
for (String shallowLocNo : shallowLocs) {
LocMast shallowLoc = locMastService.selectById(shallowLocNo);
WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
- if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
+ if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
+ if (Cools.isEmpty(waitWrkMast)){
+ News.error("搴撲綅寮傚父");
+ }else {
+ if (waitWrkMast.getIoType() != 11 || waitWrkMast.getWrkSts() != 17){
+ if(waitWrkMast.getIoPri()<=9980.0){
+ waitWrkMast.setIoPri(waitWrkMast.getIoPri()+10.0);
+ }else {
+ waitWrkMast.setIoPri(9999d);
+ }
+ if(wrkMast.getIoPri()>=9000.0){
+ wrkMast.setIoPri(9999d);
+ }else if (wrkMast.getIoPri()>20.0){
+ wrkMast.setIoPri(wrkMast.getIoPri()-10.0);
+ }else {
+ wrkMast.setIoPri(13.0d);
+ }
+ if (wrkMastMapper.updateById(wrkMast)==0){
+ News.error("璋冩暣浼樺厛绾уけ璐�");
+ }
+ if (wrkMastMapper.updateById(waitWrkMast)==0){
+ News.error("璋冩暣浼樺厛绾уけ璐�");
+ }else if (waitWrkMast.getWrkSts() != 17){
+ flag = true;
+ }
+
+ break;
+ }
+ }
+ }else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
if (null == waitWrkMast) {
// 鐢熸垚涓�绗旂Щ搴撲换鍔″伐浣滄。銆佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵��
// 娌℃湁浣滀笟涓殑鍑哄簱浠诲姟鏃讹紝鎵嶈兘鐢熸垚绉诲簱浠诲姟
@@ -1456,6 +1576,10 @@
}
// 鍫嗗灈鏈烘惉杩愬皬杞�
if (wrkMast.getWrkSts() == 12L) {
+ if (Cools.isEmpty(wrkMast.getSteNo()) || wrkMast.getSteNo()==0) {
+ News.error("宸ヤ綔鍙�={}鍗冲皢寮�濮嬫惉杩愬皬杞︿絾鏄伐浣滄。娌℃湁灏忚溅鍙�",wrkMast.getWrkNo());
+ return false;
+ }
this.carMoveIn(wrkMast, wrkMast.getSteNo(), crnProtocol);
}
}
@@ -2354,6 +2478,10 @@
}
// 鍫嗗灈鏈烘惉杩愬皬杞�
if (wrkMast.getWrkSts() == 12L) {
+ if (Cools.isEmpty(wrkMast.getSteNo()) || wrkMast.getSteNo()==0) {
+ News.error("宸ヤ綔鍙�={}鍗冲皢寮�濮嬫惉杩愬皬杞︿絾鏄伐浣滄。娌℃湁灏忚溅鍙�",wrkMast.getWrkNo());
+ return;
+ }
this.carMoveIn(wrkMast, wrkMast.getSteNo(), crnProtocol);
}
}
@@ -3298,6 +3426,10 @@
switch (wrkMast.getWrkSts().intValue()) {
case 2:
// 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.灏忚溅寰呮惉
+ if (Cools.isEmpty(wrkMast.getSteNo()) || wrkMast.getSteNo()==0){
+ News.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.灏忚溅寰呮惉 澶辫触锛侊紒锛屽伐浣滃彿={} 鍘熷洜锛氬伐浣滃彿娌″皬杞�", wrkMast.getWrkNo());
+ break;
+ }
wrkMast.setWrkSts(3L);
wrkMast.setModiTime(now);
if (wrkMastMapper.updateById(wrkMast) == 0) {
@@ -3776,15 +3908,24 @@
ledCommand.setBarcode(wrkMast.getBarcode());
if (wrkMast.getIoType() != 110) {
List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
+
wrkDetls.forEach(wrkDetl -> {
+ Double total = 0.0;
+ EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
+ LocDetl locDetl = locDetlService.selectOne(wrapper.eq("zpallet", wrkDetl.getZpallet()).eq("matnr", wrkDetl.getMatnr()));
+ if (Cools.isEmpty(locDetl)) {
+ total = wrkDetl.getAnfme();
+ } else {
+ total = locDetl.getAnfme();
+ }
if (wrkMast.getIoType() == 101) {
- ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getAnfme()));
+ ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
}
if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) {
- ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getAnfme()));
+ ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
}
if (wrkMast.getIoType() == 107) {
- ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getAnfme()));
+ ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
}
});
}
@@ -4226,6 +4367,24 @@
|| Utils.getBay(one.getLocNo()) != Utils.getBay(shallowLoc.getLocNo())
|| Utils.getLev(one.getLocNo()) != Utils.getLev(shallowLoc.getLocNo())){
+ Integer steNo = this.hasCar(one.getLocNo());
+ if (steNo != null) {
+ //鏈夊皬杞�
+ continue;
+ }
+
+// //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆
+// if (Utils.checkInsideLocIsDFX(one.getLocNo())) {
+// //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣�
+// continue;
+// }
+
+ //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆銆丱
+ if (Utils.checkInsideLocIsDFXO(one.getLocNo())) {
+ //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆丱銆備笉鑳介�夊彇璇ュ簱浣�
+ continue;
+ }
+
loc = one;
break;
}
--
Gitblit v1.9.1