From 7a8d6ce7fa5acb83b63d184229505113fa60f402 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 12 十二月 2023 19:55:13 +0800
Subject: [PATCH] #找库位V2拣料回库
---
src/main/java/com/zy/common/web/WcsController.java | 62 +++++++++++++++++++++++++++++++
1 files changed, 62 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 10d690a..4f3ee00 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -113,6 +113,8 @@
dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode(), 2);
break;
case 103:// 鎷f枡鍏ュ簱
+ dto = pickWrkIn(param.getWrkNo(), param.getIoType(), param.getSourceStaNo(), locTypeDto, 2);
+ break;
case 104:// 骞舵澘鍏ュ簱
case 107:// 鐩樼偣鍏ュ簱
dto = pickWrkPlateIn(param.getWrkNo(), param.getIoType(), param.getSourceStaNo(), locTypeDto, 2);
@@ -421,6 +423,66 @@
return dto;
}
+ @Transactional
+ public StartupDto pickWrkIn(Integer wrkNo, Integer ioType, Integer devpNo, LocTypeDto locTypeDto, Integer version) {
+ WrkMast wrkMast = wrkMastService.selectOfPick(wrkNo, ioType);
+ if (Cools.isEmpty(wrkMast)) {
+ log.error("{}浠诲姟銆恑oType = {}銆戝凡杩囨湡!!!", wrkNo, ioType);
+ throw new CoolException(CodeRes.NONE_MAST_800);
+ }
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ if (Cools.isEmpty(wrkDetls)) {
+ throw new CoolException(CodeRes.NONE_DETL_900);
+ }
+ // 妫�绱㈠簱浣�
+ List<String> matnrList = wrkDetls.stream().map(WrkDetl::getMatnr).distinct().collect(Collectors.toList());
+ if (ioType == 103) {//鎷f枡浠诲姟
+ if (devpNo == 325 || devpNo == 331 || devpNo == 333 || devpNo == 339) {
+ devpNo = 341;
+ }
+ }
+ StartupDto dto = commonService.getShuttleLocNo( ioType - 50, devpNo, matnrList, locTypeDto);//鑾峰彇搴撲綅
+
+ // 鏇存柊鐩爣搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectById(dto.getLocNo());
+ if (locMast.getLocSts().equals("O")) {
+ locMast.setLocSts("Q"); // Q.鎷f枡鍐嶅叆搴�
+ locMast.setModiTime(new Date());
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
+ }
+
+ List<LocDetl> locDetls = locDetlService.selectByLocNo(wrkMast.getSourceLocNo());
+ if (locDetls.isEmpty()) {
+ throw new CoolException("搴撳瓨鏄庣粏涓嶅瓨鍦�");
+ }
+ Date now = new Date();
+ for (LocDetl locDetl : locDetls) {
+ locDetl.setLocNo(dto.getLocNo());//淇敼鐩爣搴撲綅
+ locDetl.setAppeTime(now);
+ locDetl.setModiTime(now);
+ if (!locDetlService.insert(locDetl)) {
+ throw new CoolException("搴撳瓨鏄庣粏鏇存柊澶辫触");
+ }
+ }
+
+ //娓呯┖婧愬簱浣嶆暟鎹�
+ LocMast locMast1 = locMastService.selectByLoc(wrkMast.getSourceLocNo());
+ if (locMast1.getLocSts().equals("P")) {
+ locMast1.setLocSts("O"); // 娓呯┖搴撲綅
+ locMast1.setModiTime(new Date());
+ if (!locMastService.updateById(locMast1)) {
+ throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+ }
+ }else {
+ throw new CoolException("婧愬簱浣嶇姸鎬佸紓甯�");
+ }
+ return dto;
+ }
+
/*
鍥涢」搴撳線AGV琛ヨ揣锛岀敓鎴怉GV鍏ュ簱閫氱煡妗�
*/
--
Gitblit v1.9.1