From e3737af2c4fb3653df90f1f9a8059f0041c6bcf0 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 26 五月 2023 16:33:04 +0800
Subject: [PATCH] 解决拉取地图缓慢问题
---
src/main/java/com/zy/common/web/WcsController.java | 43 +++++++++++++++++++++++++++++++++++++------
1 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index be4d849..48cb33c 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -90,6 +90,11 @@
case 10://绌烘墭鐩樺叆搴�
dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode());
break;
+ case 103:// 鎷f枡鍏ュ簱
+ case 104:// 骞舵澘鍏ュ簱
+ case 107:// 鐩樼偣鍏ュ簱
+ dto = pickWrkPlateIn(param.getWrkNo(), param.getIoType(), param.getSourceStaNo(), locTypeDto);
+ break;
default:
break;
}
@@ -107,7 +112,7 @@
BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
// 妫�绱㈠簱浣�
List<String> matNos = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
- StartupDto dto = commonService.getLocNo(1, 1, devpNo, matNos, locTypeDto,0);
+ StartupDto dto = commonService.getLocNo(1, 1, devpNo, matNos, locTypeDto);
int workNo = dto.getWorkNo();
Date now = new Date();
// 鐢熸垚宸ヤ綔妗�
@@ -116,9 +121,10 @@
wrkMast.setIoTime(new Date());
wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
- wrkMast.setIoPri(13D); // 浼樺厛绾�
+ Double ioPri = wrkMastService.getIoPri(1, dto.getLocNo());
+ wrkMast.setIoPri(ioPri); // 浼樺厛绾�
wrkMast.setCrnNo(dto.getCrnNo());
- wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo())?1:0);;
+ wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);;
wrkMast.setSourceStaNo(dto.getSourceStaNo());
wrkMast.setStaNo(dto.getStaNo());
wrkMast.setLocNo(dto.getLocNo());
@@ -132,12 +138,19 @@
// 鎿嶄綔浜哄憳鏁版嵁
wrkMast.setAppeTime(now);
wrkMast.setModiTime(now);
+
+ if(waitPakins.size()>0) {
+ WaitPakin one = waitPakins.get(0);
+ wrkMast.setFrozen(one.getFrozen());
+ wrkMast.setMemo(one.getMemo());
+ }
boolean res = wrkMastService.insert(wrkMast);
if (!res) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
// 鐢熸垚宸ヤ綔妗f槑缁�
waitPakins.forEach(waitPakin -> {
+ waitPakin.setBatch("");
WrkDetl wrkDetl = new WrkDetl();
wrkDetl.sync(waitPakin);
wrkDetl.setWrkNo(wrkMast.getWrkNo());
@@ -182,7 +195,7 @@
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
// 妫�绱㈠簱浣�
- StartupDto dto = commonService.getLocNo(1, 10, devpNo, null, locTypeDto,0);
+ StartupDto dto = commonService.getLocNo(1, 10, devpNo, null, locTypeDto);
int workNo = dto.getWorkNo();
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
@@ -190,8 +203,9 @@
wrkMast.setIoTime(new Date());
wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
- wrkMast.setIoPri(13D); // 浼樺厛绾�
- wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo())?1:0);;
+ Double ioPri = wrkMastService.getIoPri(10, dto.getLocNo());
+ wrkMast.setIoPri(ioPri); // 浼樺厛绾�
+ wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);;
wrkMast.setCrnNo(dto.getCrnNo());
wrkMast.setSourceStaNo(dto.getSourceStaNo());
wrkMast.setStaNo(dto.getStaNo());
@@ -202,6 +216,7 @@
wrkMast.setEmptyMk("Y"); // 绌烘澘
wrkMast.setLinkMis("Y");
wrkMast.setBarcode(barcode);
+// wrkMast.setSteNo(findSte(wrkMast.getLocNo()));
wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
// 鎿嶄綔浜哄憳鏁版嵁
wrkMast.setAppeTime(new Date());
@@ -230,4 +245,20 @@
return dto;
}
+ @Transactional
+ public StartupDto pickWrkPlateIn(Integer wrkNo, Integer ioType, Integer devpNo, LocTypeDto locTypeDto) {
+ 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());
+ return commonService.getLocNo(1, ioType - 50, devpNo, matnrList, locTypeDto); // 搴撲綅鍙凤紝 鍫嗗灈鏈猴紝鐩爣绔�
+ }
+
}
--
Gitblit v1.9.1