From b047f19a6b34a73e018d7e24fb7ec55db2edf472 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 28 五月 2025 12:33:04 +0800 Subject: [PATCH] 库位导出功能优化 --- rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java | 55 +++++++++++++++++++++++++++---------------------------- 1 files changed, 27 insertions(+), 28 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java index 66cb207..887f5d8 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java @@ -95,7 +95,12 @@ String ruleCode = generateTaskCode(); // 鑾峰彇搴撲綅鍙� - InTaskMsgDto locNo = getLocNo(param); + InTaskMsgDto locNo = null; + try { + locNo = getLocNo(param); + } catch (Exception e) { + throw new RuntimeException(e); + } // 鍒涘缓骞朵繚瀛樹换鍔� Task task = createTask(ruleCode, locNo.getLocNo(), waitPakin.getBarcode(), @@ -167,7 +172,7 @@ task.setTaskCode(ruleCode) .setTaskStatus(TaskStsType.GENERATE_IN.id) .setTaskType(TaskType.TASK_TYPE_IN.type) - .setWarehType(WarehType.WAREHOUSE_TYPE_CRN.id) + .setWarehType(WarehType.WAREHOUSE_TYPE_CRN.val) .setTargLoc(targetLoc) .setBarcode(barcode) .setTargSite(targetSite) @@ -189,7 +194,6 @@ .eq(Loc::getCode, locCode) .set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_S.type) .set(Loc::getBarcode, barcode)); - if (!updated) { throw new CoolException("搴撲綅棰勭害澶辫触锛侊紒"); } @@ -199,9 +203,7 @@ * 鑾峰彇骞堕獙璇佺粍鎷栨槑缁� */ private List<WaitPakinItem> getWaitPakinItems(Long pakinId) { - List<WaitPakinItem> waitPakinItems = waitPakinItemService.list( - new LambdaQueryWrapper<WaitPakinItem>().eq(WaitPakinItem::getPakinId, pakinId)); - + List<WaitPakinItem> waitPakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>().eq(WaitPakinItem::getPakinId, pakinId)); if (waitPakinItems.isEmpty()) { throw new CoolException("鏁版嵁閿欒锛氱粍鎷栨槑缁嗕笉瀛樺湪"); } @@ -329,7 +331,7 @@ // return locNo; // } @Override - public InTaskMsgDto getLocNo(TaskInParam param) { + public InTaskMsgDto getLocNo(TaskInParam param) throws Exception{ String matnr = null; String batch = null; List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, param.getBarcode())); @@ -356,18 +358,16 @@ } LocTypeDto locTypeDto = new LocTypeDto(param); InTaskMsgDto dto = null; - switch (warehouseArea.getType()) { - case "CRN": //鍫嗗灈鏈� - dto = getLocNoCrn(deviceBind, warehouseArea.getId(), param.getSourceStaNo(), matnr, batch, locTypeDto, 0, param.getIoType()); - break; - case "SXC": //鍥涘悜搴� - break; - case "CTU": //ctu - dto = getLocNoCtu(deviceBind, warehouseArea.getId(), param.getSourceStaNo(), matnr, batch, locTypeDto, 0, param.getIoType()); - break; - default: - dto = getLocNoCtu(deviceBind, warehouseArea.getId(), param.getSourceStaNo(), matnr, batch, locTypeDto, 0, param.getIoType()); - break; + //鏍规嵁绔嬪簱绫诲瀷鑾峰彇鑾峰彇搴撲綅 + if (warehouseArea.getType().equals(WarehType.WAREHOUSE_TYPE_CRN.val)) { + //鍫嗗灈鏈� + dto = getLocNoCrn(deviceBind, warehouseArea.getId(), param.getSourceStaNo(), matnr, batch, locTypeDto, 0, param.getIoType()); + + } else if (warehouseArea.getType().equals(WarehType.WAREHOUSE_TYPE_FOUR_DIRECTIONS.val)) { + //鍥涘悜搴� + } else { + //CTU 搴撲互鍙婂叾瀹� + dto = getLocNoCtu(deviceBind, warehouseArea.getId(), param.getSourceStaNo(), matnr, batch, locTypeDto, 0, param.getIoType()); } return dto; } @@ -380,7 +380,7 @@ batch = ""; } // 鍒濆鍖栧弬鏁� - int deviceNo = 0; //鍫嗗灈鏈哄彿 + int channel = 0; //鍫嗗灈鏈哄彿 int nearRow = 0; //鏈�娴呭簱浣嶆帓 int curRow = 0; //鏈�娣卞簱浣嶆帓 int rowCount = 0; //杞杞 @@ -400,7 +400,7 @@ for (int i = times; i <= deviceQty * 2; i++) { int[] locNecessaryParameters = LocUtils.LocNecessaryParameters(deviceBind, curRow, deviceQty); curRow = locNecessaryParameters[1]; - deviceNo = locNecessaryParameters[2]; + channel = locNecessaryParameters[2]; rowCount = locNecessaryParameters[0]; nearRow = locNecessaryParameters[3]; break; @@ -423,9 +423,8 @@ if (shallowLoc != null && shallowLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) { if (LocUtils.locMoveCheckLocTypeComplete(shallowLoc, locTypeDto)) { loc = shallowLoc; - deviceNo = shallowLoc.getDeviceNo(); + channel = shallowLoc.getChannel(); break; - } } } @@ -460,10 +459,10 @@ DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>() .eq(DeviceSite::getType, ioType) .eq(DeviceSite::getSite, sourceStaNo) - .eq(DeviceSite::getDeviceCode, deviceNo) + .eq(DeviceSite::getChannel, channel) ); if (Cools.isEmpty(deviceSite)) { - deviceNo = 0; + channel = 0; } else { inTaskMsgDto.setStaNo(Integer.parseInt(deviceSite.getDeviceSite())); } @@ -475,7 +474,7 @@ // 寮�濮嬫煡鎵惧簱浣� ==============================>> // 1.鎸夎鍒欐煡鎵惧簱浣� - if (Cools.isEmpty(loc) && deviceNo != 0) { + if (Cools.isEmpty(loc) && channel != 0) { List<Loc> locMasts = null; locMasts = locService.list(new LambdaQueryWrapper<Loc>() .eq(Loc::getRow, nearRow) @@ -562,7 +561,7 @@ //鏌ヨ褰撳墠搴撲綅绫诲瀷绌哄簱浣� 灏忎簬5涓垯locmast = null List<Loc> locTypeLocMasts = locService.list(new LambdaQueryWrapper<Loc>() .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type) - .eq(Loc::getChannel, deviceNo) + .eq(Loc::getChannel, channel) .eq(Loc::getType, locTypeDto.getLocType1()) .eq(Loc::getAreaId, area) ); @@ -588,7 +587,7 @@ String locNo = loc.getCode(); // 杩斿洖dto - inTaskMsgDto.setDeviceNo(deviceNo); + inTaskMsgDto.setDeviceNo(channel); inTaskMsgDto.setSourceStaNo(sourceStaNo); // inTaskMsgDto.setStaNo(); inTaskMsgDto.setLocNo(locNo); -- Gitblit v1.9.1