From cbde8633bc21bd2f64a35c25e05d9e9470313b74 Mon Sep 17 00:00:00 2001
From: 18516761980 <4761516tqsxp>
Date: 星期六, 18 九月 2021 10:40:48 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/ints/task/ERPApiScheduler.java | 104 ++++++++++++++++++++++++++++++++++
src/main/java/com/zy/ints/controller/WaitMatchkController.java | 71 +++++++++++++++++++++++
2 files changed, 175 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/ints/controller/WaitMatchkController.java b/src/main/java/com/zy/ints/controller/WaitMatchkController.java
index 81e14b2..f728351 100644
--- a/src/main/java/com/zy/ints/controller/WaitMatchkController.java
+++ b/src/main/java/com/zy/ints/controller/WaitMatchkController.java
@@ -18,7 +18,9 @@
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.MatCodeService;
import com.zy.common.web.BaseController;
+import com.zy.ints.entity.IoComplete;
import com.zy.ints.entity.WaitMatchk;
+import com.zy.ints.service.IoCompleteService;
import com.zy.ints.service.WaitMatchkLogService;
import com.zy.ints.service.WaitMatchkService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -40,6 +42,8 @@
private LocDetlService locDetlService;
@Autowired
private MatCodeService matCodeService;
+ @Autowired
+ private IoCompleteService ioCompleteService;
//鐩樼偣閫氱煡妗�
@@ -143,11 +147,59 @@
if(!locDetlService.delete(wrapperDetl)){
throw new CoolException("鍒犻櫎鏁伴噺涓�0鏄庣粏鍑洪敊[locNo:"+locDetl.getLocNo()+"],[matNo:"+locDetl.getMatNo()+"]");
}
+
+ //鐩樼偣缁撴灉鎻掑叆鍥炴姤妗�
+ IoComplete ioComplete = new IoComplete();
+ ioComplete.setBillNo(entity.getBillNo());
+ ioComplete.setSeqNo(entity.getSeqNo());
+ ioComplete.setTaskType(4); //鐩樹簭
+ ioComplete.setLocNo(entity.getLocNo());
+ ioComplete.setMatNo(entity.getMatNo());
+ ioComplete.setMatName(locDetl.getMatName());
+ ioComplete.setZpallet(locDetl.getZpallet());
+ ioComplete.setQty(locDetl.getQty());
+ ioComplete.setUpdStatus(0);
+ ioComplete.setModiUser(getUserId());
+ ioComplete.setModiTime(now);
+ ioComplete.setAppeUser(getUserId());
+ ioComplete.setAppeTime(now);
+ if(!ioCompleteService.insert(ioComplete)){
+ throw new CoolException("鎻掑叆鍥炴姤妗e嚭閿橻locNo:"+locDetl.getLocNo()+"],[matNo:"+locDetl.getMatNo()+"]");
+ }
+
}else{
if(!entity.getCheckQty().equals(locDetl.getQty())){ //搴撳瓨鏁伴噺涓庣洏鐐规暟閲忕浉鍚屼笉鐢ㄦ洿鏂�
locDetl.setQty(entity.getCheckQty());
if(!locDetlService.update(locDetl,wrapperDetl)){
throw new CoolException("鏇存柊搴撳瓨鏄庣粏鍑洪敊[locNo:"+locDetl.getLocNo()+"],[matNo:"+locDetl.getMatNo()+"]");
+ }
+
+ //鐩樼偣缁撴灉鎻掑叆鍥炴姤妗�
+ Double qty = 0D;
+ int type = 0;
+ if(entity.getCheckQty()>locDetl.getQty()){//鐩樼泩
+ qty = entity.getCheckQty() - locDetl.getQty();
+ type = 3;
+ } else { //鐩樹簭
+ qty = locDetl.getQty() - entity.getCheckQty();
+ type = 4;
+ }
+ IoComplete ioComplete = new IoComplete();
+ ioComplete.setBillNo(entity.getBillNo());
+ ioComplete.setSeqNo(entity.getSeqNo());
+ ioComplete.setTaskType(type);
+ ioComplete.setLocNo(entity.getLocNo());
+ ioComplete.setMatNo(entity.getMatNo());
+ ioComplete.setMatName(locDetl.getMatName());
+ ioComplete.setZpallet(locDetl.getZpallet());
+ ioComplete.setQty(qty);
+ ioComplete.setUpdStatus(0);
+ ioComplete.setModiUser(getUserId());
+ ioComplete.setModiTime(now);
+ ioComplete.setAppeUser(getUserId());
+ ioComplete.setAppeTime(now);
+ if(!ioCompleteService.insert(ioComplete)){
+ throw new CoolException("鎻掑叆鍥炴姤妗e嚭閿橻locNo:"+locDetl.getLocNo()+"],[matNo:"+locDetl.getMatNo()+"]");
}
}
@@ -180,6 +232,25 @@
if(!locDetlService.insert(one)){
throw new CoolException("鎻掑叆搴撳瓨鏄庣粏鍑洪敊[locNo:"+entity.getLocNo()+"],[matNo:"+entity.getMatNo()+"]");
}
+
+ //鐩樼偣缁撴灉鎻掑叆鍥炴姤妗�
+ IoComplete ioComplete = new IoComplete();
+ ioComplete.setBillNo(entity.getBillNo());
+ ioComplete.setSeqNo(entity.getSeqNo());
+ ioComplete.setTaskType(3); //鐩樼泩
+ ioComplete.setLocNo(entity.getLocNo());
+ ioComplete.setMatNo(entity.getMatNo());
+ ioComplete.setMatName(one.getMatName());
+ ioComplete.setZpallet(one.getZpallet());
+ ioComplete.setQty(entity.getCheckQty());
+ ioComplete.setUpdStatus(0);
+ ioComplete.setModiUser(getUserId());
+ ioComplete.setModiTime(now);
+ ioComplete.setAppeUser(getUserId());
+ ioComplete.setAppeTime(now);
+ if(!ioCompleteService.insert(ioComplete)){
+ throw new CoolException("鎻掑叆鍥炴姤妗e嚭閿橻locNo:"+entity.getLocNo()+"],[matNo:"+entity.getMatNo()+"]");
+ }
}
entity.setVerifyStatus(1);
diff --git a/src/main/java/com/zy/ints/task/ERPApiScheduler.java b/src/main/java/com/zy/ints/task/ERPApiScheduler.java
new file mode 100644
index 0000000..2573efb
--- /dev/null
+++ b/src/main/java/com/zy/ints/task/ERPApiScheduler.java
@@ -0,0 +1,104 @@
+package com.zy.ints.task;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.core.common.Cools;
+import com.zy.ints.entity.IoComplete;
+import com.zy.ints.entity.StockSync;
+import com.zy.ints.service.IoCompleteService;
+import com.zy.ints.service.StockSyncService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * erp浠诲姟鎺у埗鍣�
+ * Created by vincent on 2020/11/27
+ */
+@Slf4j
+@Component
+public class ERPApiScheduler {
+ @Autowired
+ private IoCompleteService ioCompleteService;
+ @Autowired
+ private StockSyncService stockSyncService;
+
+ /**
+ * ERP鎺ュ彛鏄惁鍚敤
+ */
+ @Value("${erp.enabled}")
+ private Boolean erpEnabled;
+ @Autowired
+ private JdbcTemplate jdbcTemplate;
+
+ /**
+ * 鎻愬彇鍥炴姤妗h祫鏂欙紝涓婃姤ERP澶勭悊
+ */
+ @Scheduled(cron = "0/3 * * * * ? ")
+ public void ioCompleteExecute(){
+ if(!erpEnabled) return;
+ Date now = new Date();
+ boolean res = false;
+ String errMsg = "";//涓婃姤杩斿洖寮傚父淇℃伅
+ Wrapper<IoComplete> wrapper = new EntityWrapper<IoComplete>().ne("upd_status",1).last("order by upd_status,modi_time asc");
+ List<IoComplete> ioCompletes = ioCompleteService.selectList(wrapper);
+// IoComplete ioComplete = ioCompleteService.selectOne(wrapper);
+ if(null != ioCompletes && ioCompletes.size() > 0){
+ IoComplete ioComplete = ioCompletes.get(0);
+ ////////////涓婃姤ERP鎺ュ彛
+ ///////////璋僂RP鎺ュ彛鍚庯紝闇�瑕佹彃鍏ユ帴鍙f棩蹇楄〃ints_erpreq_log
+
+ if(res){
+ ioComplete.setUpdStatus(1);
+ ioComplete.setModiTime(now);
+ ioCompleteService.updateById(ioComplete);
+ } else {
+ ioComplete.setUpdStatus(2);
+ ioComplete.setErrorMemo(errMsg);
+ ioComplete.setModiTime(now);
+ ioCompleteService.updateById(ioComplete);
+ }
+ }
+
+ }
+
+ /**
+ * 鎻愬彇搴撳瓨鍚屾琛ㄨ祫鏂欙紝涓婃姤ERP搴撳瓨鍚屾
+ */
+ @Scheduled(cron = "0/3 * * * * ? ")
+ public void stockSyncExecute() {
+ if (!erpEnabled) return;
+ Date now = new Date();
+ boolean res = false;
+ String errMsg = "";//涓婃姤杩斿洖寮傚父淇℃伅
+
+ String sql = "select top 10 mat_no as matNo,mat_name as matName,qty from ints_stock_sync where upd_status<>1 order by upd_status,modi_time asc";
+ List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
+ if(null != maps){
+ for (Map map: maps) {
+ StockSync stockSync = Cools.conver(map, StockSync.class);
+ ////////////涓婃姤ERP鎺ュ彛
+ ///////////璋僂RP鎺ュ彛鍚庯紝闇�瑕佹彃鍏ユ帴鍙f棩蹇楄〃ints_erpreq_log
+
+ if (res) {
+ stockSync.setUpdStatus(1);
+ stockSync.setModiTime(now);
+ stockSyncService.update(stockSync,new EntityWrapper<StockSync>().eq("mat_no",stockSync.getMatNo()));
+ } else {
+ stockSync.setUpdStatus(2);
+ stockSync.setErrorMemo(errMsg);
+ stockSync.setModiTime(now);
+ stockSyncService.update(stockSync,new EntityWrapper<StockSync>().eq("mat_no",stockSync.getMatNo()));
+ }
+ }
+ }
+
+ }
+}
--
Gitblit v1.9.1