From 286eadc0913fe9974ab2f2fd188fb707dc16ad40 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 24 二月 2026 09:16:14 +0800
Subject: [PATCH] 1
---
zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java | 50 ++++++++++++++++++++++++--------------------------
1 files changed, 24 insertions(+), 26 deletions(-)
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java
index 2beb955..e48aa59 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java
@@ -1,5 +1,6 @@
package com.zy.core.operation.handler;
+import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.Job;
import com.zy.asrs.service.CtuMainService;
@@ -9,12 +10,14 @@
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.ConveyorStateType;
import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.TaskType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.operation.OperationHandler;
import com.zy.core.properties.CtuOperationConfig;
import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.BarcodeThread;
import com.zy.core.thread.SiemensDevpThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -50,7 +53,7 @@
}
@Override
- public void execute(CtuOperationConfig config) {
+ public synchronized void execute(CtuOperationConfig config) {
try {
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -60,40 +63,35 @@
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
if (staProtocol == null) {
- return;
+ continue;
} else {
staProtocol = staProtocol.clone();
}
// 鍒ゆ柇鏄惁婊¤冻鏉′欢
if (!staProtocol.isLoading()) {
- return;
+ continue;
}
if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
- //StaProtocol targetStaProtocol = devpThread.getStation().get(inSta.getTargetSta());
- //if (targetStaProtocol.getWorkNo() == 0 && targetStaProtocol.isAutoing() && !targetStaProtocol.isLoading()) {
- Job job = jobService.getJobByJobNoAndJobSts(staProtocol.getWorkNo(), 2);
- if (job != null) {
- Integer workNo = staProtocol.getWorkNo();
- Integer targetSta = inSta.getTargetSta();
- staProtocol.setWorkNo(0);
- staProtocol.setStaNo(0);
- MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
- Thread.sleep(1500L);
- staProtocol.setWorkNo(workNo);
- staProtocol.setStaNo(targetSta);
- boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
- if (result) {
- job.setJobSts(4);
- job.setInTime(new Date());
- if (!jobService.updateById(job)) {
- throw new CoolException("鏇存柊杈撻�佺嚎浠诲姟澶辫触," + " - " + staProtocol.getWorkNo());
- }
- log.info("" + config.getMark() + "鍏ュ簱鍓嶈繘锛歿},{}", staProtocol.getWorkNo(), inSta.getTargetSta());
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, devp.getId());
+ String barcode = barcodeThread.getBarcode();
+ if (Cools.isEmpty(barcode)) {
+ continue;
+ }
+ Job job = jobService.getJobByBarcode(barcode);
+ if (job != null) {
+ Integer targetSta = inSta.getTargetSta();
+ staProtocol.setWorkNo(job.getJobNo());
+ staProtocol.setStaNo(targetSta);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(TaskType.WRITE, staProtocol));
+ if (result) {
+ job.setJobSts(ConveyorStateType.INBOUND.getStatus());
+ job.setStartTime(new Date());
+ if (!jobService.updateById(job)) {
+ throw new CoolException("鏇存柊杈撻�佺嚎浠诲姟澶辫触," + " - " + staProtocol.getWorkNo());
}
- } else {
- // 妯℃嫙鎿嶄綔閫昏緫
+ log.info("鍏ュ簱鍓嶈繘锛歿},{}", staProtocol.getWorkNo(), inSta.getTargetSta());
}
- //}
+ }
}
}
}
--
Gitblit v1.9.1