Browse Source

收款单 金蝶接口

zhanglei
yxt_djz 3 years ago
parent
commit
762f1ebd28
  1. 7
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java
  2. 6
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java
  3. 93
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/arreceivebill/ARReceivebill.java
  4. 18
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  5. 60
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/ArReceivebillCastToKingDeeBillFields.java
  6. 88
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/ArReceivebillService.java
  7. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data.json
  8. 22
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_FRECEIVEBILLENTRY.json
  9. 13
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_data.json
  10. 45
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_model.json
  11. 186
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/remarks.txt
  12. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/webapi测试的数据.txt
  13. BIN
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/收款单的参数必填备注.xlsx

7
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java

@ -3,6 +3,7 @@ package com.yxt.anrui.fin.api.kingdee;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.arreceivebill.ARReceivebill;
import com.yxt.anrui.fin.api.kingdee.bank.BDBank;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.bddepartment.BdDepartment;
@ -54,6 +55,12 @@ public interface FinKingDeeFeign {
@PostMapping("/draftReceivableBill")
@ResponseBody
ResultBean<String> draftReceivableBill(@RequestBody @Valid ARReceivable aRReceivable);
@ApiOperation("暂存付款单的接口")
@PostMapping("/draftArReceivebill")
@ResponseBody
ResultBean<String> draftArReceivebill(@RequestBody @Valid ARReceivebill arReceivebill);
@ApiOperation("暂存付款单的接口")
@PostMapping("/draftApPayBill")
@ResponseBody

6
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java

@ -3,6 +3,7 @@ package com.yxt.anrui.fin.api.kingdee;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.arreceivebill.ARReceivebill;
import com.yxt.anrui.fin.api.kingdee.bank.BDBank;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.bddepartment.BdDepartment;
@ -34,6 +35,11 @@ implements FinKingDeeFeign{
return null;
}
@Override
public ResultBean<String> draftArReceivebill(ARReceivebill arReceivebill) {
return null;
}
@Override
public ResultBean<String> draftApPayBill(ApPayBill apPayBill) {
return null;

93
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/arreceivebill/ARReceivebill.java

@ -0,0 +1,93 @@
package com.yxt.anrui.fin.api.kingdee.arreceivebill;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
/**
* 收款单
*/
@Data
public class ARReceivebill {
@JsonProperty("FDATE")
@NotBlank(message = "FDATE不能为空")
// 业务日期:FDATE (必填项)
public String FDATE;
@JsonProperty("FCONTACTUNIT")
@NotBlank(message = "FCONTACTUNIT不能为空")
// 往来单位:FCONTACTUNIT (必填项)
public String FCONTACTUNIT;
@JsonProperty("FPAYORGID")
@NotBlank(message = "FPAYORGID不能为空")
// 收款组织:FPAYORGID (必填项)
public String FPAYORGID;
@JsonProperty("FSALEDEPTID")
@NotBlank(message = "FSALEDEPTID不能为空")
// 销售部门:FSALEDEPTID (必填项)
public String FSALEDEPTID;
/* @JsonProperty("F_PAEZ_Assistant")
@NotBlank(message = "F_PAEZ_Assistant不能为空")
// 项目类别:F_PAEZ_Assistant (必填项)
public String F_PAEZ_Assistant;*/
/**
* //应付类别:F_PAEZ_AssistantType (必填项) 默认:005 定金
*/
@JsonProperty("F_PAEZ_AssistantType")
@NotBlank(message = "F_PAEZ_AssistantType不能为空")
public String F_PAEZ_AssistantType;
/**
* //应付类别:F_PAEZ_AssistantKey (必填项) 默认:005 定金
*/
@JsonProperty("F_PAEZ_AssistantKey")
@NotBlank(message = "F_PAEZ_AssistantKey不能为空")
public String F_PAEZ_AssistantKey;
@JsonProperty("FRECEIVEBILLENTRY")
public List<FRECEIVEBILLENTRY> FRECEIVEBILLENTRY=new ArrayList<>();
@Data
public static class FRECEIVEBILLENTRY {
/* @JsonProperty("FSETTLETYPEID")
@NotBlank(message = "FSETTLETYPEID不能为空")
// 结算方式:FSETTLETYPEID (必填项)
public String FSETTLETYPEID;*/
/**
* 结算方式:FSETTLETYPEIDKey (必填项)
*/
@JsonProperty("FSETTLETYPEIDKey")
@NotBlank(message = "FSETTLETYPEIDKey不能为空")
public String FSETTLETYPEIDKey;
/**
* 结算方式:FSETTLETYPEIDType (必填项)
*/
@JsonProperty("FSETTLETYPEIDType")
@NotBlank(message = "FSETTLETYPEIDType不能为空")
public String FSETTLETYPEIDType;
/* @JsonProperty("FPURPOSEID")
@NotBlank(message = "FPURPOSEID不能为空")
// 收款用途:FPURPOSEID (必填项)
public String FPURPOSEID;*/
/**
* 付款用途:FPURPOSEIDType (必填项) SFKYT08_SYS采购付款 SFKYT09_SYS预付款
*/
@JsonProperty("FPURPOSEIDType")
@NotBlank(message = "FPURPOSEIDType不能为空")
public String FPURPOSEIDType;
/**
* 付款用途:FPURPOSEIDKey (必填项) SFKYT08_SYS采购付款 SFKYT09_SYS预付款
*/
@JsonProperty("FPURPOSEIDKey")
@NotBlank(message = "FPURPOSEIDKey不能为空")
public String FPURPOSEIDKey;
@JsonProperty("FPOSTDATE")
@NotBlank(message = "FPOSTDATE不能为空")
// 登账日期:FPOSTDATE (必填项)
public String FPOSTDATE;
@JsonProperty("FRECTOTALAMOUNTFOR")
@NotBlank(message = "FRECTOTALAMOUNTFOR不能为空")
// 表体-应收金额:FRECTOTALAMOUNTFOR (必填项)
public String FRECTOTALAMOUNTFOR;
}
}

18
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java

@ -1,12 +1,11 @@
package com.yxt.anrui.fin.biz.kingdee;
import cn.hutool.json.JSONString;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.arreceivebill.ARReceivebill;
import com.yxt.anrui.fin.api.kingdee.bank.BDBank;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.bddepartment.BdDepartment;
@ -24,6 +23,7 @@ import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect;
import com.yxt.anrui.fin.biz.kingdee.appaybill.ApPayBillService;
import com.yxt.anrui.fin.biz.kingdee.appayable.APPayableService;
import com.yxt.anrui.fin.biz.kingdee.arreceivebill.ArReceivebillService;
import com.yxt.anrui.fin.biz.kingdee.bank.BDBankService;
import com.yxt.anrui.fin.biz.kingdee.bdcustomer.BdCustomerService;
import com.yxt.anrui.fin.biz.kingdee.bddepartment.BdDepartmentService;
@ -150,6 +150,11 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
*/
@Autowired
private FinKingDeeService finKingDeeService;
/**
* 收款单
*/
@Autowired
private ArReceivebillService arReceivebillService;
@ApiOperation("入账暂存应付单的接口")
@PostMapping("/draftEntryBill")
@ResponseBody
@ -166,6 +171,15 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
log.info("FinKingDeeFeignRest-draftReceivableBill:{}", JSONObject.toJSONString(aRReceivable));
return receivableBillService.draftReceivableBill(aRReceivable);
}
@ApiOperation("暂存收款单的接口")
@PostMapping("/draftArReceivebill")
@ResponseBody
@Override
public ResultBean<String> draftArReceivebill(@RequestBody @Valid ARReceivebill arReceivebill) {
log.info("FinKingDeeFeignRest-draftArReceivebill:{}", JSONObject.toJSONString(arReceivebill));
return arReceivebillService.draftArReceivebill(arReceivebill);
}
@ApiOperation("暂存付款单的接口")
@PostMapping("/draftApPayBill")
@ResponseBody

60
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/ArReceivebillCastToKingDeeBillFields.java

@ -0,0 +1,60 @@
package com.yxt.anrui.fin.biz.kingdee.arreceivebill;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.yxt.anrui.fin.biz.kingdee.KingDeeUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 封装转换的类
*/
public class ArReceivebillCastToKingDeeBillFields {
/**
* 构造金蝶需要的数据结构 并对字段赋值
*
* @param map_fEntityModel_
* @param vehicleList
* @return
*/
public static String getKingDeeData(Map<String,String> map_fEntityModel_,List<Map<String,String>> vehicleList){
/**
* 取模板
*/
String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/arreceivebill/data.json");
String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_data.json");
String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_model.json");
String fPAYBILLENTRY_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_FRECEIVEBILLENTRY.json");
//模板字符创转json
JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField);
JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField);
fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_);
JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField);
List<JSONObject> list_fEntityDetail_=new ArrayList<>();
//对模板字段赋值 根据传递进来的map数据的集合进行赋值
for(int i=0;i<vehicleList.size();i++){
Map<String,String> params=vehicleList.get(i);
Map<String,String> map_fEntityDetail_=new HashMap<>();
for (Map.Entry<String, String> entry : params.entrySet()) {
map_fEntityDetail_.put(entry.getKey(),entry.getValue());
}
fPAYBILLENTRY_ =KingDeeUtils.replaceTemplateParams(fPAYBILLENTRY_, map_fEntityDetail_);
list_fEntityDetail_.add(JSONObject.parseObject(fPAYBILLENTRY_,Feature.OrderedField));
}
jsonFEntityModel_.put("FRECEIVEBILLENTRY", JSONArray.parseArray(JSON.toJSONString(list_fEntityDetail_)));
jsonFEntityData_.put("Model",JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_),Feature.OrderedField));
jsonObj.put("data",jsonFEntityData_.toJSONString());
return jsonObj.toJSONString();
}
}

