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 |   37 +++++++++++++++++++++++++++++--------
 1 files changed, 29 insertions(+), 8 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 07d0aec..076c454 100644
--- a/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
@@ -123,9 +123,9 @@
 //       if (!wrkMastService.updateById(mast)) {
 //           throw new CoolException("浠诲姟鐘舵�佹洿鏂板け璐ワ紒锛�");
 //       }
-        workService.backLocOperation(mast.getWrkNo() + "", mast.getAppeUser());
 
-        return R.ok("鎺ユ敹鎴愬姛锛屾墽琛屽洖搴撲腑...");
+        return workService.backLocOperation(mast.getWrkNo() + "", mast.getAppeUser());
+
     }
 
     /**
@@ -209,7 +209,7 @@
                         String s = Utils.convertLocFormat(params.getLocNo());
                         LocAroundBind bind = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>()
                                 .eq("b_loc_no", s));
-                        if (!Objects.isNull(bind)&&Cools.isEmpty(wrkMast.getStaNo())) {
+                        if (!Objects.isNull(bind)) {
                             bind.setFreeze(1);
                             locAroundBindService.updateById(bind);
                             //鍐荤粨鐩搁偦搴撲綅
@@ -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());
@@ -401,7 +422,7 @@
                         }
                         Double realQty = Math.round((wrkDetl.getStockQty() - wrkDetl.getAnfme()) * 10000) / 10000.0;
                         if (!Cools.isEmpty(weight)) {
-                            Double val = Math.round((weight - 2.35) * 10000) / 10000.0;
+                            Double val = Math.round((weight - 3) * 10000) / 10000.0;
                             //绉伴噸鍚庯紝璁$畻鍑虹湡瀹為暱搴�
                             realQty = val * matnr.getVolume();
                             if (realQty<matnr.getSafeQty()){

--
Gitblit v1.9.1