From 333b34d51a442e75bd6f1c9dfde2aa99069a1480 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期五, 21 六月 2024 10:09:52 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java |  178 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 125 insertions(+), 53 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 003e38f..ad2df5c 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -80,9 +80,74 @@
             }
 
             switch (agvWrkMast.getIoType()){
+                case 1:
+                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+                    //鏇存柊鐩爣搴撲綅鏄庣粏
+                    log.info("鏇存柊鐩爣搴撲綅鏄庣粏 agvWrkMast.getLocNo(): " + agvWrkMast.getLocNo() + ", wrkNo: " + wrkNo);
+                    agvLocDetlService.addLocDetlInfo(agvWrkMast.getLocNo(),wrkNo);
+                    //鐢熸垚鍏ュ簱閫氱煡鍘嗗彶妗�
+                    boolean save = agvWaitPakinLogService.save(barcode);
+                    //鍒犻櫎鍏ュ簱閫氱煡妗�
+                    log.info("鍒犻櫎鍏ュ簱閫氱煡妗� supp_code: " + barcode);
+                    agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",barcode));
+                    break;
                 case 10:
                     agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
                     agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0);
+                    break;
+                case 11:
+                case 12:
+                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+                    //鏇存柊搴撳瓨鏄庣粏
+                    agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
+                    //淇敼婧愬簱浣嶇姸鎬佷负O
+                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
+                    break;
+                case 53:
+                    //淇敼宸ヤ綔鍏氭槑缁�
+                    //淇敼搴撳瓨淇℃伅
+                    List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+                    agvWrkDetlList.forEach(agvWrkDetl -> {
+                        AgvLocDetl agvLocDetl = agvLocDetlService.selectByMatnrAndBatchAndCsocodeAndisoCode(agvWrkMast.getLocNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode(), agvWrkDetl.getDeadTime());
+                        if (!Cools.isEmpty(agvLocDetl)) {
+                            double updateAnfme = agvLocDetl.getAnfme() - agvWrkDetl.getAnfme();
+                            agvLocDetlService.updateAnfme(updateAnfme,agvLocDetl.getLocNo(),agvLocDetl.getMatnr(),agvLocDetl.getBatch(),agvLocDetl.getThreeCode(),agvLocDetl.getDeadTime());
+                        }
+                        //AgvLocDetl agvLocDetl = agvLocDetlService.selectLocdetl(agvWrkMast.getLocNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getBatch(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime());
+
+                    });
+                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+                    agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
+                    break;
+                case 57:
+                    Date now = new Date();
+                    // 鏇存柊搴撳瓨鏄庣粏
+                    List<AgvWrkDetl> wrkDetlList = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+                    wrkDetlList.forEach(agvWrkDetl -> {
+                        AgvLocDetl agvLocDetl = new AgvLocDetl();
+                        agvLocDetl.setLocNo(agvWrkMast.getLocNo());
+                        agvLocDetl.sync(agvWrkDetl);
+                        agvLocDetl.setModiTime(now);
+                        agvLocDetl.setAppeTime(now);
+                        if (!agvLocDetlService.insert(agvLocDetl)) {
+                            throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+                        }
+                    });
+                    // 鏇存柊绔欑偣 + 搴撲綅鐘舵��     婧愬簱浣嶆槸绔欑偣
+                    agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
+                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+                    break;
+                case 58:
+                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+                    agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
+                    break;
+                case 108:
+                case 114:
+                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+                    //鏇存柊搴撳瓨鏄庣粏
+                    agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
+                    //淇敼婧愬簱浣嶇姸鎬佷负O
+                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
                     break;
                 case 109:
                     // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅
@@ -117,6 +182,27 @@
                     } else {
                         //淇敼婧愬簱浣嶇姸鎬佷负O
                         agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
+                        //鏇存柊鐩爣搴撲綅鏄庣粏 101.鍑哄簱 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁�
+                        agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo()));
+                    }
+                    break;
+                case 112:
+                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+                    List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+                    for (AgvWrkDetl agvWrkDetl : agvWrkDetls) {
+                        AgvLocDetl locDetl = new AgvLocDetl();
+                        locDetl.setLocNo(agvWrkMast.getLocNo());
+                        locDetl.sync(agvWrkDetl);
+                        locDetl.setModiTime(new Date());
+                        agvLocDetlService.insert(locDetl);
+                    }
+                    // 鎺ラ┏浣� -- 搴撲綅
+                    if (agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) {
+                        agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0);
+                        // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅
+                    } else {
+                        //淇敼婧愬簱浣嶇姸鎬佷负O
+                        agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
                     }
                     break;
                 case 113:
@@ -126,26 +212,6 @@
                         agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0);
                     }
                     break;
-                case 1:
-                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
-                    //鏇存柊鐩爣搴撲綅鏄庣粏
-                    log.info("鏇存柊鐩爣搴撲綅鏄庣粏 agvWrkMast.getLocNo(): " + agvWrkMast.getLocNo() + ", wrkNo: " + wrkNo);
-                    agvLocDetlService.addLocDetlInfo(agvWrkMast.getLocNo(),wrkNo);
-                    //鐢熸垚鍏ュ簱閫氱煡鍘嗗彶妗�
-                    boolean save = agvWaitPakinLogService.save(barcode);
-                    //鍒犻櫎鍏ュ簱閫氱煡妗�
-                    log.info("鍒犻櫎鍏ュ簱閫氱煡妗� supp_code: " + barcode);
-                    agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",barcode));
-                    break;
-                case 11:
-                case 12:
-                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
-                    //鏇存柊搴撳瓨鏄庣粏
-                    agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
-                    //淇敼婧愬簱浣嶇姸鎬佷负O
-                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
-                    break;
-                case 108:
                 case 121:
                     agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
                     //鏇存柊搴撳瓨鏄庣粏
