From c37ae85eab15d2c7566677bfb26920c31da879fe Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期五, 24 十一月 2023 12:07:51 +0800 Subject: [PATCH] agv拣货流程更改 --- src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java | 50 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 47 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java b/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java index 7050458..3f08e02 100644 --- a/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java +++ b/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java @@ -3,9 +3,10 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.zy.asrs.entity.DocType; +import com.zy.asrs.entity.LocDetl; +import com.zy.asrs.entity.Mat; import com.zy.asrs.entity.Order; -import com.zy.asrs.service.DocTypeService; -import com.zy.asrs.service.OrderService; +import com.zy.asrs.service.*; import com.zy.asrs.task.handler.AutoReplenishmentHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -24,12 +25,55 @@ private DocTypeService docTypeService; @Autowired private AutoReplenishmentHandler autoReplenishmentHandler; + @Autowired + private MatService matService; + @Autowired + private AgvLocDetlService agvLocDetlService; + @Autowired + private LocDetlService locDetlService; + + /* + 瀹氭椂渚垮埄搴撳瓨锛岀敓鎴愯嚜鍔ㄨˉ璐у崟鎹� + */ + @Scheduled(cron = "0/5 * * * * ? ") + public void createOrder(){ + //妫�娴嬫槸鍚︽湁鏈畬鎴愮殑琛ヨ揣鍗曟嵁 + DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "鑷姩琛ヨ揣鍗�")); + int count = orderService.selectCount(new EntityWrapper<Order>() + .eq("doc_type", docType.getDocId()) + .andNew().eq("settle",2) + .or().eq("settle",1)); + if(count > 0){ + return; + } + + //鏌ヨ鎵�鏈夐渶瑕佽ˉ璐х殑鐗╂枡 + List<Mat> matList = matService.selectList(new EntityWrapper<Mat>().gt( "store_min", 0)); + if(!Cools.isEmpty(matList)){ + for (Mat mat : matList){ + //鏌ヨ褰撳墠鐗╂枡鏄惁鍦╝gv搴撳皬浜庡簱瀛樹笂闄� + Double anfmeSum = agvLocDetlService.selectSumAnfmeByMatnr(mat.getMatnr()); + if(Cools.isEmpty(anfmeSum)){ + anfmeSum = 0.0; + } + //鏌ヨ褰撳墠鐗╂枡鍥涢」搴撴槸鍚﹀瓨鍦� + if(Cools.isEmpty(locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("matnr", mat.getMatnr())))){ + continue; + } + + if(anfmeSum < mat.getStoreMin()){ + autoReplenishmentHandler.create(mat,mat.getStoreMax() - anfmeSum); + break; + } + } + } + } /* 瀹氭椂澶勭悊鑷姩琛ヨ揣鍗曟嵁 */ @Scheduled(cron = "0/5 * * * * ? ") - public void excute(){ + public void excuteOrder(){ DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "鑷姩琛ヨ揣鍗�")); List<Order> orderList = orderService.selectList(new EntityWrapper<Order>() .eq("doc_type", docType.getDocId()) -- Gitblit v1.9.1