From 4d98ae91ea5a7edeaf2cc4f168ca7d87d1d44994 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 30 一月 2026 15:37:29 +0800
Subject: [PATCH] #备货+订单编辑bug修改

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java     |   11 ++++++++++-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java      |    7 ++++++-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java |    2 ++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskResouceType.java                |    2 ++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/OrderWorkType.java                  |    7 +++++++
 5 files changed, 27 insertions(+), 2 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 e68c8c7..544bfcd 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
@@ -24,6 +24,7 @@
     ORDER_WORK_TYPE_STOCK_OUT("15", "搴撳瓨鍑哄簱"),
     ORDER_WORK_TYPE_STOCK_CHECK("16", "鐩樼偣鍑哄簱"),
     ORDER_WORK_TYPE_STOCK_TERANSFER("17", "璋冩嫈鍑哄簱鍗�"),
+    ORDER_WORK_TYPE_STOCK_UP("18", "澶囪揣鍑哄簱鍗�"),
     ORDER_WORK_TYPE_OTHER("14", "鍏跺畠鍑哄簱鍗�");
 
 
@@ -64,6 +65,8 @@
             return OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER.type;
         } else if (desc.equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_REVISE.desc)) {
             return OrderWorkType.ORDER_WORK_TYPE_STOCK_REVISE.type;
+        }else if (desc.equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_UP.desc)) {
+            return OrderWorkType.ORDER_WORK_TYPE_STOCK_UP.type;
         }
         return null;
     }
@@ -103,6 +106,8 @@
             return OrderType.ORDER_TRANSFER.type;
         } else if (desc.equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_REVISE.desc)) {
             return OrderType.ORDER_REVISE.type;
+        }else if (desc.equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_UP.desc)) {
+            return OrderWorkType.ORDER_WORK_TYPE_STOCK_UP.type;
         }
         return null;
     }
@@ -136,6 +141,8 @@
             return OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER.desc;
         } else if (type.equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_REVISE.type)) {
             return OrderWorkType.ORDER_WORK_TYPE_STOCK_REVISE.desc;
+        }else if (type.equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_UP.type)) {
+            return OrderWorkType.ORDER_WORK_TYPE_STOCK_UP.desc;
         }
         return null;
     }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskResouceType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskResouceType.java
index 3794f30..c7b4bbf 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskResouceType.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskResouceType.java
@@ -18,6 +18,8 @@
 
     TASK_RESOUCE_EMPTY_TYPE("6", "绌哄鍣ㄥ嚭搴撲换鍔�"),
 
+    TASK_RESOUCE_STOCK_UP("7", "澶囪揣鍑哄簱浠诲姟"),
+
     ;
     TaskResouceType(String val, String desc) {
         this.val = Short.parseShort(val);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
index 63095ef..ec25964 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
@@ -247,7 +247,9 @@
         if (Objects.isNull(matnr)) {
             throw new CoolException("鏁版嵁閿欒锛氱墿鏂�" + wkOrderItem.getMatnrCode() + "涓嶅瓨鍦紒锛�");
         }
+        Long originalId = wkOrderItem.getId();
         BeanUtils.copyProperties(matnr, wkOrderItem);
+        wkOrderItem.setId(originalId);
         wkOrderItem.setMatnrCode(matnr.getCode()).setMatnrId(matnr.getId()).setMaktx(matnr.getName());
 
         WkOrder wkOrder = asnOrderService.getById(Long.parseLong(params.get("orderId").toString()));
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
index 0e39773..f926834 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -174,6 +174,11 @@
             if (!locService.updateById(loc)) {
                 throw new CoolException("搴撲綅鐘舵�佹洿鏂板け璐ワ紒锛�");
             }
+
+            //澧炲姞瀵瑰璐у崟寰楀垽鏂�
+            Integer taskStatus = resouce.equals(TaskResouceType.TASK_RESOUCE_STOCK_UP.val)
+                    ? TaskStsType.MISSION_INITIAL.id:TaskStsType.GENERATE_OUT.id;
+
             Task moveTask = new Task();
             String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_TASK_CODE, null);
             task.setOrgLoc(loc.getCode())
@@ -185,7 +190,7 @@
                     .setCreateBy(loginUserId)
                     .setCreateTime(new Date())
                     .setUpdateTime(new Date())
-                    .setTaskStatus(TaskStsType.GENERATE_OUT.id)
+                    .setTaskStatus(taskStatus)
                     .setBarcode(loc.getBarcode())
                     .setMemo(map.getMemo());
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
index 594cd86..fdc69e0 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -501,6 +501,11 @@
             return LocUtils.isShallowLoc(item.getLocCode()) ? 1 : 0;
         }).reversed()).collect(Collectors.toList());
 
+        WkOrder wkOrder = outStockService.getById(outId);
+        if (Cools.isEmpty(wkOrder)) {
+            throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
+        }
+
         for (OutStockToTaskParams param : Items) {
             if (Objects.isNull(param) || StringUtils.isBlank(param.getLocCode())) {
                 continue;
@@ -533,9 +538,13 @@
                         .setItems(locItems)
                         .setSourceId(outId)
                         .setSiteNo(param.getSiteNo());
+                //澧炲姞澶囪揣鍑哄簱绫诲瀷鍒ゆ柇
+                Short type = wkOrder.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_UP.type)
+                        ?TaskResouceType.TASK_RESOUCE_STOCK_UP.val
+                        :TaskResouceType.TASK_RESOUCE_ORDER_TYPE.val;
                 try {
                     //鐢熸垚鍑哄簱浠诲姟
-                    locItemService.generateTask(TaskResouceType.TASK_RESOUCE_ORDER_TYPE.val, taskParams, loginUserId);
+                    locItemService.generateTask(type, taskParams, loginUserId);
                 } catch (Exception e) {
                     logger.error("UNK", e);
                     throw new CoolException(e.getMessage());

--
Gitblit v1.9.1