From 77b30463fc435ed8071aa6a50db0b62bfe3cfbda Mon Sep 17 00:00:00 2001
From: cyf009 <591388323@qq.com>
Date: Tue, 6 Aug 2024 10:47:15 +0800
Subject: [PATCH] 12dd

---
 .../command/dto/FileContentCmd.java           |  1 +
 .../command/dto/SendInvoiceCmd.java           |  2 +
 .../command/InvoiceCommandServieceImpl.java   | 24 ++++++--
 .../command/api/InvoiceCommandServiece.java   |  2 +-
 .../assembler/ReturnFileAssembler.java        | 16 +++++
 .../returnfile/ReturnFileAggregate.java       | 27 +++++++++
 .../returnfile/ReturnFileRepository.java      |  8 +++
 .../domain/enums/FileTypeEmun.java            | 42 +++++++++++++
 .../domain/value/ReceiptBillVo.java           | 15 ++---
 .../mapper/api/ReturnFileMapper.java          |  9 +++
 .../infrastructure/po/ReturnFilePo.java       | 20 +++++++
 .../repository/ReturnFileRepositoryImpl.java  | 59 +++++++++++++++++++
 .../repository/convert/ReturnFileConvert.java | 37 ++++++++++++
 .../service/ReturnFileServiceImpl.java        | 13 ++++
 .../service/api/ReturnFileService.java        |  8 +++
 .../AccountEntryManageControllerImpl.java     |  5 +-
 16 files changed, 270 insertions(+), 18 deletions(-)
 create mode 100644 ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/assembler/ReturnFileAssembler.java
 create mode 100644 ServiceSite/src/main/java/com/seasky/ledgerincome/domain/aggregate/returnfile/ReturnFileAggregate.java
 create mode 100644 ServiceSite/src/main/java/com/seasky/ledgerincome/domain/aggregate/returnfile/ReturnFileRepository.java
 create mode 100644 ServiceSite/src/main/java/com/seasky/ledgerincome/domain/enums/FileTypeEmun.java
 create mode 100644 ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/mapper/api/ReturnFileMapper.java
 create mode 100644 ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/po/ReturnFilePo.java
 create mode 100644 ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/repository/ReturnFileRepositoryImpl.java
 create mode 100644 ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/repository/convert/ReturnFileConvert.java
 create mode 100644 ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/service/ReturnFileServiceImpl.java
 create mode 100644 ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/service/api/ReturnFileService.java

diff --git a/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/FileContentCmd.java b/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/FileContentCmd.java
index da77f1b1..91eeab19 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/FileContentCmd.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/FileContentCmd.java
@@ -15,4 +15,5 @@ public class FileContentCmd {
 
     public Integer fileTypeID ;
     public  boolean isPrint ;
+    public  String fileTypeName;
 }
diff --git a/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/SendInvoiceCmd.java b/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/SendInvoiceCmd.java
index e5bc8b95..db4fd3ac 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/SendInvoiceCmd.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/SendInvoiceCmd.java
@@ -9,4 +9,6 @@ public class SendInvoiceCmd {
     public Long invoiceId;
     @ApiModelProperty(value = "鍥炲崟鍗曞彿",required = true)
     public  String billNo;
+    @ApiModelProperty(value = "鏀舵id",required = true)
+    public  Long incomeId;
 }
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/InvoiceCommandServieceImpl.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/InvoiceCommandServieceImpl.java
index f90a9f72..719b4b85 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/InvoiceCommandServieceImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/InvoiceCommandServieceImpl.java
@@ -9,11 +9,15 @@ import com.seasky.core.util.ExceptionUtil;
 import com.seasky.ledgerincome.annotation.NullableField;
 import com.seasky.ledgerincome.application.command.api.InvoiceCommandServiece;
 import com.seasky.ledgerincome.application.command.assembler.InvoiceAssembler;
