From 4f9902403a176d8e97def29caaf525dde3585393 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 23 七月 2025 12:43:49 +0800
Subject: [PATCH] 盘点差异单功能优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 41 ++++++++++++++++++++++++++++++-----------
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java | 1 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/OrderWorkType.java | 6 +++++-
3 files changed, 36 insertions(+), 12 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/OrderWorkType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/OrderWorkType.java
index 9c4dd0b..d131121 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/OrderWorkType.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/OrderWorkType.java
@@ -50,8 +50,10 @@
return OrderWorkType.ORDER_WORK_TYPE_PURCHASE_RETURN.type;
} else if (desc.equals(OrderWorkType.ORDER_WORK_TYPE_OTHER.desc)) {
return OrderWorkType.ORDER_WORK_TYPE_OTHER.type;
- }else if (desc.equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.desc)) {
+ } else if (desc.equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.desc)) {
return OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type;
+ } else if (desc.equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_CHECK.desc)) {
+ return OrderWorkType.ORDER_WORK_TYPE_STOCK_CHECK.type;
}
return null;
}
@@ -77,6 +79,8 @@
return OrderWorkType.ORDER_WORK_TYPE_OTHER.desc;
} else if (type.equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type)) {
return OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.desc;
+ } else if (type.equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_CHECK.type)) {
+ return OrderWorkType.ORDER_WORK_TYPE_STOCK_CHECK.desc;
}
return null;
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java
index 4dde0e0..61c2a65 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java
@@ -319,6 +319,7 @@
.setMatnrCode(checkParam.getMatnrCode())
.setPlatOrderCode(checkParam.getPlatOrderCode())
.setPlatWorkCode(checkParam.getPlatWorkCode())
+ .setUnit(checkParam.getStockUnit())
.setSpec(checkParam.getSpec())
.setModel(checkParam.getModel())
.setFieldsIndex(checkParam.getFieldsIndex())
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 71a4afc..41323b5 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
@@ -1037,10 +1037,14 @@
List<LocItemWorking> workings = new ArrayList<>();
List<TaskItem> items = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()));
items.forEach(taskItem -> {
- LocItemWorking itemWorking = new LocItemWorking();
- BeanUtils.copyProperties(taskItem, itemWorking);
- itemWorking.setTaskId(task.getId()).setLocId(loc1.getId()).setLocCode(loc1.getCode());
- workings.add(itemWorking);
+ if (taskItem.getAnfme() > 0) {
+ LocItemWorking itemWorking = new LocItemWorking();
+ BeanUtils.copyProperties(taskItem, itemWorking);
+ itemWorking.setTaskId(task.getId())
+ .setLocId(loc1.getId())
+ .setLocCode(loc1.getCode());
+ workings.add(itemWorking);
+ }
});
if (!locItemWorkingService.saveBatch(workings)) {
@@ -1389,14 +1393,29 @@
List<LocItem> locItems = new ArrayList<>();
items.forEach(taskItem -> {
Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getTargLoc()), false);
+ if (Objects.isNull(loc)) {
+ throw new CoolException("搴撲綅涓嶅瓨鍦紒锛�");
+ }
LocItem item = new LocItem();
- BeanUtils.copyProperties(taskItem, item);
- item.setLocCode(loc.getCode()).setId(null)
- .setLocId(loc.getId())
- .setUpdateBy(loginUserId)
- .setWkType(taskItem.getWkType())
- .setType(taskItem.getOrderType());
- locItems.add(item);
+ LocItem locItem = locItemService.getOne(new LambdaQueryWrapper<LocItem>()
+ .eq(LocItem::getMatnrId, taskItem.getMatnrId())
+ .eq(LocItem::getLocId, loc.getId())
+ .eq(StringUtils.isNoneBlank(taskItem.getBatch()), LocItem::getBatch, taskItem.getBatch())
+ .eq(StringUtils.isNoneBlank(taskItem.getFieldsIndex()), LocItem::getFieldsIndex, taskItem.getFieldsIndex()));
+ if (Objects.isNull(locItem)) {
+ BeanUtils.copyProperties(taskItem, item);
+ item.setLocCode(loc.getCode())
+ .setId(null)
+ .setLocId(loc.getId())
+ .setUpdateBy(loginUserId)
+ .setWkType(taskItem.getWkType())
+ .setType(taskItem.getOrderType());
+ locItems.add(item);
+ } else {
+ locItem.setAnfme(Math.round((locItem.getAnfme() + taskItem.getAnfme()) * 10000) / 10000.0)
+ .setUpdateTime(new Date());
+ locItems.add(locItem);
+ }
});
if (!locItemService.saveBatch(locItems)) {
throw new CoolException("搴撲綅鏄庣粏鏇存柊澶辫触锛侊紒");
--
Gitblit v1.9.1