From bcb19e8c93c3cabf0d8eb3ee34ed819b3c5a10ef Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期一, 25 十一月 2024 13:14:11 +0800 Subject: [PATCH] #优化地图 --- src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 50 insertions(+), 1 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 d423ccb..9364b19 100644 --- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.common.R; +import com.core.common.SnowflakeIdWorker; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.service.*; @@ -51,9 +52,17 @@ private AgvBasDevpService agvBasDevpService; @Autowired private AgvWorkService agvWorkService; + @Autowired + private OrderDetlService orderDetlService; + @Autowired + private SnowflakeIdWorker snowflakeIdWorker; + @Autowired + private FlowLogService flowLogService; @Transactional public ReturnT<String> completedPutWayWrk(AgvWrkMast agvWrkMast) { + long flowId = snowflakeIdWorker.nextId(); + Date now = new Date(); try{ int wrkNo = agvWrkMast.getWrkNo(); String barcode = agvWrkMast.getBarcode(); @@ -66,6 +75,7 @@ } + agvWrkMast.setModiTime(new Date()); //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚 agvWrkMast.setWrkSts(207L); agvWrkMastService.updateById(agvWrkMast); @@ -111,6 +121,34 @@ AgvLocDetl agvLocDetl = agvLocDetlService.selectByMatnrAndBatchAndCsocodeAndisoCode(agvWrkMast.getLocNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode(), agvWrkDetl.getDeadTime()); if (!Cools.isEmpty(agvLocDetl)) { double updateAnfme = agvLocDetl.getAnfme() - agvWrkDetl.getAnfme(); +// OrderDetl orderDetl = orderDetlService.selectItem(agvWrkDetl.getOrderNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getThreeCode()); +// FlowLog flowLog = new FlowLog(); +// flowLog.setFid(String.valueOf(flowId)); +// flowLog.setSpare2(String.valueOf(agvWrkMast.getWrkNo())); +// flowLog.setLocNo(agvWrkMast.getLocNo()); +// flowLog.setSpare1(agvWrkDetl.getSuppCode()); +// flowLog.setOpType(53L); +// flowLog.setOrderNo(agvWrkDetl.getOrderNo()); +// flowLog.setThreeCode(agvWrkDetl.getThreeCode()); +// flowLog.setMatnr(agvWrkDetl.getMatnr()); +// flowLog.setMaktx(agvWrkDetl.getMaktx()); +// +// flowLog.setOrderPrevious(orderDetl.getAnfme()); +// flowLog.setOrderCurrent(orderDetl.getAnfme()); +// flowLog.setOrderChanged(0.0); +// +// flowLog.setQtyPrevious(orderDetl.getQty()); +// flowLog.setQtyCurrent(updateAnfme); +// flowLog.setQtyChanged(agvWrkDetl.getAnfme()); +// +// flowLog.setLocPrevious(agvLocDetl.getAnfme()); +// flowLog.setLocCurrent(updateAnfme); +// flowLog.setLocChanged(agvWrkDetl.getAnfme()); +// +// flowLog.setAppeTime(now); +// if (!flowLogService.insert(flowLog)) { +// throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触"); +// } 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()); @@ -120,7 +158,6 @@ 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 -> { @@ -142,6 +179,7 @@ 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()); @@ -228,6 +266,13 @@ //鍒犻櫎AGV宸ヤ綔鏄庣粏妗� agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo)); } +// else { +// agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"O","",agvWrkMast.getWhsType().shortValue()); +// if (!agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) { +// agvWrkMast.setSourceLocNo(""); +// } +// agvWrkMastService.updateById(agvWrkMast); +// } if(!isJSON(orderNo)){ //妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚 @@ -256,6 +301,7 @@ String orderNo = getOrderNoByWrkNo(wrkNo); //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚 agvWrkMast.setWrkSts(207L); + agvWrkMast.setModiTime(new Date()); agvWrkMastService.updateById(agvWrkMast); //淇敼婧愬簱浣嶇姸鎬佷负O if (agvWrkMast.getIoType() == 110) { @@ -347,6 +393,7 @@ } //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚 agvWrkMast.setWrkSts(207L); + agvWrkMast.setModiTime(new Date()); agvWrkMastService.updateById(agvWrkMast); //淇敼婧愬簱浣嶇姸鎬佷负O agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null); @@ -392,6 +439,7 @@ } agvWrkMast.setWrkSts(202L); + agvWrkMast.setModiTime(new Date()); agvWrkMastService.updateById(agvWrkMast); if(agvWrkMast.getIoType() == 1){ //淇敼AGV鍏ュ簱閫氱煡妗g姸鎬佸叆鍑虹姸鎬佷负Y @@ -457,6 +505,7 @@ Map<String, Object> devNoMap = devNoMaps.get(0); if((int)devNoMap.get("num") < maxWrokNum){ agvWrkMast.setLocNo(devNoMap.get("dev_no").toString()); + agvWrkMast.setModiTime(new Date()); agvWrkMastService.updateById(agvWrkMast); log.info("after锛�" + devNoMap.toString() + ", wrkNo:" + agvWrkMast.getWrkNo() + ", locNo: " + agvWrkMast.getLocNo()); } -- Gitblit v1.9.1