From 0386ec2085f557b43678e26d23a15a3240e12e68 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期二, 13 五月 2025 18:15:15 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 246 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 185 insertions(+), 61 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 09ccf85..df46146 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -12,10 +12,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
-import com.zy.asrs.utils.CommandUtils;
-import com.zy.asrs.utils.RouteUtils;
-import com.zy.asrs.utils.TrackRangeUtils;
-import com.zy.asrs.utils.Utils;
+import com.zy.asrs.utils.*;
import com.zy.common.model.MatDto;
import com.zy.common.service.CommonService;
import com.zy.common.utils.CollectionUtils;
@@ -41,6 +38,7 @@
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.io.IOException;
+import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
@@ -465,7 +463,8 @@
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
if (staProtocol.isAutoing() && staProtocol.isLoading()
- && staProtocol.isInEnable() && (workNo == 0 || (workNo>9000 && workNo<10000))
+// && staProtocol.isInEnable()
+// && (workNo == 0 || (workNo>9000 && workNo<10000))
&& staProtocol.isPakMkWalk()
) {
if (inSta.isBarcodeSign()){
@@ -529,9 +528,21 @@
return;
} else {
staProtocol.setWorkNo(taskWrk1.getWrkNo());
- staProtocol.setStaNo(staDesc.getCrnStn());
+ staProtocol.setStaNo(BarcodeUtils.getStaNo(staProtocol.getSiteId()));
devpThread.setPakMkWalk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+
+ Date now = new Date();
+// taskWrk1.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
+// taskWrk.setAssignTime(now);//娲惧彂鏃堕棿
+ taskWrk1.setExecuteTime(now);
+ taskWrk1.setWrkSts(2);//宸ヤ綔鐘舵�� 3.鍚婅溅鍏ュ簱
+ taskWrk1.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
+ taskWrk1.setModiTime(now);
+ taskWrk1.setModiUser(9988L);
+ taskWrkService.updateById(taskWrk1);
+
+
}
}
return;
@@ -552,20 +563,23 @@
* 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
*/
public void crnStnToOutStn() {
- for (CrnSlave crnSlave : slaveProperties.getCrn()) {
+ for (CrnSlave crn : slaveProperties.getCrn()) {
// 鑾峰彇鍫嗗灈鏈轰俊鎭�
- CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId());
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
CrnProtocol crnProtocol = crnThread.getCrnProtocol();
if (crnProtocol == null) {
continue;
}
- BasCrnp basCrnp = basCrnpService.selectById(crnSlave.getId());
+ BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
if (basCrnp == null) {
- log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crnSlave.getId());
+ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
continue;
}
- if (!crnSlave.getId().equals(crnProtocol.getLaneNo())) {
+
+ CrnSlave crnSlave = new CrnSlave(crn);
+
+ if (!crn.getId().equals(crnProtocol.getLaneNo())) {
for (CrnSlave crnOther : slaveProperties.getCrn()) {
if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
crnSlave.updateCrnInStn(crnOther);
@@ -595,7 +609,7 @@
log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
// R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false);
staProtocol.setWorkNo(taskWrk.getWrkNo());
- staProtocol.setStaNo(staDesc.getCrnStn());
+ staProtocol.setStaNo(BarcodeUtils.getStaNo(staProtocol.getSiteId()));
boolean offer = false;
try {
offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
@@ -630,20 +644,22 @@
* 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
*/
public synchronized void crnIoExecute() throws IOException {
- for (CrnSlave crn : slaveProperties.getCrn()) {
+ for (CrnSlave crnSlave : slaveProperties.getCrn()) {
// 鑾峰彇鍫嗗灈鏈轰俊鎭�
- CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId());
CrnProtocol crnProtocol = crnThread.getCrnProtocol();
if (crnProtocol == null) {
continue;
}
- BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+ BasCrnp basCrnp = basCrnpService.selectById(crnSlave.getId());
if (basCrnp == null) {
- log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crnSlave.getId());
continue;
}
- if (!crn.getId().equals(crnProtocol.getLaneNo())) {
+ CrnSlave crn = new CrnSlave(crnSlave);
+
+ if (!crnSlave.getId().equals(crnProtocol.getLaneNo())) {
for (CrnSlave crnOther : slaveProperties.getCrn()) {
if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
crn.updateCrnInStn(crnOther);
@@ -785,7 +801,7 @@
crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞�
crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
crnCommand.setCommand((short) 1);
- if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand), false)) {
+ if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
} else {
@@ -797,10 +813,13 @@
}
try {
HashMap<String, Object> headParam = new HashMap<>();
- headParam.put("taskNo", taskWrk.getTaskNo());
- headParam.put("status", taskWrk.getStatus());
- headParam.put("ioType", taskWrk.getIoTypeWms());
- headParam.put("barcode", taskWrk.getBarcode());
+ headParam.put("taskNo",taskWrk.getTaskNo());
+ headParam.put("taskStatus",taskWrk.getStatusWms());
+ headParam.put("ioType",taskWrk.getIoTypeWms());
+ headParam.put("barCode",taskWrk.getBarcode());
+ headParam.put("reportTime", LocalDateTime.now());
+ headParam.put("weight",taskWrk.getScWeight().doubleValue());
+
String response;
response = new HttpHandler.Builder()
// .setHeaders(headParam)
@@ -897,7 +916,7 @@
command.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒�
command.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞�
command.setCommand((short) 1);
- if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, command), false)) {
+ if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command))) {
log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屽贩閬�={}锛屼换鍔℃暟鎹�={}", slave.getId(), taskWrk.getCrnNo(), JSON.toJSON(command));
throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
} else {
@@ -917,10 +936,13 @@
}
try {
HashMap<String, Object> headParam = new HashMap<>();
- headParam.put("taskNo", taskWrk.getTaskNo());
- headParam.put("status", taskWrk.getStatus());
- headParam.put("ioType", taskWrk.getIoTypeWms());
- headParam.put("barcode", taskWrk.getBarcode());
+ headParam.put("taskNo",taskWrk.getTaskNo());
+ headParam.put("taskStatus",taskWrk.getStatusWms());
+ headParam.put("ioType",taskWrk.getIoTypeWms());
+ headParam.put("barCode",taskWrk.getBarcode());
+ headParam.put("reportTime", LocalDateTime.now());
+ headParam.put("weight",taskWrk.getScWeight().doubleValue());
+
String response;
response = new HttpHandler.Builder()
// .setHeaders(headParam)
@@ -1007,7 +1029,7 @@
crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞�
crnCommand.setCommand((short) 1);
- if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand), false)) {
+ if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
} else {
// 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
@@ -1021,10 +1043,13 @@
}
try {
HashMap<String, Object> headParam = new HashMap<>();
- headParam.put("taskNo", taskWrk.getTaskNo());
- headParam.put("status", taskWrk.getStatus());
- headParam.put("ioType", taskWrk.getIoTypeWms());
- headParam.put("barcode", taskWrk.getBarcode());
+ headParam.put("taskNo",taskWrk.getTaskNo());
+ headParam.put("taskStatus",taskWrk.getStatusWms());
+ headParam.put("ioType",taskWrk.getIoTypeWms());
+ headParam.put("barCode",taskWrk.getBarcode());
+ headParam.put("reportTime", LocalDateTime.now());
+ headParam.put("weight",taskWrk.getScWeight().doubleValue());
+
String response;
response = new HttpHandler.Builder()
// .setHeaders(headParam)
@@ -1058,15 +1083,17 @@
* 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
*/
public void storeFinished() throws InterruptedException {
- for (CrnSlave crn : slaveProperties.getCrn()) {
+ for (CrnSlave crnSlave : slaveProperties.getCrn()) {
// 鑾峰彇鍫嗗灈鏈轰俊鎭�
- CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId());
CrnProtocol crnProtocol = crnThread.getCrnProtocol();
if (crnProtocol == null) {
continue;
}
- if (!crn.getId().equals(crnProtocol.getLaneNo())) {
+ CrnSlave crn = new CrnSlave(crnSlave);
+
+ if (!crnSlave.getId().equals(crnProtocol.getLaneNo())) {
for (CrnSlave crnOther : slaveProperties.getCrn()) {
if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
crn.updateCrnInStn(crnOther);
@@ -1075,14 +1102,14 @@
}
// 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
- if (!Cools.isEmpty(crnProtocol.getTaskFinish()) && crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
+ if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
//鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crnProtocol.getLaneNo(), crnProtocol.getTaskNo().intValue());
if (Cools.isEmpty(taskWrk) && crnProtocol.getTaskNo() != 999) {
log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽贩閬撳彿={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getLaneNo(), crnProtocol.getTaskNo());
continue;
}
- Thread.sleep(300);
+// Thread.sleep(300);
//纭瀹屾垚淇″彿
CrnOperatorParam crnOperatorParam = new CrnOperatorParam();
crnOperatorParam.setCrnNo(crn.getId());
@@ -1135,10 +1162,13 @@
try {
HashMap<String, Object> headParam = new HashMap<>();
- headParam.put("taskNo", taskWrk.getTaskNo());
- headParam.put("status", taskWrk.getStatus());
- headParam.put("ioType", taskWrk.getIoTypeWms());
- headParam.put("barcode", taskWrk.getBarcode());
+ headParam.put("taskNo",taskWrk.getTaskNo());
+ headParam.put("taskStatus",taskWrk.getStatusWms());
+ headParam.put("ioType",taskWrk.getIoTypeWms());
+ headParam.put("barCode",taskWrk.getBarcode());
+ headParam.put("reportTime", LocalDateTime.now());
+ headParam.put("weight",taskWrk.getScWeight().doubleValue());
+
String response;
log.error("wcs瀹岀粨浠诲姟涓婃姤wms==銆�", headParam);
@@ -1345,7 +1375,7 @@
if (rgvProtocol == null || rgvTaskProtocol == null) {
return false;
}
- if (!rgvProtocol.getModeType().equals(RgvModeType.AUTO) || rgvProtocol.getRgvPos().equals(0L) || rgvTaskProtocol.getAvoid() == -1 || rgvProtocol.getRgvPosDestination() == 0L
+ if (!rgvProtocol.getModeType().equals(RgvModeType.AUTO) || rgvProtocol.getRgvPos().equals(0L) || rgvTaskProtocol.getAvoid() == -1
|| (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) && !rgvProtocol.getStatusType().equals(RgvStatusType.ROAM))) {
return false;
}
@@ -1362,6 +1392,49 @@
}
return true;
}
+ public boolean rgvOtherIDLEOther(RgvSlave slave) {
+ RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getOtherId());
+ RgvTaskProtocol rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getOtherId());
+
+ if (rgvProtocol == null || rgvTaskProtocol == null) {
+ return false;
+ }
+ if (!rgvProtocol.getModeType().equals(RgvModeType.AUTO) || rgvProtocol.getRgvPos().equals(0L) || rgvTaskProtocol.getAvoid() == -1
+ || (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) && !rgvProtocol.getStatusType().equals(RgvStatusType.ROAM))) {
+ return false;
+ }
+
+ if (rgvProtocol.getLoaded()!=0) {
+ return false;
+ }
+ return true;
+ }
+ public boolean rgvOtherIDLE(RgvSlave slave,Integer staNo) {
+ RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId());
+ RgvTaskProtocol rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId());
+
+ if (rgvProtocol == null || rgvTaskProtocol == null) {
+ return false;
+ }
+ if (!rgvProtocol.getModeType().equals(RgvModeType.AUTO) || rgvProtocol.getRgvPos().equals(0L) || rgvTaskProtocol.getAvoid() == -1
+ || (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) && !rgvProtocol.getStatusType().equals(RgvStatusType.ROAM))) {
+ return false;
+ }
+ RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId());
+
+ if (rgvProtocolOther == null) {
+ return true;
+ }
+ if (rgvProtocolOther.statusEnable) {
+ BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", staNo));
+ if (Math.abs(basDevpPosition.getPlcPosition()-rgvProtocol.getRgvPos())
+ >=
+ Math.abs(basDevpPosition.getPlcPosition()-rgvProtocolOther.getRgvPos())){
+ return false;
+ }
+ }
+ return true;
+ }
public TaskWrk deviceDetection(RgvSlave.RgvStn inSta) {
@@ -1373,8 +1446,9 @@
// 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢
if (staProtocol.isAutoing()
// && staProtocol.isLoading()
+ && staProtocol.isStaOk()
&& staProtocol.getWorkNo() != 0) {
- TaskWrk taskWrk = taskWrkService.selectByTaskNo(staProtocol.getWorkNo().toString());
+ TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo());
if (taskWrk != null) {
return taskWrk;
}
@@ -1411,7 +1485,7 @@
for (RgvSlave.RgvStn inSta : rgvSlave.getRgvInSta()) {
TaskWrk taskWrk = deviceDetection(inSta);
if (taskWrk != null) {
- if (taskWrk.getTaskNo().equals(taskNoNow)) continue;
+ if (taskWrk.getWrkNo().toString().equals(taskNoNow)) continue;
taskWrkList.add(taskWrk);
staList.add(inSta.getStaNo());
}
@@ -1444,7 +1518,7 @@
if (rgvStn.getStaNo().equals(staNoNow)) {
TaskWrk taskWrk = deviceDetection(rgvStn);
if (taskWrk != null) {
- BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", taskWrk.getTargetPointConvert()));
+ BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint())));
if (RouteUtils.CheckIfItIsWithinTheRange(rangeList, basDevpPosition.getPlcPosition(), basDevpPositions, itSmall)) {
sign = taskGenerate(rgvSlave, rgvStn, 0);
}
@@ -1461,12 +1535,47 @@
for (Integer staNoNow : belongToRange) {
for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) {
if (rgvStn.getStaNo().equals(staNoNow)) {
- sign = taskGenerate(rgvSlave, rgvStn, 0);
+ TaskWrk taskWrk = deviceDetection(rgvStn);
+ if (taskWrk != null) {
+ Integer outStaNo = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint());
+ for (RgvSlave.RgvStn rgvStnOut : rgvSlave.getRgvOutSta()) {
+ if (rgvStnOut.getStaNo().equals(outStaNo)) {
+ sign = taskGenerate(rgvSlave, rgvStn, 0);
+ break;
+ }
+ }
+ }
break;
}
}
if (sign) {
break;
+ }
+ }
+ }
+ if (!sign && staList.size()==1){
+ if (rgvOtherIDLEOther(rgvSlave)){
+ if (!rgvOtherIDLE(rgvSlave,staList.get(0))){
+ sign=true;
+ }
+ }
+ if (sign){
+ for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) {
+ if (rgvStn.getStaNo().equals(staList.get(0))) {
+ TaskWrk taskWrk = deviceDetection(rgvStn);
+ if (taskWrk != null) {
+ Integer outStaNo = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint());
+ for (RgvSlave.RgvStn rgvSuper : rgvSlave.getRgvSuperSta()){
+ if (rgvSuper.getStaNo().equals(outStaNo)){
+ sign=false;
+ break;
+ }
+ }
+ } else {
+ return;
+ }
+ break;
+ }
}
}
}
@@ -1477,7 +1586,7 @@
if (rgvStn.getStaNo().equals(staNoNow)) {
TaskWrk taskWrk = deviceDetection(rgvStn);
if (taskWrk != null) {
- BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", taskWrk.getTargetPointConvert()));
+ BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint())));
if (RouteUtils.CheckIfItIsWithinTheRange(rangeList, basDevpPosition.getPlcPosition(), basDevpPositions, itSmall)) {
sign = taskGenerate(rgvSlave, rgvStn, 0);
}
@@ -1495,7 +1604,16 @@
for (Integer staNoNow : rangeList) {
for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) {
if (rgvStn.getStaNo().equals(staNoNow)) {
- sign = taskGenerate(rgvSlave, rgvStn, 0);
+ TaskWrk taskWrk = deviceDetection(rgvStn);
+ if (taskWrk != null) {
+ Integer outStaNo = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint());
+ for (RgvSlave.RgvStn rgvStnOut : rgvSlave.getRgvOutSta()) {
+ if (rgvStnOut.getStaNo().equals(outStaNo)) {
+ sign = taskGenerate(rgvSlave, rgvStn, 0);
+ break;
+ }
+ }
+ }
break;
}
}
@@ -1511,7 +1629,7 @@
if (rgvStn.getStaNo().equals(staNoNow)) {
TaskWrk taskWrk = deviceDetection(rgvStn);
if (taskWrk != null) {
- BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", taskWrk.getTargetPointConvert()));
+ BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint())));
if (RouteUtils.CheckIfItIsWithinTheRange(rangeList, basDevpPosition.getPlcPosition(), basDevpPositions, itSmall)) {
sign = taskGenerate(rgvSlave, rgvStn, 0);
}
@@ -1533,7 +1651,16 @@
for (Integer staNoNow : rangeList) {
for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) {
if (rgvStn.getStaNo().equals(staNoNow)) {
- sign = taskGenerate(rgvSlave, rgvStn, 0);
+ TaskWrk taskWrk = deviceDetection(rgvStn);
+ if (taskWrk != null) {
+ Integer outStaNo = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint());
+ for (RgvSlave.RgvStn rgvStnOut : rgvSlave.getRgvOutSta()) {
+ if (rgvStnOut.getStaNo().equals(outStaNo)) {
+ sign = taskGenerate(rgvSlave, rgvStn, 0);
+ break;
+ }
+ }
+ }
break;
}
}
@@ -1596,32 +1723,29 @@
if (taskWrk == null) {
return false;
}
- Integer targetPointConvert = taskWrk.getTargetPointConvert();
+// Integer targetPointConvert = taskWrk.getTargetPointConvert();
+ Integer targetPointConvert = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint());
if (targetPointConvert == null) {
- return false;
- }
- RgvSlave.RgvStn rgvStnEnd = getRgvStnNow(rgvSlave, targetPointConvert);
- if (rgvStnEnd == null) {
return false;
}
BasDevpPosition basDevpPositionSou = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStn.getStaNo()));
BasDevpPosition basDevpPositionEnd = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", targetPointConvert));
//鎵ц
- issuedTake.setTaskNo(Long.valueOf(taskWrk.getTaskNo()));
- issuedTake.setTaskStatus(1);
+ issuedTake.setTaskNo(Long.valueOf(taskWrk.getWrkNo()));
+ issuedTake.setTaskStatus(2);
issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus()));
issuedTake.setTargetPosition(basDevpPositionSou.getPlcPosition());
issuedTake.setIsRunning(1);
- issuedTake.setDirection(rgvStn.isDirection());
+ issuedTake.setDirection(basDevpPositionSou.getRgvSign()==1);
- issuedPut.setTaskNo(Long.valueOf(taskWrk.getTaskNo()));
- issuedPut.setTaskStatus(2);
+ issuedPut.setTaskNo(Long.valueOf(taskWrk.getWrkNo()));
+ issuedPut.setTaskStatus(3);
issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus()));
issuedPut.setTargetPosition(basDevpPositionEnd.getPlcPosition());
issuedPut.setIsRunning(1);
- issuedPut.setDirection(rgvStnEnd.isDirection());
+ issuedPut.setDirection(basDevpPositionEnd.getRgvSign()==1);
} catch (Exception e) {
log.error("浠诲姟鐢熸垚澶辫触issued1===銆嬪紓甯镐俊鎭細{}", e.getMessage());
return false;
--
Gitblit v1.9.1