From 6e2135203258c92dfcf2df05cdc17ac0c85cb236 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期六, 19 七月 2025 15:12:14 +0800 Subject: [PATCH] 盘点差异单功能优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 60 +++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 33 insertions(+), 27 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java index dfe9fbb..7ed0dfb 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java @@ -686,7 +686,7 @@ LocItemWorking locWorking = locItemWorkingService.getOne(new LambdaQueryWrapper<LocItemWorking>() .eq(LocItemWorking::getTaskId, taskItem.getTaskId()) .eq(StringUtils.isNotBlank(taskItem.getBatch()), LocItemWorking::getBatch, taskItem.getBatch()) - .eq(StringUtils.isNotBlank(taskItem.getFieldsIndex()), LocItemWorking::getFieldsIndex, taskItem.getFieldsIndex()) +// .eq(StringUtils.isNotBlank(taskItem.getFieldsIndex()), LocItemWorking::getFieldsIndex, taskItem.getFieldsIndex()) .eq(LocItemWorking::getMatnrId, taskItem.getMatnrId())); if (Objects.isNull(locWorking)) { throw new CoolException("鏁版嵁閿欒锛屼綔涓氫腑搴撳瓨鏁版嵁涓㈠け锛侊紒"); @@ -784,6 +784,12 @@ throw new CoolException("鐩樼偣鍗曟墽琛屾暟閲忎慨鏀瑰け璐ワ紒锛�"); } }); + } + + if (!locService.update(new LambdaUpdateWrapper<Loc>() + .eq(Loc::getCode, task.getOrgLoc()) + .set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type))) { + throw new CoolException("婧愬簱浣嶇姸鎬佷慨鏀瑰け璐ワ紒锛�"); } } @@ -977,7 +983,7 @@ LocItemWorking locWorking = locItemWorkingService.getOne(new LambdaQueryWrapper<LocItemWorking>() .eq(LocItemWorking::getTaskId, taskItem.getTaskId()) .eq(StringUtils.isNotBlank(taskItem.getBatch()), LocItemWorking::getBatch, taskItem.getBatch()) - .eq(StringUtils.isNotBlank(taskItem.getFieldsIndex()), LocItemWorking::getFieldsIndex, taskItem.getFieldsIndex()) +// .eq(StringUtils.isNotBlank(taskItem.getFieldsIndex()), LocItemWorking::getFieldsIndex, taskItem.getFieldsIndex()) .eq(LocItemWorking::getMatnrId, taskItem.getMatnrId())); if (Objects.isNull(locWorking)) { throw new CoolException("鏁版嵁閿欒锛屼綔涓氫腑搴撳瓨鏁版嵁涓㈠け锛侊紒"); @@ -1077,32 +1083,32 @@ * */ List<TaskItem> list = listMap.get(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type)); if (Objects.isNull(list) || list.isEmpty()) { - Map<Long, List<TaskItem>> maps = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getSource)); - maps.keySet().forEach(key -> { - if (task.getResource().equals(TaskResouceType.TASK_RESOUCE_WAVE_TYPE.val)) { - WaveItem waveItem = waveItemService.getById(key); - if (Objects.isNull(waveItem)) { - throw new CoolException("娉㈡鏄庣粏涓嶅瓨鍦紒锛�"); - } - try { - saveOutStockItem(maps.get(key), null, waveItem, loginUserId); - } catch (Exception e) { - throw new CoolException(e.getMessage()); - } - } else if (task.getResource().equals(TaskResouceType.TASK_RESOUCE_ORDER_TYPE.val)) { - WkOrderItem orderItem = asnOrderItemService.getById(key); - if (Objects.isNull(orderItem)) { - throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); - } - try { - saveOutStockItem(maps.get(key), orderItem, null, loginUserId); - } catch (Exception e) { - throw new CoolException(e.getMessage()); - } - } else { + Map<Long, List<TaskItem>> maps = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getSource)); + maps.keySet().forEach(key -> { + if (task.getResource().equals(TaskResouceType.TASK_RESOUCE_WAVE_TYPE.val)) { + WaveItem waveItem = waveItemService.getById(key); + if (Objects.isNull(waveItem)) { + throw new CoolException("娉㈡鏄庣粏涓嶅瓨鍦紒锛�"); + } + try { + saveOutStockItem(maps.get(key), null, waveItem, loginUserId); + } catch (Exception e) { + throw new CoolException(e.getMessage()); + } + } else if (task.getResource().equals(TaskResouceType.TASK_RESOUCE_ORDER_TYPE.val) || task.getResource().equals(TaskResouceType.TASK_RESOUCE_CHECK_TYPE.val)) { + WkOrderItem orderItem = asnOrderItemService.getById(key); + if (Objects.isNull(orderItem)) { + throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); + } + try { + saveOutStockItem(maps.get(key), orderItem, null, loginUserId); + } catch (Exception e) { + throw new CoolException(e.getMessage()); + } + } else { - } - }); + } + }); } else { try { saveOutStockItem(taskItems, null, null, loginUserId); -- Gitblit v1.9.1