From c93b77e0d82118624df73573a9eabbd98fb55979 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期二, 16 九月 2025 10:33:21 +0800 Subject: [PATCH] #库位移转逻辑控制 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 55 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 7f833a0..06cf2fb 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -119,7 +119,7 @@ // List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList()); // List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList()); FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(param.getList().get(0)); - StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), findLocNoAttributeVo, locTypeDto); + StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), findLocNoAttributeVo, locTypeDto, param.getBarcode()); if (Cools.isEmpty(dto)) { throw new CoolException("鏌ヨ搴撲綅澶辫触锛侊紒==銆媠tartupFullPutStore ==銆� commonService.getLocNo"); } @@ -466,6 +466,15 @@ OrderPakout orderPakout = orderPakOutService.selectByNo(orderNo); int ioType = orderPakout.getDocType() == 8 ? 107 : (taskDto.isAll() ? 101 : 103); StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo(),locMast.getRow1()); + Integer crnStn = staDesc.getCrnStn(); + if (locMast.getCrnNo() == 1) { + if (locMast.getRow1() <= 3) { + crnStn = 1013; + }else { + crnStn = 1016; + } + } + // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); // 鐢熸垚宸ヤ綔妗� @@ -476,7 +485,7 @@ wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬� wrkMast.setIoPri(13D); // 浼樺厛绾э細13 wrkMast.setCrnNo(locMast.getCrnNo()); - wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯 + wrkMast.setSourceStaNo(crnStn); // 婧愮珯 wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔� wrkMast.setSourceLocNo(taskDto.getLocNo()); // 婧愬簱浣� wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 @@ -580,7 +589,7 @@ LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(); - StartupDto dto = commonService.getLocNo(10, devpNo, findLocNoAttributeVo, locTypeDto); + StartupDto dto = commonService.getLocNo(10, devpNo, findLocNoAttributeVo, locTypeDto, null); int workNo = dto.getWorkNo(); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� @@ -665,6 +674,14 @@ if (Cools.isEmpty(sourceStaNo)) { throw new CoolException("妫�绱㈡簮绔欏け璐�"); } + if (locMast.getCrnNo() == 1) { + if (locMast.getRow1() <= 3) { + sourceStaNo = 1013; + }else { + sourceStaNo = 1016; + } + } + Date now = new Date(); // 淇濆瓨宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); @@ -727,6 +744,14 @@ if (Cools.isEmpty(sourceStaNo)) { throw new CoolException("妫�绱㈡簮绔欏け璐�"); } + if (locMast.getCrnNo() == 1) { + if (locMast.getRow1() <= 3) { + sourceStaNo = 1013; + }else { + sourceStaNo = 1016; + } + } + Date now = new Date(); // 淇濆瓨宸ヤ綔妗� @@ -807,10 +832,36 @@ if (Cools.isEmpty(sourceLoc)) { throw new CoolException("鏈壘鍒板簱浣�"); } + + if (Utils.isDeepLoc(slaveProperties, sourceLocNo)) { + String shallowLoc = Utils.getShallowLoc(slaveProperties, sourceLocNo); + LocMast locMast = locMastService.selectById(shallowLoc); + if (locMast == null) { + throw new CoolException(shallowLoc + "娴呭簱浣嶄笉瀛樺湪"); + } + + if(!locMast.getLocSts().equals("O")) { + throw new CoolException(shallowLoc + "娴呭簱浣嶇姸鎬佷笉涓虹┖"); + } + } + LocMast loc = locMastService.selectById(locNo); if (Cools.isEmpty(loc)) { throw new CoolException("鏈壘鍒板簱浣�"); } + + if (Utils.isDeepLoc(slaveProperties, locNo)) { + String shallowLoc = Utils.getShallowLoc(slaveProperties, locNo); + LocMast locMast = locMastService.selectById(shallowLoc); + if (locMast == null) { + throw new CoolException(shallowLoc + "娴呭簱浣嶄笉瀛樺湪"); + } + + if(!locMast.getLocSts().equals("O")) { + throw new CoolException(shallowLoc + "娴呭簱浣嶆湁璐э紝鏃犳硶绉昏浆"); + } + } + // 鍒ゆ柇搴撲綅鏄惁鍐荤粨 String sourceLocFrozen = locMastMapper.findFirstFrozenLocNo(Arrays.asList(sourceLoc.getLocNo(), loc.getLocNo())); if (sourceLocFrozen != null) { @@ -853,6 +904,7 @@ wrkMast.setAppeTime(now); wrkMast.setModiUser(userId); wrkMast.setModiTime(now); + wrkMast.setMemo("浜哄伐鎵嬪姩绉诲簱"); boolean res = wrkMastService.insert(wrkMast); if (!res) { throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); -- Gitblit v1.9.1