From 05612366ffe0d98aeeec653adc179ebcedd47eb8 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 25 七月 2023 10:26:04 +0800
Subject: [PATCH] 捡料
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 68 ++++++++++++++++++++++------------
1 files changed, 44 insertions(+), 24 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 8a750bd..a201b37 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.common.SpringUtils;
import com.core.exception.CoolException;
@@ -200,9 +201,20 @@
}
// 杩囨护鐩樼偣/鎷f枡/骞舵澘浠诲姟
-// if (null != wrkMastMapper.selectPickStepByBarcode(barcode)) {
-// continue;
-// }
+ WrkMast wrkMast1 = wrkMastMapper.selectPickStepByBarcode(barcode);
+ if (null != wrkMast1) {
+ // plc 澶勭悊
+ barcodeThread.setBarcode("");
+ staProtocol.setWorkNo(wrkMast1.getWrkNo().shortValue());
+ staProtocol.setStaNo(wrkMast1.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绔欑偣淇℃伅澶辫触");
+ }
+ continue;
+ }
// 鍒ゆ柇閲嶅宸ヤ綔妗�
// WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
@@ -397,7 +409,6 @@
}
if (staProtocol.isAutoing()
&& staProtocol.isLoading()
- && staProtocol.isInEnable()
// 0 - 9990 鎴栬�� 9996
&& (staProtocol.getWorkNo() > 0 && staProtocol.getWorkNo() < 9990)
&& staProtocol.getStaNo().equals(staProtocol.getSiteId().shortValue())
@@ -480,18 +491,18 @@
if (code.equals(200)) {
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-// // 鑾峰彇鐩爣绔�
-// 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();
+ // 鑾峰彇鐩爣绔�
+ 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) {
@@ -511,12 +522,21 @@
wrkMast.setCrnNo(dto.getCrnNo());
wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+ wrkMast.setShuttleNo(null); // 绌挎杞︽竻绌�
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暟鎹姸鎬佸け璐�");
+ }
+
+ // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+ LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+ locMast.setLocSts("Q");
+ locMast.setModiTime(new Date());
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
}
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
@@ -938,13 +958,13 @@
middlePath = nodes.get(nodes.size() - 3);
//閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
- middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 3);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
} else if (nodes.size() > 5) {//涓鐮佷紶鍊掓暟绗簩涓�
//涓棿璺緞
middlePath = nodes.get(nodes.size() - 2);
//閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
- middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 2);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
}
//鐩爣璺緞
@@ -1008,13 +1028,13 @@
middlePath = nodes.get(nodes.size() - 3);
//閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
- middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 3);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
} else if (nodes.size() > 5) {//涓鐮佷紶鍊掓暟绗簩涓�
//涓棿璺緞
middlePath = nodes.get(nodes.size() - 2);
//閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
- middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 2);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
}
//鐩爣璺緞
@@ -1060,13 +1080,13 @@
middlePath = nodes.get(nodes.size() - 3);
//閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
- middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 3);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
} else if (nodes.size() > 5) {//涓鐮佷紶鍊掓暟绗簩涓�
//涓棿璺緞
middlePath = nodes.get(nodes.size() - 2);
//閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
- middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 2);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
}
//鐩爣璺緞
@@ -1343,10 +1363,10 @@
//鍒ゆ柇鍏朵粬绌洪棽绌挎杞︽槸鍚︾浠诲姟鏈�杩�
String distLocNo = null;//鐩爣鍦扮偣锛屽叆搴�=銆嬫彁鍗囨満鍙o紝鍑哄簱=銆嬭揣鐗╁簱浣嶅彿
- if (wrkMast.getIoType() == 1) {
+ if (wrkMast.getIoType() < 101 && wrkMast.getIoType() != 11) {
//鍏ュ簱
distLocNo = Utils.levToOutInStaLocNo(lev);
- }else if(wrkMast.getIoType() == 101){
+ }else if(wrkMast.getIoType() >= 101){
//鍑哄簱
distLocNo = locNo;
} else if (wrkMast.getIoType() == 11) {
--
Gitblit v1.9.1