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 |  157 +++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 106 insertions(+), 51 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index e5bd07f..f6b706f 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -268,6 +268,7 @@
         matParam.setWeight(nccJcQilibcBarcodeflowWms.getNastnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getNastnum().doubleValue());
         matParam.setAnfme2(nccJcQilibcBarcodeflowWms.getNastnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getNastnum().doubleValue());
         matParam.setTiaoma(nccJcQilibcBarcodeflowWms.getVbarcode());
+        matParam.setCstateid(nccJcQilibcBarcodeflowWms.getCstateid());
         return R.ok().add(matParam);
 
     }
@@ -291,36 +292,74 @@
         matParam.setAnfme2(0.0D);
         matParam.setTiaoma(nccQilibcTmprintWms.getBarcode());
         matParam.setStandby1(nccQilibcTmprintWms.getCkbm());
+        matParam.setCstateid(nccQilibcTmprintWms.getCstateid());
         return R.ok().add(matParam);
     }
 
     @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("鏈壘鍒扮墿鏂欐槑缁�");
         }
@@ -330,8 +369,10 @@
         matParam.setAnfme(0.0D);
         matParam.setAnfme2(0.0D);
         matParam.setTiaoma(batch);
+        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);
@@ -363,41 +404,41 @@
             ckbmList.add(storeType.getStoreId());
         }
 
-        NccSaleXclGgsybWms nccSaleXclGgsybWms = nccSaleXclGgsybWmsService.selectOne(new EntityWrapper<NccSaleXclGgsybWms>()
-                .eq("WLBM", combMat.getMatnr())
-                .eq("VBATCHCODE", combMat.getBatch())
-                .in("CKBM", ckbmList)
-        );
-        if(null == nccSaleXclGgsybWms) {
-            return R.error("鏈煡鍒癊RP搴撳瓨");
-        }
-
-        //ERP搴撳瓨鏁伴噺
-        BigDecimal zsl = nccSaleXclGgsybWms.getZsl();
-
-        //鑾峰彇绔嬪簱鏁伴噺
-        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
-                .eq("matnr", combMat.getMatnr())
-                .eq("batch", combMat.getBatch())
-        );
-        BigDecimal stockNum = new BigDecimal(0);
-        for (LocDetl locDetl : locDetls) {
-            stockNum = stockNum.add(BigDecimal.valueOf(locDetl.getAnfme()));
-        }
-
-        //鍔犱笂缁勬墭鏁伴噺
-        for (CombParam.CombMat mat : combParam.getCombMats()) {
-            stockNum = stockNum.add(BigDecimal.valueOf(mat.getAnfme()));
-        }
-
-        if(stockNum.doubleValue() > zsl.doubleValue()) {
-            return R.error("缁勬墭鏁伴噺瓒呰繃ERP搴撳瓨");
-        }
-
-        List<CombParam.CombMat> combMats = combParam.getCombMats();
-        for (CombParam.CombMat mat : combMats) {
-            mat.setStandby1(nccSaleXclGgsybWms.getCkbm());
-        }
+//        NccSaleXclGgsybWms nccSaleXclGgsybWms = nccSaleXclGgsybWmsService.selectOne(new EntityWrapper<NccSaleXclGgsybWms>()
+//                .eq("WLBM", combMat.getMatnr())
+//                .eq("VBATCHCODE", combMat.getBatch())
+//                .in("CKBM", ckbmList)
+//        );
+//        if(null == nccSaleXclGgsybWms) {
+//            return R.error("鏈煡鍒癊RP搴撳瓨");
+//        }
+//
+//        //ERP搴撳瓨鏁伴噺
+//        BigDecimal zsl = nccSaleXclGgsybWms.getZsl();
+//
+//        //鑾峰彇绔嬪簱鏁伴噺
+//        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+//                .eq("matnr", combMat.getMatnr())
+//                .eq("batch", combMat.getBatch())
+//        );
+//        BigDecimal stockNum = new BigDecimal(0);
+//        for (LocDetl locDetl : locDetls) {
+//            stockNum = stockNum.add(BigDecimal.valueOf(locDetl.getAnfme()));
+//        }
+//
+//        //鍔犱笂缁勬墭鏁伴噺
+//        for (CombParam.CombMat mat : combParam.getCombMats()) {
+//            stockNum = stockNum.add(BigDecimal.valueOf(mat.getAnfme()));
+//        }
+//
+//        if(stockNum.doubleValue() > zsl.doubleValue()) {
+//            return R.error("缁勬墭鏁伴噺瓒呰繃ERP搴撳瓨");
+//        }
+//
+//        List<CombParam.CombMat> combMats = combParam.getCombMats();
+//        for (CombParam.CombMat mat : combMats) {
+//            mat.setStandby1(nccSaleXclGgsybWms.getCkbm());
+//        }
 
         mobileService.comb(combParam, getUserId());
         return R.ok("缁勬墭鎴愬姛");
@@ -698,4 +739,18 @@
         return R.ok("涓婃姤ERP鎴愬姛");
     }
 
+    @RequestMapping("/pallet/toOutSta")
+    @ManagerAuth(memo = "鎵樼洏鍘诲嚭搴撳彛")
+    public R toOutSta(@RequestBody PalletToOutStaParam param) {
+        mobileService.toOutSta(param, getUserId());
+        return R.ok();
+    }
+
+    @RequestMapping("/pallet/toAllOut")
+    @ManagerAuth(memo = "鎷f枡杞叏鏉�")
+    public R toAllOut(@RequestBody PalletToAllOutParam param) {
+        mobileService.toAllOut(param, getUserId());
+        return R.ok();
+    }
+
 }

--
Gitblit v1.9.1