From 9060dd329b8500f58709b31aade3c2f48e19c233 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期一, 09 九月 2024 08:45:39 +0800 Subject: [PATCH] # --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java | 25 ++++++++++++++++++------- 1 files changed, 18 insertions(+), 7 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java index 295462d..f0a908f 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java @@ -330,6 +330,8 @@ Long locId = entry.getKey(); List<OrderOutBatchPreviewDto> previewDtos = entry.getValue(); Boolean all = outUtils.isAllForPreview(locId, previewDtos); + OrderOutBatchPreviewDto previewDto = previewDtos.get(0); + Long operationPortId = previewDto.getOperationPort(); Loc loc = locService.getById(locId); if (loc == null) { @@ -338,6 +340,11 @@ if (!loc.getLocStsId().equals(LocStsType.F.val())) { continue; + } + + OperationPort operationPort = operationPortService.getById(operationPortId); + if (operationPort == null) { + throw new CoolException("浣滀笟鍙d笉瀛樺湪"); } @@ -349,7 +356,7 @@ task.setTaskType(taskType); task.setIoPri(workService.generateIoPri(taskType)); task.setOriginLoc(loc.getLocNo()); - task.setTargetSite("A"); + task.setTargetSite(operationPort.getFlag()); task.setBarcode(loc.getBarcode()); boolean res = taskService.save(task); if (!res) { @@ -370,6 +377,7 @@ TaskDetl taskDetl = new TaskDetl(); taskDetl.sync(locDetl); + taskDetl.setId(null); taskDetl.setTaskId(task.getId()); taskDetl.setAnfme(dto.getAnfme()); taskDetl.setStock(locDetl.getAnfme()); @@ -384,6 +392,7 @@ for (LocDetlField locDetlField : locDetlFields) { TaskDetlField taskDetlField = new TaskDetlField(); taskDetlField.sync(locDetlField); + taskDetlField.setId(null); taskDetlField.setDetlId(taskDetl.getId()); boolean taskDetlFieldSave = taskDetlFieldService.save(taskDetlField); if(!taskDetlFieldSave){ @@ -588,6 +597,7 @@ List<OrderDetl> orderDetlList = detlMap.get(matUniqueKey); for (OrderDetl orderDetl : orderDetlList) { + orderDetl = orderDetlService.getById(orderDetl); double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty() - orderDetl.getWorkQty()).orElse(0.0D); if (issued <= 0D) { continue; @@ -597,19 +607,18 @@ orderOutMergeDto.sync(param); orderOutMergeDto.setOrderDetlId(orderDetl.getId()); - Double anfme = orderDetl.getAnfme(); Double updateWorkQty = null; - double diffAnfme = requireAnfme - anfme; - if (diffAnfme >= 0) { - orderOutMergeDto.setAnfme(anfme); - updateWorkQty = anfme; - requireAnfme -= anfme; + if (requireAnfme > issued) { + orderOutMergeDto.setAnfme(issued); + updateWorkQty = issued; + requireAnfme -= issued; }else { orderOutMergeDto.setAnfme(requireAnfme); updateWorkQty = requireAnfme; requireAnfme -= requireAnfme; } + orderOutMergeDtos.add(orderOutMergeDto); orderUtils.updateWorkQty(orderDetl.getId(), updateWorkQty); @@ -680,6 +689,7 @@ TaskDetl taskDetl = new TaskDetl(); taskDetl.sync(locDetl); + taskDetl.setId(null); taskDetl.setTaskId(task.getId()); taskDetl.setAnfme(merge.getAnfme()); taskDetl.setStock(locDetl.getAnfme()); @@ -694,6 +704,7 @@ for (LocDetlField locDetlField : locDetlFields) { TaskDetlField taskDetlField = new TaskDetlField(); taskDetlField.sync(locDetlField); + taskDetlField.setId(null); taskDetlField.setDetlId(taskDetl.getId()); boolean taskDetlFieldSave = taskDetlFieldService.save(taskDetlField); if(!taskDetlFieldSave){ -- Gitblit v1.9.1