diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/PayApplyPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/PayApplyPluginInitializer.java
index 93012623..65c4ac12 100644
--- a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/PayApplyPluginInitializer.java
+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/PayApplyPluginInitializer.java
@@ -1,25 +1,13 @@
 package com.hzya.frame.plugin.cbs8.plugin;
 
-import cn.hutool.core.map.MapBuilder;
-import cn.hutool.http.HttpRequest;
 import com.alibaba.fastjson.JSONObject;
 import com.hzya.frame.base.PluginBaseEntity;
-import com.hzya.frame.cbs8.service.ICbs8Service;
 import com.hzya.frame.plugin.cbs8.service.ICbsPluginService;
-import com.hzya.frame.seeyon.cbs8.entity.CbsLogEntity;
-import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity;
-import com.hzya.frame.seeyon.cbs8.service.ICbsLogService;
-import com.hzya.frame.seeyon.cbs8.service.IPaymentService;
 import com.hzya.frame.web.entity.JsonResultEntity;
-import org.apache.commons.collections.CollectionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
 /**
  * @Description 经办支付申请
  * @Author xiangerlin
diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/TransactionDetailPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/TransactionDetailPluginInitializer.java
index 264984f7..e65b75dc 100644
--- a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/TransactionDetailPluginInitializer.java
+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/TransactionDetailPluginInitializer.java
@@ -3,6 +3,7 @@ package com.hzya.frame.plugin.cbs8.plugin;
 import com.alibaba.fastjson.JSONObject;
 import com.hzya.frame.base.PluginBaseEntity;
 import com.hzya.frame.cbs8.dto.req.TransactionDetailReqDTO;
+import com.hzya.frame.cbs8.dto.res.TransactionDetailDTO;
 import com.hzya.frame.cbs8.util.CBSUtil;
 import com.hzya.frame.plugin.cbs8.service.ICbsPluginService;
 import com.hzya.frame.web.entity.JsonResultEntity;
@@ -10,6 +11,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.List;
+
 /**
  * @Description 交易明细查询
  * @Author xiangerlin
@@ -101,7 +104,7 @@ public class TransactionDetailPluginInitializer extends PluginBaseEntity {
         TransactionDetailReqDTO transactionDetailReqDTO = new TransactionDetailReqDTO();
         transactionDetailReqDTO.setCurrentPage(CBSUtil.DEFAULT_CURRENT_PAGE);
         transactionDetailReqDTO.setPageSize(CBSUtil.DEFAULT_PAGE_SIZE);
-        cbsPluginService.queryTransactionDetail(transactionDetailReqDTO);
+        List<TransactionDetailDTO> transactionDetailList = cbsPluginService.queryTransactionDetail(transactionDetailReqDTO);
         return null;
     }
 }
diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/ICbsPluginService.java b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/ICbsPluginService.java
index e6497480..f4491c0a 100644
--- a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/ICbsPluginService.java
+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/ICbsPluginService.java
@@ -1,6 +1,10 @@
 package com.hzya.frame.plugin.cbs8.service;
 
 import com.alibaba.fastjson.JSONObject;
+import com.hzya.frame.cbs8.dto.req.TransactionDetailReqDTO;
+import com.hzya.frame.cbs8.dto.res.TransactionDetailDTO;
+
+import java.util.List;
 
 /**
  * @Description
@@ -21,4 +25,18 @@ public interface ICbsPluginService {
      * @throws Exception
      */
      void queryResult(JSONObject requestJson)throws Exception;
+
+    /**
+     * 电子回单查询 并上传OA
+     * @param requestJson
+     * @throws Exception
+     */
+    void elecBillUpload(JSONObject requestJson)throws Exception;
+
+    /**
+     * 查询交易明细
+     * transactionDetailReqDTO.currentPage 、 transactionDetailReqDTO.pageSize 必填
+     * @param transactionDetailReqDTO
+     */
+    List<TransactionDetailDTO> queryTransactionDetail(TransactionDetailReqDTO transactionDetailReqDTO);
 }
diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/impl/CbsPluginServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/impl/CbsPluginServiceImpl.java
index a4b02f1e..57f488da 100644
--- a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/impl/CbsPluginServiceImpl.java
+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/impl/CbsPluginServiceImpl.java
@@ -1,10 +1,15 @@
 package com.hzya.frame.plugin.cbs8.service.impl;
 
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HttpUtil;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.hzya.frame.cbs8.dto.req.ElecRequestDTO;
 import com.hzya.frame.cbs8.dto.req.PayResultRequestDTO;
-import com.hzya.frame.cbs8.dto.res.PayResponseDTO;
-import com.hzya.frame.cbs8.dto.res.PayResultResDTO;
+import com.hzya.frame.cbs8.dto.req.TransactionDetailReqDTO;
+import com.hzya.frame.cbs8.dto.res.*;
 import com.hzya.frame.cbs8.service.ICbs8Service;
 import com.hzya.frame.cbs8.util.CBSUtil;
 import com.hzya.frame.cbs8.util.PayState;
