From 78a59eda850857e1bfeb48541f0c64d442877a4d Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期二, 08 四月 2025 11:17:10 +0800
Subject: [PATCH] #实现pda简单入库出库操作

---
 src/main/java/com/zy/asrs/service/WorkService.java            |    1 +
 src/main/java/com/zy/asrs/entity/LocDetl.java                 |    1 +
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java   |   38 +++++++++++++++++++++++++++++++++-----
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |    2 +-
 src/main/java/com/zy/asrs/controller/WorkController.java      |   11 +++++++++++
 5 files changed, 47 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java
index 5eb4ebf..3be5817 100644
--- a/src/main/java/com/zy/asrs/controller/WorkController.java
+++ b/src/main/java/com/zy/asrs/controller/WorkController.java
@@ -95,6 +95,17 @@
         return R.ok("鍑哄簱鍚姩鎴愬姛");
     }
 
+    @RequestMapping("/plate/out/startFree")
+    @ManagerAuth(memo = "鑷姩鍑哄簱浣滀笟")
+    public R fullStoreTakeStartFree(@RequestBody String barcode) {
+        StockOutParam param = workService.selectGood(barcode);
+        if(param == null) {
+            return R.error("璇ユ潯鐮佷笉瀛樺湪浜庡簱瀛�");
+        }
+        workService.startupFullTakeStore(param, getUserId());
+        return R.ok("鍑哄簱鍚姩鎴愬姛");
+    }
+
     @RequestMapping("/empty/plate/in/start")
     @ManagerAuth(memo = "绌烘澘鍏ュ簱")
     public R emptyPlateInStart(@RequestParam Integer sourceStaNo) {
diff --git a/src/main/java/com/zy/asrs/entity/LocDetl.java b/src/main/java/com/zy/asrs/entity/LocDetl.java
index 47dd290..13d6d7a 100644
--- a/src/main/java/com/zy/asrs/entity/LocDetl.java
+++ b/src/main/java/com/zy/asrs/entity/LocDetl.java
@@ -29,6 +29,7 @@
     private String locNo;
 
     @ApiModelProperty(value= "鎵樼洏鏉$爜")
+    @TableField("zpallet")
     private String zpallet;
 
     @ApiModelProperty(value= "鏁伴噺")
diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java
index 1c30ffb..a33d6ce 100644
--- a/src/main/java/com/zy/asrs/service/WorkService.java
+++ b/src/main/java/com/zy/asrs/service/WorkService.java
@@ -89,4 +89,5 @@
      */
     void shuttleTransfer(List<String> locNos);
 
+    StockOutParam selectGood(String barcode);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 415d235..a5fcd61 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -128,7 +128,7 @@
             orderService.updateSettle(order.getId(), 2L, userId);
         }
 
-        LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", param.getLocno()));
+        LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "O"));
         if (Cools.isEmpty(locMast1)) {
             throw new CoolException("鏈壘鍒版纭殑搴撲綅淇℃伅");
         }
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 28c0d65..732b8f9 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -9,10 +9,7 @@
 import com.core.common.SnowflakeIdWorker;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.EmptyPlateOutParam;
-import com.zy.asrs.entity.param.FullStoreParam;
-import com.zy.asrs.entity.param.LocDetlAdjustParam;
-import com.zy.asrs.entity.param.StockOutParam;
+import com.zy.asrs.entity.param.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.Utils;
 import com.zy.common.model.*;
@@ -311,7 +308,7 @@
             } else {
                 throw new CoolException(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
             }
-            locMastService.breakUp(dto.getLocNo(), excludeLocNos);
+//            locMastService.breakUp(dto.getLocNo(), excludeLocNos);
         }
     }
 
@@ -1155,4 +1152,35 @@
         }
     }
 
+    @Override
+    public StockOutParam selectGood(String barcode) {
+        // 鏌ヨ鎵樼洏涓婄殑鐗╂枡淇℃伅
+        // 鍘绘帀鍙兘鐨勫浣欏紩鍙锋垨鑰呯┖鏍�
+        barcode = barcode.replaceAll("\"", "").trim();
+
+        // 灏濊瘯灏� barcode 杞崲涓� int 绫诲瀷
+        int barcodeInt = Integer.parseInt(barcode);
+
+        List<LocDetl> locDetls = locDetlService.selectList(
+                new EntityWrapper<LocDetl>().eq("zpallet", barcodeInt)
+        );
+
+        if (locDetls == null || locDetls.isEmpty()) {
+            return null;
+        }
+
+        StockOutParam param = new StockOutParam();
+        param.setOutSite(101); // 鍙互鏍规嵁涓氬姟鍔ㄦ�佽缃嚭绔欏彛
+        param.setLocDetls(locDetls.stream().map(detl -> {
+            StockOutParam.LocDetl loc = new StockOutParam.LocDetl();
+            loc.setLocNo(detl.getLocNo());
+            loc.setMatnr(detl.getMatnr());
+            loc.setBatch(detl.getBatch());
+            loc.setCount(detl.getAnfme());
+            return loc;
+        }).collect(Collectors.toList()));
+
+        return param;
+    }
+
 }

--
Gitblit v1.9.1