From fcd8089a36829c200face755080be10ee66a1969 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期二, 07 十二月 2021 09:54:16 +0800
Subject: [PATCH] #
---
src/main/java/zy/cloud/wms/common/service/task/DetectionScheduler.java | 35 ++++++++++++++++++++++++++---------
1 files changed, 26 insertions(+), 9 deletions(-)
diff --git a/src/main/java/zy/cloud/wms/common/service/task/DetectionScheduler.java b/src/main/java/zy/cloud/wms/common/service/task/DetectionScheduler.java
index 4260dac..f1c800f 100644
--- a/src/main/java/zy/cloud/wms/common/service/task/DetectionScheduler.java
+++ b/src/main/java/zy/cloud/wms/common/service/task/DetectionScheduler.java
@@ -7,10 +7,13 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
+import zy.cloud.wms.manager.entity.DiffLog;
import zy.cloud.wms.manager.entity.DocLog;
+import zy.cloud.wms.manager.service.DiffLogService;
import zy.cloud.wms.manager.service.DocLogService;
import zy.cloud.wms.manager.service.MatService;
+import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -23,17 +26,18 @@
public class DetectionScheduler {
@Autowired
- private MatService matService;
- @Autowired
private JdbcTemplate jdbcTemplate;
@Autowired
private DocLogService docLogService;
+ @Autowired
+ private DiffLogService diffLogService;
/**
* 璁㈠崟杞巻鍙叉。澶勭悊鍣�
*/
- @Scheduled(cron = "0/10 * * * * ? ")
+ @Scheduled(cron = "0 0 1 * * ?")
public void orderBeLogExecute(){
+ Date now = new Date();
List<String> matnrList = jdbcTemplate.queryForList("select distinct matnr from man_mat", String.class);
for (String matnr : matnrList) {
// 鏌ユ壘绔嬪簱搴撳瓨
@@ -49,22 +53,20 @@
for (DocLog docLog : docLogs) {
// 闃叉閲嶅鍗曟嵁
if (set.contains(docLog.getDocNum())) {
- break;
+ continue;
}
set.add(docLog.getDocNum());
int docId = Math.toIntExact(docLog.getDocId());
// 璁$畻搴撳瓨
switch (docId) {
case 6:
-
- break;
case 9:
- break;
case 11:
+ stock = stock - docLog.getQua();
break;
case 14:
- break;
case 34:
+ stock = stock + docLog.getQua();
break;
default:
break;
@@ -72,7 +74,22 @@
}
// 姣旇緝宸紓鍊�
if (stock != total) {
- // todo
+ DiffLog diffLog = new DiffLog(
+ matnr, // 鍟嗗搧缂栧彿[闈炵┖]
+ stock, // erp鏁伴噺
+ total, // wms鏁伴噺
+ asrsAnfme, // 绔嬪簱
+ wmsAnfme, // 骞充粨
+ Math.abs(total-stock), // 宸紓鍊�
+ now, // 娣诲姞浜嬩欢
+ null // 澶囨敞
+ );
+ if (diffLogService.selectCount(new EntityWrapper<DiffLog>().eq("matnr", diffLog.getMatnr())) == 0) {
+ diffLog.setMemo("鏂板");
+ }
+ if (!diffLogService.insert(diffLog)) {
+ log.error("{}鍟嗗搧鏁伴噺宸紓锛佷笖淇濆瓨澶辫触锛�", matnr);
+ }
}
--
Gitblit v1.9.1