From cb68c3e4547653ee7d308aa4da51f31363647a0f Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期四, 23 十一月 2023 18:09:43 +0800
Subject: [PATCH] 自动补货
---
src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java | 41 +++++++++++++++++++++++++++++++++++++----
1 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java b/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java
index de1f0d1..3f08e02 100644
--- a/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java
@@ -3,10 +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.MatService;
-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;
@@ -27,13 +27,46 @@
private AutoReplenishmentHandler autoReplenishmentHandler;
@Autowired
private MatService matService;
+ @Autowired
+ private AgvLocDetlService agvLocDetlService;
+ @Autowired
+ private LocDetlService locDetlService;
/*
瀹氭椂渚垮埄搴撳瓨锛岀敓鎴愯嚜鍔ㄨˉ璐у崟鎹�
*/
- //@Scheduled(cron = "0/5 * * * * ? ")
+ @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;
+ }
+ }
+ }
}
/*
--
Gitblit v1.9.1