From 5844c2de726071f8500b778284fbcabb7fb1c430 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期四, 09 一月 2025 13:04:27 +0800
Subject: [PATCH] #盘点重新找库位BUG修复
---
src/main/java/com/zy/common/web/WcsController.java | 52 +++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 39 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 1ee123a..53ca653 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -22,6 +22,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
@@ -344,33 +345,34 @@
* 浠诲姟涓柇,4-鏀捐揣
* 瀹屾垚,8-浠诲姟缁撴潫
*/
+
if (statusParam.getTaskStatus() == 0) {
//鎷f枡鍜岀洏鐐瑰啀鍏ュ簱鍒ゆ柇
if ((wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) && wrkMast.getWrkSts() == 14) {
-// LocDetl locDetl = locDetlService.selectItemByLocNo(wrkMast.getSourceLocNo());
-// List<WrkDetl> wrkDetl = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
String sourcecLocNo = wrkMast.getSourceLocNo();
-// // 鑾峰彇鍚庝袱浣嶇殑灞傛暟
-// String layerStr = sourcecLocNo.substring(sourcecLocNo.length() - 2);
-// int layer = Integer.parseInt(layerStr);
-// // 鍒ゆ柇灞傛暟
-// Short locType1 = (short) ((layer == 1) ? 1 : 2);
-// LocTypeDto locTypeDto = new LocTypeDto();
-// locTypeDto.setLocType1(locType1);
-// StartupDto dto = commonService.getLocNoRunPick(4, 1, 101, wrkDetl.get(0).getMatnr(), wrkDetl.get(0).getBatch(), null, 4, locTypeDto, 2);
+ // 鑾峰彇鍚庝袱浣嶇殑灞傛暟
+ String layerStr = sourcecLocNo.substring(sourcecLocNo.length() - 2);
+ int layer = Integer.parseInt(layerStr);
+ // 鍒ゆ柇灞傛暟
+ Short locType1 = (short) ((layer == 1) ? 1 : 2);
+ LocTypeDto locTypeDto = new LocTypeDto();
+ locTypeDto.setLocType1(locType1);
+ //娉ㄦ剰涓�涓澘鍙兘鏀惧悓涓�绉嶇墿鏂�
+ StartupDto dto = commonService.getLocNoRunPick(4, 1, 101, wrkDetls.get(0).getMatnr(), wrkDetls.get(0).getBatch(), null, 4, locTypeDto, 2);
Date now = new Date();
wrkMast.setIoTime(now);
wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
wrkMast.setWrkSts(1L);//1.宸叉帴鏀�
wrkMast.setSourceStaNo(101); // 婧愮珯
wrkMast.setStaNo(null); // 鐩爣绔�
- wrkMast.setLocNo(sourcecLocNo); // 鐩爣搴撲綅
- wrkMast.setSourceLocNo("");
+ wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅
+ wrkMast.setSourceLocNo(sourcecLocNo);
wrkMast.setModiTime(now);
wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now);
// 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
- LocMast locMast2 = locMastService.selectById(sourcecLocNo);
+ LocMast locMast2 = locMastService.selectById(dto.getLocNo());
locMast2.setLocSts("Q");
locMast2.setModiTime(new Date());
if (!locMastService.updateById(locMast2)) {
@@ -390,6 +392,30 @@
if (wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 11 || wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57) {
wrkMast.setWrkSts(4L);//4.鍏ュ簱瀹屾垚
} else if (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) {
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ String sourcecLocNo = wrkMast.getSourceLocNo();
+ //鏇存柊宸ヤ綔鏄庣粏骞舵竻绌烘簮搴撲綅
+ for (WrkDetl wrkDetl : wrkDetls){
+ LocDetl locDetl = locDetlService.selectItem(wrkMast.getSourceLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+ if (null != locDetl && wrkMast.getIoType() == 103) {
+ if (!wrkDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(),wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ throw new CoolException("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+ }
+ }else if(wrkMast.getIoType() == 107){
+ if (!wrkDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ throw new CoolException("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+ }
+ }
+ }
+ LocMast locMast1 = locMastService.selectById(sourcecLocNo);
+ locMast1.setLocSts("O");
+ locMast1.setModiTime(new Date());
+ if (!locMastService.updateById(locMast1)) {
+
+ throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
+ }
wrkMast.setWrkSts(14L);//14.宸插嚭搴撴湭纭
} else if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 110) {
wrkMast.setWrkSts(7L);//7.鍑哄簱瀹屾垚
--
Gitblit v1.9.1