From 076611c29cfbe624a5ee4d21c454785bc5c79021 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期六, 18 五月 2024 08:13:51 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 92 ++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 89 insertions(+), 3 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 258565f..903c93b 100644 --- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java @@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; +import com.core.common.R; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.service.*; @@ -55,13 +56,25 @@ int wrkNo = agvWrkMast.getWrkNo(); String barcode = agvWrkMast.getBarcode(); String orderNo = getOrderNoByWrkNo(wrkNo); + String agvBasDevp = ""; + if (agvWrkMast.getIoType() > 100) { + agvBasDevp = agvWrkMast.getLocNo(); + } else { + agvBasDevp = agvWrkMast.getSourceLocNo(); + } + //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚 agvWrkMast.setWrkSts(207L); agvWrkMastService.updateById(agvWrkMast); // 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉� String locSts = agvWrkMast.getIoType() == 10 ? "D" : "F"; - agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),locSts,agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); + if (agvWrkMast.getIoType() == 10 || agvWrkMast.getIoType() == 109) { + agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); + } else { + agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); + } + //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� agvWrkMastLogService.save(agvWrkMast); //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗� @@ -78,12 +91,26 @@ agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",barcode)); } //绫诲瀷涓哄簱浣嶇Щ杞椂 - if(agvWrkMast.getIoType() == 11){ + if(agvWrkMast.getIoType() == 11 || agvWrkMast.getIoType() == 12){ //鏇存柊搴撳瓨鏄庣粏 agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo()); //淇敼婧愬簱浣嶇姸鎬佷负O agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null); } + + //绫诲瀷涓哄簱浣嶇Щ杞椂 + if(agvWrkMast.getIoType() == 108){ + //鏇存柊搴撳瓨鏄庣粏 + agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo()); + //淇敼婧愬簱浣嶇姸鎬佷负O + agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0); + } + + if(agvWrkMast.getIoType() == 109){ + //淇敼婧愬簱浣嶇姸鎬佷负O + agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0); + } + //鍒犻櫎AGV宸ヤ綔妗� agvWrkMastService.deleteById(wrkNo); @@ -119,7 +146,53 @@ agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo())); //鐢熸垚绌烘澘鍏ュ簱浠诲姟 Short containerType = Short.valueOf(agvWrkMast.getBarcode().substring(0, 2)); - agvWorkService.emptyPlateIn(agvWrkMast.getLocNo(),agvWrkMast.getBarcode(),containerType,9527L,true); + try { + agvWorkService.emptyPlateIn(agvWrkMast.getLocNo(),agvWrkMast.getBarcode(),containerType,9527L,true); + }catch (Exception e){ + e.printStackTrace(); + log.error(e.getMessage()); + } + } + + //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� + agvWrkMastLogService.save(agvWrkMast); + //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗� + agvWrkDetlLogService.save(wrkNo); + //鍒犻櫎AGV宸ヤ綔妗� + agvWrkMastService.deleteById(wrkNo); + //鍒犻櫎AGV宸ヤ綔鏄庣粏妗� + agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo)); + if(!isJSON(orderNo)){ + //妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚 + orderService.checkComplete(orderNo); + }else{ + List<Map> maps = JSONArray.parseArray(orderNo, Map.class); + maps.forEach(map -> { + String o = map.get("orderNo").toString(); + orderService.checkComplete(o); + }); + } + return SUCCESS; + } + + @Transactional + public ReturnT<String> completedCarryWrk2(AgvWrkMast agvWrkMast) { + int wrkNo = agvWrkMast.getWrkNo(); + String orderNo = getOrderNoByWrkNo(wrkNo); + String agvBasDevp = ""; + if (agvWrkMast.getIoType() > 100) { + agvBasDevp = agvWrkMast.getLocNo(); + } else { + agvBasDevp = agvWrkMast.getSourceLocNo(); + } + //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚 + agvWrkMast.setWrkSts(207L); + agvWrkMastService.updateById(agvWrkMast); + //淇敼婧愬簱浣嶇姸鎬佷负O + agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null); + if(agvWrkMast.getIoType() == 101){ + //鏇存柊鐩爣搴撲綅鏄庣粏 101.鍑哄簱 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁� + agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo())); } //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� @@ -163,6 +236,19 @@ } + @Transactional + @Synchronized + public ReturnT<String> startAllcationIn(AgvWrkMast agvWrkMast) throws IOException { + + //涓嬪彂浠诲姟 + int startWrkCode = agvWrkMastService.startAllcationIn(agvWrkMast); + if(startWrkCode != 0){ + throw new CoolException("浠诲姟涓嬪彂澶辫触"); + } + return SUCCESS; + + } + // @Transactional // public ReturnT<String> startCarryWrk(AgvWrkMast agvWrkMast) throws IOException { // //log.info(agvWrkMastList.toString()); -- Gitblit v1.9.1