From 8b75fe61a3eefe36761aa0f82a79b59342aa6709 Mon Sep 17 00:00:00 2001 From: 1 <1> Date: 星期一, 20 十月 2025 16:10:31 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/web/WcsController.java | 84 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 76 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java index e82d35b..b01636e 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -31,7 +31,8 @@ @RestController @RequestMapping("/rpc") public class WcsController { - + @Autowired + private WrkLastnoService wrkLastnoService; @Autowired private WrkMastService wrkMastService; @Autowired @@ -74,7 +75,7 @@ } return R.parse(CodeRes.NO_COMB_700); } - int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); + int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())); if (countLoc > 0 || countWrk > 0) { return R.error(CodeRes.EXIST_500); @@ -115,12 +116,15 @@ FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(); StartupDto dto = commonService.getLocNo( 10, 1038, findLocNoAttributeVo, locTypeDto); + if (dto == null){ + throw new CoolException("鏌ヨ搴撲綅澶辫触"); + } Date now = new Date(); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(dto.getWorkNo()); wrkMast.setIoTime(now); - wrkMast.setWrkSts(1L); + wrkMast.setWrkSts(2L); wrkMast.setIoPri(13D); wrkMast.setIoType(10); wrkMast.setCrnNo(dto.getCrnNo()); @@ -137,39 +141,100 @@ wrkMast.setAppeTime(now); wrkMast.setModiTime(now); wrkMast.setMemo("鑷姩绌烘墭鍏ュ簱"); - return wrkMastService.insert(wrkMast) ? R.ok("鑷姩绌烘墭鍏ュ簱鎴愬姛,宸ヤ綔鍙�:"+wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍏ュ簱澶辫触"); + // 鏇存柊婧愮珯鐐逛俊鎭� + sourceStaNo.setWrkNo(dto.getWorkNo()); + sourceStaNo.setModiUser(9999L); + sourceStaNo.setModiTime(now); + if (!basDevpService.updateById(sourceStaNo)){ + throw new CoolException("鏇存柊婧愮珯澶辫触"); + } + // 鏇存柊鐩爣搴撲綅鐘舵�� + LocMast locMast = locMastService.selectById(dto.getLocNo()); + if (locMast.getLocSts().equals("O")){ + locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 + locMast.setModiUser(9999L); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)){ + throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); + } + } else { + throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤"); + } + return wrkMastService.insert(wrkMast) ? R.ok("鑷姩绌烘墭鍏ュ簱鎴愬姛,宸ヤ綔鍙�:"+wrkMast.getWrkNo()).add(wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍏ュ簱澶辫触"); } @PostMapping("auto/emptyOut/v1") @ResponseBody - public R autoEmptyOut(){ + public R autoEmptyOut(@RequestBody LocTypeDto locTypeDto){ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() .eq("loc_sts", "D")); if (Cools.isEmpty(locMast)) { return R.error("搴撳瓨娌℃湁绌烘澘"); } EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam(); - emptyPlateOutParam.setOutSite(301); + emptyPlateOutParam.setOutSite(locTypeDto.getSiteId()); 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("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触")); } + /** + * 鐢熸垚宸ヤ綔鍙� + * + * @param wrkMk + * @return workNo(宸ヤ綔鍙�) + */ + public int getWorkNo(Integer wrkMk) { + WrkLastno wrkLastno = wrkLastnoService.selectById(wrkMk); + if (Cools.isEmpty(wrkLastno)) { + throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�"); + } + + int workNo = wrkLastno.getWrkNo(); + int sNo = wrkLastno.getSNo(); + int eNo = wrkLastno.getENo(); + workNo = workNo >= eNo ? sNo : workNo + 1; + while (true) { + WrkMast wrkMast = wrkMastService.selectById(workNo); + if (null != wrkMast) { + workNo = workNo >= eNo ? sNo : workNo + 1; + } else { + break; + } + } + // 淇敼搴忓彿璁板綍 + if (workNo > 0) { + wrkLastno.setWrkNo(workNo); + wrkLastnoService.updateById(wrkLastno); + } + // 妫�楠� + if (workNo == 0) { + throw new CoolException("鐢熸垚宸ヤ綔鍙峰け璐ワ紝璇疯仈绯荤鐞嗗憳"); + } else { + if (wrkMastService.selectById(workNo) != null) { + throw new CoolException("鐢熸垚宸ヤ綔鍙�" + workNo + "鍦ㄥ伐浣滄。涓凡瀛樺湪"); + } + } + return workNo; + } @PostMapping("/auto/TransplantingOut/v1") @ResponseBody public R autoTransplantingOut(@RequestBody TransplantWork transplantWork){ // 婧愮珯鐐圭姸鎬佹娴� BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true); WrkMast wrkMast1 = wrkMastService.selectWrkMast(transplantWork.getWorkNo(),transplantWork.getBarcode()); + if(sourceStaNo ==null ){ + return R.error("璇ョ珯鐐圭洏鐐圭Щ鏍借鍙紝璇锋煡鐪嬫簮绔欑偣鐘舵�佹娴�"); + } if(wrkMast1== null){ return R.error("鏃犺鐩樼偣绉绘牻浠诲姟"); } List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(transplantWork.getWorkNo()); Date now = new Date(); - // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); + int workNo = getWorkNo(0); wrkMast.setWrkNo(9997); wrkMast.setIoTime(now); wrkMast.setWrkSts(11L); @@ -177,7 +242,7 @@ wrkMast.setIoType(12); wrkMast.setCrnNo(3); wrkMast.setBarcode(transplantWork.getBarcode()); - wrkMast.setSourceStaNo(1015); + wrkMast.setSourceStaNo(transplantWork.getSourceStaNo()); wrkMast.setStaNo(transplantWork.getStaNo()); wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 wrkMast.setPicking("N"); // 鎷f枡 @@ -208,6 +273,9 @@ // 婧愮珯鐐圭姸鎬佹娴� BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true); WrkMast wrkMast1 = wrkMastService.selectWrkMast(transplantWork.getWorkNo(),transplantWork.getBarcode()); + if(sourceStaNo == null){ + + } if(wrkMast1== null){ return R.error("鏃犺鐩樼偣绉绘牻浠诲姟"); } -- Gitblit v1.9.1