+import com.seasky.ledgerincome.application.command.assembler.ReturnFileAssembler;
 import com.seasky.ledgerincome.application.command.dto.*;
 import com.seasky.ledgerincome.domain.aggregate.invoice.InvoiceAggergate;
 import com.seasky.ledgerincome.domain.aggregate.invoice.InvoiceDetailEntity;
 import com.seasky.ledgerincome.domain.aggregate.invoice.InvoiceRepository;
+import com.seasky.ledgerincome.domain.aggregate.returnfile.ReturnFileAggregate;
+import com.seasky.ledgerincome.domain.aggregate.returnfile.ReturnFileRepository;
 import com.seasky.ledgerincome.domain.enums.BillTypeEnum;
+import com.seasky.ledgerincome.domain.enums.FileTypeEmun;
 import com.seasky.ledgerincome.interfaces.controller.excel.InvoiceTemplate;
 import com.seasky.ledgerincome.utils.FileUtil;
 import com.seasky.ledgerincome.utils.HttpClientUtil;
@@ -45,7 +49,8 @@ public class InvoiceCommandServieceImpl extends BaseCommandAbstractService<Invoi
     InvoiceRepository invoiceRepository;
     @Resource
     PropertyUtil propertyUtil;
-
+    @Autowired
+    ReturnFileRepository returnFileRepository;
     @Override
     public void createInvoice(CreateInvoiceCmd cmd) {
         InvoiceAggergate invoiceAggergate = InvoiceAssembler.toInvoiceAggergate(cmd);
@@ -136,6 +141,7 @@ public class InvoiceCommandServieceImpl extends BaseCommandAbstractService<Invoi
       if(invoice==null)
           throw ExceptionUtil.getException(null,"鍙戠エ涓嶅瓨鍦�!");
         LocalDateTime invoiceDate= LocalDateTime.now();
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         Map<String, Object> kpxx = new HashMap<>();
         kpxx.put("DDH",invoice.getInvoiceId().toString());//鍙戠エ璁㈠崟鍙�
         kpxx.put("GHFMC",invoice.getBuyerName());//璐揣鏂瑰悕绉�
@@ -152,7 +158,7 @@ public class InvoiceCommandServieceImpl extends BaseCommandAbstractService<Invoi
         kpxx.put("KPY","");
         kpxx.put("LSH","");
         kpxx.put("FPZF",false);
-        kpxx.put("KPSJ", invoiceDate.toString());
+        kpxx.put("KPSJ", invoiceDate.format(formatter));
         kpxx.put("ZFFPHM","");
         kpxx.put("ZFFPDM","");
         kpxx.put("InvoiceTypeUrl","");
@@ -255,7 +261,7 @@ public class InvoiceCommandServieceImpl extends BaseCommandAbstractService<Invoi
     }
 
     @Override
-    public void queryInvoice(SendInvoiceCmd cmd,String code) {
+    public byte[] queryInvoice(SendInvoiceCmd cmd,String code) {
         String sppDzpjUrl = propertyUtil.getSppDzpjUrl();
         String sppDzpjKey = propertyUtil.getSppDzpjKey();
         if (StringUtils.isEmpty(sppDzpjUrl))
@@ -342,12 +348,14 @@ public class InvoiceCommandServieceImpl extends BaseCommandAbstractService<Invoi
 
                 fileSaveFileInfoCmd.setFileBusiness(fileBusinessCmd);
                 //**淇濆瓨鏂囦欢
+                String fileType=BillTypeEnum.澧炲€肩◣涓撶敤鍙戠エ.toString().equals(invoice.getBillType())?
+                        FileTypeEmun.澧炲€肩◣鍙戠エ.getCode() : FileTypeEmun.鏅€氬彂绁�.getCode();
                 FileContentCmd fileContentCmd = new FileContentCmd();
                 fileContentCmd.setFileStream(bytes);
                 fileContentCmd.setFileName(invoice.getInvoiceId().toString());
                 fileContentCmd.setFileContent(stationObj.toJSONString());
                 fileContentCmd.setFileExtension("");
-                fileContentCmd.setFileTypeID(invoice.getBillType().equals(BillTypeEnum.澧炲€肩◣涓撶敤鍙戠エ)?212:209);
+                fileContentCmd.setFileTypeName(fileType);
                fileContentCmd.setPrint(false);
                 fileSaveFileInfoCmd.setFileContent(fileContentCmd);
                 fileSaveFileInfoCmd.setUserName(code);
@@ -362,6 +370,8 @@ public class InvoiceCommandServieceImpl extends BaseCommandAbstractService<Invoi
                                     .build()
                     );
                 }
