From c35602749d47a56b5c20783b82f9df49c00840db Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 06 七月 2020 10:10:48 +0800
Subject: [PATCH] #任务中心————拣料入库

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   42 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 37 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index d8c8628..d43ee82 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -50,12 +50,13 @@
         LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
         if (null == locMast) {
             exceptionHandle(""); // todo
+            return;
         }
         switch (wrkMast.getIoType()) {
             // 绌烘澘鍏ュ簱
             case 10:
                 // 淇敼搴撲綅鐘舵��=D
-                if (null != locMast && (locMast.getLocType().equals("S") || locMast.getLocType().equals("Q"))) {
+                if (locMast.getLocType().equals("S") || locMast.getLocType().equals("Q")) {
                     locMast.setLocType("D");
                     locMast.setIoTime(now);
                     locMast.setModiTime(now);
@@ -71,7 +72,7 @@
                 if (!locDetls.isEmpty()) {
                     locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()));
                 }
-
+                // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
                 List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                 if (wrkDetls.isEmpty()) {
                     exceptionHandle(""); // todo
@@ -80,9 +81,8 @@
                 for (WrkDetl wrkDetl : wrkDetls) {
                     LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()).eq("matnr", wrkDetl.getMatnr()));
                     if (null != locDetl) {
-                        locDetl.setAnfme(wrkDetl.getAnfme());
-                        locDetl.setModiTime(now);
-                        if (!locDetlService.updateById(locDetl)) {
+                        boolean res = locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr());
+                        if (!res) {
                             exceptionHandle(""); // todo
                         }
                     } else {
@@ -131,7 +131,39 @@
                     }
                 }
                 break;
+            // 鎷f枡鍏ュ簱
             case 53:
+                // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
+                List<WrkDetl> wrkDetls53 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                if (wrkDetls53.isEmpty()) {
+                    exceptionHandle(""); // todo
+                }
+                for (WrkDetl wrkDetl:wrkDetls53) {
+                    // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏋滃伐浣滄槑缁嗘暟閲忎负0鏃讹紝鍒犻櫎搴撳瓨鏄庣粏
+                    LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()).eq("matnr", wrkDetl.getMatnr()));
+                    if (null != locDetl) {
+                        if (wrkDetl.getAnfme() == 0) {
+                            if (!locDetlService.delete(new EntityWrapper<>(locDetl))) {
+                                exceptionHandle(""); // todo
+                            }
+                        } else {
+                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr())) {
+                                exceptionHandle(""); // todo
+                            }
+                        }
+                        // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y
+                    }
+                }
+                // 淇敼搴撲綅鐘舵�� S ====>> F
+                if (locMast.getLocType().equals("Q")) {
+                    locMast.setLocType("F");
+                    locMast.setBarcode(wrkMast.getBarcode());
+                    locMast.setIoTime(now);
+                    locMast.setModiTime(now);
+                    if (!locMastService.updateById(locMast)) {
+                        exceptionHandle(""); // todo
+                    }
+                }
                 break;
             case 54:
                 break;

--
Gitblit v1.9.1