diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/OverallConstant.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/OverallConstant.java
index 2a6ab576..20f01480 100644
--- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/OverallConstant.java
+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/OverallConstant.java
@@ -70,6 +70,11 @@ public class OverallConstant {
         //应收单
         prodOverPublic.put("arapYsInsertApproveCode", "8000370069");//自定义档案内容查询
 
+        //付款单
+        prodOverPublic.put("arapFkInsetCode", "8000370044");//付款单审批
+        prodOverPublic.put("arapFkApproveCode", "8000370005");//付款单保存即审批
+
+
 
         prodOverPublic.put("appId", "800037");//数智中台
         prodOverPublic.put("publicKey", "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj");//数智中台
diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/callback/service/impl/CallBackServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/callback/service/impl/CallBackServiceImpl.java
index 1735bcc5..a13b161a 100644
--- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/callback/service/impl/CallBackServiceImpl.java
+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/callback/service/impl/CallBackServiceImpl.java
@@ -1,17 +1,23 @@
 package com.hzya.frame.plugin.lets.dingtalk.callback.service.impl;
 
 import cn.hutool.core.lang.Assert;
+import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenResponseBody;
 import com.aliyun.dingtalkworkflow_1_0.models.GetProcessInstanceResponse;
 import com.aliyun.dingtalkworkflow_1_0.models.GetProcessInstanceResponseBody;
+import com.hzya.frame.plugin.lets.constant.OverallConstant;
 import com.hzya.frame.plugin.lets.dingtalk.callback.service.CallBackService;
 import com.hzya.frame.plugin.lets.dingtalk.dao.IDingU8cBillDao;
 import com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity;
 import com.hzya.frame.plugin.lets.dingtalk.utils.DingTalkUtils;
 import com.hzya.frame.plugin.lets.dingtalk.vo.DingCallbackCrypto;
 import com.hzya.frame.plugin.lets.u8cdto.ArapDjzb;
+import com.hzya.frame.plugin.lets.u8cdto.GeneralBillVO_4ADto;
+import com.hzya.frame.plugin.lets.util.pushData.Attribute;
+import com.hzya.frame.plugin.lets.util.pushData.PushU8CByApiCode;
+import com.hzya.frame.plugin.lets.util.pushData.ZTResult;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,6 +25,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -79,7 +86,7 @@ public class CallBackServiceImpl implements CallBackService {
                         break;
                     case "PROC-AC33FC85-FB44-49FC-B926-1D966AE3BBD2":
                         logger.info("采购付款申请(新) -> PROC-AC33FC85-FB44-49FC-B926-1D966AE3BBD2");
-//                        transferBill(eventJson);//特殊业务处理(新)
+                        transferBill(eventJson);//特殊业务处理(新)
                         break;
 
                 }
@@ -109,26 +116,59 @@ public class CallBackServiceImpl implements CallBackService {
      * 回调,审核付款单
      */
     public void outSourceBill(JSONObject eventJson) throws Exception {
-        //获取token
-        String token = getDingTalkToken();
-        //实例ID
-        String processInstanceId = eventJson.getString("processInstanceId");
-        //查询实例的具体信息
-        GetProcessInstanceResponse processInstanceDetails = DingTalkUtils.getProcessInstanceDetails(token, processInstanceId);
-        GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResult processInstanceResponseBodyResult = processInstanceDetails.getBody().getResult();
-        //审批状态,该回调事件只监听,审批完成的
-        if (processInstanceResponseBodyResult.getStatus().equals("RUNNING")) {//审批中
-            logger.info("采购付款申请(新)--->审批中");
-        } else if (processInstanceResponseBodyResult.getStatus().equals("TERMINATED")) {//已撤销
-            logger.info("采购付款申请(新)--->已撤销");
-        } else if (processInstanceResponseBodyResult.getStatus().equals("COMPLETED")) {//审批完成
-            logger.info("采购付款申请(新)--->审批完成");
-        }
-        //获取所有审批意见
-        List<GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultOperationRecords> operationRecords = processInstanceResponseBodyResult.getOperationRecords();
+        try {
+            //获取token
+            String token = getDingTalkToken();
+            //实例ID
+            String processInstanceId = eventJson.getString("processInstanceId");
+            DingU8cBillEntity dingU8cBillEntity = queryU8CDing(processInstanceId);
+            if (dingU8cBillEntity == null) {
+                Assert.state(false, "代理采购(付款单)->采购付款申请(店群专用)回调:未查询到相关审批实例,实例id:{}", processInstanceId);
+            }
+            //查询实例的具体信息
+            GetProcessInstanceResponse processInstanceDetails = DingTalkUtils.getProcessInstanceDetails(token, processInstanceId);
+            GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResult processInstanceResponseBodyResult = processInstanceDetails.getBody().getResult();
+            //审批状态,该回调事件只监听,审批完成的
+            if (processInstanceResponseBodyResult.getStatus().equals("RUNNING")) {//审批中
+                logger.info("采购付款申请(新)--->审批中");
+            } else if (processInstanceResponseBodyResult.getStatus().equals("TERMINATED")) {//已撤销
+                logger.info("采购付款申请(新)--->已撤销");
+            } else if (processInstanceResponseBodyResult.getStatus().equals("COMPLETED")) {//审批完成
+                logger.info("采购付款申请(新)--->审批完成");
+            }
+            //获取所有审批意见
+            List<GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultOperationRecords> operationRecords = processInstanceResponseBodyResult.getOperationRecords();
+
+            //审批意见过滤掉:START_PROCESS_INSTANCE:发起流程实例
+            operationRecords = operationRecords.stream().filter(item -> !item.getType().equals("START_PROCESS_INSTANCE")).collect(Collectors.toList());
+            System.out.println(operationRecords);
+            String remark = "";
+
+            //钉钉问题记录执行明细
+            for (GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultOperationRecords operationRecord : operationRecords) {
+                //操作结果
+                switch (operationRecord.getResult()) {
+                    case "AGREE":
+                        dingU8cBillEntity.setDing_res("同意");
+                        break;
+                    case "REFUSE":
+                        dingU8cBillEntity.setDing_res("拒绝");
+                        break;
+                    case "NONE":
+                        dingU8cBillEntity.setDing_res("未处理");
+                        break;
+                }
+                //处理意见
+                remark = operationRecord.getRemark();
+            }
+            dingU8cBillDao.saveOrUpDateV2(dingU8cBillEntity);
+
+            //审批u8c单据
+            approveArapDjzb(dingU8cBillEntity, remark);
+        }catch (Exception e){
+            logger.error("代理采购(付款单)->采购付款申请(店群专用)回调报错:"+e);
+        }
 
-        //审批意见过滤掉:START_PROCESS_INSTANCE:发起流程实例
-        operationRecords = operationRecords.stream().filter(item -> !item.getType().equals("START_PROCESS_INSTANCE")).collect(Collectors.toList());
     }
 
     /**
@@ -137,8 +177,6 @@ public class CallBackServiceImpl implements CallBackService {
      */
     public void agencyBill(JSONObject eventJson) throws Exception{
         try {
-
-
             //获取token
             String token = getDingTalkToken();
             //实例ID
@@ -207,11 +245,66 @@ public class CallBackServiceImpl implements CallBackService {
         }
     }
 
+    public void transferBill(JSONObject eventJson) throws Exception{
+        //获取token
+        String token = getDingTalkToken();
+
+    }
+
+    @Autowired
+    private PushU8CByApiCode pushU8CByApiCode;
     /**
      * 审核付款单
      * @param remark 处理意见
      */
-    public void approveArapDjzb(DingU8cBillEntity dingU8cBillEntity,String remark){
-        ArapDjzb arapDjzb = new ArapDjzb();
+    public void approveArapDjzb(DingU8cBillEntity dingU8cBillEntity,String remark) throws Exception {
+        Map bills=new HashMap();
+        bills.put("djbh",dingU8cBillEntity.getU8cBillCode());
+        bills.put("dwbm",dingU8cBillEntity.getU8cCodeCorp());
+        bills.put("opinion",remark);
+        bills.put("operatorid", OverallConstant.getOverAllValue("u8cApiZdrCode"));
+        String jsonStr = JSONUtil.toJsonStr(bills);
+        jsonStr="{\"bills\":["+jsonStr+"]}";
+        System.out.println(jsonStr);
+
+        //推送
+        String response="";
+        try {
+            ZTResult ztResult = pushU8CByApiCode.pushByCode(OverallConstant.getOverAllValue("arapFkApproveCode"), jsonStr);
+            //两层判断,一层中台转发,一层u8c返回
+            if ("false".equals(ztResult.getFlag())) {
+                //转发失败
+                response = JSONUtil.toJsonStr(ztResult.getAttribute());
+                Assert.state(false, "丽知:审核付款单审核失败,失败原因:{}", ztResult.getAttribute());
+            }
+            Attribute attribute = ztResult.getAttribute();
+            boolean isSuccess = false;
+            if ("success".equals(attribute.getStatus())) {
+                isSuccess = true;
+            }
+            if (!isSuccess) {
+                Assert.state(false, "推送U8C--> 丽知:审核付款单审核 失败 接口返回结果:{} ", response);
+            }
+            //成功
+            dingU8cBillEntity.setApprove("Y");
+            dingU8cBillDao.save(dingU8cBillEntity);
+        }catch (Exception e){
+            logger.error("推送U8C--> 丽知:审核付款单审核 失败"+e);
+            //失败
+            dingU8cBillEntity.setApprove("N");
+            dingU8cBillEntity.setPushInfo(e.getMessage());
+            dingU8cBillDao.save(dingU8cBillEntity);
+        }
+
+    }
+
+    public static void main(String[] args) {
+        Map bills=new HashMap();
+        bills.put("djbh","FK2108160001");
+        bills.put("dwbm","SHLZ");
+        bills.put("operatorid", "tbadmin");
+        String jsonStr = JSONUtil.toJsonStr(bills);
+        jsonStr="{\"bills\":["+jsonStr+"]}";
+        System.out.println(jsonStr);
     }
 }
diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/entity/DingU8cBillEntity.xml b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/entity/DingU8cBillEntity.xml
index 005d7871..01a03264 100644
--- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/entity/DingU8cBillEntity.xml
+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/entity/DingU8cBillEntity.xml
@@ -13,7 +13,7 @@
            <result property="pushInfo" column="push_info" jdbcType="VARCHAR"/>
            <result property="dingTalkProcessId" column="ding_talk_process_id" jdbcType="VARCHAR"/>
            <result property="ding_res" column="ding_res" jdbcType="VARCHAR"/>
-           <result property="approve" column="approve" jdbcType="approve"/>
+           <result property="approve" column="approve" jdbcType="VARCHAR"/>
            <result property="modify_time" column="modify_time" jdbcType="TIMESTAMP"/>
            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
            <result property="sts" column="sts" jdbcType="VARCHAR"/>