From 093c43638d3f9aa64fc3b396a0a2452cc28abbe3 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 23 五月 2025 18:59:39 +0800
Subject: [PATCH] 生成移库任务

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java    |   13 +++++++++----
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java |   25 +++++++++++++++++++++++--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java               |    4 ++--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java    |    2 +-
 rsf-admin/src/i18n/zh.js                                                                     |    1 +
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java          |    2 +-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java       |    2 +-
 7 files changed, 38 insertions(+), 11 deletions(-)

diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 3de4811..5606f1f 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -1125,6 +1125,7 @@
         batch: '鎵归噺鎿嶄綔',
         confirm: '纭',
         pick: '鎷f枡',
+        check: '鐩樼偣',
         bulkExport: "鎵归噺瀵煎嚭",
         selectSite: '閫夋嫨绔欑偣',
         confirmSelect: '纭閫夋嫨',
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java
index ac258a8..5f8890f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java
@@ -101,7 +101,7 @@
         if (Objects.isNull(map)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return locItemService.gentMoveTask(map);
+        return locItemService.genMoveTask(map);
     }
 
     /**
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
index 1068c34..5c172a4 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
@@ -137,7 +137,7 @@
                 .in(Task::getTaskStatus, longs));
 
         for (Task task : tasks) {
-            task.setTaskStatus(task.getTaskType() < (short) 100 ? TaskStsType.COMPLETE_IN.id : TaskStsType.COMPLETE_OUT.id);
+            task.setTaskStatus(task.getTaskType() < 100 ? TaskStsType.COMPLETE_IN.id : TaskStsType.COMPLETE_OUT.id);
         }
         if (!taskService.updateBatchById(tasks)) {
             return R.error("瀹屾垚浠诲姟澶辫触");
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java
index d07868f..b0db724 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java
@@ -39,9 +39,9 @@
 
     GENERATE_WAVE_SEED("197", "绛夊緟瀹瑰櫒鍒拌揪"),
 
-    WAVE_SEED("198", "鎾涓�/鐩樼偣涓�"),
+    WAVE_SEED("199", "鎾涓�/鐩樼偣涓�"),
 
-    COMPLETE_OUT("199", "鍑哄簱瀹屾垚"),
+    COMPLETE_OUT("198", "鍑哄簱瀹屾垚"),
 
     UPDATED_OUT("200", "搴撳瓨鏇存柊瀹屾垚"),
     ;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java
index 64e47dd..1aaf06c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java
@@ -10,6 +10,6 @@
 
     R generateTask(Map<String, Object> map);
 
-    R gentMoveTask(Map<String, Object> map);
+    R genMoveTask(Map<String, Object> map);
 
 }
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 d07ce0b..b0584d9 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
@@ -164,7 +164,7 @@
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public R gentMoveTask(Map<String, Object> map) {
+    public R genMoveTask(Map<String, Object> map) {
         if (Objects.isNull(map.get("targetLoc")) && StringUtils.isNotBlank(map.get("targetLoc").toString())) {
             throw new CoolException("鐩爣搴撲綅涓嶈兘涓虹┖锛�1");
         }
@@ -193,10 +193,31 @@
         task.setOrgLoc(orgLoc.getCode())
                 .setTaskCode(ruleCode)
                 .setTaskType(TaskType.TASK_TYPE_LOC_MOVE.type)
+                .setTargLoc(targetLoc.getCode())
+                .setTaskStatus(TaskStsType.GENERATE_IN.id)
                 .setBarcode(orgLoc.getBarcode());
 
+        List<LocItem> locItems = locItemService.list(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, orgLoc.getId()));
+        if (locItems.isEmpty()) {
+            throw new CoolException("搴撲綅鏄庣粏涓嶅瓨鍦紒锛�");
+        }
 
-        return null;
+        List<TaskItem> taskItems = new ArrayList<>();
+        for (LocItem item : locItems) {
+            TaskItem taskItem = new TaskItem();
+            BeanUtils.copyProperties(item, taskItem);
+            taskItem.setTaskId(task.getId())
+                    .setAnfme(item.getAnfme())
+                    .setBatch(item.getBatch())
+                    .setOrderType(OrderType.ORDER_IN.type)
+                    .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type));
+            taskItems.add(taskItem);
+        }
+        if (!taskItemService.saveBatch(taskItems)) {
+            throw new CoolException("浠诲姟鏄庣粏鐢熸垚澶辫触锛侊紒");
+        }
+
+        return R.ok(task);
     }
 
 }
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 cc1dd47..d6484af 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
@@ -465,12 +465,17 @@
             if (Objects.isNull(locWorking)) {
                 throw new CoolException("鏁版嵁閿欒锛屼綔涓氫腑搴撳瓨鏁版嵁涓㈠け锛侊紒");
             }
-            if (locWorking.getAnfme().compareTo(taskItem.getAnfme()) >= 0) {
-                locWorking.setAnfme(Math.round((locWorking.getAnfme() - taskItem.getAnfme()) * 10000) / 10000.0);
+            if (task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)) {
+                locWorking.setWorkQty(0.0);
+                locWorking.setAnfme(taskItem.getAnfme());
             } else {
-                continue;
+                if (locWorking.getAnfme().compareTo(taskItem.getAnfme()) >= 0) {
+                    locWorking.setWorkQty(0.0);
+                    locWorking.setAnfme(Math.round((locWorking.getAnfme() - taskItem.getAnfme()) * 10000) / 10000.0);
+                } else {
+                    continue;
+                }
             }
-
             BeanUtils.copyProperties(locWorking, locItem);
             locItem.setLocCode(loc.getCode()).setLocId(loc.getId()).setId(null);
             items.add(locItem);

--
Gitblit v1.9.1