From e776092499ea84188c796e9f66c9a2e69321c92e Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 11 二月 2026 10:21:27 +0800
Subject: [PATCH] 1

---
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java |   56 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 31 insertions(+), 25 deletions(-)

diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java
index 9bcf311..a2f6e6a 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java
@@ -1,19 +1,17 @@
 package com.zy.core.operation.handler;
 
-import com.core.exception.CoolException;
+import com.core.common.Cools;
 import com.zy.asrs.controller.vo.ApplyInDto;
 import com.zy.asrs.controller.vo.ApplyInRepsonseDto;
 import com.zy.asrs.entity.Job;
-import com.zy.asrs.service.CtuMainService;
+import com.zy.asrs.enums.WorkNoTypeType;
 import com.zy.asrs.service.JobService;
 import com.zy.asrs.service.WmsMainService;
 import com.zy.asrs.service.WrkLastnoService;
-import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.ConveyorStateType;
 import com.zy.core.enums.SlaveType;
 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;
@@ -23,6 +21,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import java.util.Date;
@@ -54,6 +53,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public synchronized void execute(CtuOperationConfig config) {
         try {
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
@@ -64,7 +64,6 @@
                     SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                     StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
                     BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, devp.getId());
-
                     if (staProtocol == null) {
                         return;
                     } else {
@@ -75,26 +74,33 @@
                         return;
                     }
                     if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
-                        Job job = jobService.getJobByJobNoAndJobSts(staProtocol.getWorkNo(), 2);
-                        if (job != null) {
-                            ApplyInDto applyInDto=new ApplyInDto();
-                            applyInDto.setStaNo(inSta.getStaNo()+"");
-                            applyInDto.setBarcode(barcodeThread.getBarcode());
-                            //TODO
-                            ApplyInRepsonseDto locOfWms =new ApplyInRepsonseDto();
-                            locOfWms.setTaskNo(System.currentTimeMillis()+"");
-                            locOfWms.setBatchNo(System.currentTimeMillis()+"");
-                            //ApplyInRepsonseDto locOfWms = wmsMainService.getLocOfWms(applyInDto);
-                            if (locOfWms != null) {
-                                job.setLoc(locOfWms.getLoc());
-                                job.setTaskNo(locOfWms.getTaskNo());
-                                job.setBatchNo(locOfWms.getBatchNo());
-                                job.setStaNo(inSta.getTargetSta()+"");
-                                job.setJobSts(4);
-                                job.setWmsTime(new Date());
-                                jobService.updateById(job);
-                            }else {
-                                log.info("WMS鏈繑鍥炲簱浣嶄俊鎭紝{}",applyInDto);
+                        String barcode = barcodeThread.getBarcode();
+                        if (Cools.isEmpty(barcode)) {
+                            log.info("鏈壂鍒扮爜鍊硷細{}", barcode);
+                            return;
+                        }
+                        if (staProtocol.getWorkNo() >= 9991 && staProtocol.getWorkNo() <= 9992) {
+                            Job job = jobService.getJobByBarcode(barcode);
+                            if (job == null || (job != null && job.getJobSts() == 8)) {
+                                ApplyInDto applyInDto = new ApplyInDto();
+                                applyInDto.setStaNo(inSta.getStaNo() + "");
+                                applyInDto.setBarcode(barcode);
+                                applyInDto.setFull(staProtocol.getWorkNo() == 9992);
+                                ApplyInRepsonseDto locOfWms = wmsMainService.getLocOfWms(applyInDto);
+                                if (locOfWms != null) {
+                                    job = new Job();
+                                    job.setLoc(locOfWms.getLocNo());
+                                    job.setTaskNo(locOfWms.getTaskNo());
+                                    job.setBatchNo(locOfWms.getBatchNo());
+                                    job.setBarcode(barcode);
+                                    job.setStaNo(inSta.getTargetSta() + "");
+                                    job.setJobNo(wrkLastnoService.nextWorkNo(WorkNoTypeType.WORK_NO_TYPE.type));
+                                    job.setJobSts(4);
+                                    job.setWmsTime(new Date());
+                                    jobService.insert(job);
+                                } else {
+                                    log.info("WMS鏈繑鍥炲簱浣嶄俊鎭紝{}", applyInDto);
+                                }
                             }
                         }
                     }

--
Gitblit v1.9.1