From 961acb620c689d5dbd7dce2019f74e019149cd40 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期三, 29 五月 2024 16:27:51 +0800 Subject: [PATCH] # 订单出库同步锁 --- src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 46 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 43 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java index a8b4a0e..0c3227a 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java @@ -599,7 +599,30 @@ //鐩爣搴撲綅 String locNo = wrkMast.getLocNo(); agvLocMastService.updateLocStsByLocNo(locNo,"O","",null); - agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue()); + if (wrkMast.getIoType() == 58) { + agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue()); + } else { + agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",wrkMast.getWhsType().shortValue()); + } + + if (wrkMast.getIoType() == 1) { + List<AgvWaitPakin> agvWaitPakins = agvWaitPakinService.selectByContainerCode2(wrkMast.getBarcode()); + + for (AgvWaitPakin agvWaitPakin : agvWaitPakins) { + // 鍥炴粴鍏ュ簱璁㈠崟 + OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvWaitPakin.getThreeCode()).eq("matnr", agvWaitPakin.getMatnr()).eq("order_no", agvWaitPakin.getOrderNo())); + orderDetl.setQty(orderDetl.getQty() - agvWaitPakin.getAnfme()); + if (!orderDetlService.updateById(orderDetl)) { + throw new CoolException("璁㈠崟鍥炴粴澶辫触"); + } + // 鍒犻櫎缁勬墭妗� + if (!agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",agvWaitPakin.getSuppCode()).eq("matnr",agvWaitPakin.getMatnr()).eq("three_code",agvWaitPakin.getThreeCode()))) { + throw new CoolException("鍏ュ簱閫氱煡妗e彇娑堝け璐�"); + } + } + + + } // 绉诲簱鍙栨秷 @@ -611,6 +634,18 @@ String targetLocNo = wrkMast.getLocNo(); agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null); + AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", targetLocNo)); + // 褰撳墠浠诲姟鏄法灞傜Щ搴� 涓旂洰鏍囨ゼ灞傛槸1妤肩殑 鍥炴粴璋冩嫧鍗� + if (wrkMast.getIoType() == 12 && locMast.getFloor() == 1) { + List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo)); + for (AgvLocDetl agvLocDetl : agvLocDetls) { + OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("order_no", "DB" + agvLocDetl.getOrderNo())); + orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme()); + if (!orderDetlService.updateById(orderDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); + } + } + } // 鑷姩璋冩嫧鍑哄簱鍙栨秷 } else if(wrkMast.getIoType() == 108 || wrkMast.getIoType() == 111) { // 婧愬簱浣� @@ -649,13 +684,18 @@ agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); } if (wrkMast.getIoType() == 109){ - agvLocMastService.updateLocStsByLocNo(devNo,"O","",(short)getContainerTypeByloc(devNo)); + if (Cools.isEmpty(wrkMast.getLocNo())) { + + } else { + agvLocMastService.updateLocStsByLocNo(devNo,"O","",(short)getContainerTypeByloc(devNo)); + } + }else { agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null); } } - if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108){ + if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12){ //璁㈠崟鍥炴粴 //List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); List<AgvWrkDetl> agvWrkDetlList1 = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); -- Gitblit v1.9.1