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