From df702972ff8ae890991021663d919f47dc864606 Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期二, 24 十二月 2024 10:35:23 +0800 Subject: [PATCH] 优化ReportDataHandler响应处理逻辑 --- src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 50 +++++++++++++++++++++++++++++++++++--------------- 1 files changed, 35 insertions(+), 15 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 c8aba41..46ced6e 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -131,23 +131,23 @@ AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("matnr", pick.getMatnr()).eq("three_code", pick.getThreeCode()).eq("supp_code", pick.getSuppCode())); if (Cools.isEmpty(agvWrkDetl)) { - AgvWrkDetl wrkDetl = new AgvWrkDetl(); + agvWrkDetl = new AgvWrkDetl(); Mat mat = matService.selectByMatnr(pick.getMatnr()); if (Cools.isEmpty(mat)) { throw new CoolException(pick.getMatnr() + "鍟嗗搧涓嶅瓨鍦�"); } - wrkDetl.sync(mat); - wrkDetl.setWrkNo(pickParams.getWrkNo()); - wrkDetl.setOrderNo(pick.getOrderNo()); - wrkDetl.setIoTime(agvWrkMast.getIoTime()); - wrkDetl.setAnfme(pick.getCount()); // 鏁伴噺 - wrkDetl.setSuppCode(pick.getSuppCode()); // 璐ф灦鏉$爜 - wrkDetl.setAppeUser(userId); - wrkDetl.setAppeTime(now); - wrkDetl.setModiUser(userId); - wrkDetl.setModiTime(now); - wrkDetl.setThreeCode(pick.getThreeCode()); - agvWrkDetlService.insert(wrkDetl); + agvWrkDetl.sync(mat); + agvWrkDetl.setWrkNo(pickParams.getWrkNo()); + agvWrkDetl.setOrderNo(pick.getOrderNo()); + agvWrkDetl.setIoTime(agvWrkMast.getIoTime()); + agvWrkDetl.setAnfme(pick.getCount()); // 鏁伴噺 + agvWrkDetl.setSuppCode(pick.getSuppCode()); // 璐ф灦鏉$爜 + agvWrkDetl.setAppeUser(userId); + agvWrkDetl.setAppeTime(now); + agvWrkDetl.setModiUser(userId); + agvWrkDetl.setModiTime(now); + agvWrkDetl.setThreeCode(pick.getThreeCode()); + agvWrkDetlService.insert(agvWrkDetl); } else { Double anfme = agvWrkDetl.getAnfme() + pick.getCount(); agvWrkDetl.setIoTime(agvWrkMast.getIoTime()); @@ -164,6 +164,8 @@ if (agvLocDetl.getAnfme() < agvWrkDetl.getAnfme()) { throw new CoolException("鎷f枡鏁伴噺涓嶈兘澶т簬搴撳瓨鏁伴噺"); } + } else { + throw new CoolException("鎷f枡鏁伴噺涓嶈兘澶т簬搴撳瓨鏁伴噺,瀛樺簱涓嶅瓨鍦�"); } // 鏇存柊璁㈠崟 @@ -858,9 +860,27 @@ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); } // 鍚屾璁㈠崟鏁伴噺 - OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", agvWrkDetl.getMatnr()).eq("three_code", agvWrkDetl.getThreeCode()).eq("order_no", agvWrkDetl.getOrderNo()).in("source", 18, 31, 34)); + //OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", agvWrkDetl.getMatnr()).eq("three_code", agvWrkDetl.getThreeCode()).eq("order_no", agvWrkDetl.getOrderNo()).in("source", 18, 31, 34)); + List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("matnr", agvWrkDetl.getMatnr()).eq("three_code", agvWrkDetl.getThreeCode()).eq("order_no", agvWrkDetl.getOrderNo())); + OrderDetl orderDetl = null; + if (orderDetls.isEmpty()) { + throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�"); + } else if (orderDetls.size() > 1) { + for (OrderDetl detl : orderDetls) { + if (Cools.isEmpty(agvWrkDetl.getBatch()) && Cools.isEmpty(detl.getBatch())) { + orderDetl = detl; + } else if (!Cools.isEmpty(agvWrkDetl.getBatch()) && !Cools.isEmpty(detl.getBatch()) && agvWrkDetl.getBatch().equals(detl.getBatch())) { + orderDetl = detl; + } + } + if (orderDetl == null) { + throw new CoolException("璁㈠崟鏄庣粏涓嶅尮閰�"); + } + } else { + orderDetl = orderDetls.get(0); + } orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme()); - if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", orderDetl.getOrderNo()).eq("matnr", orderDetl.getMatnr()).eq("three_code", orderDetl.getThreeCode()))) { + if (!orderDetlService.updateById(orderDetl)) { throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�" + orderDetl.getOrderNo() + orderDetl.getMatnr()); } } -- Gitblit v1.9.1