From 25bd8e7a6437bc1b66c6fee2f99d9cb2e3117acd Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期五, 28 十月 2022 13:27:38 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/WrkMastController.java |  123 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 121 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/WrkMastController.java b/src/main/java/com/zy/asrs/controller/WrkMastController.java
index 3a6a9c5..9a28809 100644
--- a/src/main/java/com/zy/asrs/controller/WrkMastController.java
+++ b/src/main/java/com/zy/asrs/controller/WrkMastController.java
@@ -10,10 +10,12 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
-import com.zy.asrs.entity.WrkMast;
-import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.dto.WrkDetlWithCheck;
+import com.zy.asrs.service.*;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
@@ -23,6 +25,16 @@
 
     @Autowired
     private WrkMastService wrkMastService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+    @Autowired
+    private LocMastService locMastService;
+    @Autowired
+    private LocDetlService locDetlService;
+    @Autowired
+    private MatService matService;
+    @Autowired
+    private CheckRecordService checkRecordService;
 
     @RequestMapping(value = "/wrkMast/{id}/auth")
     @ManagerAuth
@@ -166,4 +178,111 @@
     }
 
 
+    /********************************杈归攱鏂板**************************/
+    @GetMapping(value = "/wrkMast/checkDetl")
+    public R pickDetl(String barcode) {
+        WrkMast wrkMast = wrkMastService.selectByBarcode(barcode);
+        if (Cools.isEmpty(wrkMast)) {
+            return R.error("鏃犳硶閫氳繃鎵樼洏鐮佹壘鍒板搴斿伐浣滄。");
+        }
+        if (wrkMast.getIoType() != 107) {
+            return R.error("宸ヤ綔妗i潪鎹℃枡浠诲姟");
+        }
+        if (wrkMast.getWrkSts() != 14){
+            return R.error("鐩樼偣浠诲姟姝e湪鎵ц涓�,璇风瓑寰呰澶囪繍琛岀粨鏉熷悗杩涜鎿嶄綔");
+        }
+        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+
+        return R.ok(wrkDetls);
+    }
+
+    /**
+     * 鏍规嵁鐩樼偣淇敼搴撳瓨
+     * @return
+     */
+    @Transactional
+    @PostMapping("/wrkMast/storeCheck")
+    @ManagerAuth(memo = "鏍规嵁鐩樼偣淇敼搴撳瓨")
+    public R storeCheck(@RequestBody List<WrkDetlWithCheck> wrkDetls){
+        Date now = new Date();
+        Integer confirmIsZero = 0;
+        if (wrkDetls == null || wrkDetls.size() <= 0){
+            return R.error("璇蜂紶鍏ユ暟鎹�");
+        }
+        if (Cools.isEmpty(wrkDetls.get(0).getBarcode())) {
+
+            return R.error("鎵樼洏鐮乕barcode]涓虹┖");
+        }
+        WrkMast wrkMast = wrkMastService.selectByBarcode(wrkDetls.get(0).getBarcode());
+
+        for (WrkDetlWithCheck wrkDetl : wrkDetls) {
+            if (Cools.isEmpty(wrkDetl.getBarcode())) {
+                return R.error("鎵樼洏鐮乕barcode]涓虹┖");
+            }
+            if (Cools.isEmpty(wrkDetl.getMatnr())) {
+                return R.error("鐗╂枡缂栫爜[matnr]涓虹┖");
+            }
+            Mat mat = matService.selectByMatnr(wrkDetl.getMatnr());
+            if (Cools.isEmpty(mat)) {
+                return R.error("鐗╂枡缂栫爜[matnr]鍦ㄧ墿鏂欐。妗堟壘涓嶅埌");
+
+            }
+            if (Cools.isEmpty(wrkDetl.getAnfme())) {
+                return R.error("鐩樼偣鍓嶆暟閲廩anfme]涓虹┖");
+            }
+            if (wrkDetl.getConfirmQty() == null) {
+                return R.error("鐩樼偣纭閲廩confirm]涓虹┖");
+            }
+            if (wrkDetl.getConfirmQty() == 0){
+                confirmIsZero++;
+            }
+
+        }
+        /**
+         * 濡傛灉鏁翠釜list閲岀殑confirmQty鏁伴噺鍏ㄦ槸0, 琛ㄧず鏁翠釜搴撲綅鏃犱换浣曞簱瀛�,鍒犲伐浣滄。, 搴撲綅鏀逛负O
+         */
+        if (confirmIsZero == wrkDetls.size()){
+            locDetlService.delete(new EntityWrapper<LocDetl>()
+                    .eq("loc_no",wrkMast.getSourceLocNo()));
+            locMastService.updateLocSts(wrkMast.getSourceLocNo(),"O");
+            wrkMastService.delete(new EntityWrapper<WrkMast>()
+                    .eq("wrk_no",wrkMast.getWrkNo()));
+            wrkDetlService.delete(new EntityWrapper<WrkDetl>()
+                    .eq("wrk_no",wrkMast.getWrkNo()));
+            return R.ok("搴撳瓨娓呯悊鎴愬姛");
+        }else {
+            locMastService.updateLocSts(wrkMast.getSourceLocNo(),"F");
+            locDetlService.delete(new EntityWrapper<LocDetl>()
+                    .eq("loc_no",wrkMast.getSourceLocNo()));
+            for (WrkDetlWithCheck wrkDetl : wrkDetls) {
+                LocDetl locDetl = new LocDetl();
+                Mat mat = matService.selectByMatnr(wrkDetl.getMatnr());
+                locDetl.sync(mat);
+                locDetl.setZpallet(wrkMast.getBarcode());
+                locDetl.setAnfme(wrkDetl.getConfirmQty());
+                locDetl.setBatch(wrkDetl.getBatch());
+                locDetl.setAppeTime(now);
+                locDetl.setModiTime(now);
+                locDetl.setAppeUser(getUserId());
+                locDetl.setModiUser(getUserId());
+                locDetl.setLocNo(wrkMast.getSourceLocNo());
+                locDetlService.insert(locDetl);
+
+                CheckRecord checkRecord = new CheckRecord();
+                checkRecord.sync(mat);
+                checkRecord.setAnfme(wrkDetl.getAnfme());
+                checkRecord.setBarcode(wrkMast.getBarcode());
+                checkRecord.setLocNo(wrkMast.getSourceLocNo());
+                checkRecord.setCreateTime(now);
+                checkRecord.setBatch(wrkDetl.getBatch());
+                checkRecord.setConfirmQty(locDetl.getAnfme());
+                checkRecordService.insert(checkRecord);
+
+            }
+        }
+
+        return R.ok("搴撳瓨鏇存柊宸叉垚鍔�");
+    }
+
+
 }

--
Gitblit v1.9.1