From 9ff358b13905a756c535bda8f70e30fe29bd2925 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期三, 08 一月 2025 08:58:17 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 108 +++++++++++++++++++++++++++++++-----------------------
src/main/java/com/zy/common/model/SearchLocParam.java | 2 +
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 3 -
3 files changed, 65 insertions(+), 48 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 0aef60c..a0295ca 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3615,56 +3615,72 @@
// 鑾峰彇鍏ュ簱閫氱煡妗�
WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", barcode).eq("io_status", "N"));
if (Cools.isEmpty(waitPakin)) {
- try {
- CreateComb(barcode, staProtocol.getMatnr().toString(),staProtocol.getWorkNo().intValue(),staProtocol.getBatch(),inSta);
- }catch (IOException e) {
- throw new CoolException(e);
+ WrkMast mast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode).eq("io_type", 105));
+ if (Cools.isEmpty(mast)) {
+ try {
+ CreateComb(barcode, staProtocol.getMatnr().toString(),staProtocol.getWorkNo().intValue(),staProtocol.getBatch(),inSta);
+ }catch (IOException e) {
+ throw new CoolException(e);
+ }
+ } else {
+ try {
+ LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
+ SearchLocParam param = new SearchLocParam();
+ param.setBarcode(barcode);
+ param.setBatch(staProtocol.getBatch());
+ param.setIoType(105);
+ param.setSourceStaNo(inSta.getStaNo());
+ param.setLocType1(locTypeDto.getLocType1());
+ String response = new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath("/rpc/process/in/loc/v1")
+ .setJson(JSON.toJSONString(param))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ if (jsonObject.getInteger("code").equals(200)) {
+ StartupDto dto = jsonObject.getObject("data", StartupDto.class);
+
+ barcodeThread.setBarcode("");
+ staProtocol.setWorkNo(dto.getWorkNo().shortValue());
+ staProtocol.setStaNo(dto.getStaNo().shortValue());
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ ledThread.errorReset();
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result) {
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ }
+ } else if(jsonObject.getInteger("code").equals(700)) {
+ log.error(barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒");
+ // led 寮傚父鏄剧ず
+ ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ if (ledThread != null) {
+ String errorMsg = barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒";
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+ }
+ } else {
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/process/in/loc/v1", JSON.toJSONString(param), response);
+ }
+
+ } catch (Exception e) {
+ log.error(""+e);
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ }
}
} else if (waitPakin.getWeight() == null) {
- try {
- LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
- SearchLocParam param = new SearchLocParam();
- param.setBarcode(barcode);
- param.setIoType(105);
- param.setSourceStaNo(inSta.getStaNo());
- param.setLocType1(locTypeDto.getLocType1());
- String response = new HttpHandler.Builder()
- .setUri(wmsUrl)
- .setPath("/rpc/process/in/loc/v1")
- .setJson(JSON.toJSONString(param))
- .build()
- .doPost();
- JSONObject jsonObject = JSON.parseObject(response);
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
- if (jsonObject.getInteger("code").equals(200)) {
- StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
- barcodeThread.setBarcode("");
- staProtocol.setWorkNo(dto.getWorkNo().shortValue());
- staProtocol.setStaNo(dto.getStaNo().shortValue());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- ledThread.errorReset();
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- if (!result) {
- throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
- }
- } else if(jsonObject.getInteger("code").equals(700)) {
- log.error(barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒");
- // led 寮傚父鏄剧ず
- ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
- if (ledThread != null) {
- String errorMsg = barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒";
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
- }
- } else {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/process/in/loc/v1", JSON.toJSONString(param), response);
+ WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no", staProtocol.getWorkNo().intValue()));
+ if (Cools.isEmpty(wrkMastSta)){
+ wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no2", staProtocol.getWorkNo().intValue()));
+ if (Cools.isEmpty(wrkMastSta)){
+ throw new CoolException("鏈壘鍒板搴旂殑浠诲姟淇℃伅");
}
-
- } catch (Exception e) {
- log.error(""+e);
- e.printStackTrace();
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ waitPakin.setWeight(wrkMastSta.getWeight2());
+ }else {
+ waitPakin.setWeight(wrkMastSta.getWeight());
}
+ waitPakinService.update(waitPakin,new EntityWrapper<WaitPakin>().eq("zpallet", barcode).eq("io_status", "N"));
} else {
try {
LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
diff --git a/src/main/java/com/zy/common/model/SearchLocParam.java b/src/main/java/com/zy/common/model/SearchLocParam.java
index 159024e..9969cd0 100644
--- a/src/main/java/com/zy/common/model/SearchLocParam.java
+++ b/src/main/java/com/zy/common/model/SearchLocParam.java
@@ -18,6 +18,8 @@
// 搴撲綅瑙勬牸锛� 0:鏈煡, 1:浣庡簱浣�, 2:涓簱浣�, 3:楂樺簱浣� 锛�
private Short locType1;
+ private String batch;
+
public static void main(String[] args) {
SearchLocParam searchLocParam = new SearchLocParam();
searchLocParam.setIoType(1);
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index f81f389..aae7c02 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -531,13 +531,12 @@
}
// 绌烘《鍑哄簱淇″彿
- OperateResultExOne<byte[]> readCall = siemensS7Net.Read("DB102", (short) 4);
+ OperateResultExOne<byte[]> readCall = siemensS7Net.Read("DB102.0", (short) 18);
if (readCall.IsSuccess){
Integer isNeed = siemensS7Net.getByteTransform().TransInt32(result.Content, 0); // IBC瑕佹《淇″彿
Integer isFinish = siemensS7Net.getByteTransform().TransInt32(result.Content, 2); // IBC鐏岃瀹屾垚淇″彿
Integer weight = siemensS7Net.getByteTransform().TransInt32(result.Content, 4); // IBC鐏岃閲嶉噷
Integer isAHalf = siemensS7Net.getByteTransform().TransInt32(result.Content, 6); // IBC鍗婃《鏍囪
-
isCalled = isNeed;
isFinish = isFinish;
weight = weight;
--
Gitblit v1.9.1