From 6ef4265f1859e88e3e5ff22ef1848e12fa849e26 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 12 五月 2026 07:03:43 +0800
Subject: [PATCH] feat: 扫码出库修改为扫码发货

---
 src/main/java/com/ruoyi/sales/service/impl/CommonFileServiceImpl.java |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/CommonFileServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/CommonFileServiceImpl.java
index dfc054f..8d93b46 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/CommonFileServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/CommonFileServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.ruoyi.common.enums.FileNameType;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.utils.StringUtils;
@@ -30,6 +31,7 @@
 import java.util.Arrays;
 import java.util.List;
 import java.util.UUID;
+import java.util.stream.Collectors;
 
 @Service
 @RequiredArgsConstructor
@@ -173,6 +175,34 @@
         }
     }
 
+    /**
+     * 灏嗗鎵瑰崟涓婄殑闄勪欢璁板綍澶嶅埗涓哄鏉″彂璐у彴璐﹂檮浠讹紙鍚屼竴鏂囦欢璺緞锛屾瘡鏉″彂璐у彴璐﹀悇涓�鏉¤褰曪級銆�
+     */
+    public void copyApproveProcessShipAttachmentsToShippingInfos(Long approveProcessId, List<Long> shippingInfoIds) {
+        if (approveProcessId == null || CollectionUtils.isEmpty(shippingInfoIds)) {
+            return;
+        }
+        List<CommonFile> files = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
+                .eq(CommonFile::getCommonId, approveProcessId)
+                .eq(CommonFile::getType, FileNameType.ApproveProcess.getValue()));
+        if (CollectionUtils.isEmpty(files)) {
+            return;
+        }
+        List<Long> distinctTargets = shippingInfoIds.stream().filter(java.util.Objects::nonNull).distinct().collect(Collectors.toList());
+        for (Long sid : distinctTargets) {
+            for (CommonFile f : files) {
+                CommonFile copy = new CommonFile();
+                copy.setCommonId(sid);
+                copy.setName(f.getName());
+                copy.setUrl(f.getUrl());
+                copy.setLink(f.getLink());
+                copy.setType(FileNameType.SHIP.getValue());
+                copy.setCreateTime(LocalDateTime.now());
+                commonFileMapper.insert(copy);
+            }
+        }
+    }
+
     private String buildAccessLink(Path formalFilePath) {
         String normalizedPath = formalFilePath.toString().replace("\\", "/");
         String profile = RuoYiConfig.getProfile();

--
Gitblit v1.9.3