From 2ded9514aa9a93ee440af0b1437d788fb052028b Mon Sep 17 00:00:00 2001 From: pjb <pjb123456> Date: 星期六, 23 八月 2025 08:36:59 +0800 Subject: [PATCH] wms功能完善 --- src/main/java/com/zy/common/web/WcsController.java | 95 ++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 93 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java index be0c951..5a1e540 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -93,7 +93,14 @@ if (Cools.isEmpty(param.getSourceStaNo())) { return R.error("婧愮珯缂栧彿涓嶈兘涓虹┖"); } - WaitPakin waitPakin = null; + + WaitPakin waitPakin; + // 鍒ゆ柇鏄笉鏄垚鍝佸叆搴� + waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>(). + eq("zpallet", param.getBarcode()).eq("danger", 1)); + if (waitPakin != null) { + param.setIoType(0); + } if (param.getIoType() == 1) { // 鍏堝垱寤哄叆搴撻�氱煡妗� waitPakin = comb(param.getBarcode(),param.getBucketType(),param.getBucketCount()); @@ -144,6 +151,9 @@ } switch (param.getIoType()) { + case 0: // 鎴愬搧鍏ュ簱 + dto = finishedProductIn(param.getSourceStaNo(), param.getBarcode(), waitPakin); + break; case 1://婊℃墭鐩樺叆搴� assert waitPakin != null; dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakin, param.isTailSupportFlag()); @@ -794,7 +804,7 @@ wrkMast.setExitMk("N"); // 閫�鍑� wrkMast.setEmptyMk("N"); // 绌烘澘 wrkMast.setLinkMis("Y"); - wrkMast.setCtnType(tailSupportFlag ? 1 : 0); // 灏炬墭鏍囪瘑 + wrkMast.setCtnType(0); // 灏炬墭鏍囪瘑 wrkMast.setPdcType(waitPakins.getMatnr()); // 绌烘《绫诲瀷 // 鎿嶄綔浜哄憳鏁版嵁 wrkMast.setAppeTime(now); @@ -829,6 +839,87 @@ if (!basDevpService.updateById(sourceStaNo)){ throw new CoolException("鏇存柊婧愮珯澶辫触"); } + if(!dto.getLocNo().isEmpty()) { + // 鏇存柊鐩爣搴撲綅鐘舵�� + LocMast locMast = locMastService.selectById(dto.getLocNo()); + if (locMast.getLocSts().equals("O")){ + locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)){ + throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); + } + } else { + throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤"); + } + } + + return dto; + } + + /** + * 鎴愬搧鍏ュ簱 + */ + @Transactional(propagation = Propagation.REQUIRED) + public StartupDto finishedProductIn(Integer devpNo, String barcode, WaitPakin waitPakins) { + // 婧愮珯鐐圭姸鎬佹娴� + BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); + // 妫�绱㈠簱浣� + FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins); + StartupDto dto = commonService.getLocNoNew( 1, devpNo,findLocNoAttributeVo,1); + int workNo = dto.getWorkNo(); + Date now = new Date(); + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(new Date()); + wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID + wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱 + wrkMast.setIoPri(13D); // 浼樺厛绾� + wrkMast.setCrnNo(dto.getCrnNo()); + wrkMast.setSourceStaNo(dto.getSourceStaNo()); + wrkMast.setStaNo(dto.getStaNo()); + wrkMast.setLocNo(dto.getLocNo()); + wrkMast.setBarcode(barcode); // 鎵樼洏鐮� + wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("N"); // 绌烘澘 + wrkMast.setLinkMis("Y"); +// wrkMast.setCtnType(tailSupportFlag ? 1 : 0); // 灏炬墭鏍囪瘑 + wrkMast.setPdcType(waitPakins.getModel()); // 绌烘《绫诲瀷 + // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast.setAppeTime(now); + wrkMast.setModiTime(now); + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + // 鐢熸垚宸ヤ綔妗f槑缁� + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(waitPakins); + wrkDetl.setWrkNo(wrkMast.getWrkNo()); + wrkDetl.setIoTime(wrkMast.getIoTime()); + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); + } + // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y + Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>() + .eq("zpallet", barcode); + WaitPakin setParam = new WaitPakin(); + setParam.setLocNo(dto.getLocNo()); + setParam.setIoStatus("Y"); + setParam.setModiTime(now); + if (!waitPakinService.update(setParam, wrapper)) { + throw new CoolException("鏇存柊閫氱煡妗eけ璐�"); + } + // 鏇存柊婧愮珯鐐逛俊鎭� + sourceStaNo.setWrkNo(workNo); + sourceStaNo.setModiTime(now); + if (!basDevpService.updateById(sourceStaNo)){ + throw new CoolException("鏇存柊婧愮珯澶辫触"); + } // 鏇存柊鐩爣搴撲綅鐘舵�� LocMast locMast = locMastService.selectById(dto.getLocNo()); if (locMast.getLocSts().equals("O")){ -- Gitblit v1.9.1