From f60476d8753efa5e94a5aab08964c74bd491a618 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期二, 28 十一月 2023 13:43:34 +0800 Subject: [PATCH] 新建分支 用于AGV新的出库任务下发模式 --- src/main/java/com/zy/asrs/service/LocDetlService.java | 2 + src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java | 12 +++++- src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | 6 +++ src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java | 26 +++++++++++-- src/main/resources/application.yml | 20 +++++----- 5 files changed, 50 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java index 89da6e2..dece3cb 100644 --- a/src/main/java/com/zy/asrs/service/LocDetlService.java +++ b/src/main/java/com/zy/asrs/service/LocDetlService.java @@ -75,4 +75,6 @@ LocDetl selectByContainerCode(String containerCode); + List<LocDetl> selectByLocWithoutContainer(String locNo); + } diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java index af9589a..ef94416 100644 --- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java @@ -244,6 +244,12 @@ } @Override + public List<LocDetl> selectByLocWithoutContainer(String locNo) { + return this.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo) + .andNew().eq("supp_code", "").or().isNull("supp_code")); + } + + @Override public int updateStockFreeze(String matnr, String locNo, Integer stockFreeze) { return this.baseMapper.updateStockFreeze(matnr, locNo, stockFreeze); } diff --git a/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java b/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java index 3f08e02..3c85552 100644 --- a/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java +++ b/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java @@ -13,7 +13,9 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import java.util.Date; import java.util.List; +import java.util.Set; @Slf4j @Component @@ -35,8 +37,9 @@ /* 瀹氭椂渚垮埄搴撳瓨锛岀敓鎴愯嚜鍔ㄨˉ璐у崟鎹� */ - @Scheduled(cron = "0/5 * * * * ? ") + @Scheduled(cron = "0 */1 * * * ? ") public void createOrder(){ + System.out.println(new Date()); //妫�娴嬫槸鍚︽湁鏈畬鎴愮殑琛ヨ揣鍗曟嵁 DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "鑷姩琛ヨ揣鍗�")); int count = orderService.selectCount(new EntityWrapper<Order>() @@ -56,12 +59,27 @@ if(Cools.isEmpty(anfmeSum)){ anfmeSum = 0.0; } - //鏌ヨ褰撳墠鐗╂枡鍥涢」搴撴槸鍚﹀瓨鍦� + //褰撳墠鐗╂枡涓嶉渶瑕佽ˉ璐� + if(anfmeSum > mat.getStoreMin()){ + continue; + } + //鏌ヨ褰撳墠鐗╂枡鍥涢」搴撴槸鍚﹀瓨鍦�,骞朵笖鎵樼洏涓嶅惈鏈夐潪鏂欑鐗╂枡 if(Cools.isEmpty(locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("matnr", mat.getMatnr())))){ continue; } - if(anfmeSum < mat.getStoreMin()){ + Set<String> locNosSearch = locDetlService.selectLocNos(mat.getMatnr()); + //鏄惁鍚湁鍙ˉ璐у嚭搴撶殑搴撲綅 + boolean flag = false; + for (String locNo : locNosSearch){ + log.info("闇�瑕佹嫞鏂欑殑璐т綅锛�" + locNo +"锛岄渶瑕佽ˉ璐х殑鐗╂枡锛�" + mat.getMatnr()); + if(Cools.isEmpty(locDetlService.selectByLocWithoutContainer(locNo))){ + flag = true; + continue; + } + } + + if(flag){ autoReplenishmentHandler.create(mat,mat.getStoreMax() - anfmeSum); break; } @@ -72,7 +90,7 @@ /* 瀹氭椂澶勭悊鑷姩琛ヨ揣鍗曟嵁 */ - @Scheduled(cron = "0/5 * * * * ? ") + @Scheduled(cron = "0/10 * * * * ? ") public void excuteOrder(){ DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "鑷姩琛ヨ揣鍗�")); List<Order> orderList = orderService.selectList(new EntityWrapper<Order>() diff --git a/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java index 65b4f1a..c946ef9 100644 --- a/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java @@ -165,11 +165,19 @@ if(locMast.getLocType1() == 3){ return false; }else { - return true; + //涓旀娴嬭搴撲綅鏄惁鍚病鏈夋枡绠辩爜鐨勭墿鏂欙紝濡傛湁鏈夊垯涓嶅厑璁稿嚭搴� +// LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locNo) +// .andNew().eq("supp_code", "").or().isNull("supp_code")); + + if(Cools.isEmpty(locDetlService.selectByLocWithoutContainer(locNo))){ + return true; + }else { + return false; + } } }).collect(Collectors.toSet()); - //閲嶆柊鎺掑簭 骞朵笖妫�娴嬭搴撲綅鏄惁鍚病鏈夋枡绠辩爜鐨勭墿鏂欙紝濡傛湁鏈夊垯涓嶅厑璁稿嚭搴� + //閲嶆柊鎺掑簭 Set<String> resort = resort(locNosSearch); for(String locNo : resort){ diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 74c7ea8..c0ffce8 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -73,16 +73,16 @@ password: Wlzh44338 agv: -# url: localhost:8080 -# taskCreatePath: /agv/task/create -# containerMoveInPath: /agv/container/moveIn -# containerMoveOutPath: /agv/container/moveOut -# containerArrivedPath: /agv/containerArrived - url: 10.10.10.182:9046 - taskCreatePath: /task/create - containerMoveInPath: /expand/api/moveIn/container - containerMoveOutPath: /expand/api/moveOut/container - containerArrivedPath: /conveyor/containerArrived + url: localhost:8080 + taskCreatePath: /agv/task/create + containerMoveInPath: /agv/container/moveIn + containerMoveOutPath: /agv/container/moveOut + containerArrivedPath: /agv/containerArrived +# url: 10.10.10.182:9046 +# taskCreatePath: /task/create +# containerMoveInPath: /expand/api/moveIn/container +# containerMoveOutPath: /expand/api/moveOut/container +# containerArrivedPath: /conveyor/containerArrived u8: url: http://192.168.1.55:8010 -- Gitblit v1.9.1