From d20b53e1cf8993868052624be0e1d7620981a61c Mon Sep 17 00:00:00 2001
From: purple7433 <zhuxiang@seaskysh.com>
Date: Fri, 27 Sep 2024 11:11:45 +0800
Subject: [PATCH] =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=85=AC=E5=8A=A1=E7=A5=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../seasky/seaskyocr/api/IHeHeController.java |  3 +-
 .../seasky/seaskyocr/api/IOcrController.java  |  2 -
 .../claimAudit/ClaimAuditTempServiceImpl.java |  2 +-
 .../command/claimAudit/XCDService.java        |  4 +-
 .../command/claimAudit/XCDServiceImpl.java    | 42 +++++++++++++++----
 .../domain/aggregate/file/FileEntity.java     |  2 -
 6 files changed, 38 insertions(+), 17 deletions(-)

diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IHeHeController.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IHeHeController.java
index 075e3cb7..2eb42077 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IHeHeController.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IHeHeController.java
@@ -2,12 +2,11 @@ package com.seasky.seaskyocr.api;
 
 import com.seasky.core.common.Result;
 import com.seasky.seaskyocr.dto.contract.ContractCmd;
-import com.seasky.seaskyocr.dto.invoice.InvoiceCmd;
 import com.seasky.seaskyocr.dto.invoice.HeHeInvoiceQry;
+import com.seasky.seaskyocr.dto.invoice.InvoiceCmd;
 import com.seasky.seaskyocr.dto.invoice.SeaSkyInvoiceQry;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.multipart.MultipartFile;
 
 
diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java
index f8016d76..5f84ddad 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java
@@ -3,8 +3,6 @@ package com.seasky.seaskyocr.api;
 import com.seasky.core.common.Result;
 import com.seasky.seaskyocr.dto.TableKey;
 import com.seasky.seaskyocr.dto.TableKeys;
-import com.seasky.seaskyocr.dto.account.AccountOut;
-import com.seasky.seaskyocr.dto.account.AccountQry;
 import com.seasky.seaskyocr.dto.ocr.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
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 643d8e01..a0d93afd 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
@@ -156,7 +156,7 @@ public class ClaimAuditTempServiceImpl implements ClaimAuditTempService {
         // 鍦扮◣绁ㄥ鐞嗭紝涓婚〉鏄湴绋庣エ锛岄攢璐ф竻鍗曚笉鏌ラ獙
         dspService.handleDSP(mapList);
         if ("5.0".equals(fileEntity.getVersion())) {
-            xcdService.handleXCD(mapList);
+            xcdService.handleXCD(mapList, fileEntity);
         }
         return mapList;
     }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/XCDService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/XCDService.java
index c212fb56..5f57929b 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/XCDService.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/XCDService.java
@@ -1,5 +1,7 @@
 package com.seasky.seaskyocr.application.command.claimAudit;
 
+import com.seasky.seaskyocr.domain.aggregate.file.FileEntity;
+
 import java.util.List;
 import java.util.Map;
 
@@ -9,5 +11,5 @@ import java.util.Map;
  */
 public interface XCDService {
 
-    void handleXCD(List<Map<String, Object>> mapList);
+    void handleXCD(List<Map<String, Object>> mapList, FileEntity fileEntity);
 }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/XCDServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/XCDServiceImpl.java
index 96091d23..585c5fc9 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/XCDServiceImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/claimAudit/XCDServiceImpl.java
@@ -1,6 +1,7 @@
 package com.seasky.seaskyocr.application.command.claimAudit;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.seasky.seaskyocr.domain.aggregate.file.FileEntity;
 import com.seasky.seaskyocr.dto.claimAudit.ClaimAuditOcrOut;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -17,27 +18,50 @@ import java.util.Map;
 public class XCDServiceImpl implements XCDService {
 
     @Override
-    public void handleXCD(List<Map<String, Object>> mapList) {
+    public void handleXCD(List<Map<String, Object>> mapList, FileEntity fileEntity) {
         for (Map<String, Object> map : mapList) {
             String billType = map.get("billType").toString();
             if (ObjectUtil.isEmpty(billType)) {
                 return;
             }
-            if (!"鑸┖杩愯緭鐢靛瓙瀹㈢エ琛岀▼鍗�".equals(billType)) {
+            if (!"鑸┖杩愯緭鐢靛瓙瀹㈢エ琛岀▼鍗�".equals(billType) && !"鐢靛瓙鍙戠エ锛堣埅绌鸿繍杈撶數瀛愬绁ㄨ绋嬪崟锛�".equals(billType)) {
                 return;
             }
-
+            boolean isOfficialTicket = false;
             List<List<ClaimAuditOcrOut>> claimAuditOcrDetailList = (List<List<ClaimAuditOcrOut>>) map.get("detailList");
-            for (Integer j = 0; j < claimAuditOcrDetailList.size(); j++) {
-                List<ClaimAuditOcrOut> claimAuditOcrList = claimAuditOcrDetailList.get(j);
+            for (List<ClaimAuditOcrOut> claimAuditOcrList : claimAuditOcrDetailList) {
+                for (ClaimAuditOcrOut claimAuditOcrOut : claimAuditOcrList) {
+                    if ("officialTicketCode".equals(claimAuditOcrOut.getKey())) {
+                        String val = claimAuditOcrOut.getValue();
+                        if (val.contains("GP")) {
+                            isOfficialTicket = true;
+                        }
+                    }
+                }
+            }
+            for (List<ClaimAuditOcrOut> claimAuditOcrList : claimAuditOcrDetailList) {
                 for (ClaimAuditOcrOut claimAuditOcrOut : claimAuditOcrList) {
                     if ("officialTicket".equals(claimAuditOcrOut.getKey())) {
                         String val = claimAuditOcrOut.getValue();
-                        String ret = "false";
-                        if ("鍏姟".equals(val)) {
-                            ret = "true";
+                        if ("5.0".equals(fileEntity.getVersion())) {
+                            String ret = "false";
+                            if ("鍏姟".equals(val)) {
+                                ret = "true";
+                            }
+                            if (isOfficialTicket) {
+                                ret = "true";
+                            }
+                            claimAuditOcrOut.setValue(ret);
+                        } else {
+                            String ret = "";
+                            if ("鍏姟".equals(val)) {
+                                ret = "鍏姟";
+                            }
+                            if (isOfficialTicket) {
+                                ret = "鍏姟";
+                            }
+                            claimAuditOcrOut.setValue(ret);
                         }
-                        claimAuditOcrOut.setValue(ret);
                     }
                 }
             }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/file/FileEntity.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/file/FileEntity.java
index 098d6c70..8898f1df 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/file/FileEntity.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/file/FileEntity.java
@@ -7,12 +7,10 @@ import com.seasky.seaskyocr.application.command.utils.FileUtil;
 import lombok.Getter;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.text.PDFTextStripper;
 import org.springframework.web.multipart.MultipartFile;
 import sun.misc.BASE64Decoder;
 
 import javax.xml.bind.DatatypeConverter;
-import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 
-- 
GitLab