From e1749547c76a5d8bae94e47d38d4d75b481610c1 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期四, 09 九月 2021 10:51:15 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/common/service/task/DetectionScheduler.java | 32 +++++++++++++++++++++++--------- 1 files changed, 23 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..3b91fee 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,19 @@ } // 姣旇緝宸紓鍊� if (stock != total) { - // todo + DiffLog diffLog = new DiffLog( + matnr, // 鍟嗗搧缂栧彿[闈炵┖] + stock, // erp鏁伴噺 + total, // wms鏁伴噺 + asrsAnfme, // 绔嬪簱 + wmsAnfme, // 骞充粨 + Math.abs(total-stock), // 宸紓鍊� + now, // 娣诲姞浜嬩欢 + null // 澶囨敞 + ); + if (!diffLogService.insert(diffLog)) { + log.error("{}鍟嗗搧鏁伴噺宸紓锛佷笖淇濆瓨澶辫触锛�", matnr); + } } -- Gitblit v1.9.1