From d84ed060312f3e7fd5f53dd47d3a1729706a880b Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期一, 04 十一月 2024 16:52:50 +0800 Subject: [PATCH] #优化 --- src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | 3 + src/main/java/com/zy/asrs/controller/OrderController.java | 2 src/main/java/com/zy/asrs/controller/AgvMobileController.java | 13 +++++- src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 48 ++++++++++++----------- src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 35 ++++++++++++++--- src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 1 src/main/java/com/zy/asrs/controller/OrderDetlController.java | 4 +- 7 files changed, 70 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java index 34ec03d..1b80143 100644 --- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java +++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java @@ -631,6 +631,7 @@ Date now = new Date(); List<HashMap<String,String>> dbList = (List<HashMap<String, String>>) params.get("dbList"); params.get("dbList"); + String orderNo = params.get("orderNo").toString(); for (HashMap<String, String> map : dbList) { String locNo = map.get("locNo"); String barcode = map.get("suppCode"); @@ -661,11 +662,19 @@ // 鏇存柊璁㈠崟 // 鍏堟煡璇㈠簱璁㈠崟鏄庣粏 鎵�灞炵殑璁㈠崟 - OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("source",36).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode())); + OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no",orderNo).eq("source",17).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode())); orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme()); - if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("source",36).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){ + if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no",orderNo).eq("source",17).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){ throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr()); } + // 鏇存柊璁㈠崟鐘舵�� + Order order = orderService.selectByNo(orderNo); + Long settle = order.getSettle(); + if (settle == 1L) { + if (!orderService.updateSettle(order.getId(),2L,getUserId())) { + throw new CoolException("璁㈠崟鍙凤細{"+order.getOrderNo()+"}鏇存柊璁㈠崟鐘舵�侊細1-->2 澶辫触锛�(鍗婃垚鍝佽皟鎷ㄥ崟浠诲姟)" ); + } + } } // 鏇存柊婧愬簱浣� AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo)); diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java index 0d7cb2b..f60743d 100644 --- a/src/main/java/com/zy/asrs/controller/OrderController.java +++ b/src/main/java/com/zy/asrs/controller/OrderController.java @@ -337,7 +337,7 @@ List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1)); List<Long> docIds = new ArrayList<>(); for (DocType pakin : pakins) { - if (pakin.getDocId() == 36) { + if (pakin.getDocId() == 17) { docIds.add(pakin.getDocId()); } } diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java index 349450e..83caf0b 100644 --- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java +++ b/src/main/java/com/zy/asrs/controller/OrderDetlController.java @@ -169,11 +169,11 @@ List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1)); List<Long> docIds = new ArrayList<>(); for (DocType pakin : pakins) { - if (pakin.getDocId() != 33 && pakin.getDocId() != 34 && pakin.getDocId() != 35) { + if (pakin.getDocId() != 17 && pakin.getDocId() != 33 && pakin.getDocId() != 34 && pakin.getDocId() != 35) { docIds.add(pakin.getDocId()); } } - wrapper.ne("source",19); + wrapper.in("source",docIds); Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper); for (OrderDetl record : page.getRecords()) { Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode()); 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 03b6140..3d635a7 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -422,6 +422,8 @@ if (agvLocMast.getFloor() != floor) { if (agvLocMast.getFloor() == 1 && (floor == 2 || floor == 3)) { throw new CoolException("褰撳墠搴撲綅璇烽�夋嫨璋冩嫧鍗曡皟鎷紒"); + } else if ((agvLocMast.getFloor() == 2 || agvLocMast.getFloor() == 3) && (floor == 1 || floor == 4)) { + throw new CoolException("褰撳墠搴撲綅璇烽�夋嫨璋冩嫧鍥炴祦鍗曞洖閫�锛�"); } else { ioType = 12; } @@ -512,29 +514,29 @@ }); } - // 濡傛灉褰撳墠浠诲姟鏄澹充簩涓夋ゼ鍥為��涓�妤肩殑 鍥炴粴璋冩嫧鍗� - if (ioType == 12 && locMast.getFloor() == 1 && floor != 4 && agvLocMast.getFloor() != 1) { - List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo())); - for (AgvLocDetl agvLocDetl : agvLocDetls) { - OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("source", 33)); - if (Cools.isEmpty(orderDetl)) { - throw new CoolException("褰撳墠鐗╂枡鐨勮皟鎷ㄥ崟涓嶅瓨鍦紒"); - } - Order order = orderService.selectByNo(orderDetl.getOrderNo()); - if (Cools.isEmpty(order)) { - throw new CoolException("褰撳墠鐗╂枡鐨勮皟鎷ㄥ崟涓嶅瓨鍦紒"); - } - if (order.getSettle() == 4L) { - if (!orderService.updateSettle(order.getId(),2L,userId)) { - throw new CoolException("璋冩嫧鍗曞洖婊氬紓甯�!"); - } - } - orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme()); - if (!orderDetlService.updateById(orderDetl)) { - throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); - } - } - } +// // 濡傛灉褰撳墠浠诲姟鏄澹充簩涓夋ゼ鍥為��涓�妤肩殑 鍥炴粴璋冩嫧鍗� +// if (ioType == 12 && locMast.getFloor() == 1 && floor != 4 && agvLocMast.getFloor() != 1) { +// List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo())); +// for (AgvLocDetl agvLocDetl : agvLocDetls) { +// OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("source", 33)); +// if (Cools.isEmpty(orderDetl)) { +// throw new CoolException("褰撳墠鐗╂枡鐨勮皟鎷ㄥ崟涓嶅瓨鍦紒"); +// } +// Order order = orderService.selectByNo(orderDetl.getOrderNo()); +// if (Cools.isEmpty(order)) { +// throw new CoolException("褰撳墠鐗╂枡鐨勮皟鎷ㄥ崟涓嶅瓨鍦紒"); +// } +// if (order.getSettle() == 4L) { +// if (!orderService.updateSettle(order.getId(),2L,userId)) { +// throw new CoolException("璋冩嫧鍗曞洖婊氬紓甯�!"); +// } +// } +// orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme()); +// if (!orderDetlService.updateById(orderDetl)) { +// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); +// } +// } +// } //鏇存柊鐩爣搴撲綅鐘舵�� updateAgvLocMast(agvLocMast,"P"); updateAgvLocMast(locMast,"Q"); 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 f40d65e..02adbc8 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java @@ -1008,15 +1008,15 @@ String locNo = wrkMast.getSourceLocNo(); // 鐩爣搴撲綅 String targetLocNo = wrkMast.getLocNo(); - agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo),"",(short)0); + agvLocMastService.updateLocStsByLocNo(locNo, "F", wrkMast.getBarcode(), (short) getContainerTypeByloc(locNo), "", (short) 0); if (wrkMast.getIoType() == 108) { if (wrkMast.getWrkSts() != 22) { - agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null); + agvLocMastService.updateLocStsByLocNo(targetLocNo, "O", "", null); } } else { if (wrkMast.getWrkSts() != 207L && wrkMast.getWrkSts() != 205L) { if (wrkMast.getWrkSts() != 22) { - agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo,"O","",wrkMast.getWhsType().shortValue()); + agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo, "O", "", wrkMast.getWhsType().shortValue()); } } else { throw new CoolException("褰撳墠浣滀笟涓嶈兘鍙栨秷锛�"); @@ -1028,10 +1028,10 @@ List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo)); // 鏇存柊璁㈠崟 for (AgvLocDetl agvLocDetl : agvLocDetls) { - OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode())); + OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode())); orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme()); - if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no","DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){ - throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr()); + if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()))) { + throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�" + agvLocDetl.getOrderNo() + agvLocDetl.getMatnr()); } // FlowLog flowLog = new FlowLog(); // flowLog.setFid(String.valueOf(flowId)); @@ -1060,6 +1060,27 @@ // if (!flowLogService.insert(flowLog)) { // throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触"); // } + } + + // 鍥炴祦鍗曞彇娑� + } else if (wrkMast.getIoType() == 114) { + //婧愬簱浣� + String locNo = wrkMast.getSourceLocNo(); + // 鐩爣搴撲綅 + String targetLocNo = wrkMast.getLocNo(); + agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); + agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null); + // 婧愬簱浣� 搴撲綅涓绘。 + AgvLocMast sourceLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo)); + AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", targetLocNo)); + // 褰撳墠浠诲姟鏄法灞傜Щ搴� 涓旂洰鏍囨ゼ灞傛槸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("source", 17)); + orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme()); + if (!orderDetlService.updateById(orderDetl)) { + throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触"); + } } //鍑哄簱鍙栨秷 } else { @@ -1104,7 +1125,7 @@ } - if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12 && wrkMast.getIoType() != 11){ + if(wrkMast.getIoType() != 114 && wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12 && wrkMast.getIoType() != 11){ //璁㈠崟鍥炴粴 //List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); List<AgvWrkDetl> agvWrkDetlList1 = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java index ddfc242..7c0f98f 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java @@ -225,6 +225,7 @@ } agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString()); switch (agvWrkMast.getIoType()) { + case 114: case 108: case 12: agvTaskCreateParam.setTaskTyp("F06"); diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java index a7dcc13..5e9d85a 100644 --- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java +++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java @@ -135,7 +135,8 @@ .or().eq("io_type", 108) .or().eq("io_type", 111) .or().eq("io_type", 112) - .or().eq("io_type", 113)).getRecords(); + .or().eq("io_type", 113) + .or().eq("io_type", 114)).getRecords(); if(!Cools.isEmpty(agvWrkMastList)){ agvWrkMastList.forEach(agvWrkMast -> { -- Gitblit v1.9.1