@@ -14,11 +19,18 @@ import com.hzya.frame.seeyon.cbs8.entity.CbsLogEntity;
 import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity;
 import com.hzya.frame.seeyon.cbs8.service.ICbsLogService;
 import com.hzya.frame.seeyon.cbs8.service.IPaymentService;
+import com.hzya.frame.seeyon.dao.ICtpAttachmentDao;
+import com.hzya.frame.seeyon.entity.CtpAttachmentEntity;
+import com.hzya.frame.seeyon.service.ICtpAttachmentService;
+import com.hzya.frame.seeyon.util.RestUtil;
+import com.hzya.frame.uuid.UUIDLong;
 import org.apache.commons.collections.CollectionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -36,7 +48,11 @@ public class CbsPluginServiceImpl implements ICbsPluginService {
     private IPaymentService paymentService;
     @Autowired
     private ICbsLogService cbsLogService;
+    @Autowired
+    private ICtpAttachmentService ctpAttachmentService;
 
+    @Value("${cbs8.elec_path}")
+    private String elec_path;
     /**
      * 支付申请
      *
@@ -131,4 +147,82 @@ public class CbsPluginServiceImpl implements ICbsPluginService {
             }
         }
     }
+
+    /**
+     * 电子回单查询 并上传OA
+     *
+     * @param requestJson
+     * @throws Exception
+     */
+    @Override
+    public void elecBillUpload(JSONObject requestJson) throws Exception {
+        //查询支付成功 没有电子回单的数据
+        PaymentEntity paymentEntity = new PaymentEntity();
+        List<PaymentEntity> paymentList = paymentService.queryElecIsNull(paymentEntity);
+        if (CollectionUtils.isNotEmpty(paymentList)) {
+            for (PaymentEntity pay : paymentList) {
+                String payDate = DateUtil.format(DateUtil.parse(pay.getPayDate()), "yyyy-MM-dd");
+                //查询cbs电子回单
+                List<ElecResponseDTO> elecResList = cbs8Service.queryElecBill(new ElecRequestDTO(payDate,DateUtil.today(),pay.getReferenceNum()));
+                if (CollectionUtils.isNotEmpty(elecResList)){
+                    ElecResponseDTO elecResponseDTO = elecResList.get(0);
+                    String bucketFileUrl = elecResponseDTO.getBucketFileUrl();
+                    String bucketFileName = elecResponseDTO.getBucketFileName();
+                    //上传电子回单到OA
+                    HttpUtil.downloadFile(bucketFileUrl, FileUtil.file(elec_path));//附件下载
+                    String pdfUrl = elec_path + bucketFileName;
+                    File file = new File(pdfUrl);
+                    if (file.exists()) {
+                        JSONObject jsonObjectUpload = RestUtil.fileUpload(file);
+                        String file_url = jsonObjectUpload.getString("fileUrl");
+                        if (null != jsonObjectUpload && StrUtil.isNotEmpty(file_url)) {
+                            String sub_reference = String.valueOf(UUIDLong.longUUID());
+                            pay.setReceipt(sub_reference);
+                            //更新表单的电子回单值
+                            paymentService.updateElec(pay);
+                            //保存附件关系
+                            CtpAttachmentEntity ctpAttachmentEntity = new CtpAttachmentEntity();
+                            ctpAttachmentEntity.setFile_url(file_url);
+                            ctpAttachmentService.saveAttachment(file_url, pay.getSummaryId(), sub_reference);
+                        }
+                        //删除本地临时文件
+                        file.delete();
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * 查询交易明细
+     * transactionDetailReqDTO.currentPage 、 transactionDetailReqDTO.pageSize 必填
+     * @param transactionDetailReqDTO
+     */
+    @Override
+    public List<TransactionDetailDTO> queryTransactionDetail(TransactionDetailReqDTO transactionDetailReqDTO) {
+        boolean hasNextPage = true;//是否有下一页
+        int currentPage = transactionDetailReqDTO.getCurrentPage();
+        int pageSize = transactionDetailReqDTO.getPageSize();
+        if (currentPage == 0){
+            currentPage = CBSUtil.DEFAULT_CURRENT_PAGE;//页码
+        }
+        if (pageSize == 0){
+            pageSize = CBSUtil.DEFAULT_PAGE_SIZE;//每页条数
+            transactionDetailReqDTO.setPageSize(pageSize);
+        }
+        List<TransactionDetailDTO> resultList = new ArrayList<>();
+        do{
+            transactionDetailReqDTO.setCurrentPage(currentPage);//页码
+            currentPage++;//页码自增
+            hasNextPage = false;//保护功能,防止出现死循环
+            CbsResDataDTO dataDTO = cbs8Service.queryTransactionDetail(transactionDetailReqDTO);
+            if (null != dataDTO){
+                hasNextPage = dataDTO.getHasNextPage();
+                List<TransactionDetailDTO> transactionDetailDTOList = CBSUtil.convertJsonArrayToList(dataDTO.getList(), TransactionDetailDTO.class);
+                resultList.addAll(transactionDetailDTOList);
+            }
+        }while (hasNextPage);
+
+        return resultList;
+    }
 }