From 81672518fc9a2e86c5c34dba341aaa535c2f069d Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期三, 22 五月 2024 17:06:41 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | 1 src/main/java/com/zy/asrs/controller/AgvLocMastController.java | 3 + src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 53 +++++++++++++++++ src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 2 src/main/java/com/zy/asrs/task/AutoMoveScheduler.java | 35 +++++++++++ src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 2 src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | 55 ++++++++++++++++++ src/main/resources/application.yml | 4 8 files changed, 148 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvLocMastController.java b/src/main/java/com/zy/asrs/controller/AgvLocMastController.java index ac0679a..30cd109 100644 --- a/src/main/java/com/zy/asrs/controller/AgvLocMastController.java +++ b/src/main/java/com/zy/asrs/controller/AgvLocMastController.java @@ -105,6 +105,9 @@ if (!agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no", locMast.getLocNo()))) { throw new CoolException("鏈嶅姟鍣ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); } + if (locMast.getLocSts().equals("O")) { + locMast.setBarcode(""); + } } } locMast.setModiUser(getUserId()); 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 bbc5f3e..bca97c7 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java @@ -591,7 +591,7 @@ } //鍏ュ簱鍙栨秷 - if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10){ + if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 58){ //婧愮珯鐐� String devNo = wrkMast.getSourceLocNo(); //鐩爣搴撲綅 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 865dcb5..f3b20d5 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java @@ -205,7 +205,7 @@ agvWrkMast.setWrkNo(-agvWrkMast.getWrkNo()); } agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString()); - if (agvWrkMast.getIoType() == 108 || agvWrkMast.getIoType() == 109 || agvWrkMast.getIoType() == 12) { + if (agvWrkMast.getIoType() == 108 || (agvWrkMast.getIoType() == 109 && agvWrkMast.getWrkSts() == 201) || agvWrkMast.getIoType() == 12) { agvTaskCreateParam.setTaskTyp("F06"); } else { agvTaskCreateParam.setTaskTyp("F01"); diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java index f3c8e4e..31608f0 100644 --- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java +++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java @@ -166,6 +166,7 @@ .or().eq("io_type", 11) .or().eq("io_type", 110) .or().eq("io_type", 107) + .or().eq("io_type", 109) .or().eq("io_type", 108)).getRecords(); if(!Cools.isEmpty(agvWrkMastList)){ diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java index a5825d4..3bf8d47 100644 --- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java +++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java @@ -76,7 +76,7 @@ } - // 绌烘澘鑷姩鍥炲簱 + // 绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐� @Scheduled(cron = "0/2 * * * * ? ") private void autoEmptyBack(){ // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋� @@ -91,6 +91,39 @@ for (AgvLocMast agvLocMast : agvLocMasts) { ReturnT<String> returnT = autoMoveHandler.autoEmptyBack(agvLocMast); } + } + // 绌烘澘鑷姩鍥炲簱 鎺ラ┏鐐� - 1妤煎簱浣� + @Scheduled(cron = "0/2 * * * * ? ") + private void autoEmptyBack3(){ + // 宸ヤ綔妗d负201 涓� 鍏ュ嚭搴撶被鍨嬩负109 + List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>() + .eq("wrk_sts", 201) + .eq("loc_no","") + .or().eq("io_type",109) + .or().eq("io_type",112)); + if (agvWrkMastList.isEmpty()) { + return; + } + for (AgvWrkMast agvWrkMast : agvWrkMastList) { + ReturnT<String> returnT = autoMoveHandler.autoEmptyBack3(agvWrkMast); + } + } + + // 绌烘澘鑷姩鍥炲簱 + //@Scheduled(cron = "0/2 * * * * ? ") + private void autoEmptyBack2(){ + // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋� + List<AgvLocMast> agvLocMasts = agvLocMastService.selectList( + new EntityWrapper<AgvLocMast>() + .ne("floor", 1) + .eq("loc_sts","D") + .eq("loc_type1",3)); + if (agvLocMasts.isEmpty()) { + return; + } + for (AgvLocMast agvLocMast : agvLocMasts) { + ReturnT<String> returnT = autoMoveHandler.autoEmptyBack2(agvLocMast); + } } } 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 7ec3e7f..dc3328c 100644 --- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java @@ -17,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional; import java.io.IOException; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -70,7 +71,11 @@ // 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉� String locSts = agvWrkMast.getIoType() == 10 ? "D" : "F"; if (agvWrkMast.getIoType() == 10 || agvWrkMast.getIoType() == 109) { - agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); + if (agvWrkMast.getIoType() == 109 && agvWrkMast.getLocNo().substring(0,2).equals("DB")) { + agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"R",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); + } else { + agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); + } } else { agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); } @@ -106,10 +111,17 @@ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0); } - if(agvWrkMast.getIoType() == 109 || agvWrkMast.getIoType() == 58){ + if(agvWrkMast.getIoType() == 109){ //淇敼婧愬簱浣嶇姸鎬佷负O agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0); + // 鏂板缓宸ヤ綔妗� + Date now = new Date(); + createWrkMast(109, 201L, agvWrkMast.getLocNo(), "", agvWrkMast.getBarcode(), now, 9527L, agvWrkMast.getWhsType(), 0); } + if (agvWrkMast.getIoType() == 58) { + agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue()); + } + //鍒犻櫎AGV宸ヤ綔妗� @@ -336,4 +348,41 @@ return num <= maxWrokNum; }).collect(Collectors.toList()); } + + /* + 鐢熸垚宸ヤ綔妗� + */ + private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId, int containerType, int floor){ + AgvWrkMast wrkMast = new AgvWrkMast(); + //宸ヤ綔鐘舵�� + wrkMast.setWrkSts(wrkSts); + //鍏ュ嚭搴撶被鍨� + wrkMast.setIoType(ioType); + wrkMast.setIoTime(now); + //浼樺厛绾� + wrkMast.setIoPri(300.0); + //婧愮珯鐐� + wrkMast.setSourceLocNo(sourceLocNo); + //鐩爣绔欑偣 + wrkMast.setLocNo(locNo); + //瀹瑰櫒缂栫爜 + wrkMast.setBarcode(barcode); + //瀹瑰櫒绫诲瀷 + wrkMast.setWhsType(containerType); + // 鐩爣妤煎眰 + wrkMast.setCrnNo(floor); + + wrkMast.setAppeUser(userId); + wrkMast.setAppeTime(now); + wrkMast.setModiUser(userId); + wrkMast.setModiTime(now); + + if (!agvWrkMastService.insertByIncrease(wrkMast)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + + wrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", locNo).eq("source_loc_no",sourceLocNo).eq("barcode",barcode).orderBy("modi_time",false)); + + return wrkMast; + } } diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java index 73a5e0a..9a17b89 100644 --- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java @@ -237,6 +237,61 @@ if(!Cools.isEmpty(agvWrkMast)){ throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); } + //妫�绱㈢┖闂叉帴椹充綅锛岄�夋嫨鍚堥�傜殑鎺ラ┏浣� + AgvBasDevp devpNo = agvCommonService.getDevpNo(3, agvLocMast.getFloor()); + //鐢熸垚宸ヤ綔妗� + AgvWrkMast mast = new AgvWrkMast(); + //宸ヤ綔鐘舵�� + mast.setWrkSts(21L); + //鍏ュ嚭搴撶被鍨� + mast.setIoType(109); + mast.setIoTime(now); + //浼樺厛绾� + mast.setIoPri(300.0); + //婧愮珯鐐� + mast.setSourceLocNo(agvLocMast.getLocNo()); + //鐩爣绔欑偣 + mast.setLocNo(devpNo.getDevNo()); + //瀹瑰櫒缂栫爜 + mast.setBarcode(agvLocMast.getBarcode()); + //瀹瑰櫒绫诲瀷 + mast.setWhsType(30); + + mast.setAppeUser(9527L); + mast.setAppeTime(now); + mast.setModiUser(9527L); + mast.setModiTime(now); + if (!agvWrkMastService.insertByIncrease(mast)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + + //鏇存柊鐩爣搴撲綅鐘舵�� + updateAgvLocMast(agvLocMast,"R"); + updateAgvBasDevp(devpNo,"S",agvLocMast.getLocType2(),agvLocMast.getBarcode()); + return SUCCESS; + } + public ReturnT<String> autoEmptyBack3(AgvWrkMast agvWrkMast) { + Date now = new Date(); + //妫�绱㈢┖闂叉帴椹充綅锛岄�夋嫨鍚堥�傜殑鎺ラ┏浣� + AgvLocMast locMast = agvCommonService.getLocNo(3, 1); + //鐩爣绔欑偣 + agvWrkMast.setLocNo(locMast.getLocNo()); + agvWrkMast.setModiUser(9527L); + agvWrkMast.setModiTime(now); + if (!agvWrkMastService.updateById(agvWrkMast)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + //鏇存柊鐩爣搴撲綅鐘舵�� + updateAgvLocMast(locMast,"S"); + return SUCCESS; + } + public ReturnT<String> autoEmptyBack2(AgvLocMast agvLocMast) { + Date now = new Date(); + //鏌ヨ宸ヤ綔妗� + AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvLocMast.getBarcode()); + if(!Cools.isEmpty(agvWrkMast)){ + throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); + } //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 AgvLocMast LocMast = agvCommonService.getLocNo(3,1); //鐢熸垚宸ヤ綔妗� diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 10598da..c06ba14 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -10,8 +10,8 @@ enabled: false datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver - url: jdbc:sqlserver://localhost:1433;databasename=phyzasrs -# url: jdbc:sqlserver://192.168.4.15:1433;databasename=tzskasrs +# url: jdbc:sqlserver://127.0.0.1:1433;databasename=phyzasrs + url: jdbc:sqlserver://192.168.4.176:1433;databasename=phyzasrs #url: jdbc:sqlserver://10.10.10.40:1433;databasename=tzskasrs username: sa password: sa@123 -- Gitblit v1.9.1