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) {