From 762f1ebd286195e18e0c11d64bfb3974b9fd5dff Mon Sep 17 00:00:00 2001 From: yxt_djz Date: Fri, 16 Dec 2022 19:03:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E6=AC=BE=E5=8D=95=20=E9=87=91?= =?UTF-8?q?=E8=9D=B6=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fin/api/kingdee/FinKingDeeFeign.java | 7 + .../api/kingdee/FinKingDeeFeignFallBack.java | 6 + .../kingdee/arreceivebill/ARReceivebill.java | 93 +++++++++ .../fin/biz/kingdee/FinKingDeeFeignRest.java | 18 +- .../ArReceivebillCastToKingDeeBillFields.java | 60 ++++++ .../arreceivebill/ArReceivebillService.java | 88 +++++++++ .../fin/biz/kingdee/arreceivebill/data.json | 4 + .../arreceivebill/data_FRECEIVEBILLENTRY.json | 22 +++ .../biz/kingdee/arreceivebill/data_data.json | 13 ++ .../biz/kingdee/arreceivebill/data_model.json | 45 +++++ .../fin/biz/kingdee/arreceivebill/remarks.txt | 186 ++++++++++++++++++ .../arreceivebill/webapi测试的数据.txt | 1 + .../收款单的参数必填备注.xlsx | Bin 0 -> 9619 bytes 13 files changed, 541 insertions(+), 2 deletions(-) create mode 100644 anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/arreceivebill/ARReceivebill.java create mode 100644 anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/ArReceivebillCastToKingDeeBillFields.java create mode 100644 anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/ArReceivebillService.java create mode 100644 anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data.json create mode 100644 anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_FRECEIVEBILLENTRY.json create mode 100644 anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_data.json create mode 100644 anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_model.json create mode 100644 anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/remarks.txt create mode 100644 anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/webapi测试的数据.txt create mode 100644 anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/收款单的参数必填备注.xlsx diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java index c005f5e7ee..6b24622feb 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java +++ b/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 draftReceivableBill(@RequestBody @Valid ARReceivable aRReceivable); + + @ApiOperation("暂存付款单的接口") + @PostMapping("/draftArReceivebill") + @ResponseBody + ResultBean draftArReceivebill(@RequestBody @Valid ARReceivebill arReceivebill); + @ApiOperation("暂存付款单的接口") @PostMapping("/draftApPayBill") @ResponseBody diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java index e986d77999..39b9174cbf 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java +++ b/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 draftArReceivebill(ARReceivebill arReceivebill) { + return null; + } + @Override public ResultBean draftApPayBill(ApPayBill apPayBill) { return null; diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/arreceivebill/ARReceivebill.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/arreceivebill/ARReceivebill.java new file mode 100644 index 0000000000..0cac6f028f --- /dev/null +++ b/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=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; + } + +} diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java index cf54193c0f..a45c22d030 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java +++ b/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 draftArReceivebill(@RequestBody @Valid ARReceivebill arReceivebill) { + log.info("FinKingDeeFeignRest-draftArReceivebill:{}", JSONObject.toJSONString(arReceivebill)); + return arReceivebillService.draftArReceivebill(arReceivebill); + } + @ApiOperation("暂存付款单的接口") @PostMapping("/draftApPayBill") @ResponseBody diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/ArReceivebillCastToKingDeeBillFields.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/ArReceivebillCastToKingDeeBillFields.java new file mode 100644 index 0000000000..5380de3256 --- /dev/null +++ b/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 map_fEntityModel_,List> 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 list_fEntityDetail_=new ArrayList<>(); + + //对模板字段赋值 根据传递进来的map数据的集合进行赋值 + for(int i=0;i params=vehicleList.get(i); + Map map_fEntityDetail_=new HashMap<>(); + for (Map.Entry 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(); + } +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/ArReceivebillService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/ArReceivebillService.java new file mode 100644 index 0000000000..bfa0c09ca9 --- /dev/null +++ b/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 map_fEntityModel_= object2Map(apPayBill);//createMapParams(stringObjectMap); + //项目类别 + ResultBean 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 freceivebillentry = apPayBill.getFRECEIVEBILLENTRY(); + List> vehicleListMap = createVehicleLists(freceivebillentry); + for(int i=0;i 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 stringResultBean = accessKingDeeInterface(KingDeeBillId.AP_PAYBILL.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); + ResultBean 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 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 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); + } +} diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data.json new file mode 100644 index 0000000000..b62ff6115c --- /dev/null +++ b/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" +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_FRECEIVEBILLENTRY.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_FRECEIVEBILLENTRY.json new file mode 100644 index 0000000000..287a26aa99 --- /dev/null +++ b/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" +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_data.json new file mode 100644 index 0000000000..f8b9dc071d --- /dev/null +++ b/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": {} +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/data_model.json new file mode 100644 index 0000000000..4f5d287842 --- /dev/null +++ b/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": [] +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/remarks.txt b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/remarks.txt new file mode 100644 index 0000000000..f9646b686a --- /dev/null +++ b/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(); +// 登陆成功 +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 \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/webapi测试的数据.txt b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/webapi测试的数据.txt new file mode 100644 index 0000000000..e3495a7638 --- /dev/null +++ b/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\"}]}} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/收款单的参数必填备注.xlsx b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/arreceivebill/收款单的参数必填备注.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..d4a0701a2eefa32871cb2e6294bfa58b1e51bc74 GIT binary patch literal 9619 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 literal 0 HcmV?d00001