From 0ff096c30457d2824f51ee9755a901282d62f149 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 21 十一月 2025 09:39:37 +0800
Subject: [PATCH] 添加换绑功能
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java | 42 +++++++++++++++++++++++++++++++++++++++++-
1 files changed, 41 insertions(+), 1 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
index fa3620b..360de94 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
@@ -347,8 +347,9 @@
if (Objects.isNull(params.get("barcode"))) {
throw new CoolException("鎷栫洏鐮佷笉鑳戒负绌猴紒锛�");
}
+ List<Integer> integers = Arrays.asList(TaskType.TASK_TYPE_OUT.type, TaskType.TASK_TYPE_EMPITY_OUT.type, TaskType.TASK_TYPE_PICK_AGAIN_OUT.type, TaskType.TASK_TYPE_CHECK_OUT.type);
Task task = taskService.getOne(new LambdaQueryWrapper<Task>()
- .eq(Task::getTaskType, TaskType.TASK_TYPE_OUT.type)
+ .in(Task::getTaskType, integers)
.eq(Task::getBarcode, params.get("barcode")), false);
if (Objects.isNull(task)) {
return R.error("鎵樼洏鎵�鍦ㄤ换鍔′笉瀛樺湪锛侊紒");
@@ -363,6 +364,45 @@
return R.ok().add(taskItems);
}
+ /**
+ * @author Ryan
+ * @date 2025/11/19
+ * @description: 淇敼鍑哄簱浠诲姟妗f槑缁嗙エ鍙�
+ * @version 1.0
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R modifyTaskItem(List<TaskItem> items) {
+ if (Objects.isNull(items) || items.isEmpty()) {
+ return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ for (TaskItem item : items) {
+ if (Objects.isNull(item.getCrushNo())) {
+ continue;
+ }
+ TaskItem byId = taskItemService.getById(item.getId());
+ if (!Objects.isNull(byId.getFieldsIndex())) {
+ Map<String, String> fields = FieldsUtils.getFields(byId.getFieldsIndex());
+ byId.setExtendFields(fields);
+ }
+ if (byId.getExtendFields().get("crushNo").equals(item.getCrushNo())) {
+ continue;
+ }
+ FieldsItem fieldsItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>()
+ .eq(FieldsItem::getValue, item.getCrushNo())
+ .last("limit 1"));
+ if (Objects.isNull(fieldsItem)) {
+ throw new CoolException("搴撳瓨涓嶅瓨鍦�!!");
+ }
+ String uuid = fieldsItem.getUuid();
+ item.setFieldsIndex(uuid).setExtendFields(null);
+ if (!taskItemService.updateById(item)) {
+ throw new CoolException("浠诲姟鏄庣粏淇敼澶辫触");
+ }
+ }
+ return R.ok();
+ }
+
/**
* @author Ryan
--
Gitblit v1.9.1