@@ -153,38 +219,7 @@
                     //淇敼婧愬簱浣嶇姸鎬佷负O
                     agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
                     break;
-                case 112:
-                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
-                    // 鎺ラ┏浣� -- 搴撲綅
-                    if (agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) {
-                        agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0);
-                        agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
-                        // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅
-                    } else {
-                        //淇敼婧愬簱浣嶇姸鎬佷负O
-                        agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
-                    }
-                    break;
-                case 58:
-                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
-                    agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
-                    break;
-                case 53:
-                    //淇敼宸ヤ綔鍏氭槑缁�
-                    //淇敼搴撳瓨淇℃伅
-                    List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
-                    agvWrkDetlList.forEach(agvWrkDetl -> {
-                        AgvLocDetl agvLocDetl = agvLocDetlService.selectByMatnrAndBatchAndCsocodeAndisoCode(agvWrkMast.getLocNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode(), agvWrkDetl.getDeadTime());
-                        if (!Cools.isEmpty(agvLocDetl)) {
-                            double updateAnfme = agvLocDetl.getAnfme() - agvWrkDetl.getAnfme();
-                            agvLocDetlService.updateAnfme(updateAnfme,agvLocDetl.getLocNo(),agvLocDetl.getMatnr(),agvLocDetl.getBatch(),agvLocDetl.getThreeCode(),agvLocDetl.getDeadTime());
-                        }
-                        //AgvLocDetl agvLocDetl = agvLocDetlService.selectLocdetl(agvWrkMast.getLocNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getBatch(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime());
 
-                    });
-                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
-                    agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
-                    break;
                 default:
                     return null;
             }
@@ -217,20 +252,57 @@
     @Transactional
     public ReturnT<String> completedCarryWrk(AgvWrkMast agvWrkMast) {
         try{
+            Date now = new Date();
             int wrkNo = agvWrkMast.getWrkNo();
             String orderNo = getOrderNoByWrkNo(wrkNo);
             //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
             agvWrkMast.setWrkSts(207L);
             agvWrkMastService.updateById(agvWrkMast);
             //淇敼婧愬簱浣嶇姸鎬佷负O
-            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
+            if (agvWrkMast.getIoType() == 110) {
+                agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
+            }
             if(agvWrkMast.getIoType() == 101){
                 //鏇存柊鐩爣搴撲綅鏄庣粏 101.鍑哄簱 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁�
                 agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo()));
                 //鐢熸垚绌烘澘鍏ュ簱浠诲姟
                 Short containerType = Short.valueOf(agvWrkMast.getBarcode().substring(0, 2));
                 try {
-                    agvWorkService.emptyPlateIn(agvWrkMast.getLocNo(),agvWrkMast.getBarcode(),containerType,9527L,true);
+//                    agvWorkService.emptyPlateIn(agvWrkMast.getLocNo(),agvWrkMast.getBarcode(),containerType,9527L,true);
+                    AgvWrkMast wrkMast = new AgvWrkMast();
+                    //宸ヤ綔鐘舵��
+                    wrkMast.setWrkSts(201L);
+                    //鍏ュ嚭搴撶被鍨�
+                    wrkMast.setIoType(10);
+                    wrkMast.setIoTime(now);
+                    //浼樺厛绾�
+                    wrkMast.setIoPri(300.0);
+                    //婧愮珯鐐�
+                    wrkMast.setSourceLocNo(agvWrkMast.getLocNo());
+                    //鐩爣绔欑偣
+                    wrkMast.setLocNo(agvWrkMast.getSourceLocNo());
+                    //璐ф灦缂栫爜
+                    wrkMast.setBarcode(agvWrkMast.getBarcode());
+                    //璐ф灦绫诲瀷
+                    wrkMast.setWhsType(Integer.valueOf(agvWrkMast.getBarcode().substring(0, 2)));
+
+                    wrkMast.setAppeUser(9527L);
+                    wrkMast.setAppeTime(now);
+                    wrkMast.setModiUser(9527L);
+                    wrkMast.setModiTime(now);
+
+                    if (!agvWrkMastService.insertByIncrease(wrkMast)) {
+                        throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+                    }
+                    AgvLocMast agvLocMast = agvLocMastService.selectById(agvWrkMast.getSourceLocNo());
+                    agvLocMast.setLocSts("S");
+                    agvLocMast.setModiTime(now);
+                    agvLocMastService.updateById(agvLocMast);
+
+                    AgvBasDevp agvBasDevp = agvBasDevpService.selectById(agvWrkMast.getLocNo());
+                    agvBasDevp.setLocSts("R");
+                    agvBasDevp.setLocType2(Short.valueOf(agvWrkMast.getBarcode().substring(0, 2)));
+                    agvBasDevpService.updateById(agvBasDevp);
                 }catch (Exception e){
                     e.printStackTrace();
                     log.error(e.getMessage());

--
Gitblit v1.9.1