From 79f209a5ec9236adfd4576285d50a7b860da7230 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期二, 26 十二月 2023 13:22:12 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/web/WcsController.java | 83 +++++++++++++++++++++++++++++++++++------ 1 files changed, 70 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 d822f05..113b666 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -8,6 +8,7 @@ import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.EmptyPlateOutParam; import com.zy.asrs.service.*; +import com.zy.asrs.utils.Utils; import com.zy.common.CodeRes; import com.zy.common.model.LocTypeDto; import com.zy.common.model.StartupDto; @@ -49,6 +50,8 @@ private RowLastnoService rowLastnoService; @Autowired private WorkService workService; + @Autowired + private BasCrnpService basCrnpService; @PostMapping("/pakin/loc/v1") @ResponseBody @@ -74,7 +77,9 @@ return R.parse(CodeRes.NO_COMB_700); } int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); - int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())); + int countWrk = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("barcode",param.getBarcode()) + .le("io_type",100)); + if (countLoc > 0 || countWrk > 0) { return R.error(CodeRes.EXIST_500); } @@ -111,7 +116,7 @@ BasDevp sourceStaNo = basDevpService.checkSiteStatus(12, true); // 妫�绱㈠簱浣� - StartupDto dto = commonService.getLocNo(rowLastnoService.selectNextWhsType(), 10, 15, null, locTypeDto,0); + StartupDto dto = commonService.getLocNo(rowLastnoService.selectNextWhsType(), 10, 12, null, locTypeDto,0); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); @@ -139,17 +144,42 @@ @PostMapping("auto/emptyOut/v1") @ResponseBody - public R autoEmptyOut(){ - LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("loc_sts", "D")); - if (Cools.isEmpty(locMast)) { + public R autoEmptyOut(@RequestParam("crnNo") Integer crnNo) { + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() + .eq("loc_sts", "D") + .eq("crn_no", crnNo) + .orderBy("lev1,bay1,row1")); + if (locMasts.isEmpty()) { return R.error("搴撳瓨娌℃湁绌烘澘"); } - EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam(); - emptyPlateOutParam.setOutSite(11); - emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locMast.getLocNo()+"");}}); - WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam); - return R.ok(!Cools.isEmpty(wrkMast)? R.ok("鑷姩绌烘墭鍑哄簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触")); + + for (LocMast locMast : locMasts) { + LocMast locMast0 = null; + List<String> outerLocNo = Utils.getGroupLocNo(locMast.getLocNo(), false); + for (String loc : outerLocNo) { + LocMast locMast1 = locMastService.selectByLoc(loc); + if (locMast1 == null) { + continue; + } + + if (locMast1.getLocSts().equals("D")) { + locMast0 = locMast1; + break; + } + } + + if (locMast0 == null) { + continue; + } + + EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam(); + ArrayList<String> locNos = new ArrayList<>(); + locNos.add(locMast0.getLocNo()); + emptyPlateOutParam.setLocNos(locNos); + WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam); + return R.ok(!Cools.isEmpty(wrkMast) ? R.ok("鑷姩绌烘墭鍑哄簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触")); + } + return R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触"); } /** @@ -161,7 +191,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(); // 鐢熸垚宸ヤ綔妗� @@ -191,12 +232,17 @@ } // 鐢熸垚宸ヤ綔妗f槑缁� waitPakins.forEach(waitPakin -> { + String uuid = String.valueOf(System.currentTimeMillis()); WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(waitPakin); wrkDetl.setWrkNo(wrkMast.getWrkNo()); wrkDetl.setIoTime(wrkMast.getIoTime()); wrkDetl.setAppeTime(now); wrkDetl.setModiTime(now); + wrkDetl.setUuid(uuid); + wrkDetl.setWeight(waitPakin.getWeight()); + wrkDetl.setOwner(waitPakin.getOwner()); + wrkDetl.setPayment(waitPakin.getPayment()); if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); } @@ -235,8 +281,19 @@ public StartupDto emptyPlateIn(Integer devpNo, LocTypeDto locTypeDto, String barcode) { // 婧愮珯鐐圭姸鎬佹娴� 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(); -- Gitblit v1.9.1