+                String fileid=stationFObj.getString("fileId");
+
                 //**淇濆瓨鍏宠仈鍏崇郴銆�
 
                 FileFiltBusinessCmd fileFiltBusinessCmd=new FileFiltBusinessCmd();
@@ -385,10 +395,16 @@ public class InvoiceCommandServieceImpl extends BaseCommandAbstractService<Invoi
                     );
                 }
                 //淇濆瓨鏈湴闄勪欢琛�
+                ReturnFileAggregate returnFileAggregate= ReturnFileAssembler.toAggregate(fileid,
+                        fileType,invoice.getInvoiceId().toString(),cmd.getIncomeId(),cmd.getInvoiceId());
+                returnFileRepository.save(returnFileAggregate);
+                return  bytes;
             }
         } catch (Exception exception) {
             throw ExceptionUtil.getException(null, exception.getMessage());
+
         }
+        return  null;
     }
     private  Map<Integer, String> checkImport(List<InvoiceTemplate> list){
         Map<Integer, String> resMap = new HashMap<>();
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/api/InvoiceCommandServiece.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/api/InvoiceCommandServiece.java
index 3d1c415b..4e5250f4 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/api/InvoiceCommandServiece.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/api/InvoiceCommandServiece.java
@@ -16,5 +16,5 @@ public interface InvoiceCommandServiece {
    void  removeInvoice(RemoveInvoiceCmd cmd);
     Map<Integer, String> importExcel(List<InvoiceTemplate> list);
     void  sendInvoice(SendInvoiceCmd cmd);
-    void  queryInvoice(SendInvoiceCmd cmd,String code);
+    byte[]  queryInvoice(SendInvoiceCmd cmd,String code);
 }
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/assembler/ReturnFileAssembler.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/assembler/ReturnFileAssembler.java
new file mode 100644
index 00000000..478af09f
--- /dev/null
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/assembler/ReturnFileAssembler.java
@@ -0,0 +1,16 @@
+package com.seasky.ledgerincome.application.command.assembler;
+
+import com.seasky.ledgerincome.application.command.dto.ModifyProjectTypeCmd;
+import com.seasky.ledgerincome.domain.aggregate.projecttype.ProjectTypeAggregate;
+import com.seasky.ledgerincome.domain.aggregate.returnfile.ReturnFileAggregate;
+import com.seasky.ledgerincome.domain.value.IncomeTypeVo;
+
+public class ReturnFileAssembler {
+    public static ReturnFileAggregate toAggregate(
+            String fileId,String fileType,String fileName,
+            Long incomeId,Long invoiceId
+    ) {
+
+        return new ReturnFileAggregate(fileId,fileType,fileName,incomeId,invoiceId);
+    }
+}
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/aggregate/returnfile/ReturnFileAggregate.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/aggregate/returnfile/ReturnFileAggregate.java
new file mode 100644
index 00000000..39d2c18e
--- /dev/null
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/aggregate/returnfile/ReturnFileAggregate.java
@@ -0,0 +1,27 @@
+package com.seasky.ledgerincome.domain.aggregate.returnfile;
+
+import com.seasky.core.ddd.base.objects.BaseAggregate;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+@AllArgsConstructor
+@Data
+public class ReturnFileAggregate extends BaseAggregate {
+    public  Long id;
+    public  Long incomeId;
+    public  Long invoiceId;
+    public  String fileType;
+    public  String fileId;
+    public  String fileName;
+ public  ReturnFileAggregate(String fileId,String fileType,String fileName,
+                             Long incomeId,Long invoiceId)
+ {
+     this.fileId=fileId;
+     this.incomeId=incomeId;
+     this.fileName=fileName;
+     this.invoiceId=invoiceId;
+     this.fileType=fileType;
+ }
+}
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/aggregate/returnfile/ReturnFileRepository.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/aggregate/returnfile/ReturnFileRepository.java
new file mode 100644
index 00000000..8d2279fe
--- /dev/null
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/aggregate/returnfile/ReturnFileRepository.java
@@ -0,0 +1,8 @@
+package com.seasky.ledgerincome.domain.aggregate.returnfile;
+
+import com.seasky.core.ddd.base.api.BaseRepository;
+
+
+public interface ReturnFileRepository extends BaseRepository<ReturnFileAggregate> {
+
+}
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/enums/FileTypeEmun.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/enums/FileTypeEmun.java
new file mode 100644
index 00000000..71df748b
--- /dev/null
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/enums/FileTypeEmun.java
@@ -0,0 +1,42 @@
+package com.seasky.ledgerincome.domain.enums;
+
+public enum FileTypeEmun {
+    澧炲€肩◣鍙戠エ("澧炲€肩◣鍙戠エ","澧炲€肩◣鍙戠エ"),
+    鏅€氬彂绁�("鏅€氬彂绁�","鏅€氬彂绁�"),
+    鍏ヨ处鐢宠鍗�("鍏ヨ处鐢宠鍗�","鍏ヨ处鐢宠鍗�"),
+    鏀舵鍥炲崟("鏀舵鍥炲崟","鏀舵鍥炲崟"),
+    鍏朵粬("鍏朵粬","鍏朵粬");
+    private final String value;
+    private final String code;
+    FileTypeEmun(String value,
+                   String code
+    ) {
+        this.value = value;
+        this.code = code;
+    }
+
+    public String getValue() {
+        return value;
+    }
+    public String getCode() {
+        return code;
+    }
+
+    public static FileTypeEmun getByValue(String code) {
+        for (FileTypeEmun relationshipEnum : values()) {
+            if (relationshipEnum.getCode().equals(code)) {
+                return relationshipEnum;
+            }
+        }
+        return null;
+    }
+
+    public static FileTypeEmun getByCode(String value) {
+        for (FileTypeEmun relationshipEnum : values()) {
+            if (relationshipEnum.getValue().equals(value)) {
+                return relationshipEnum;
+            }
+        }
+        return null;
+    }
+}
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/value/ReceiptBillVo.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/value/ReceiptBillVo.java
index 94a06cb1..e8ca6ce1 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/value/ReceiptBillVo.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/domain/value/ReceiptBillVo.java
@@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import javax.swing.plaf.PanelUI;
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
 import java.util.Date;
@@ -21,18 +22,9 @@ public class ReceiptBillVo {
 
     public String billNo;
     private String bankName;
-    public Date incomeDate;
-    public BigDecimal incomeAmount;
-    public String incomeAccount;
-    public String paymentAccount;
-    public String incomeName;
-    public String paymentName;
-    public String incomeSummary;
-    public String incomePostscript;
-    public String incomeProject;
     public String supplementState;
     public String supplementName;
-    public Boolean needInQuire;
+
     public String incomeSpeed;
     public String preIncomeType;
     public Long incomeTypeId;
@@ -43,5 +35,6 @@ public class ReceiptBillVo {
 
     private String wrongAccountDescribe;
     private String wrongVoucherNo;
-    private String wrongVoucherDate;
+    private Date wrongVoucherDate;
+    public  String repairProject;
 }
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/mapper/api/ReturnFileMapper.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/mapper/api/ReturnFileMapper.java
new file mode 100644
index 00000000..9deed0ee
--- /dev/null
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/mapper/api/ReturnFileMapper.java
@@ -0,0 +1,9 @@
+package com.seasky.ledgerincome.infrastructure.mapper.api;
+
+import com.seasky.core.base.BaseMapper;
+import com.seasky.ledgerincome.infrastructure.po.ReturnFilePo;
+import org.mapstruct.Mapper;
+
+@Mapper
+public interface ReturnFileMapper extends BaseMapper<ReturnFilePo> {
+}
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/po/ReturnFilePo.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/po/ReturnFilePo.java
new file mode 100644
index 00000000..bd7ac50c
--- /dev/null
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/po/ReturnFilePo.java
@@ -0,0 +1,20 @@
+package com.seasky.ledgerincome.infrastructure.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.seasky.core.ddd.base.objects.BasePo;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.bouncycastle.pqc.crypto.newhope.NHOtherInfoGenerator;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@TableName(value = "t_return_file", autoResultMap = true)
+public class ReturnFilePo  extends BasePo {
+    public  Long incomeId;
+    public  Long invoiceId;
+    public  String fileType;
+    public  String fileId;
+    public  String fileName;
+}
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/repository/ReturnFileRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/repository/ReturnFileRepositoryImpl.java
new file mode 100644
index 00000000..ce4ca88b
--- /dev/null
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/repository/ReturnFileRepositoryImpl.java
@@ -0,0 +1,59 @@
+package com.seasky.ledgerincome.infrastructure.repository;
+
+import com.seasky.ledgerincome.domain.aggregate.projecttype.ProjectTypeAggregate;
+import com.seasky.ledgerincome.domain.aggregate.returnfile.ReturnFileAggregate;
+import com.seasky.ledgerincome.domain.aggregate.returnfile.ReturnFileRepository;
+import com.seasky.ledgerincome.infrastructure.po.BankAccountNumberPo;
+import com.seasky.ledgerincome.infrastructure.po.ProjectTypePo;
+import com.seasky.ledgerincome.infrastructure.po.ReturnFilePo;
+import com.seasky.ledgerincome.infrastructure.repository.convert.ProjectTypeConvert;
+import com.seasky.ledgerincome.infrastructure.repository.convert.ReturnFileConvert;
+import com.seasky.ledgerincome.infrastructure.service.api.ReturnFileService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Repository;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import java.util.Objects;
+
+@Repository
+public class ReturnFileRepositoryImpl  implements ReturnFileRepository {
+    @Autowired
+    ReturnFileService returnFileService;
+
+    private ReturnFileAggregate buildAggregate(Long id) {
+        ReturnFilePo returnFilePo = returnFileService.get(id);
+        if (returnFilePo == null) {
+            return null;
+        }
+        return ReturnFileConvert.toReturnFileAggregate(returnFilePo);
+    }
+    @Override
+    public ReturnFileAggregate findById(@NotNull Long aLong) {
+        return buildAggregate(aLong);
+    }
+
+    @Override
+    public ReturnFileAggregate findByIdWithLock(@NotNull Long aLong) {
+        return buildAggregate(aLong);
+    }
+
+    @Override
+    public ReturnFileAggregate findByIdWithNoLock(@NotNull Long aLong) {
+        return buildAggregate(aLong);
+    }
+
+    @Override
+    public Long save(@NotNull @Valid ReturnFileAggregate returnFileAggregate) {
+
+        ReturnFilePo returnFilePo=ReturnFileConvert.toReturnFilePo(returnFileAggregate);
+        ReturnFilePo finalExamplePo = Objects.isNull(returnFileAggregate.getId())?
+                returnFileService.insert(returnFilePo):returnFileService.update(returnFilePo);
+        return finalExamplePo.getId();
+    }
+
+    @Override
+    public void remove(@NotNull @Valid ReturnFileAggregate returnFileAggregate) {
+
+    }
+}
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/repository/convert/ReturnFileConvert.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/repository/convert/ReturnFileConvert.java
new file mode 100644
index 00000000..52785020
--- /dev/null
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/repository/convert/ReturnFileConvert.java
@@ -0,0 +1,37 @@
+package com.seasky.ledgerincome.infrastructure.repository.convert;
+
+
+import com.seasky.ledgerincome.domain.aggregate.bankaccountnumber.BankAccountNumberAggregate;
+import com.seasky.ledgerincome.domain.aggregate.example.ExampleAggregate;
+
+import com.seasky.ledgerincome.domain.aggregate.returnfile.ReturnFileAggregate;
+import com.seasky.ledgerincome.infrastructure.po.BankAccountNumberPo;
+import com.seasky.ledgerincome.infrastructure.po.ExamplePo;
+import com.seasky.ledgerincome.infrastructure.po.ReturnFilePo;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class ReturnFileConvert {
+    public static ReturnFilePo toReturnFilePo(ReturnFileAggregate returnFileAggregate) {
+        return new ReturnFilePo(
+                returnFileAggregate.getIncomeId(),
+                returnFileAggregate.getInvoiceId(),
+                returnFileAggregate.getFileType(),
+                returnFileAggregate.getFileId(),
+                returnFileAggregate.getFileName()
+        );
+    }
+    public static ReturnFileAggregate toReturnFileAggregate(ReturnFilePo returnFilePo) {
+        return new ReturnFileAggregate(
+                returnFilePo.getId(),
+               returnFilePo.getIncomeId(),
+                returnFilePo.getInvoiceId(),
+                returnFilePo.getFileType(),
+                returnFilePo.getFileId(),
+                returnFilePo.getFileName()
+        );
+
+
+    }
+}
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/service/ReturnFileServiceImpl.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/service/ReturnFileServiceImpl.java
new file mode 100644
index 00000000..1d0735fa
--- /dev/null
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/service/ReturnFileServiceImpl.java
@@ -0,0 +1,13 @@
+package com.seasky.ledgerincome.infrastructure.service;
+
+import com.seasky.core.base.AbstractService;
+import com.seasky.ledgerincome.infrastructure.mapper.api.ProjectTypeMapper;
+import com.seasky.ledgerincome.infrastructure.mapper.api.ReturnFileMapper;
+import com.seasky.ledgerincome.infrastructure.po.ProjectTypePo;
+import com.seasky.ledgerincome.infrastructure.po.ReturnFilePo;
+import com.seasky.ledgerincome.infrastructure.service.api.ReturnFileService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ReturnFileServiceImpl extends AbstractService<ReturnFilePo, ReturnFileMapper> implements ReturnFileService {
+}
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/service/api/ReturnFileService.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/service/api/ReturnFileService.java
new file mode 100644
index 00000000..5b5572bc
--- /dev/null
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/infrastructure/service/api/ReturnFileService.java
@@ -0,0 +1,8 @@
+package com.seasky.ledgerincome.infrastructure.service.api;
+
+import com.seasky.core.base.BaseService;
+import com.seasky.ledgerincome.infrastructure.po.ReturnFilePo;
+
+
+public interface ReturnFileService extends BaseService<ReturnFilePo> {
+}
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/AccountEntryManageControllerImpl.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/AccountEntryManageControllerImpl.java
index 771bff47..de1ad11e 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/AccountEntryManageControllerImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/AccountEntryManageControllerImpl.java
@@ -53,7 +53,8 @@ public class AccountEntryManageControllerImpl extends  BaseControllerImpl implem
 
     @Override
     public Result<Object> queryInvoice(SendInvoiceCmd cmd) {
-        invoiceCommandServiece.queryInvoice(cmd,this.getLoginInfoOut().getUserName());
-        return Response.success();
+        byte[] r=  invoiceCommandServiece.queryInvoice(cmd,this.getLoginInfoOut().getUserName());
+        return ok(ResponseCode.SUCCESS, r);
     }
+
 }
-- 
GitLab