From 958714543e06c125891a6245f489a6ede5b39cd0 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期一, 23 三月 2026 14:15:16 +0800
Subject: [PATCH] 1.修复空板入库时找库存明细为空 2.新增mes查询wms具体机台工位冻结情况,

---
 src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java |   29 +++++++++++++++++++++++++----
 1 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java b/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
index 5a84f79..076c454 100644
--- a/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
@@ -322,10 +322,25 @@
                         LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>()
                                 .eq("zpallet", mast.getBarcode())
                                 .eq("loc_no", mast.getSourceLocNo()));
-                        if (Objects.isNull(locDetl)) {
+                        WrkDetl mainWrkDetl = null;
+                        if (Objects.isNull(locDetl) && !Cools.isEmpty(mast.getWrkCode())) {
+                            mainWrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>()
+                                    .eq("wrk_no", mast.getWrkCode())
+                                    .eq("zpallet", mast.getBarcode()));
+                            if (Objects.isNull(mainWrkDetl)) {
+                                mainWrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>()
+                                        .eq("wrk_no", mast.getWrkCode()));
+                            }
+                            if (!Objects.isNull(mainWrkDetl)) {
+                                log.info("locDetl涓虹┖锛屽洖閫�鏌ヨ涓讳换鍔℃槑缁嗭紝wrkNo={}, mainWrkNo={}, barcode={}",
+                                        mast.getWrkNo(), mast.getWrkCode(), mast.getBarcode());
+                            }
+                        }
+                        if (Objects.isNull(locDetl) && Objects.isNull(mainWrkDetl)) {
                             throw new CoolException("鏄庣粏鏁版嵁涓嶅瓨鍦紒锛�");
                         }
-                        Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", locDetl.getMatnr()));
+                        String matnrNo = Objects.isNull(locDetl) ? mainWrkDetl.getMatnr() : locDetl.getMatnr();
+                        Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", matnrNo));
                         if (Objects.isNull(matnr)) {
                             throw new CoolException("鐗╂枡鍩虹淇℃伅涓嶅瓨鍦紒锛�");
                         }
@@ -333,9 +348,15 @@
                             Double val = Math.round((weight - matnr.getSafeQty()) * 10000) / 10000.0;
                             if (val.compareTo(0.0) > 0) {
                                 WrkDetl wrkDetl = new WrkDetl();
-                                BeanUtils.copyProperties(locDetl, wrkDetl);
+                                if (Objects.isNull(locDetl)) {
+                                    BeanUtils.copyProperties(mainWrkDetl, wrkDetl);
+                                    wrkDetl.setStockQty(Cools.isEmpty(mainWrkDetl.getStockQty()) ? mainWrkDetl.getAnfme() : mainWrkDetl.getStockQty());
+                                    wrkDetl.setZpallet(mast.getBarcode());
+                                } else {
+                                    BeanUtils.copyProperties(locDetl, wrkDetl);
+                                    wrkDetl.setStockQty(locDetl.getAnfme());
+                                }
                                 wrkDetl.setWrkNo(mast.getWrkNo());
-                                wrkDetl.setStockQty(locDetl.getAnfme());
                                 wrkDetl.setIoTime(new Date());
                                 wrkDetl.setWeight(weight);
                                 wrkDetl.setIoTime(mast.getIoTime());

--
Gitblit v1.9.1