From d51a3179dd086c902df4a6e8afeaef3a5d22bd93 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 21 八月 2025 08:57:30 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/MobileController.java |   72 +++++++++++++++++++++++++++--------
 1 files changed, 55 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 7d7f3ea..f6b706f 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -299,30 +299,67 @@
     @RequestMapping(value = "/mat/back")
     @ManagerAuth
     public R pdaSearchBack(@RequestParam String barcode) {
-        WrkMastLog wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>()
+        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
                 .eq("barcode", barcode)
-                .in("io_type", 101, 103, 107)
+                .in("io_type", 101, 103, 107, 53, 57)
                 .orderBy("appe_time", false)
         );
 
-        if(null == wrkMastLog) {
-            return R.error("鏈壘鍒版鎵樼洏鐮佸嚭搴撹褰�");
+        String matnr = null;
+        String batch = null;
+        String cstateid = null;
+        String standby1 = null;
+        String orderNo = null;
+
+        if(wrkMast != null) {
+            List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>()
+                    .eq("wrk_no", wrkMast.getWrkNo())
+                    .eq("zpallet", barcode)
+                    .orderBy("io_time", false)
+            );
+            if (wrkDetls.isEmpty()) {
+                return R.error("鏈壘鍒版鎵樼洏鐮佸嚭搴撹褰曟槑缁�");
+            }
+
+            WrkDetl wrkDetl = wrkDetls.get(0);
+            matnr = wrkDetl.getMatnr();
+            batch = wrkDetl.getBatch();
+            cstateid = wrkDetl.getCstateid();
+            standby1 = wrkDetl.getStandby1();
+            orderNo = wrkDetl.getOrderNo();
         }
 
-        List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectList(new EntityWrapper<WrkDetlLog>()
-                .eq("wrk_no", wrkMastLog.getWrkNo())
-                .eq("zpallet", barcode)
-                .orderBy("io_time", false)
-        );
-        if (wrkDetlLogs.isEmpty()) {
-            return R.error("鏈壘鍒版鎵樼洏鐮佸嚭搴撹褰曟槑缁�");
-        }
+        if(matnr == null) {
+            WrkMastLog wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>()
+                    .eq("barcode", barcode)
+                    .in("io_type", 101, 103, 107)
+                    .orderBy("appe_time", false)
+            );
 
-        WrkDetlLog wrkDetlLog = wrkDetlLogs.get(0);
-        String batch = wrkDetlLog.getBatch();
+            if(null == wrkMastLog) {
+                return R.error("鏈壘鍒版鎵樼洏鐮佸嚭搴撹褰�");
+            }
+
+            List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectList(new EntityWrapper<WrkDetlLog>()
+                    .eq("wrk_no", wrkMastLog.getWrkNo())
+                    .eq("zpallet", barcode)
+                    .orderBy("io_time", false)
+            );
+            if (wrkDetlLogs.isEmpty()) {
+                return R.error("鏈壘鍒版鎵樼洏鐮佸嚭搴撹褰曟槑缁�");
+            }
+
+            WrkDetlLog wrkDetlLog = wrkDetlLogs.get(0);
+
+            matnr = wrkDetlLog.getMatnr();
+            batch = wrkDetlLog.getBatch();
+            cstateid = wrkDetlLog.getCstateid();
+            standby1 = wrkDetlLog.getStandby1();
+            orderNo = wrkDetlLog.getOrderNo();
+        }
 
         HashMap<String, Object> map = new HashMap<>();
-        Mat mat = matService.selectByMatnr(wrkDetlLog.getMatnr());
+        Mat mat = matService.selectByMatnr(matnr);
         if (mat == null) {
             return R.error("鏈壘鍒扮墿鏂欐槑缁�");
         }
@@ -332,9 +369,10 @@
         matParam.setAnfme(0.0D);
         matParam.setAnfme2(0.0D);
         matParam.setTiaoma(batch);
-        matParam.setCstateid(wrkDetlLog.getCstateid());
+        matParam.setCstateid(cstateid);
+        matParam.setStandby1(standby1);
 
-        String[] split = wrkDetlLog.getOrderNo().split("-");
+        String[] split = orderNo.split("-");
         map.put("orderNo", split[0]);
         map.put("matData", matParam);
         return R.ok().add(map);

--
Gitblit v1.9.1