• Java 对接 金蝶云星空 接口 对接 金蝶API 对接 金蝶 接口


    Java 对接 金蝶云星空 接口 对接 金蝶API 对接 金蝶 接口


    必须要吐槽 金蝶的接口文档,简直就是噩梦,文档和示例牛头不对马嘴,示例代码都是错误的

    1、准备工作

    1.1 接口调用账户

    准备工作,金蝶倒是写的很全, 金蝶云星空 OpenApI
    这里有一个注意点,就是 kdwebapi.properties 配置
    在这里插入图片描述

    ## 账套ID ,在第三方登录授权配置获取
    X-KDApi-AcctID=123123123
    ## APPID ,在第三方登录授权配置获取
    X-KDApi-AppID=229492_SYbOQwvH7plexfys4+6MzbUt1q47TNlG12312
    ## 秘钥 ,在第三方登录授权配置获取
    X-KDApi-AppSec=c1cc65ee19dd4be19eb27ec667e123123bf6ed3123123123123
    ## 调用接口的用户名 ,在第三方登录授权配置获取
    X-KDApi-UserName=李杨123123
    ## 固定 2052
    X-KDApi-LCID=2052
    ## 这个是你的金蝶云星空产品部署的服务器访问地址
    X-KDApi-ServerUrl=http://12.19.119.240/k3cloud/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    1.2 下载 金蝶星空云 Java SDK

    SDK
    在这里插入图片描述
    解压 后导入 Eclipse 或者 Idea, 结构目录:
    在这里插入图片描述

    1.3 Maven项目使用

    Idea, 打开项目设置,点 + 号Jar包加入到项目中
    在这里插入图片描述

    1.4 调用测试

    比如我现在要调用 生产制造-生产订单-订单列表接口, 金蝶 单据查询 就是 列表接口
    在这里插入图片描述
    这里有一个很大的坑就是 FieldKeys 显示字段这个坑,这个字段必填,用于指定返回哪些字段,接口文档并没有写有哪些字段可以选择
    不知道字段 可以去 保存接口中查看
    例如,我现在调用的 是 生产订单列表接口,我不知道选择哪些字段返回,可以去 保存接口当中找
    在这里插入图片描述

    找到 data.Model.FTreeEntity这个对象参数,里面就是 列表当中存在的字段
    在这里插入图片描述

    还有一个注意点,就是 接口返回的数据 必须用对象映射
    通用代码

    import com.alibaba.fastjson.JSONObject;
    import com.kingdee.bos.webapi.sdk.K3CloudApi;
    import com.kingdee.bos.webapi.sdk.QueryParam;
    import lombok.Data;
    import org.junit.Test;
    
    import java.util.List;
    
    /**
     * <h2>金蝶测试</h2>
     * <p>
     *
     * </p>
     *
     * @author Evan <1922802352@qq.com>
     * @since 2022年06月24日 15:02
     */
    public class TestKingdee {
        @Test
        public void TEST_PRD_MOExecuteDetailRpt(){
            //注意 1:此处不再使用参数形式传入用户名及密码等敏感信息,改为在登录配置文件中设置。
            //注意 2:如果还未配置第三方系统登录授权信息,必须先配置后,再进行业务操作,详情参考各语言版本SDK介绍中的登录配置文件说明。
    
            K3CloudApi client = new K3CloudApi();
            String formId="PRD_MO";
            try {
                List<TestKingdee.proMo> list = client.executeBillQuery(new QueryParam().setFormId(formId).setFieldKeys("FPlanStartDate, FPlanFinishDate").setLimit(100), TestKingdee.proMo.class);
                System.out.println(JSONObject.toJSONString(list));
                System.out.println(list.size());
            }catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }
    
    
        }
    
        @Data
        public static class proMo{
            private String FPlanStartDate;
            private String FPlanFinishDate;
        }
    }
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
  • 相关阅读:
    (Python学习)爬取虎牙直播网站——主播名字和人气
    Golang:uiprogress在终端实现进度条功能
    S330 中兴全新原装SDH光端机
    使用vue ui命令创建vue项目
    CentOS 如何更改SSH端口的方法
    NR 5G: Relaxed measurement
    react实现列表滚动组件
    PrestoSQL, PrestoDB 和 Trino
    JavaScript函数进阶:闭包
    Altium Designer 相同电路多组复制布线
  • 原文地址:https://blog.csdn.net/qq_40739917/article/details/125449836