From a1794b0884e26fb05a4cc22e346676a081f393b5 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期三, 06 九月 2023 15:43:38 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 225 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 187 insertions(+), 38 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 aedd638..f2f97af 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -1,14 +1,22 @@
package com.zy.asrs.task.handler;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
+import com.core.common.DateUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.CombParam;
+import com.zy.asrs.mapper.ReportQueryMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.PostMesDataUtils;
+import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -36,6 +44,20 @@
private TestMastService testMastService;
@Autowired
private OrderDetlService orderDetlService;
+ @Autowired
+ private WaitPakinService waitPakinService;
+ @Autowired
+ private ApiLogService apiLogService;
+ @Value("${mes.url}")
+ private String mesUrl;
+
+ @Value("${mes.inPath}")
+ private String inpath;
+
+ @Autowired
+ private PackQualifiedService packQualifiedService;
+ @Autowired
+ private ReportQueryMapper reportQueryMapper;
public ReturnT<String> start(WrkMast wrkMast) {
// 4.鍏ュ簱瀹屾垚
@@ -116,19 +138,19 @@
}
}
- // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
- OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
- try {
- if(!Cools.isEmpty(orderDetl)){
- if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- wrkDetl.getBatch(),wrkDetl.getAnfme())){
-// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
-// wrkMast.getWrkNo(), wrkMast.getLocNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
- }
- }
- } catch (Exception ignore){}
+// // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+// OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+// try {
+// if(!Cools.isEmpty(orderDetl)){
+// if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+// wrkDetl.getBatch(),wrkDetl.getAnfme())){
+//// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+//// wrkMast.getWrkNo(), wrkMast.getLocNo());
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+// return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+// }
+// }
+// } catch (Exception ignore){}
}
// 淇敼搴撲綅鐘舵�� S ====>> F
@@ -138,7 +160,42 @@
locMast.setIoTime(now);
locMast.setModiTime(now);
locMast.setFireStatus(0);
- locMast.setPackStatus(1);
+ if (locMast.getCrnNo()==1){
+ if (locMast.getLocType1()==1){
+ locMast.setPackStatus(1);
+ }else {
+ locMast.setPackStatus(0);
+ }
+ }else {
+ WrkDetl wrkDetl1 = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("zpallet",locMast.getBarcode()));
+ locMast.setPackStatus(5);
+ TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
+ .eq("barcode",wrkDetl1.getMatnr())
+ .eq("status",4)
+ );
+ testMast.setStatus(5);
+ testMast.setModiTime(new Date());
+ if (!testMastService.update(testMast,new EntityWrapper<TestMast>().eq("barcode",wrkDetl1.getMatnr()).eq("status",4))){
+ throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�");
+ }
+ }
+ //鍏ュ簱鏍囪
+ packQualifiedService.insertPackQualified(true,new Date(),wrkDetls.get(0).getMatnr());
+ //2.鍏ュ簱瀹屾垚涓婃姤
+ CombParam combParam = new CombParam();
+ combParam.setPackNo(wrkDetls.get(0).getMatnr());
+ combParam.setLocNo(wrkMast.getLocNo());
+ combParam.setBarcode(wrkMast.getBarcode());
+ if (locMast.getCrnNo()==1){
+ combParam.setPackSts(0);
+ combParam.setStepSts(2);
+ }else{
+ combParam.setPackSts(1);
+ combParam.setStepSts(5);
+ }
+
+ combParam.setRequestTime(DateUtils.convert(now));
+ new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
if (!locMastService.updateById(locMast)) {
// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -285,7 +342,6 @@
sourceLoc.setLocSts("O");
sourceLoc.setModiTime(now);
sourceLoc.setIoTime(now);
- sourceLoc.setFireStatus(0);
sourceLoc.setPackStatus(0);
if (!locMastService.updateById(sourceLoc)) {
// exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
@@ -298,28 +354,89 @@
locMast.setBarcode(wrkMast.getBarcode());
locMast.setIoTime(now);
locMast.setModiTime(now);
- locMast.setFireStatus(0);
- if (locMast.getLocType1()==sourceLoc.getLocType1()){
+ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+
+
+ boolean sign =false;
+ if (locMast.getLocType1().equals(sourceLoc.getLocType1())){
locMast.setPackStatus(packStatus);
+
+ //寰呮祴搴撲綅杞祴璇曞簱浣�
+ }else if (locMast.getLocType1().equals((short)1) && sourceLoc.getLocType1().equals((short)3)){
+ locMast.setPackStatus(1);
+ TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
+ .eq("loc_no",sourceLoc.getLocNo())
+ .eq("user_id",locMast.getBarcode())
+ .eq("barcode",locDetl.getMatnr())
+ );
+ if(!Cools.isEmpty(testMast)){
+ testMast.setChannel(locMast.getChannel());
+ testMast.setLocNo(wrkMast.getLocNo());
+ testMast.setModiTime(new Date());
+ testMast.setBarcode(locDetl.getMatnr());
+ if (!testMastService.update(testMast,new EntityWrapper<TestMast>()
+ .eq("loc_no",sourceLoc.getLocNo())
+ .eq("user_id",locMast.getBarcode())
+ .eq("barcode",locDetl.getMatnr()))){
+ throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�");
+ }
+ }else {
+ throw new CoolException("寰呮祴搴撲綅鏃犵墿");
+ }
+
}else {
- locMast.setPackStatus(4); //4:闈欑疆涓�
- if (locMast.getLocType1()==1 && sourceLoc.getLocType1()==2){
+ //娴嬭瘯搴撲綅杞潤缃簱浣嶅拰NG搴撲綅
+ if (locMast.getLocType1().equals((short)4)){
+ locMast.setPackStatus(4); //4:NG
+ //鍏ュ簱鏍囪
+ packQualifiedService.insertPackQualified(true,new Date(),locDetl.getMatnr());
+ //鍑哄簱鏍囪
+ packQualifiedService.insertPackQualified(false,new Date(),locDetl.getMatnr());
+ }else {
+ locMast.setPackStatus(5); //5:闈欑疆涓�
+ //鍏ュ簱鏍囪
+ packQualifiedService.insertPackQualified(true,new Date(),locDetl.getMatnr());
+ //鍑哄簱鏍囪
+ packQualifiedService.insertPackQualified(false,new Date(),locDetl.getMatnr());
+ }
+ sign=true;
TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
.eq("loc_no",sourceLoc.getLocNo())
- .eq("barcode",locMast.getBarcode())
+ .eq("barcode",locDetl.getMatnr())
.eq("status",4)
);
testMast.setStatus(5);
+ testMast.setLocNo(locMast.getLocNo());
testMast.setModiTime(new Date());
- if (!testMastService.update(testMast,new EntityWrapper<TestMast>().eq("loc_no",sourceLoc.getLocNo()).eq("barcode",locMast.getBarcode()).eq("status",4))){
+ if (!testMastService.update(testMast,new EntityWrapper<TestMast>()
+ .eq("loc_no",sourceLoc.getLocNo())
+ .eq("barcode",locDetl.getMatnr())
+ .eq("status",4))){
throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�");
}
- }
+
}
if (!locMastService.updateById(locMast)) {
// exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+ }
+
+ if (locMast.getCrnNo()==1 && sign){
+ //5.闈欑疆搴撲綅鍏ュ簱瀹屾垚涓婃姤
+ CombParam combParam = new CombParam();
+ combParam.setPackNo(locDetl.getMatnr());
+ combParam.setLocNo(wrkMast.getLocNo());
+ if (locMast.getPackStatus()==4){
+ combParam.setPackSts(2);
+ }else if (locMast.getPackStatus()==5){
+ combParam.setPackSts(1);
+ }else {
+ combParam.setPackSts(0);
+ }
+ combParam.setStepSts(5);
+ combParam.setRequestTime(DateUtils.convert(now));
+ new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
}
break;
default:
@@ -366,21 +483,21 @@
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
}
- for (WrkDetl wrkDetl : wrkDetls101) {
- // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
- OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
- try {
- if(!Cools.isEmpty(orderDetl)){
- if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- wrkDetl.getBatch(),wrkDetl.getAnfme())){
-// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
-// wrkMast.getWrkNo(), wrkMast.getLocNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
- }
- }
- } catch (Exception ignore){}
- }
+// for (WrkDetl wrkDetl : wrkDetls101) {
+// // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+// OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+// try {
+// if(!Cools.isEmpty(orderDetl)){
+// if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+// wrkDetl.getBatch(),wrkDetl.getAnfme())){
+//// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+//// wrkMast.getWrkNo(), wrkMast.getLocNo());
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+// return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+// }
+// }
+// } catch (Exception ignore){}
+// }
// 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
@@ -393,12 +510,43 @@
locMast.setBarcode("");
locMast.setModiTime(now);
locMast.setIoTime(now);
- locMast.setFireStatus(0);
locMast.setPackStatus(0);
if (!locMastService.updateById(locMast)) {
// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+ }else{
+ //鍑哄簱鏍囪
+ packQualifiedService.insertPackQualified(false,new Date(),wrkDetls101.get(0).getMatnr());
+ //2.鍑哄簱瀹屾垚涓婃姤
+ CombParam combParam = new CombParam();
+ combParam.setPackNo(wrkDetls101.get(0).getMatnr());
+ combParam.setLocNo(wrkMast.getLocNo());
+ combParam.setBarcode(wrkMast.getBarcode());
+ //鐩爣绔�206鍑哄簱
+ if(wrkMast.getStaNo()==206){
+ combParam.setPackSts(1);//OK
+ combParam.setStepSts(7);//娴嬭瘯搴撳嚭搴撳畬鎴�
+ }else if(wrkMast.getStaNo()==204){//NG 鍑哄簱
+ //NG鍑哄簱淇敼娴嬭瘯妗g殑鐘舵�佷负5.宸茬Щ搴�
+ TestMast testMast=testMastService.selectOne(new EntityWrapper<TestMast>()
+ .eq("user_id",wrkMast.getBarcode())
+ .eq("barcode",wrkDetls101.get(0).getMatnr()));
+ combParam.setPackSts(2);//NG
+ combParam.setStepSts(8);//NG鍑哄簱瀹屾垚
+ testMast.setStatus(5);
+ if(!testMastService.update(testMast,new EntityWrapper<TestMast>()
+ .eq("user_id",wrkMast.getBarcode())
+ .eq("barcode",wrkDetls101.get(0).getMatnr()))){
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼娴嬭瘯琛ㄧ姸鎬佷负5澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+ }
+ }else if(wrkMast.getStaNo()==103){//鐩爣绔�103鍑哄簱
+ combParam.setPackSts(1);//OK
+ combParam.setStepSts(6);//闈欑疆搴撳嚭搴撳畬鎴�
+ }
+ combParam.setRequestTime(DateUtils.convert(now));
+ new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam);
}
}
break;
@@ -410,6 +558,7 @@
locMast.setBarcode("");
locMast.setModiTime(now);
locMast.setIoTime(now);
+ locMast.setPackStatus(0);
if (!locMastService.updateById(locMast)) {
// exceptionHandle("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
--
Gitblit v1.9.1