From 369a95b2d5ec2d1106b2e454336ae69d2bb171dd Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 20 四月 2022 14:54:13 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OpenController.java      |    2 
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   52 ++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/controller/MobileController.java    |   24 ++++++++++++
 src/main/java/com/zy/asrs/service/MobileService.java          |    2 +
 src/main/webapp/views/pack/pack.html                          |    2 
 5 files changed, 80 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 421c7d2..d5408bd 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -45,6 +45,8 @@
     private WrkDetlService wrkDetlService;
     @Autowired
     private BasDevpService basDevpService;
+    @Autowired
+    private PackService packService;
 
     // 缁勬墭 ----------------------------------------------------------------------------------------------------
 
@@ -81,6 +83,28 @@
         return R.ok("缁勬墭鎴愬姛");
     }
 
+
+    @RequestMapping("/pack/get/auth")
+    @ManagerAuth
+    public R packGet(@RequestParam String barcode){
+        Pack pack = packService.selectByBarcode(barcode);
+        if (pack == null) {
+            return R.ok();
+        }
+        if (pack.getSettle() == 1L) {
+            return R.ok().add(pack);
+        }
+        return R.ok("缁勬墭鎴愬姛");
+    }
+
+    @RequestMapping("/pack/comb/auth")
+    @ManagerAuth(memo = "缁勬墭")
+    public R packComb(@RequestBody CombParam combParam){
+        mobileService.comb(combParam, getUserId());
+        return R.ok("缁勬墭鎴愬姛");
+    }
+
+
     // 鐩樼偣 ----------------------------------------------------------------------------------------------------
 
     @RequestMapping("/checkDetl/auth")
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 487636b..a959cc0 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -50,7 +50,7 @@
         return R.ok();
     }
 
-
+    
 
     /**
      * 娣诲姞鍏ュ簱鍗�
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 460c7ee..51e6c59 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -15,4 +15,6 @@
      */
     void adjust(MobileAdjustParam param, Long userId);
 
+    void packComb(CombParam param, Long userId);
+
 }
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 0bc78c0..07e7cef 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -224,4 +224,56 @@
 
     }
 
+    @Override
+    public void packComb(CombParam param, Long userId) {
+        if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
+            throw new CoolException(BaseRes.PARAM);
+        }
+        // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
+        if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
+                eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
+            throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
+        }
+        Date now = new Date();
+
+        // 鏃犲崟缁勬墭
+        if (Cools.isEmpty(param.getOrderNo())) {
+
+            // 鐢熸垚鍏ュ簱閫氱煡妗�
+            List<DetlDto> detlDtos = new ArrayList<>();
+            param.getCombMats().forEach(elem -> {
+                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
+                if (DetlDto.has(detlDtos, detlDto)) {
+                    DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
+                    assert one != null;
+                    one.setAnfme(one.getAnfme() + detlDto.getAnfme());
+                } else {
+                    detlDtos.add(detlDto);
+                }
+            });
+
+            for (DetlDto detlDto : detlDtos) {
+                Mat mat = matService.selectByMatnr(detlDto.getMatnr());
+                if (Cools.isEmpty(mat)) {
+                    throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+                }
+                WaitPakin waitPakin = new WaitPakin();
+                waitPakin.sync(mat);
+                waitPakin.setBatch(detlDto.getBatch());
+                waitPakin.setZpallet(param.getBarcode());   // 鎵樼洏鐮�
+                waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
+                waitPakin.setAnfme(detlDto.getAnfme());  // 鏁伴噺
+                waitPakin.setStatus("Y");    // 鐘舵��
+                waitPakin.setAppeUser(userId);
+                waitPakin.setAppeTime(now);
+                waitPakin.setModiUser(userId);
+                waitPakin.setModiTime(now);
+                if (!waitPakinService.insert(waitPakin)) {
+                    throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+                }
+            }
+            // 鍏宠仈缁勬墭
+        }
+    }
+
 }
diff --git a/src/main/webapp/views/pack/pack.html b/src/main/webapp/views/pack/pack.html
index 3fb43c3..5207c2e 100644
--- a/src/main/webapp/views/pack/pack.html
+++ b/src/main/webapp/views/pack/pack.html
@@ -40,7 +40,7 @@
 
 <script type="text/html" id="toolbar">
     <div class="layui-btn-container">
-<!--        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>-->
+        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
         <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
         <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button>
     </div>

--
Gitblit v1.9.1