From 08b4403ec8d6b69528d161cfcad80b5d64dea76c Mon Sep 17 00:00:00 2001 From: Administrator <876263681@qq.com> Date: 星期三, 02 七月 2025 15:12:43 +0800 Subject: [PATCH] #优化库位检索 --- src/main/java/com/zy/common/web/WcsController.java | 41 +++++++++++++++++++++++++++++++++++------ 1 files changed, 35 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 2bfec11..3015925 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -49,6 +49,8 @@ private RowLastnoService rowLastnoService; @Autowired private WorkService workService; + @Autowired + private BasCrnpService basCrnpService; @PostMapping("/pakin/loc/v1") @ResponseBody @@ -71,7 +73,7 @@ if (wrkMast != null && wrkMast.getIoType() == 103) { return R.parse(CodeRes.PICK_600); } - return R.parse(CodeRes.NO_COMB_700); + return R.error(param.getBarcode() + "姝ゆ潯鐮佹湭缁勬墭锛岃鍏堢粍鎵橈紒"); } int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())); @@ -81,6 +83,10 @@ } if (Cools.isEmpty(param.getLocType1())){ return R.error("楂樹綆妫�娴嬩俊鍙蜂笉鑳戒负绌�"); + } + if(param.getSourceStaNo() == 201){ + param.setLocType1((short) 2); + log.info("2妤肩珯鐐瑰叆搴撻珮搴撲綅:{}", param); } // 婧愮珯鐐圭姸鎬佹娴� @@ -95,7 +101,7 @@ dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakins); break; case 10://绌烘墭鐩樺叆搴� - dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode()); + dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode(),param.isFull()); break; default: break; @@ -161,7 +167,18 @@ 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); + int rowCount = rowLastnoService.selectCount(null); + Integer integer = 2; + for (int i = 1; i <= rowCount; i++) { + integer = rowLastnoService.selectNextWhsType(); + BasCrnp crn_no = basCrnpService.selectOne(new EntityWrapper<BasCrnp>() + .eq("crn_no", integer)); + if (crn_no.getInEnable().equals("Y") && crn_no.getCrnSts() == 3){ + break; + } + } + + StartupDto dto = commonService.getLocNo(integer, 1, devpNo, matNos, locTypeDto,0); int workNo = dto.getWorkNo(); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� @@ -232,11 +249,22 @@ } @Transactional - public StartupDto emptyPlateIn(Integer devpNo, LocTypeDto locTypeDto, String barcode) { + public StartupDto emptyPlateIn(Integer devpNo, LocTypeDto locTypeDto, String barcode,boolean isFull) { // 婧愮珯鐐圭姸鎬佹娴� BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); + int rowCount = rowLastnoService.selectCount(null); + Integer integer = 2; + for (int i = 1; i <= rowCount; i++) { + integer = rowLastnoService.selectNextWhsType(); + BasCrnp crn_no = basCrnpService.selectOne(new EntityWrapper<BasCrnp>() + .eq("crn_no", integer)); + if (crn_no.getInEnable().equals("Y") + && crn_no.getCrnSts() == 3){ + break; + } + } // 妫�绱㈠簱浣� - StartupDto dto = commonService.getLocNo(1, 10, devpNo, null, locTypeDto,0); + StartupDto dto = commonService.getLocNo(integer, 10, devpNo, null, locTypeDto,0); int workNo = dto.getWorkNo(); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); @@ -249,7 +277,8 @@ wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo()); wrkMast.setLocNo(dto.getLocNo()); - wrkMast.setFullPlt("N"); // 婊℃澘 + wrkMast.setFullPlt(isFull?"Y":"N"); // 婊℃澘 +//// wrkMast.setFullPlt("N"); // 婊℃澘 wrkMast.setPicking("N"); // 鎷f枡 wrkMast.setExitMk("N"); // 閫�鍑� wrkMast.setEmptyMk("Y"); // 绌烘澘 -- Gitblit v1.9.1