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/AppleLocOperationHandler.java |   59 ++++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 36 insertions(+), 23 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 e6bfe25..268d169 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
@@ -4,6 +4,7 @@
 import com.zy.asrs.controller.vo.ApplyInDto;
 import com.zy.asrs.controller.vo.ApplyInRepsonseDto;
 import com.zy.asrs.entity.Job;
+import com.zy.asrs.enums.WorkNoTypeType;
 import com.zy.asrs.service.JobService;
 import com.zy.asrs.service.WmsMainService;
 import com.zy.asrs.service.WrkLastnoService;
@@ -64,36 +65,40 @@
                     StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
                     BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, devp.getId());
                     if (staProtocol == null) {
-                        return;
+                        continue;
                     } else {
                         staProtocol = staProtocol.clone();
                     }
                     // 鍒ゆ柇鏄惁婊¤冻鏉′欢
                     if (!staProtocol.isLoading()) {
-                        return;
+                        continue;
                     }
                     if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
-                        Job job = jobService.getJobByJobNoAndJobSts(staProtocol.getWorkNo(), 2);
-                        if (job != null) {
-                            String barcode = barcodeThread.getBarcode();
-                            if (Cools.isEmpty(barcode)) {
-                                log.info("鏈壂鍒扮爜鍊硷細{}",barcode);
-                                return;
-                            }
-                            ApplyInDto applyInDto = new ApplyInDto();
-                            applyInDto.setStaNo(inSta.getStaNo() + "");
-                            applyInDto.setBarcode(barcode);
-                            ApplyInRepsonseDto locOfWms = wmsMainService.getLocOfWms(applyInDto);
-                            if (locOfWms != null) {
-                                job.setLoc(locOfWms.getLocNo());
-                                job.setInTaskNo(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 (barcodeThread == null || Cools.isEmpty(barcode)) {
+                            log.error("绔欑偣锛歿}锛屾湭鎵埌鐮佸�硷細{}", staProtocol.getSiteId(), barcode);
+                            return;
+                        }
+                        // 9991鏄┖鏉匡紝9992鏄弧鏉�
+                        if (staProtocol.getWorkNo() >= 9991 && staProtocol.getWorkNo() <= 9992) {
+                            Job job = jobService.getJobByBarcode(barcode);
+                            // 鐢宠鍏ュ簱
+                            if (job == null || (job != null && job.getJobSts() == 8)) {
+                                ApplyInRepsonseDto locOfWms = wmsMainService.getLocOfWms(applyIn(barcode, inSta.getStaNo() + "", staProtocol));
+                                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(ConveyorStateType.APPLYLOC.getStatus());
+                                    job.setWmsTime(new Date());
+                                    jobService.insert(job);
+                                } else {
+                                    log.info("WMS鏈繑鍥炲簱浣嶄俊鎭紝鏉$爜锛歿},绔欑偣锛歿}", barcode, inSta.getStaNo());
+                                }
                             }
                         }
                     }
@@ -104,4 +109,12 @@
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
         }
     }
+
+    private ApplyInDto applyIn(String barcode, String staNo, StaProtocol staProtocol) {
+        ApplyInDto applyInDto = new ApplyInDto();
+        applyInDto.setStaNo(staNo);
+        applyInDto.setBarcode(barcode);
+        applyInDto.setFull(staProtocol.getWorkNo() == 9992);
+        return applyInDto;
+    }
 }

--
Gitblit v1.9.1