From e8f1e607e6933008495db07ecbc70242a6d5eb06 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期六, 17 八月 2024 11:30:28 +0800
Subject: [PATCH] 盘点确认,出库复核

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   38 ++++++++++++++++++++++----------------
 src/main/java/com/zy/asrs/controller/MobileController.java    |    9 ++++-----
 src/main/java/com/zy/asrs/entity/param/PdckqrParam.java       |    2 ++
 src/main/java/com/zy/asrs/service/MobileService.java          |    2 +-
 4 files changed, 29 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 5f4a301..ca91633 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -545,20 +545,19 @@
 
     @PostMapping("/ckfh/auth")
     @ManagerAuth(memo = "鍑哄簱澶嶆牳纭")
-    public synchronized R pakoutFhqr(@RequestBody GhjtApiParam param) {
+    public synchronized R pakoutFhqr(@RequestBody PdckqrParam param) {
         // 鏍规嵁宸ヤ綔鍙风‘璁ゅ鏍�
-        if(Cools.isEmpty(param) || Cools.isEmpty(param.getWorkNo()) || Cools.isEmpty(param.getCheck())){
+        if(Cools.isEmpty(param) || Cools.isEmpty(param.getBarcode()) || Cools.isEmpty(param.getMaterials())){
             return R.parse(BaseRes.PARAM);
         }
-        mobileService.pakoutFhqr(param.getWorkNo(), param.getCheck());
-        return R.ok("澶嶆牳纭鎴愬姛");
+        return mobileService.pakoutFhqr(param);
     }
 
     @PostMapping("/pdckqr/auth")
     @ManagerAuth(memo = "鐩樼偣鍑哄簱纭")
     public synchronized R pdckqr(@RequestBody PdckqrParam param) {
         // 鏍规嵁宸ヤ綔鍙风‘璁ゅ鏍�
-        if(Cools.isEmpty(param) || Cools.isEmpty(param.getWorkNo()) ||  Cools.isEmpty(param.getMaterials())){
+        if(Cools.isEmpty(param) || Cools.isEmpty(param.getBarcode()) ||  Cools.isEmpty(param.getMaterials())){
             return R.parse(BaseRes.PARAM);
         }
         return mobileService.pdckqr(param);
diff --git a/src/main/java/com/zy/asrs/entity/param/PdckqrParam.java b/src/main/java/com/zy/asrs/entity/param/PdckqrParam.java
index 6e749b1..dbae6ac 100644
--- a/src/main/java/com/zy/asrs/entity/param/PdckqrParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/PdckqrParam.java
@@ -14,6 +14,8 @@
 
     private Integer workNo;
 
+    private String barcode;
+
     private List<Material> materials;
 
     @Data
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 2a263c5..856dce8 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -48,7 +48,7 @@
     /**
      * 鍑哄簱澶嶆牳纭
      */
-    void pakoutFhqr(Integer workNo, Integer check);
+    R pakoutFhqr(PdckqrParam param);
 
     /**
      * 鐩樼偣鍑哄簱纭
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 7dec5e5..8974d59 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1167,37 +1167,43 @@
 
     @Override
     @Transactional
-    public void pakoutFhqr(Integer workNo, Integer check) {
+    public R pakoutFhqr(PdckqrParam param) {
+
          // 鑾峰彇宸ヤ綔妗�
-        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", workNo));
+        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode",param.getBarcode()));
         if (wrkMast == null) {
-            throw new CoolException("宸ヤ綔妗d笉瀛樺湪锛�" + workNo);
+            throw new CoolException("宸ヤ綔妗d笉瀛樺湪锛�" + param.getBarcode());
+        }
+        if (wrkMast.getIoType() != 101 || wrkMast.getWrkSts() != 20) {
+            throw new CoolException(wrkMast.getWrkNo() + ",宸ヤ綔妗g被鍨嬶細" + wrkMast.getIoType() + "宸ヤ綔鐘舵�侊細" + wrkMast.getWrkSts() + ",涓嶅尮閰�");
         }
 
-        if (wrkMast.getWrkSts() != 20) {
-            throw new CoolException("宸ヤ綔妗e綋鍓嶇姸鎬佸紓甯革細" + workNo + ",鐘舵�侊細" + wrkMast.getWrkSts());
-        }
+        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+        List<PdckqrParam.Material> materials = param.getMaterials();
 
-        if (check == 1) {
-            // 澶嶆牳纭锛屾洿鏂扮姸鎬佷负15鍑哄簱瀹屾垚鏇存柊
-            wrkMast.setWrkSts(14L);
-            wrkMastService.updateById(wrkMast);
+        boolean isFullyCancelled = compareAndCheckCancellation(wrkDetls, materials);
+        if (isFullyCancelled) {
+                // 澶嶆牳纭锛屾洿鏂扮姸鎬佷负15鍑哄簱瀹屾垚鏇存柊
+                wrkMast.setWrkSts(14L);
+                wrkMastService.updateById(wrkMast);
+        } else {
+            throw new CoolException("鍑哄彛澶嶆牳澶辫触");
         }
-
+        return R.ok("鍑哄彛澶嶆牳鎴愬姛");
     }
 
     @Override
     @Transactional
     public R pdckqr(PdckqrParam param) {
-        WrkMast wrkMast = wrkMastService.selectById(param.getWorkNo());
+        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode",param.getBarcode()));
         if (wrkMast == null) {
-            throw new CoolException("宸ヤ綔妗d笉瀛樺湪锛�" + param.getWorkNo());
+            throw new CoolException("宸ヤ綔妗d笉瀛樺湪锛�" + param.getBarcode());
         }
         if (wrkMast.getIoType() != 107 || wrkMast.getWrkSts() != 2) {
-            throw new CoolException(param.getWorkNo() + "宸ヤ綔妗g被鍨嬶細" + wrkMast.getIoType() + "宸ヤ綔鐘舵�侊細" + wrkMast.getWrkSts() + ",涓嶅尮閰�");
+            throw new CoolException(wrkMast.getWrkNo() + ",宸ヤ綔妗g被鍨嬶細" + wrkMast.getIoType() + "宸ヤ綔鐘舵�侊細" + wrkMast.getWrkSts() + ",涓嶅尮閰�");
         }
 
-        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(param.getWorkNo());
+        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
         List<PdckqrParam.Material> materials = param.getMaterials();
 
         boolean isFullyCancelled = compareAndCheckCancellation(wrkDetls, materials);
@@ -1480,7 +1486,7 @@
             for (WrkDetl p1 : list1) {
                 boolean cancelled = false;
                 for (PdckqrParam.Material p2 : remainingList2) {
-                    if (p1.getBatch().equals(p2.getBoxNo()) && p1.getModel().equals(p2.getRollNo())) { // 鍗峰彿鍜岀鍙风浉鍚�
+                    if (p1.getUnit().equals(p2.getBoxNo()) && p1.getModel().equals(p2.getRollNo())) { // 鍗峰彿鍜岀鍙风浉鍚�
                         remainingList2.remove(p2);
                         cancelled = true;
                         break;

--
Gitblit v1.9.1