From b7cf7fdbb77564f6b8157fa44bf075e1b762e314 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 07 七月 2020 09:16:44 +0800
Subject: [PATCH] #任务中心————出库完成

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |  197 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 188 insertions(+), 9 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..dfcc9da 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,25 +131,204 @@
                     }
                 }
                 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 (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr())) {
+                            exceptionHandle(""); // todo
+                        }
+                        // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y
+                    }
+                }
+                // 淇敼搴撲綅鐘舵�� Q ====>> 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:
+                // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
+                List<WrkDetl> wrkDetls54 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                if (wrkDetls54.isEmpty()) {
+                    exceptionHandle(""); // todo
+                }
+                // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧�
+                for (WrkDetl wrkDetl:wrkDetls54) {
+                    LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()).eq("matnr", wrkDetl.getMatnr()));
+                    if (null != locDetl) {
+                        if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr())) {
+                            exceptionHandle(""); // todo
+                        }
+                    } else {
+                        locDetl = new LocDetl(
+                                wrkMast.getLocNo(), // 搴撲綅鍙�
+                                wrkDetl.getMatnr(), // 鐗╂枡鍙�
+                                null,    // 浠撳簱鍙�
+                                null,    // 杞偍璇锋眰缂栧彿
+                                null,    // 琛岄」鐩�
+                                null,    // 鐗╂枡鏍囩ID
+                                wrkDetl.getMaktx(),    // 鐗╂枡鎻忚堪
+                                null,    // 宸ュ巶
+                                wrkDetl.getAnfme(),    // 鏁伴噺
+                                wrkDetl.getAltme(),    // 鍗曚綅
+                                wrkDetl.getZpallet(),    // 鎵樼洏鏉$爜
+                                null,    // 鐢ㄦ埛ID
+                                null,    // 澶囨敞
+                                null,    // 淇敼浜哄憳
+                                now,    // 淇敼鏃堕棿
+                                null,    // 鍒涘缓鑰�
+                                now    // 娣诲姞鏃堕棿
+                        );
+                        if (!locDetlService.insert(locDetl)) {
+                            exceptionHandle(""); // todo
+                        }
+                    }
+                    // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y
+                }
+                // 淇敼搴撲綅鐘舵�� Q ====>> 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 57:
+                // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
+                List<WrkDetl> wrkDetls57 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                if (wrkDetls57.isEmpty()) {
+                    exceptionHandle(""); // todo
+                }
+                // todo:luxiaotao 3)淇敼鐩樼偣閫氱煡妗� status ==> Y
+                // 淇敼搴撲綅鐘舵�� Q ====>> 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 11:
+                // 榛樿鐩爣搴撲綅鏄┖鏉�
+                String locType = "D";
+                // 搴撲綅绉昏浆鍒ゆ柇鏄惁涓虹┖鏉跨Щ杞�
+                if (wrkMast.getEmptyMk().equals("N")) {
+                    locType = "F";
+                    // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣�
+                    if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) {
+                        exceptionHandle(""); // todo
+                    }
+                }
+                // todo:luxiaotao 3)淇敼鐩樼偣閫氱煡妗� status ==> Y
+                // 淇敼婧愬簱浣嶇姸鎬� ==> O
+                LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
+                if (null != sourceLoc) {
+                    sourceLoc.setBarcode("");
+                    sourceLoc.setLocType("O");
+                    sourceLoc.setModiTime(now);
+                    sourceLoc.setIoTime(now);
+                    if (!locMastService.updateById(sourceLoc)) {
+                        exceptionHandle(""); // todo
+                    }
+                }
+                // 淇敼鐩爣搴撲綅鐘舵�� ==> .locType
+                locMast.setLocType(locType);
+                locMast.setBarcode(wrkMast.getBarcode());
+                locMast.setIoTime(now);
+                locMast.setModiTime(now);
+                if (!locMastService.updateById(locMast)) {
+                    exceptionHandle(""); // todo
+                }
                 break;
             default:
                 break;
         }
+        // 淇敼宸ヤ綔涓绘。鐘舵��
+        wrkMast.setWrkSts(5L);
+        wrkMast.setModiTime(now);
+        if (!wrkMastService.updateById(wrkMast)) {
+            exceptionHandle(""); // todo
+        }
     }
 
     private void doOut(WrkMast wrkMast){
-
+        Date now = new Date();
+        LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+        if (null == locMast) {
+            exceptionHandle(""); // todo
+            return;
+        }
+        switch (wrkMast.getIoType()) {
+            // 鍏ㄦ澘鍑哄簱
+            case 101:
+                // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
+                List<WrkDetl> wrkDetls101 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                if (wrkDetls101.isEmpty()) {
+                    exceptionHandle(""); // todo
+                }
+                for (WrkDetl wrkDetl : wrkDetls101) {
+                    // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y
+                }
+                // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
+                if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
+                    exceptionHandle(""); // todo
+                }
+                // 淇敼搴撲綅鐘舵�� R ===>> O
+                if (locMast.getLocType().equals("R")) {
+                    locMast.setLocType("O");
+                    locMast.setBarcode("");
+                    locMast.setModiTime(now);
+                    locMast.setIoTime(now);
+                    if (!locMastService.updateById(locMast)) {
+                        exceptionHandle(""); // todo
+                    }
+                }
+                break;
+            // 绌烘澘鍑哄簱
+            case 110:
+                // 淇敼搴撲綅鐘舵�� R ===>> O
+                if (locMast.getLocType().equals("R")) {
+                    locMast.setLocType("O");
+                    locMast.setBarcode("");
+                    locMast.setModiTime(now);
+                    locMast.setIoTime(now);
+                    if (!locMastService.updateById(locMast)) {
+                        exceptionHandle(""); // todo
+                    }
+                }
+                break;
+            default:
+                break;
+        }
+        // 淇敼宸ヤ綔涓绘。鐘舵��
+        wrkMast.setWrkSts(15L);
+        wrkMast.setModiTime(now);
+        if (!wrkMastService.updateById(wrkMast)) {
+            exceptionHandle(""); // todo
+        }
     }
-
-
-
 
     public static void main(String[] args) {
         for (int i = 0;i<10;i++) {

--
Gitblit v1.9.1