diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/ClaimAuditTempServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/ClaimAuditTempServiceImpl.java
index d391bc34f7aba1172858a14577a422bee2423197..e28b4f31bb44d0eba49bed82b78b2f7c10f99c32 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/ClaimAuditTempServiceImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/ClaimAuditTempServiceImpl.java
@@ -71,7 +71,7 @@ public class ClaimAuditTempServiceImpl implements ClaimAuditTempService {
         }
 
         // 鍏ㄧ數绁ㄥ垎椤电殑鐗规畩澶勭悊
-        qdpService.handleQDP(mapList);
+        mapList = qdpService.handleQDP(mapList, true);
         return mapList;
     }
 
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/QDPService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/QDPService.java
index 02770fa6c417ea2ff2354724a49d15351fef4eb1..8d98a429ca870ffae4dffdeac2575a8e36938214 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/QDPService.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/QDPService.java
@@ -9,5 +9,5 @@ import java.util.Map;
  */
 public interface QDPService {
 
-    void handleQDP(List<Map<String, Object>> mapList);
+    List<Map<String, Object>> handleQDP(List<Map<String, Object>> mapList, Boolean isMerge);
 }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/QDPServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/QDPServiceImpl.java
index f9fa723c9fec91e10347a58f18ca393bec3fd1f2..f4b4705daf9b4c2d16f13557eb12c1ed6d09e2ab 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/QDPServiceImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/QDPServiceImpl.java
@@ -5,6 +5,7 @@ import com.seasky.seaskyocr.dto.claimAudit.ClaimAuditOcrOut;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -15,38 +16,38 @@ import java.util.Map;
  */
 @Service
 @Slf4j
-public class QDPServiceImpl  implements QDPService {
+public class QDPServiceImpl implements QDPService {
 
     @Override
-    public void handleQDP(List<Map<String, Object>> mapList) {
+    public List<Map<String, Object>> handleQDP(List<Map<String, Object>> mapList, Boolean isMerge) {
         String invoiceNo = "";
         Integer totalPageNo = 1;
         Map<Integer, Map<String, Object>> rebuiltMap = new LinkedHashMap<>();
         if (mapList.size() <= 0) {
-            return;
+            return mapList;
         }
         for (Map<String, Object> map : mapList) {
             String billType = map.get("billType").toString();
             if (ObjectUtil.isEmpty(billType)) {
-                return;
+                return mapList;
             }
             if (!billType.startsWith("鐢靛瓙鍙戠エ")) {
-                return;
+                return mapList;
             }
             String invNo = getMapMainData(map, "invoiceNumber");
             if (ObjectUtil.isEmpty(invoiceNo)) {
                 invoiceNo = invNo;
             } else {
                 if (!invoiceNo.equals(invNo)) {
-                    return;
+                    return mapList;
                 }
             }
             String pageNumber = getMapMainData(map, "pageNumber");
             if (ObjectUtil.isEmpty(pageNumber)) {
-                return;
+                return mapList;
             }
             if (!pageNumber.contains("/")) {
-                return;
+                return mapList;
             }
             pageNumber = pageNumber.replaceAll(" ", "");
             try {
@@ -55,17 +56,17 @@ public class QDPServiceImpl  implements QDPService {
                 rebuiltMap.put(pageNo, map);
             } catch (Exception ex) {
                 ex.printStackTrace();
-                return;
+                return mapList;
             }
         }
         if (rebuiltMap.size() != totalPageNo) {
-            return;
+            return mapList;
         }
 
         for (Integer i = 0; i < totalPageNo; i++) {
             Integer index = i + 1;
             if (!rebuiltMap.containsKey(index)) {
-                return;
+                return mapList;
             }
         }
 
@@ -84,6 +85,23 @@ public class QDPServiceImpl  implements QDPService {
                 }
             }
         }
+
+        if (isMerge) {
+            List<Map<String, Object>> mapListMerge = new ArrayList<>();
+            Map<String, Object> mapFirst = mapList.get(0);
+            mapListMerge.add(mapFirst);
+            List<List<ClaimAuditOcrOut>> claimAuditOcrDetailListMerge = new ArrayList<>();
+            for (Integer i = 0; i < totalPageNo; i++) {
+                Integer index = i + 1;
+                Map<String, Object> map = rebuiltMap.get(index);
+                List<List<ClaimAuditOcrOut>> claimAuditOcrDetailList = (List<List<ClaimAuditOcrOut>>) map.get("detailList");
+                claimAuditOcrDetailListMerge.addAll(claimAuditOcrDetailList);
+            }
+            mapFirst.remove("image");
+            mapFirst.put("detailList", claimAuditOcrDetailListMerge);
+            mapList = mapListMerge;
+        }
+        return mapList;
     }
 
     private String getMapMainData(Map<String, Object> map, String key) {