From ffa9d4d80998832aa036211fc4c7db2572c9b52e Mon Sep 17 00:00:00 2001
From: zc <zyzc>
Date: 星期五, 21 十一月 2025 15:34:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/devlop_whxrwms' into devlop_whxrwms
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java | 68 ++++++++++++++++++++++++++++++++++
1 files changed, 68 insertions(+), 0 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 480c998..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
@@ -8,6 +8,7 @@
import com.vincent.rsf.server.api.entity.params.ContainerWaveParam;
import com.vincent.rsf.server.api.entity.params.WavePickItemsParams;
import com.vincent.rsf.server.api.service.PdaOutStockService;
+import com.vincent.rsf.server.common.utils.FieldsUtils;
import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.enums.AsnExceStatus;
import com.vincent.rsf.server.manager.enums.TaskStsType;
@@ -335,6 +336,73 @@
return R.ok();
}
+ /**
+ * @author Ryan
+ * @date 2025/11/19
+ * @description: 鑾峰彇鍑哄簱浠诲姟鎷h揣鏄庣粏
+ * @version 1.0
+ */
+ @Override
+ public R getTaskItems(Map<String, String> params) {
+ 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>()
+ .in(Task::getTaskType, integers)
+ .eq(Task::getBarcode, params.get("barcode")), false);
+ if (Objects.isNull(task)) {
+ return R.error("鎵樼洏鎵�鍦ㄤ换鍔′笉瀛樺湪锛侊紒");
+ }
+ List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()));
+ taskItems.forEach(taskItem -> {
+ if (!Objects.isNull(taskItem.getFieldsIndex())) {
+ Map<String, String> fields = FieldsUtils.getFields(taskItem.getFieldsIndex());
+ taskItem.setExtendFields(fields);
+ }
+ });
+ 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