From 94e4a7598d2ed0bee320174bcd44a3844d59cc0d Mon Sep 17 00:00:00 2001 From: LSH Date: 星期三, 27 十二月 2023 19:25:00 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/web/WcsController.java | 84 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 80 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java index 1ed25a3..5c5fe37 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -6,7 +6,9 @@ import com.core.common.R; import com.core.exception.CoolException; 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; @@ -17,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -45,6 +48,10 @@ private LocDetlService locDetlService; @Autowired private RowLastnoService rowLastnoService; + @Autowired + private WorkService workService; + @Autowired + private BasCrnpService basCrnpService; @PostMapping("/pakin/loc/v1") @ResponseBody @@ -70,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); } @@ -107,7 +116,7 @@ BasDevp sourceStaNo = basDevpService.checkSiteStatus(12, true); // 妫�绱㈠簱浣� - StartupDto dto = commonService.getLocNo(rowLastnoService.selectNextWhsType(), 10, 15, null, locTypeDto,0); + StartupDto dto = commonService.getLocNo(1, 10, 12, null,null,null,0, locTypeDto,0); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); @@ -133,6 +142,46 @@ return wrkMastService.insert(wrkMast) ? R.ok("鑷姩绌烘墭鍏ュ簱鎴愬姛,宸ヤ綔鍙�:"+wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍏ュ簱澶辫触"); } + @PostMapping("auto/emptyOut/v1") + @ResponseBody + 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("搴撳瓨娌℃湁绌烘澘"); + } + + 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("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触"); + } + /** * 鍏ㄦ澘鍏ュ簱 */ @@ -142,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(1, 1, devpNo, null,null,null,0, locTypeDto,0); int workNo = dto.getWorkNo(); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� @@ -172,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("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); } @@ -216,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(1, 10, devpNo, null,null,null,0, locTypeDto,0); int workNo = dto.getWorkNo(); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); -- Gitblit v1.9.1