From 499ee6d6eb0e0c38cdc23ebe3c320f46dd498d0a Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期一, 13 一月 2025 16:07:21 +0800 Subject: [PATCH] 添加isEmpty参数优化库位查找逻辑 --- src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java | 32 +++++++++++++++++++++++++++----- 1 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java b/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java index 3f08e02..8cf793a 100644 --- a/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java +++ b/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java @@ -8,12 +8,14 @@ import com.zy.asrs.entity.Order; import com.zy.asrs.service.*; import com.zy.asrs.task.handler.AutoReplenishmentHandler; +import com.zy.common.entity.Parameter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.List; +import java.util.Set; @Slf4j @Component @@ -33,10 +35,15 @@ private LocDetlService locDetlService; /* - 瀹氭椂渚垮埄搴撳瓨锛岀敓鎴愯嚜鍔ㄨˉ璐у崟鎹� + 瀹氭椂閬嶅巻搴撳瓨锛岀敓鎴愯嚜鍔ㄨˉ璐у崟鎹� */ - @Scheduled(cron = "0/5 * * * * ? ") +// @Scheduled(cron = "0 */1 * * * ? ") public void createOrder(){ + + if(!"Y".equals(Parameter.get().getAutoReplenishment())){ + return; + } + //妫�娴嬫槸鍚︽湁鏈畬鎴愮殑琛ヨ揣鍗曟嵁 DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "鑷姩琛ヨ揣鍗�")); int count = orderService.selectCount(new EntityWrapper<Order>() @@ -56,12 +63,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 +94,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>() -- Gitblit v1.9.1