88
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/ArReceivebillService.java

@ -0,0 +1,88 @@
package com.yxt.anrui.fin.biz.kingdee.arreceivebill;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl;
import com.yxt.anrui.fin.api.kingdee.KingDeeCode;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivebill.ARReceivebill;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.anrui.portal.api.sysmapping.SysMappingInfoQuery;
import com.yxt.anrui.portal.api.sysmapping.SysMappingInfoVo;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
public class ArReceivebillService extends FinKingDeeService {
/**
* 保存收款单
* @param apPayBill
* @return
*/
public ResultBean draftArReceivebill(ARReceivebill apPayBill) {
// apPayBill=ApPayBill.createApPayBill();
ResultBean rb=ResultBean.fireFail();
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(apPayBill);//createMapParams(stringObjectMap);
//项目类别
ResultBean<SysMappingInfoVo> sysMappingInfoVoResultBean = getSysMappingInfoVoResultBean( "项目类别",
map_fEntityModel_.get("F_PAEZ_AssistantKey"), map_fEntityModel_.get("F_PAEZ_AssistantType"));
boolean success = sysMappingInfoVoResultBean.getSuccess();
if(!success){
return rb.setMsg(sysMappingInfoVoResultBean.getMsg());
}
map_fEntityModel_.put("F_PAEZ_Assistant",sysMappingInfoVoResultBean.getData().getMap_itemKey());//"001");
//准备 物料列表的数据 ForEntryBill
List<ARReceivebill.FRECEIVEBILLENTRY> freceivebillentry = apPayBill.getFRECEIVEBILLENTRY();
List<Map<String, String>> vehicleListMap = createVehicleLists(freceivebillentry);
for(int i=0;i<vehicleListMap.size();i++){
Map<String,String> params=vehicleListMap.get(i);
//付款用途
sysMappingInfoVoResultBean = getSysMappingInfoVoResultBean( "收款用途", params.get("FPURPOSEIDKey"), params.get("FPURPOSEIDType"));
if(! sysMappingInfoVoResultBean.getSuccess()){
return rb.setMsg(sysMappingInfoVoResultBean.getMsg());
}
params.put("FPURPOSEID",sysMappingInfoVoResultBean.getData().getMap_itemKey());//"SFKYT08_SYS");
//结算方式
sysMappingInfoVoResultBean = getSysMappingInfoVoResultBean( "结算方式", params.get("FSETTLETYPEIDKey"), params.get("FSETTLETYPEIDType"));
if(!sysMappingInfoVoResultBean.getSuccess()){
return rb.setMsg(sysMappingInfoVoResultBean.getMsg());
}
params.put("FSETTLETYPEID",sysMappingInfoVoResultBean.getData().getMap_itemKey());//"02");//
}
String kingDeeData = ArReceivebillCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
// ResultBean<String> stringResultBean = accessKingDeeInterface(KingDeeBillId.AP_PAYBILL.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
ResultBean<String> stringResultBean = accessKingDeeInterface(KingDeeBillId.AR_RECEIVEBILL.getID(), kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
String data = stringResultBean.getData();
JSONObject jsonObject = JSONObject.parseObject(data.toString());
JSONObject result = (JSONObject)jsonObject.get("Result");
JSONObject result2 = (JSONObject)result.get("Result");
log.info("ArReceivebillService:{}",data);
log.info("result:{}",result);
log.info("result2:{}",result2);
int id = (int)result.get("Id");
ResultBean<String> submit = submit(KingDeeBillId.AR_RECEIVEBILL.getID(),id+"");
if (!submit.getSuccess()) return rb.setCode(KingDeeCode.SUBMIT.getCode()).setData(submit.getData());
return stringResultBean;
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
private ResultBean<SysMappingInfoVo> getSysMappingInfoVoResultBean( String Map_item, String FPURPOSEIDKey,
String FPURPOSEIDType) {
SysMappingInfoQuery smiq =new SysMappingInfoQuery();
smiq.setMap_sourceKey("CWXT");
smiq.setMap_object("收款单");
smiq.setMap_item(Map_item);
smiq.setDictKey(FPURPOSEIDKey);
smiq.setDictTypeCode(FPURPOSEIDType);
return sysMappingFeign.selectMappingInfo(smiq);
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data.json

@ -0,0 +1,4 @@
{
"formId": "AR_RECEIVEBILL",
"data": "@KD_data"
}

22
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_FRECEIVEBILLENTRY.json

@ -0,0 +1,22 @@
{
"FSETTLETYPEID": {
"FNumber": "@KD_FSETTLETYPEID"
},
"F_PAEZ_Base": {
"FNUMBER": ""
},
"F_PAEZ_Base1": {
"FNUMBER": ""
},
"FPURPOSEID": {
"FNumber": "@KD_FPURPOSEID"
},
"FRECTOTALAMOUNTFOR":@KD_FRECTOTALAMOUNTFOR,
"FRECAMOUNTFOR_E": 0,
"F_PMZC_Text": "0",
"FACCOUNTID": {
"FNumber": ""
},
"FRECAMOUNT_E": 0,
"FPOSTDATE": "@KD_FPOSTDATE"
}

13
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_data.json

@ -0,0 +1,13 @@
{
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",
"ValidateFlag": "True",
"NumberSearch": "True",
"InterationFlags": "",
"Model": {}
}

45
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_model.json

@ -0,0 +1,45 @@
{
"FID": 0,
"FBillTypeID": {
"FNUMBER": "SKDLX01_SYS"
},
"FDATE": "@KD_FDATE",
"FCONTACTUNITTYPE": "BD_Customer",
"FCONTACTUNIT": {
"FNumber": "@KD_FCONTACTUNIT"
},
"FPAYUNITTYPE": "BD_Customer",
"FPAYUNIT": {
"FNumber": "@KD_FCONTACTUNIT"
},
"FCURRENCYID": {
"FNumber": "PRE001"
},
"FPAYORGID": {
"FNumber": "@KD_FPAYORGID"
},
"FSETTLERATE": 1.0,
"FSETTLEORGID": {
"FNumber": "@KD_FPAYORGID"
},
"FSALEORGID": {
"FNumber": "@KD_FPAYORGID"
},
"FSALEDEPTID": {
"FNumber": "@KD_FSALEDEPTID"
},
"FDOCUMENTSTATUS": "Z",
"FBUSINESSTYPE": "1",
"FISINIT": false,
"FEXCHANGERATE": 1.0,
"FCancelStatus": "A",
"FSETTLECUR": {
"FNUMBER": "PRE001"
},
"FISB2C": false,
"FIsWriteOff": false,
"F_PAEZ_Assistant": {
"FNumber": "@KD_F_PAEZ_Assistant"
},
"FRECEIVEBILLENTRY": []
}

186
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/remarks.txt

@ -0,0 +1,186 @@
一、请求参数说明:
1.formid:业务对象表单Id,字符串类型(必录)
2.data:Json格式数据(详情参考Json格式数据)(必录)
2.1.Creator:创建者内码(非必录)
2.2.NeedUpDateFields:需要更新的字段,数组类型,格式:[key1,key2,...](非必录),注(更新单据体字段得加上单据体key)
2.3.NeedReturnFields:需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录),注(返回单据体字段格式:entitykey.key)
2.4.IsDeleteEntry:是否删除已存在的分录,布尔类型,默认true(非必录)
2.5.SubSystemId:表单所在的子系统内码,字符串类型(非必录)
2.6.IsVerifyBaseDataField:是否验证所有的基础资料有效性,布尔类,默认false(非必录)
2.7.IsEntryBatchFill:是否批量填充分录,默认true(非必录)
2.8.ValidateFlag:是否验证标志,布尔类型,默认true(非必录)
2.9.NumberSearch:是否用编码搜索基础资料,布尔类型,默认true(非必录)
2.10.InterationFlags:交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录),例如(允许负库存标识:STK_InvCheckResult)
2.11.Model:表单数据包,Json类型(必录)
二、Json格式数据:
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FID\":\"0\",\"FBillTypeID\":{\"FNUMBER\":\"\"},\"FBillNo\":\"\",\"FDATE\":\"1900-01-01\",\"FCONTACTUNITTYPE\":\"\",\"FCONTACTUNIT\":{\"FNumber\":\"\"},\"FPAYUNITTYPE\":\"\",\"FPAYUNIT\":{\"FNumber\":\"\"},\"FCURRENCYID\":{\"FNumber\":\"\"},\"FPAYORGID\":{\"FNumber\":\"\"},\"FSETTLERATE\":\"0\",\"FSETTLEORGID\":{\"FNumber\":\"\"},\"FSALEORGID\":{\"FNumber\":\"\"},\"FSALEDEPTID\":{\"FNumber\":\"\"},\"FSALEGROUPID\":{\"FNumber\":\"\"},\"FSALEERID\":{\"FNumber\":\"\"},\"FDOCUMENTSTATUS\":\"\",\"FDepartment\":{\"FNumber\":\"\"},\"FBUSINESSTYPE\":\"\",\"FISINIT\":\"false\",\"FEXCHANGERATE\":\"0\",\"FCancelStatus\":\"\",\"FScanPoint\":{\"FNUMBER\":\"\"},\"FSETTLECUR\":{\"FNUMBER\":\"\"},\"FISB2C\":\"false\",\"FIsWriteOff\":\"false\",\"FMatchMethodID\":\"0\",\"FKDPAYNO\":\"\",\"FREMARK\":\"\",\"F_PAEZ_Assistant\":{\"FNumber\":\"\"},\"FTHIRDBILLNO\":\"\",\"F_PAEZ_Date\":\"1900-01-01\",\"FRECEIVEBILLENTRY\":[{\"FEntryID\":\"0\",\"FSETTLETYPEID\":{\"FNumber\":\"\"},\"F_PAEZ_Base\":{\"FNUMBER\":\"\"},\"F_PAEZ_Base1\":{\"FNUMBER\":\"\"},\"FPURPOSEID\":{\"FNumber\":\"\"},\"FRECEIVEITEMTYPE\":\"\",\"FRECEIVEITEM\":\"\",\"FSaleOrderID\":\"0\",\"FRECTOTALAMOUNTFOR\":\"0\",\"FRECAMOUNTFOR_E\":\"0\",\"FSETTLEDISTAMOUNTFOR\":\"0\",\"FHANDLINGCHARGEFOR\":\"0\",\"FOVERUNDERAMOUNTFOR\":\"0\",\"F_PMZC_Text\":\"\",\"FACCOUNTID\":{\"FNumber\":\"\"},\"FOPPOSITEBANKACCOUNT\":\"\",\"FOPPOSITECCOUNTNAME\":\"\",\"FINNERACCOUNTID\":{\"FNUMBER\":\"\"},\"FCashAccount\":{\"FNUMBER\":\"\"},\"FSETTLENO\":\"\",\"FOPPOSITEBANKNAME\":\"\",\"F_PMZC_Assistant\":{\"FNumber\":\"\"},\"F_PMZC_Base\":{\"FNUMBER\":\"\"},\"F_PMZC_Assistant1\":{\"FNumber\":\"\"},\"FCOMMENT\":\"\",\"FRECAMOUNT_E\":\"0\",\"FPOSTDATE\":\"1900-01-01\",\"FMATERIALID\":{\"FNUMBER\":\"\"},\"FSALEORDERNO\":\"\",\"FMATERIALSEQ\":\"0\",\"FORDERENTRYID\":\"0\",\"FASSSALESORDER\":[{\"FDetailID\":\"0\"}]}],\"FRECEIVEBILLSRCENTRY\":[{\"FEntryID\":\"0\",\"FORDERBILLNO\":\"\",\"FSRCMATERIALID\":{\"FNumber\":\"\"},\"FSRCMATERIALSEQ\":\"0\",\"FSRCORDERENTRYID\":\"0\"}],\"FBILLRECEIVABLEENTRY\":[{\"FEntryID\":\"0\",\"FInnerAccountID_B\":{\"FNUMBER\":\"\"},\"FBILLID\":{\"FNumber\":\"\"},\"FUSEDAMOUNTFOR\":\"0\",\"FBILLPARAMOUNT\":\"0\",\"FPARLEFTAMOUNTSTD\":\"0\",\"FUSEDAMOUNTSTD\":\"0\",\"FTempOrgId\":{\"FNumber\":\"\"}}],\"FBILLSKDRECENTRY\":[{\"FEntryID\":\"0\",\"FInnerActId\":{\"FNUMBER\":\"\"},\"FReceivebleBillId\":{\"FNUMBER\":\"\"},\"FPayPurse\":{\"FNUMBER\":\"\"},\"FReturnAmount\":\"0\",\"FReturnAmountStd\":\"0\",\"FKDBPARBILLNO\":\"\",\"FParAmount\":\"0\",\"FPARAMOUNTSTD\":\"0\",\"FBCONTACTUNITTYPE\":\"\",\"FBCONTACTUNIT\":{\"FNumber\":\"\"}}]}}
三、返回参数:
{\"Result\":{\"ResponseStatus\":{\"ErrorCode\":\"\",\"IsSuccess\":\"false\",\"Errors\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}],\"SuccessEntitys\":[{\"Id\":\"\",\"Number\":\"\",\"DIndex\":0}],\"SuccessMessages\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}]},\"Id\":\"\",\"NeedReturnData\":[{}]}}
四、代码示例:
// 使用webapi引用组件Kingdee.BOS.WebApi.Client.dll
K3CloudApiClient client = new K3CloudApiClient("http://121.36.43.55/k3cloud/");
var ret = client.ValidateLogin("61dce6601125a0","Administrator","888888",2052);
var result = JObject.Parse(ret)["LoginResultType"].Value<int>();
// 登陆成功
if (result == 1)
{
client.Draft("AR_RECEIVEBILL","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FID\":\"0\",\"FBillTypeID\":{\"FNUMBER\":\"\"},\"FBillNo\":\"\",\"FDATE\":\"1900-01-01\",\"FCONTACTUNITTYPE\":\"\",\"FCONTACTUNIT\":{\"FNumber\":\"\"},\"FPAYUNITTYPE\":\"\",\"FPAYUNIT\":{\"FNumber\":\"\"},\"FCURRENCYID\":{\"FNumber\":\"\"},\"FPAYORGID\":{\"FNumber\":\"\"},\"FSETTLERATE\":\"0\",\"FSETTLEORGID\":{\"FNumber\":\"\"},\"FSALEORGID\":{\"FNumber\":\"\"},\"FSALEDEPTID\":{\"FNumber\":\"\"},\"FSALEGROUPID\":{\"FNumber\":\"\"},\"FSALEERID\":{\"FNumber\":\"\"},\"FDOCUMENTSTATUS\":\"\",\"FDepartment\":{\"FNumber\":\"\"},\"FBUSINESSTYPE\":\"\",\"FISINIT\":\"false\",\"FEXCHANGERATE\":\"0\",\"FCancelStatus\":\"\",\"FScanPoint\":{\"FNUMBER\":\"\"},\"FSETTLECUR\":{\"FNUMBER\":\"\"},\"FISB2C\":\"false\",\"FIsWriteOff\":\"false\",\"FMatchMethodID\":\"0\",\"FKDPAYNO\":\"\",\"FREMARK\":\"\",\"F_PAEZ_Assistant\":{\"FNumber\":\"\"},\"FTHIRDBILLNO\":\"\",\"F_PAEZ_Date\":\"1900-01-01\",\"FRECEIVEBILLENTRY\":[{\"FEntryID\":\"0\",\"FSETTLETYPEID\":{\"FNumber\":\"\"},\"F_PAEZ_Base\":{\"FNUMBER\":\"\"},\"F_PAEZ_Base1\":{\"FNUMBER\":\"\"},\"FPURPOSEID\":{\"FNumber\":\"\"},\"FRECEIVEITEMTYPE\":\"\",\"FRECEIVEITEM\":\"\",\"FSaleOrderID\":\"0\",\"FRECTOTALAMOUNTFOR\":\"0\",\"FRECAMOUNTFOR_E\":\"0\",\"FSETTLEDISTAMOUNTFOR\":\"0\",\"FHANDLINGCHARGEFOR\":\"0\",\"FOVERUNDERAMOUNTFOR\":\"0\",\"F_PMZC_Text\":\"\",\"FACCOUNTID\":{\"FNumber\":\"\"},\"FOPPOSITEBANKACCOUNT\":\"\",\"FOPPOSITECCOUNTNAME\":\"\",\"FINNERACCOUNTID\":{\"FNUMBER\":\"\"},\"FCashAccount\":{\"FNUMBER\":\"\"},\"FSETTLENO\":\"\",\"FOPPOSITEBANKNAME\":\"\",\"F_PMZC_Assistant\":{\"FNumber\":\"\"},\"F_PMZC_Base\":{\"FNUMBER\":\"\"},\"F_PMZC_Assistant1\":{\"FNumber\":\"\"},\"FCOMMENT\":\"\",\"FRECAMOUNT_E\":\"0\",\"FPOSTDATE\":\"1900-01-01\",\"FMATERIALID\":{\"FNUMBER\":\"\"},\"FSALEORDERNO\":\"\",\"FMATERIALSEQ\":\"0\",\"FORDERENTRYID\":\"0\",\"FASSSALESORDER\":[{\"FDetailID\":\"0\"}]}],\"FRECEIVEBILLSRCENTRY\":[{\"FEntryID\":\"0\",\"FORDERBILLNO\":\"\",\"FSRCMATERIALID\":{\"FNumber\":\"\"},\"FSRCMATERIALSEQ\":\"0\",\"FSRCORDERENTRYID\":\"0\"}],\"FBILLRECEIVABLEENTRY\":[{\"FEntryID\":\"0\",\"FInnerAccountID_B\":{\"FNUMBER\":\"\"},\"FBILLID\":{\"FNumber\":\"\"},\"FUSEDAMOUNTFOR\":\"0\",\"FBILLPARAMOUNT\":\"0\",\"FPARLEFTAMOUNTSTD\":\"0\",\"FUSEDAMOUNTSTD\":\"0\",\"FTempOrgId\":{\"FNumber\":\"\"}}],\"FBILLSKDRECENTRY\":[{\"FEntryID\":\"0\",\"FInnerActId\":{\"FNUMBER\":\"\"},\"FReceivebleBillId\":{\"FNUMBER\":\"\"},\"FPayPurse\":{\"FNUMBER\":\"\"},\"FReturnAmount\":\"0\",\"FReturnAmountStd\":\"0\",\"FKDBPARBILLNO\":\"\",\"FParAmount\":\"0\",\"FPARAMOUNTSTD\":\"0\",\"FBCONTACTUNITTYPE\":\"\",\"FBCONTACTUNIT\":{\"FNumber\":\"\"}}]}}");
}
五、字段说明:
物料编码:FMATERIALID
是否登账:FISPOST
物料名称:FMATERIALNAME
订单行号:FMATERIALSEQ
销售订单号:FSALEORDERNO
登账日期:FPOSTDATE (必填项)
退款关联金额:FReFundAmount
内部账户名称:FINNERACCOUNTNAME
现金账号:FCashAccount
收款金额本位币:FRECAMOUNT_E
收款金额:FRECAMOUNTFOR_E
物流车辆:F_PMZC_Base
运输编号:F_PMZC_Assistant
油卡号码:F_PMZC_Assistant1
应收金额:FAFTTAXTOTALAMOUNT
源单内码:FSRCBILLID
合同款:F_PMZC_Text
保证金转货款金额:FTOPAYMENTAMOUNTFOR
销售订单明细内码:FORDERENTRYID
已核销金额本位币:FWRITTENOFFAMOUNT
车架号:F_PAEZ_Base1
收款科目:F_PAEZ_Base
表体-实收金额:FREALRECAMOUNTFOR_D
手续费本位币:FHANDLINGCHARGE
表体-实收金额本位币:FREALRECAMOUNT_D
预收项目类型:FRECEIVEITEMTYPE
关联总金额:FASSTOTALAMOUNTFOR
手续费:FHANDLINGCHARGEFOR
备注:FCOMMENT
表体明细-已核销金额:FWRITTENOFFAMOUNTFOR_D
对方银行账号:FOPPOSITEBANKACCOUNT
销售订单:FRECEIVEITEM
对方账户名称:FOPPOSITECCOUNTNAME
勾对:FBLEND
结算号:FSETTLENO
收款用途:FPURPOSEID (必填项)
内部账号:FINNERACCOUNTID
长短款本位币:FOVERUNDERAMOUNT
对方开户行:FOPPOSITEBANKNAME
我方银行账号:FACCOUNTID
销售订单号:FSaleOrderID
我方账户名称:FRECACCOUNTNAME
长短款:FOVERUNDERAMOUNTFOR
我方开户行:FRECBANKID
结算方式:FSRCSETTLETYPEID
当前占用金额本位币:FUSEDAMOUNTSTD
可用余额本位币:FPARLEFTAMOUNTSTD
票面金额:FBPBILLPARAMOUNT
内部账户:FInnerActId
是否托管:FISTRUST
票面金额本位币:FBILLPARAMOUNT
当前占用金额:FUSEDAMOUNTFOR
可用余额:FPARLEFTAMOUNTFOR
内部账号:FInnerAccountID_B
票据号:FBPBILLNUMBER
票据组织:FTempOrgId
往来单位:FBCONTACTUNIT
往来单位类型:FBCONTACTUNITTYPE
票据号:FKDBPARBILLNO
背书退回金额本位币:FReturnAmountStd
票面金额本位币:FPARAMOUNTSTD
票面金额:FParAmount
付款用途:FPayPurse
票据流水号:FReceivebleBillId
背书退回金额:FReturnAmount
客户:FKDBPCUSTOMER
票据类型:FKDBPARBILLTYPE
源单行内码:FSRCROWID
源单行号:FSRCSEQ
销售订单号:FORDERBILLNO
物料名称:FSRCMATERIALNAME
物料编码:FSRCMATERIALID
源单编号:FSRCBILLNO
到期日:FEXPIRY
源单币别:FSRCCURRENCYID
计划收款金额:FPLANRECAMOUNT
源单类型:FSRCBILLTYPEID
本次收款金额:FREALRECAMOUNT
票据流水号:FBILLID
预付预收已核销金额:FPREMATCHAMOUNTFOR
票据类型:FBPBILLTYPE
结算状态:FBPSETTLESTATUS
到期日:FBPBILLDUEDATE
关联金额:FASSAMOUNTFOR
销售订单明细内码:FSRCORDERENTRYID
订单行号:FSRCMATERIALSEQ
结算金额:FSETTLEAMOUNT
关联单据ID:FASSBILLID
关联单据编号:FASSBILLNO
核销状态:FWRITTENOFFSTATUS
汇率:FEXCHANGERATE
销售员:FSALEERID
销售部门:FSALEDEPTID (必填项)
销售组:FSALEGROUPID
修改日期:FModifyDate
业务日期:FDATE (必填项)
修改人:FModifierId
会计核算体系:FACCOUNTSYSTEM
表头-实收金额本位币:FREALRECAMOUNT_H
单据类型:FBillTypeID (必填项)
表头-实收金额:FREALRECAMOUNTFOR
单据状态:FDOCUMENTSTATUS (必填项)
单据编号:FBillNo
表头-应收金额:FRECEIVEAMOUNTFOR_H
汇率类型:FEXCHANGETYPE
本位币:FMAINBOOKCURID
币别:FCURRENCYID (必填项)
表头-应收金额本位币:FRECEIVEAMOUNT_H
销售组织:FSALEORGID
审核人:FAPPROVERID
创建人:FCreatorId
创建日期:FCreateDate
审核日期:FApproveDate
结算组织:FSETTLEORGID
作废日期:FCancelDate
金蝶支付流水号:FKDPAYNO
扫描点:FScanPoint
备注:FREMARK
转出往来单位:FOUTCONTACTID
第三方单据编号:FTHIRDBILLNO
核销方式:FMatchMethodID
B2C业务:FISB2C
是否转销:FIsWriteOff
流水号/对账码:FWBSETTLENO
折后金额本位币:FSETTLERECAMOUNT
表体-应收金额:FRECTOTALAMOUNTFOR
现金折扣本位币:FSETTLEDISTAMOUNT
表体明细-核销状态:FWRITTENOFFSTATUS_D
表体-应收金额本位币:FRECTOTALAMOUNT
现金折扣:FSETTLEDISTAMOUNTFOR
项目类别:F_PAEZ_Assistant (必填项)
转出往来单位类型:FOUTCONTACTTYPE
到款日期:F_PAEZ_Date
折后金额:FSETTLERECAMOUNTFOR
结算方式:FSETTLETYPEID (必填项)
信用检查结果:FCreditCheckResult
业务类型:FBUSINESSTYPE
是否期初单据:FISINIT
付款单位:FPAYUNIT (必填项)
作废人:FCancellerId
作废状态:FCancelStatus (必填项)
往来单位类型:FCONTACTUNITTYPE (必填项)
付款单位类型:FPAYUNITTYPE (必填项)
往来单位:FCONTACTUNIT (必填项)
结算币别:FSETTLECUR (必填项)
现销 :FCASHSALE
结算汇率:FSETTLERATE
表头-收款金额本位币:FRECAMOUNT
收款金额:FRECAMOUNTFOR
来源系统:FSOURCESYSTEM
收款组织:FPAYORGID (必填项)
部门:FDepartment
是否相同组织:FIsSameOrg

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/webapi测试的数据.txt

@ -0,0 +1 @@
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FID\":0,\"FBillTypeID\":{\"FNUMBER\":\"SKDLX01_SYS\"},\"FDATE\":\"2022-12-14 00:00:00\",\"FCONTACTUNITTYPE\":\"BD_Customer\",\"FCONTACTUNIT\":{\"FNumber\":\" JXYXB\"},\"FPAYUNITTYPE\":\"BD_Customer\",\"FPAYUNIT\":{\"FNumber\":\" JXYXB\"},\"FCURRENCYID\":{\"FNumber\":\"PRE001\"},\"FPAYORGID\":{\"FNumber\":\"101\"},\"FSETTLERATE\":1.0,\"FSETTLEORGID\":{\"FNumber\":\"101\"},\"FSALEORGID\":{\"FNumber\":\"101\"},\"FSALEDEPTID\":{\"FNumber\":\"01\"},\"FDOCUMENTSTATUS\":\"Z\",\"FBUSINESSTYPE\":\"1\",\"FISINIT\":false,\"FEXCHANGERATE\":1.0,\"FCancelStatus\":\"A\",\"FSETTLECUR\":{\"FNUMBER\":\"PRE001\"},\"FISB2C\":false,\"FIsWriteOff\":false,\"F_PAEZ_Assistant\":{\"FNumber\":\"00\"},\"FRECEIVEBILLENTRY\":[{\"FSETTLETYPEID\":{\"FNumber\":\"02\"},\"F_PAEZ_Base\":{\"FNUMBER\":\"1001\"},\"F_PAEZ_Base1\":{\"FNUMBER\":\" JX091054\"},\"FPURPOSEID\":{\"FNumber\":\"SFKYT01_SYS\"},\"FRECTOTALAMOUNTFOR\":12000.0,\"FRECAMOUNTFOR_E\":12000.0,\"F_PMZC_Text\":\"12,000\",\"FACCOUNTID\":{\"FNumber\":\"0402021909300210280\"},\"FRECAMOUNT_E\":12000.0,\"FPOSTDATE\":\"2022-12-14 00:00:00\"}]}}

BIN
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/收款单的参数必填备注.xlsx

Binary file not shown.
Loading…
Cancel
Save