From f3d0b8d2219182087dbe9020ef40fe53fa415df1 Mon Sep 17 00:00:00 2001
From: 18516761980 <4761516tqsxp>
Date: 星期二, 31 八月 2021 15:09:43 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/ints/task/handler/WaitMatinLogHandler.java | 43 ++++++++
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 166 ++++++++++++++++++++++++++------
src/main/java/com/zy/ints/task/WaitMatinLogScheduler.java | 35 +++++++
3 files changed, 212 insertions(+), 32 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 7953d20..819eb95 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -1,13 +1,23 @@
package com.zy.asrs.task.handler;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.zy.asrs.entity.*;
-import com.zy.asrs.service.*;
+import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.LocDetlService;
+import com.zy.asrs.service.LocMastService;
+import com.zy.asrs.service.WrkDetlService;
+import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.VersionUtils;
+import com.zy.ints.entity.IoComplete;
import com.zy.ints.entity.WaitMatin;
+import com.zy.ints.entity.WaitMatout;
+import com.zy.ints.service.IoCompleteService;
import com.zy.ints.service.WaitMatinService;
+import com.zy.ints.service.WaitMatoutService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -30,9 +40,11 @@
@Autowired
private LocDetlService locDetlService;
@Autowired
- private WaitPakinService waitPakinService;
- @Autowired
private WaitMatinService waitMatinService;
+ @Autowired
+ private WaitMatoutService waitMatoutService;
+ @Autowired
+ private IoCompleteService ioCompleteService;
public ReturnT<String> start(WrkMast wrkMast) {
// 4.鍏ュ簱瀹屾垚
@@ -95,34 +107,37 @@
exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
}
}
- // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> 2
- if(!"0".equals(wrkDetl.getBillNo()) || !wrkDetl.getSeqNo().equals(0)){
- WaitMatin waitMatin = waitMatinService.selectOne(new EntityWrapper<WaitMatin>().eq("bill_no",wrkDetl.getBillNo()).eq("seq_no",wrkDetl.getSeqNo()));
- if(null != waitMatin && waitMatin.getInQty() >= waitMatin.getQty()){
- waitMatin.setIoStatus(2);
- waitMatin.setModiTime(new Date());
- boolean res = waitMatinService.update(waitMatin, new EntityWrapper<WaitMatin>().eq("bill_no",wrkDetl.getBillNo()).eq("seq_no",wrkDetl.getSeqNo()));
- if(!res){
- exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊鍏ュ簱閫氱煡妗eけ璐ワ紱[workNo={0}],[billNo={1}]", wrkMast.getWrkNo(),wrkDetl.getBillNo());
- }
+
+ // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ====>> 2
+ WaitMatin waitMatin = waitMatinService.selectOne(new EntityWrapper<WaitMatin>().eq("bill_no",wrkDetl.getBillNo()).eq("seq_no",wrkDetl.getSeqNo()));
+ if(null != waitMatin && waitMatin.getInQty() >= waitMatin.getQty()){
+ waitMatin.setIoStatus(2);
+ waitMatin.setModiTime(now);
+ boolean res = waitMatinService.update(waitMatin, new EntityWrapper<WaitMatin>().eq("bill_no",wrkDetl.getBillNo()).eq("seq_no",wrkDetl.getSeqNo()));
+ if(!res){
+ exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊鍏ュ簱閫氱煡妗eけ璐ワ紱[workNo={0}],[billNo={1}],[seqNo={2}]", wrkMast.getWrkNo(),wrkDetl.getBillNo(),wrkDetl.getSeqNo());
}
}
- //todo:鎻掑叆鍥炴姤妗�
+ //鎻掑叆鍥炴姤妗� insert ====>> io_complete
if("Y".equals(wrkMast.getLinkMis())){
-
+ IoComplete ioComplete = new IoComplete();
+ ioComplete.setBillNo(wrkDetl.getBillNo());
+ ioComplete.setSeqNo(wrkDetl.getSeqNo());
+ ioComplete.setTaskType(1);//鍏ュ簱
+ ioComplete.setLocNo(wrkMast.getLocNo());
+ ioComplete.setZpallet(wrkMast.getBarcode());
+ ioComplete.setMatNo(wrkDetl.getMatNo());
+ ioComplete.setMatName(wrkDetl.getMatName());
+ ioComplete.setQty(wrkDetl.getQty());
+ ioComplete.setUpdStatus(0);//涓婃姤鐘舵�侊紝寰呭鐞�
+ ioComplete.setModiTime(now);
+ ioComplete.setAppeTime(now);
+ boolean res = ioCompleteService.insert(ioComplete);
+ if(!res){
+ exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鎻掑叆鍥炴姤閫氱煡妗eけ璐ワ紱[workNo={0}],[billNo={1}],[seqNo={2}]", wrkMast.getWrkNo(),wrkDetl.getBillNo(),wrkDetl.getSeqNo());
+ }
}
-// try {
-// WaitPakin setParam = new WaitPakin();
-// setParam.setIoStatus("Y");
-// boolean updateRes = waitPakinService.update(setParam
-// , new EntityWrapper<WaitPakin>().eq("zpallet", wrkDetl.getZpallet())
-// .eq("mat_no", wrkDetl.getMatNo())
-// .eq("qty", wrkDetl.getQty()));
-// if (!updateRes && updateRes) {
-// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊鍏ュ簱閫氱煡妗eけ璐ワ紱[workNo={0}]", wrkMast.getWrkNo());
-// }
-// } catch (Exception ignore){}
}
// 淇敼搴撲綅鐘舵�� S ====>> F
@@ -150,7 +165,37 @@
if (!locDetlService.updateAnfme(locDetl.getQty() - wrkDetl.getQty(), locMast.getLocNo(), wrkDetl.getMatNo())) {
exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
}
- // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� iostatus ==> Y
+
+ // 鏇存柊鍑哄簱閫氱煡妗� ioStatus ====>> 2
+ WaitMatout waitMatout = waitMatoutService.selectOne(new EntityWrapper<WaitMatout>().eq("bill_no",wrkDetl.getBillNo()).eq("seq_no",wrkDetl.getSeqNo()));
+ if(null != waitMatout && waitMatout.getOutQty() >= waitMatout.getQty()){
+ waitMatout.setIoStatus(2);
+ waitMatout.setModiTime(now);
+ boolean res = waitMatoutService.update(waitMatout, new EntityWrapper<WaitMatout>().eq("bill_no",wrkDetl.getBillNo()).eq("seq_no",wrkDetl.getSeqNo()));
+ if(!res){
+ exceptionHandle("鎷f枡鍑哄簱 ===>> 鏇存柊鍑哄簱閫氱煡妗eけ璐ワ紱[workNo={0}],[billNo={1}],[seqNo={2}]", wrkMast.getWrkNo(),wrkDetl.getBillNo(),wrkDetl.getSeqNo());
+ }
+ }
+
+ //鎻掑叆鍥炴姤妗� insert ====>> io_complete
+ if("Y".equals(wrkMast.getLinkMis())){
+ IoComplete ioComplete = new IoComplete();
+ ioComplete.setBillNo(wrkDetl.getBillNo());
+ ioComplete.setSeqNo(wrkDetl.getSeqNo());
+ ioComplete.setTaskType(2);//鍑哄簱
+ ioComplete.setLocNo(wrkMast.getLocNo());
+ ioComplete.setZpallet(wrkMast.getBarcode());
+ ioComplete.setMatNo(wrkDetl.getMatNo());
+ ioComplete.setMatName(wrkDetl.getMatName());
+ ioComplete.setQty(wrkDetl.getQty());
+ ioComplete.setUpdStatus(0);//涓婃姤鐘舵�侊紝寰呭鐞�
+ ioComplete.setModiTime(now);
+ ioComplete.setAppeTime(now);
+ boolean res = ioCompleteService.insert(ioComplete);
+ if(!res){
+ exceptionHandle("鎷f枡鍑哄簱 ===>> 鎻掑叆鍥炴姤閫氱煡妗eけ璐ワ紱[workNo={0}],[billNo={1}],[seqNo={2}]", wrkMast.getWrkNo(),wrkDetl.getBillNo(),wrkDetl.getSeqNo());
+ }
+ }
}
}
// 淇敼搴撲綅鐘舵�� Q ====>> F
@@ -188,7 +233,38 @@
exceptionHandle("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[matNo={1}]", wrkMast.getWrkNo(), wrkDetl.getMatNo());
}
}
- // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y
+
+ // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ====>> 2
+ WaitMatin waitMatin = waitMatinService.selectOne(new EntityWrapper<WaitMatin>().eq("bill_no",wrkDetl.getBillNo()).eq("seq_no",wrkDetl.getSeqNo()));
+ if(null != waitMatin && waitMatin.getInQty() >= waitMatin.getQty()){
+ waitMatin.setIoStatus(2);
+ waitMatin.setModiTime(now);
+ boolean res = waitMatinService.update(waitMatin, new EntityWrapper<WaitMatin>().eq("bill_no",wrkDetl.getBillNo()).eq("seq_no",wrkDetl.getSeqNo()));
+ if(!res){
+ exceptionHandle("骞舵澘鍏ュ簱 ===>> 鏇存柊鍏ュ簱閫氱煡妗eけ璐ワ紱[workNo={0}],[billNo={1}],[seqNo={2}]", wrkMast.getWrkNo(),wrkDetl.getBillNo(),wrkDetl.getSeqNo());
+ }
+ }
+
+ //鎻掑叆鍥炴姤妗� insert ====>> io_complete
+ if("Y".equals(wrkMast.getLinkMis())){
+ IoComplete ioComplete = new IoComplete();
+ ioComplete.setBillNo(wrkDetl.getBillNo());
+ ioComplete.setSeqNo(wrkDetl.getSeqNo());
+ ioComplete.setTaskType(1);//鍏ュ簱
+ ioComplete.setLocNo(wrkMast.getLocNo());
+ ioComplete.setZpallet(wrkMast.getBarcode());
+ ioComplete.setMatNo(wrkDetl.getMatNo());
+ ioComplete.setMatName(wrkDetl.getMatName());
+ ioComplete.setQty(wrkDetl.getQty());
+ ioComplete.setUpdStatus(0);//涓婃姤鐘舵�侊紝寰呭鐞�
+ ioComplete.setModiTime(now);
+ ioComplete.setAppeTime(now);
+ boolean res = ioCompleteService.insert(ioComplete);
+ if(!res){
+ exceptionHandle("骞舵澘鍏ュ簱 ===>> 鎻掑叆鍥炴姤閫氱煡妗eけ璐ワ紱[workNo={0}],[billNo={1}],[seqNo={2}]", wrkMast.getWrkNo(),wrkDetl.getBillNo(),wrkDetl.getSeqNo());
+ }
+ }
+
}
// 淇敼搴撲綅鐘舵�� Q ====>> F
if (locMast.getLocSts().equals("Q")) {
@@ -208,7 +284,6 @@
if (wrkDetls57.isEmpty()) {
exceptionHandle("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
}
- // todo:luxiaotao 3)淇敼鐩樼偣閫氱煡妗� status ==> Y
// 淇敼搴撲綅鐘舵�� Q ====>> F
if (locMast.getLocSts().equals("Q")) {
locMast.setLocSts("F");
@@ -232,7 +307,6 @@
exceptionHandle("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={0}],[鐩爣搴撲綅={1}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo());
}
}
- // todo:luxiaotao 3)淇敼鐩樼偣閫氱煡妗� status ==> Y
// 淇敼婧愬簱浣嶇姸鎬� ==> O
LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
if (null != sourceLoc) {
@@ -286,7 +360,35 @@
exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
}
for (WrkDetl wrkDetl : wrkDetls101) {
- // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y
+ WaitMatout waitMatout = waitMatoutService.selectOne(new EntityWrapper<WaitMatout>().eq("bill_no",wrkDetl.getBillNo()).eq("seq_no",wrkDetl.getSeqNo()));
+ if(null != waitMatout && waitMatout.getOutQty() >= waitMatout.getQty()){
+ waitMatout.setIoStatus(2);
+ waitMatout.setModiTime(now);
+ boolean res = waitMatoutService.update(waitMatout, new EntityWrapper<WaitMatout>().eq("bill_no",wrkDetl.getBillNo()).eq("seq_no",wrkDetl.getSeqNo()));
+ if(!res){
+ exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊鍑哄簱閫氱煡妗eけ璐ワ紱[workNo={0}],[billNo={1}],[seqNo={2}]", wrkMast.getWrkNo(),wrkDetl.getBillNo(),wrkDetl.getSeqNo());
+ }
+ }
+
+ //鎻掑叆鍥炴姤妗� insert ====>> io_complete
+ if("Y".equals(wrkMast.getLinkMis())){
+ IoComplete ioComplete = new IoComplete();
+ ioComplete.setBillNo(wrkDetl.getBillNo());
+ ioComplete.setSeqNo(wrkDetl.getSeqNo());
+ ioComplete.setTaskType(2);//鍑哄簱
+ ioComplete.setLocNo(wrkMast.getLocNo());
+ ioComplete.setZpallet(wrkMast.getBarcode());
+ ioComplete.setMatNo(wrkDetl.getMatNo());
+ ioComplete.setMatName(wrkDetl.getMatName());
+ ioComplete.setQty(wrkDetl.getQty());
+ ioComplete.setUpdStatus(0);//涓婃姤鐘舵�侊紝寰呭鐞�
+ ioComplete.setModiTime(now);
+ ioComplete.setAppeTime(now);
+ boolean res = ioCompleteService.insert(ioComplete);
+ if(!res){
+ exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鎻掑叆鍥炴姤閫氱煡妗eけ璐ワ紱[workNo={0}],[billNo={1}],[seqNo={2}]", wrkMast.getWrkNo(),wrkDetl.getBillNo(),wrkDetl.getSeqNo());
+ }
+ }
}
// 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
diff --git a/src/main/java/com/zy/ints/task/WaitMatinLogScheduler.java b/src/main/java/com/zy/ints/task/WaitMatinLogScheduler.java
new file mode 100644
index 0000000..2a629bc
--- /dev/null
+++ b/src/main/java/com/zy/ints/task/WaitMatinLogScheduler.java
@@ -0,0 +1,35 @@
+package com.zy.ints.task;
+
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.ints.entity.WaitMatin;
+import com.zy.ints.task.handler.WaitMatinLogHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 鍏ュ簱閫氱煡妗h浆鍘嗗彶妗�
+ * Created by TQS on 2021/8/31
+ */
+@Component
+public class WaitMatinLogScheduler {
+ private static final Logger log = LoggerFactory.getLogger(WaitMatinLogScheduler.class);
+
+ @Autowired
+ private WaitMatinLogHandler waitMatinLogHandler;
+
+ @Scheduled(cron = "0/3 * * * * ? ")
+ private void execute(){
+ List<WaitMatin> WaitMatins = null;
+ for (WaitMatin waitMatin : WaitMatins) {
+ ReturnT<String> result = waitMatinLogHandler.start(waitMatin);
+ if (!result.isSuccess()) {
+ log.error("鍏ュ簱閫氱煡妗billNo={}],[seqNo={}]鍘嗗彶妗e鐞嗗け璐�", waitMatin.getBillNo(),waitMatin.getSeqNo());
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/zy/ints/task/handler/WaitMatinLogHandler.java b/src/main/java/com/zy/ints/task/handler/WaitMatinLogHandler.java
new file mode 100644
index 0000000..3f3730b
--- /dev/null
+++ b/src/main/java/com/zy/ints/task/handler/WaitMatinLogHandler.java
@@ -0,0 +1,43 @@
+package com.zy.ints.task.handler;
+
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.ints.entity.WaitMatin;
+import com.zy.ints.service.WaitMatinLogService;
+import com.zy.ints.service.WaitMatinService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+/**
+ * 鍏ュ簱閫氱煡妗h浆鍘嗗彶妗�
+ * Created by TQS on 2021/8/31
+ */
+@Service
+public class WaitMatinLogHandler extends AbstractHandler<String> {
+
+ @Autowired
+ WaitMatinService waitMatinService;
+ @Autowired
+ WaitMatinLogService waitMatinLogService;
+
+ @Transactional
+ public ReturnT<String> start(WaitMatin waitMatin){
+ try {
+ // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+// if (!WaitMatinLogService.save(waitMatin.getBillNo(),waitMatin.getSeqNo())) {
+// exceptionHandle("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
+// }
+// // 鍒犻櫎宸ヤ綔涓绘。
+// if (!wrkMastService.deleteById(wrkMast)) {
+// exceptionHandle("鍒犻櫎宸ヤ綔涓绘。[workNo={0}]澶辫触", wrkMast.getWrkNo());
+// }
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg(e.getMessage());
+ }
+ return SUCCESS;
+ }
+}
--
Gitblit v1.9.1