# API_Cloud
**Repository Path**: yezhiqiu_1/API_Cloud
## Basic Information
- **Project Name**: API_Cloud
- **Description**: 调用金蝶云星空Cloud示例代码
- **Primary Language**: Unknown
- **License**: AGPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 6
- **Created**: 2021-03-19
- **Last Updated**: 2022-01-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 简介
调用金蝶云星空Cloud示例代码
同步基础资料至金蝶云星空
涉及的基础资料如下:
+ 科目
+ 银行账号
+ 银行
+ 客户
+ 部门
+ 员工
+ 组织机构
+ 供应商
+ 税率
+ 专项应付款(自定义基础资料)
# 接口说明
其中一个很重要的”坑“!Cloud中的保存和修改接口共用的一个接口。区别就在于是否给定单据id !!!
如果传输的JSON字符串中id为 0 则表示新增。给定 id 内容 则视为 修改。
例如,以客户接口为例:
- 客户新增数据格式
```
/**
*
* Title: save
*
*
* Description:新增客户
*
*
*
* @param client CloudApi连接客户端
* @param params name(客户名称) number(客户编码) useOrgNum(Cloud使用组织编码)
* @return 响应JSON串
* @see com.cloud.api.basedata.service.BaseAction#save(com.lifei.k3cloudwebapi.K3CloudApiClient,
* java.util.Map)
*/
@Override
public String save(K3CloudApiClient client, Map params) {
if (params.size() > 0) {
// 客户名称
String name = params.get("name");
String number = params.get("number");
String useOrgNum = params.get("useOrgNum");
// 0 表示新增
int cusId = 0;
String data = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[\"FName\",\"FNumber\"],\"Model\":{\"FCUSTID\":'"
+ cusId + "',\"FCreateOrgId\":{\"FNumber\":'" + useOrgNum + "'},\"FNumber\":'" + number
+ "',\"FUseOrgId\":{\"FNumber\":'" + useOrgNum + "'},\"FName\":'" + name + "'}}";
try {
return client.draft(CUSTOMER_FORMID, data);
} catch (Exception e) {
e.printStackTrace();
System.out.println("基础资料类型:客户 名称:" + name + " 编码:" + number + " 同步失败!" + e);
}
}
return null;
}
```
- 客户修改数据格式
```
/**
*
* Title: update
*
*
* Description:更新客户信息(编码、名称)
*
*
* @param client CloudApi连接客户端
* @param params name(客户名称) number(客户编码) billId(目标单据id) useOrgNum(Cloud使用组织编码)
* @return 响应JSON串
* @see com.cloud.api.basedata.service.BaseAction#update(com.lifei.k3cloudwebapi.K3CloudApiClient,
* java.util.Map)
*/
@Override
public String update(K3CloudApiClient client, Map params) {
if (params.size() > 0) {
String name = params.get("name");
String number = params.get("number");
String billId = params.get("billId");
// String useOrgNum = params.get("useOrgNum");
int cusId = Integer.valueOf(billId);
String data = "{\"NeedUpDateFields\":[\"FName\",\"FNumber\"],\"NeedReturnFields\":[\"FName\",\"FNumber\"],\"Model\":{\"FCUSTID\":'"
+ cusId + "',\"FNumber\":'" + number + "',\"FName\":'" + name + "'}}";
try {
return client.execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new Object[] { CUSTOMER_FORMID, data }, String.class);
} catch (Exception e) {
e.printStackTrace();
System.out.println("基础资料类型:客户 名称:" + name + " 编码:" + number + " 修改失败!" + e);
}
}
return null;
}
```