From 5000a7f971fd5632c1e729e80e3b8a0441eb20b0 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期五, 07 二月 2025 07:57:09 +0800 Subject: [PATCH] 关闭订单 --- src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 40 +++++++++++++++++++++++++++++++++------- 1 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java index 46ced6e..49d9eee 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -17,10 +17,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; /** @@ -91,6 +88,17 @@ //鏌ョ湅宸ヤ綔妗f槸鍚︽湁鐩稿悓璐ф灦锛屽瓨鍦ㄥ垯鎶涘嚭寮傚父 if (!Cools.isEmpty(agvWrkMastService.selectByContainerCode(param.getBarcode()))) { throw new CoolException(param.getBarcode() + "璐ф灦鐮佸凡瀛樺湪AGV宸ヤ綔妗d腑"); + } + //鍒ゆ柇鏄惁鏈夌浉鍚屾槑缁� + List<CombParam.CombMat> combMats = param.getCombMats(); + Map<String, String> data = new HashMap<>(); + for (CombParam.CombMat combMat : combMats) { + String matnr = combMat.getMatnr(); + String csocode = combMat.getCsocode(); + if (data.get(matnr + csocode) != null) { + throw new CoolException("鏄庣粏涓瓨鍦ㄧ浉鍚岀墿鏂欏彿鍜岃鍗曞彿"); + } + data.put(matnr + csocode, matnr + csocode); } if (Cools.isEmpty(param.getOrderNo())) { @@ -171,6 +179,7 @@ // 鏇存柊璁㈠崟 OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", pick.getOrderNo()).eq("matnr", pick.getMatnr()).eq("three_code", pick.getThreeCode())); orderDetl.setQty(orderDetl.getQty() + pick.getCount()); + orderDetl.setUpdateTime(new Date()); if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", pick.getOrderNo()).eq("matnr", pick.getMatnr()).eq("three_code", pick.getThreeCode()))) { throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�" + pick.getOrderNo() + pick.getMatnr()); } @@ -345,6 +354,10 @@ AgvBasDevp agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("dev_no", stationCode)); + if (agvBasDevp == null) { + throw new CoolException(stationCode + "绔欑偣淇℃伅閿欒"); + } + if (Cools.eq(agvBasDevp.getBarcode(), barcode)) { return; } @@ -359,9 +372,7 @@ throw new CoolException(barcode + "宸茬粡缁戝畾鍦�" + agvBasDevp.getDevNo() + "绔欑偣"); } - if (agvBasDevp == null) { - throw new CoolException(stationCode + "绔欑偣淇℃伅閿欒"); - } + if (!"O".equals(agvBasDevp.getLocSts())) { throw new CoolException(stationCode + "璇ョ珯鐐硅揣浣嶇姸鎬侀潪绌�"); } @@ -643,6 +654,9 @@ @Transactional public String allocationIn(AgvMobileStartPakin param, Long userId) { Date now = new Date(); + if (Cools.isEmpty(param.getBarcode())) { + throw new CoolException("璇疯緭鍏ヨ揣鏋剁爜"); + } AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode())); if (Cools.isEmpty(agvWrkMast)) { throw new CoolException("鏆傛棤褰撳墠璐ф灦鐮佺殑浠诲姟"); @@ -691,6 +705,9 @@ throw new CoolException("璇疯緭鍏ヨ揣鏋剁爜"); } AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", param.getDevNo())); + if (agvWrkMast == null) { + throw new CoolException("褰撳墠璐ф灦鐮佹病鏈変换鍔�"); + } Integer oldWrkNo = agvWrkMast.getWrkNo(); if (Cools.isEmpty(agvWrkMast)) { throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�"); @@ -717,6 +734,9 @@ @Synchronized public String empIn(AgvMobileStartPakin param, Long userId) { Date now = new Date(); + if (Cools.isEmpty(param.getBarcode())) { + throw new CoolException("璇疯緭鍏ヨ揣鏋剁爜"); + } AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode())); if (Cools.isEmpty(agvWrkMast)) { throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�"); @@ -746,6 +766,9 @@ public String handBack(AgvMobileStartPakin param, Long userId) { Date now = new Date(); AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", param.getDevNo())); + if (agvWrkMast == null){ + throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�"); + } agvWrkMast.setIoType(113); agvWrkMast.setModiUser(userId); agvWrkMast.setModiTime(now); @@ -774,6 +797,9 @@ agvWrkDetlLogService.save(agvWrkMast.getWrkNo()); String sourceLocNo = agvWrkMast.getSourceLocNo(); AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false); + if (newLocMast==null){ + throw new CoolException("鏃犲彲鐢ㄥ簱浣�"); + } agvWrkMast.setSourceLocNo(agvWrkMast.getLocNo()); agvWrkMast.setLocNo(newLocMast.getLocNo()); agvWrkMast.setIoType(57); -- Gitblit v1.9.1