
9 changed files with 358 additions and 0 deletions
@ -0,0 +1,59 @@ |
|||
package com.yxt.anrui.fin.biz.kingdee.appaybill; |
|||
|
|||
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 ApPayBillCastToKingDeeBillFields { |
|||
/** |
|||
* 构造金蝶需要的数据结构 并对字段赋值 |
|||
* |
|||
* @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/appaybill/data.json"); |
|||
String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/appaybill/data_data.json"); |
|||
String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/appaybill/data_model.json"); |
|||
String fPAYBILLENTRY_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/appaybill/data_FPAYBILLENTRY.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("FPAYBILLENTRY", JSONArray.parseArray(JSON.toJSONString(list_fEntityDetail_))); |
|||
jsonFEntityData_.put("Model",JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_),Feature.OrderedField)); |
|||
jsonObj.put("data",jsonFEntityData_.toJSONString()); |
|||
|
|||
return jsonObj.toJSONString(); |
|||
} |
|||
} |
@ -0,0 +1,4 @@ |
|||
{ |
|||
"formId": "AP_PAYBILL", |
|||
"data": "@KD_data" |
|||
} |
@ -0,0 +1,17 @@ |
|||
{ |
|||
"FSETTLETYPEID": { |
|||
"FNumber": "@KD_FSETTLETYPEID" |
|||
}, |
|||
"FPURPOSEID": { |
|||
"FNumber": "@KD_FPURPOSEID" |
|||
}, |
|||
"FPAYTOTALAMOUNTFOR": @KD_FPAYTOTALAMOUNTFOR, |
|||
"FPAYAMOUNTFOR_E": @KD_FPAYAMOUNTFOR_E, |
|||
"FSETTLEPAYAMOUNTFOR": @KD_FSETTLEPAYAMOUNTFOR, |
|||
"FREALPAYAMOUNTFOR_D": @KD_FREALPAYAMOUNTFOR_D, |
|||
"FPAYAMOUNT_E": @KD_FPAYAMOUNT_E, |
|||
"FACCOUNTID": {"FNumber":"@KD_FACCOUNTID"}, |
|||
"FPOSTDATE": "@KD_FPOSTDATE", |
|||
"FRuZhangType": "@KD_FRuZhangType", |
|||
"FPayType": "@KD_FPayType" |
|||
} |
@ -0,0 +1,13 @@ |
|||
{ |
|||
"Creator": "", |
|||
"NeedUpDateFields": [], |
|||
"NeedReturnFields": [], |
|||
"IsDeleteEntry": "True", |
|||
"SubSystemId": "", |
|||
"IsVerifyBaseDataField": "false", |
|||
"IsEntryBatchFill": "True", |
|||
"ValidateFlag": "True", |
|||
"NumberSearch": "True", |
|||
"InterationFlags": "", |
|||
"Model": {} |
|||
} |
@ -0,0 +1,46 @@ |
|||
{ |
|||
"FID": 0, |
|||
"FBillTypeID": { |
|||
"FNUMBER": "FKDLX01_SYS" |
|||
}, |
|||
"FDATE": "@KD_FDATE", |
|||
"FCONTACTUNITTYPE": "@KD_FCONTACTUNITTYPE", |
|||
"FCONTACTUNIT": { |
|||
"FNumber": "@KD_FCONTACTUNIT" |
|||
}, |
|||
"FRECTUNITTYPE": "@KD_FRECTUNITTYPE", |
|||
"FRECTUNIT": { |
|||
"FNumber": "@KD_FRECTUNIT" |
|||
}, |
|||
"FISINIT": false, |
|||
"FCURRENCYID": { |
|||
"FNumber": "PRE001" |
|||
}, |
|||
"FEXCHANGERATE": 1.0, |
|||
"FSETTLERATE": 1.0, |
|||
"FSETTLEORGID": { |
|||
"FNumber": "@KD_FSETTLEORGID" |
|||
}, |
|||
"FPURCHASEORGID": { |
|||
"FNumber": "@KD_FPURCHASEORGID" |
|||
}, |
|||
"FPURCHASEDEPTID": { |
|||
"FNumber": "@KD_FPURCHASEDEPTID" |
|||
}, |
|||
"FDOCUMENTSTATUS": "Z", |
|||
"FCancelStatus": "A", |
|||
"FPAYORGID": { |
|||
"FNumber": "@KD_FPAYORGID" |
|||
}, |
|||
"FISSAMEORG": true, |
|||
"FIsCredit": false, |
|||
"FSETTLECUR": { |
|||
"FNUMBER": "PRE001" |
|||
}, |
|||
"FIsWriteOff": false, |
|||
"FREALPAY": false, |
|||
"F_PAEZ_Assistant": { |
|||
"FNumber": "001" |
|||
}, |
|||
"FPAYBILLENTRY": [] |
|||
} |
@ -0,0 +1,204 @@ |
|||
一、请求参数说明: |
|||
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类型(必录) |
|||
|
|||
五、字段说明: |
|||
长短款本位币:FOVERSHORTAGE |
|||
长短款:FOVERSHORTAGEFOR |
|||
银企处理详细信息:FEBMSG |
|||
费用承担部门:FEXPENSEDEPTID_E |
|||
含税单价:FPRICE |
|||
计价单位:FPRICEUNITID |
|||
支付类型:FPayType (必填项) |
|||
物料名称:FMATERIALNAME |
|||
物料编码:FMATERIALID |
|||
登账日期:FPOSTDATE (必填项) |
|||
采购订单号:FPURCHASEORDERNO |
|||
入账类型:FRuZhangType (必填项) |
|||
采购订单明细内码:FORDERENTRYID |
|||
采购订单行号:FMATERIALSEQ |
|||
油卡号码:F_PMZC_Assistant1 |
|||
物流项目:F_PMZC_Base1 |
|||
物流车辆:F_PMZC_Base |
|||
应付金额:FAFTTAXTOTALAMOUNT |
|||
结算方式:FSRCSETTLETYPEID |
|||
本次付款金额:FREALPAYAMOUNT_S |
|||
立账日期:FOPENACCOUNTDATE |
|||
SwiftCode:FSwiftCode |
|||
退款关联数量:FREFUNDQTY |
|||
数量:FQTY |
|||
已核销金额本位币:FWRITTENOFFAMOUNT |
|||
运输编号:F_PMZC_Assistant |
|||
银行:F_PAEZ_Base |
|||
应付类别(表体):F_PAEZ_Assistant1 |
|||
联行号:FCNAPS |
|||
收款类型:FRecType (必填项) |
|||
开户行地址:FOpenAddressRec |
|||
收款银行:FBankTypeRec |
|||
地区:FDistrict |
|||
城市:FCity |
|||
省:FProvince |
|||
我方开户行:FPAYBANKID |
|||
我方账户名称:FPAYACCOUNTNAME |
|||
我方银行账号:FACCOUNTID |
|||
对方开户行:FOPPOSITEBANKNAME |
|||
付款用途:FPURPOSEID (必填项) |
|||
勾对:FBLEND |
|||
结算号:FSETTLENO |
|||
退款关联金额:FRefundAmount |
|||
费用项目:FCOSTID |
|||
内部账户名称:FINNERACCOUNTNAME |
|||
现金账号:FCashAccount |
|||
是否登账:FISPOST |
|||
付款金额本位币:FPAYAMOUNT_E |
|||
付款金额:FPAYAMOUNTFOR_E |
|||
提交/撤销银行人:FSubmitUser |
|||
提交银行状态:FSubmitStatus |
|||
加急:FUrgent |
|||
提交/撤销银行时间:FSubmitBankTime |
|||
内部账号:FINNERACCOUNTID |
|||
银行状态码:FBankCode |
|||
银行处理状态:FBankStatus |
|||
源单内码:FSRCBILLID |
|||
内部账户:FINNERACCOUNTID_B |
|||
当前占用金额:FUSEDAMOUNTFOR |
|||
可用余额:FPARLEFTAMOUNTFOR |
|||
票据组织(临时用的):FTempOrgId |
|||
票面金额本位币:FBPPARAMOUNT |
|||
票面金额:FKDBPPARAMOUNT |
|||
票据号:FKDBPBILLNO |
|||
预付预收已核销金额:FPREMATCHAMOUNTFOR |
|||
关联金额:FASSAMOUNTFOR |
|||
关联单据编号:FASSBILLNO |
|||
票据流水号:FBILLID |
|||
结算状态:FKDBPSETTLESTATUS |
|||
到期日:FKDBPDUEDATE |
|||
票据类型:FKDBPBILLTYPE |
|||
往来单位类型:FBCONTACTUNITTYPE |
|||
票面金额:FParAmount |
|||
客户:FKDBPCUSTOMER |
|||
往来单位:FBCONTACTUNIT |
|||
票据号:FKDBPARBILLNO |
|||
背书金额本位币:FReturnAmountStd |
|||
票面金额本位币:FPARAMOUNTSTD |
|||
内部账户:FInnerActId |
|||
当前占用金额本位币:FUSEDAMOUNT |
|||
可用余额本位币:FPARLEFTAMOUNT |
|||
票据流水号:FReceivebleBillId |
|||
票据类型:FKDBPARBILLTYPE |
|||
背书金额:FReturnAmount |
|||
付款用途:FPayPurse |
|||
本次还本金额:FRealPclAmount |
|||
计划付利息金额:FPlanInstAmount |
|||
付款用途:FPAYPURPOSEID |
|||
本次付利息金额:FRealInstAmount |
|||
物料编码:FSRCMATERIALID |
|||
采购订单编号:FPURORDERNO |
|||
费用项目:FSRCCOSTID |
|||
到期日:FEXPIRY |
|||
源单行号:FSRCSEQ |
|||
源单行内码:FSRCROWID |
|||
计划付款金额:FPLANPAYAMOUNT |
|||
源单编号:FSRCBILLNO |
|||
源单类型:FSOURCETYPE |
|||
源单币别:FSRCCURRENCYID |
|||
备注:FSRCREMARK |
|||
预付采购订单号:FPREPAYORDERNO |
|||
本次付款金额本位币:FREALPAYAMOUNTLOC |
|||
计价单位:FSRCPRICEUNITID |
|||
关联单据ID:FASSBILLID |
|||
数量:FSRCQTY |
|||
含税单价:FSRCPRICE |
|||
采购订单明细内码:FSRCORDERENTRYID |
|||
采购订单行号:FSRCMATERIALSEQ |
|||
物料名称:FSRCMATERIALNAME |
|||
税额:FTAXAMOUNT |
|||
应付款金额本位币:FPLANPAYAMOUNTLOC |
|||
费用承担部门:FEXPENSEDEPTID |
|||
税额本位币:FTAXAMOUNTLOC |
|||
采购订单ID:FPURCHASEORDERID |
|||
作废状态:FCancelStatus (必填项) |
|||
作废人:FCancellerId |
|||
会计核算体系:FACCOUNTSYSTEM |
|||
作废日期:FCancelDate |
|||
收款单位类型:FRECTUNITTYPE (必填项) |
|||
往来单位:FCONTACTUNIT (必填项) |
|||
往来单位类型:FCONTACTUNITTYPE (必填项) |
|||
表头-实付金额:FREALPAYAMOUNTFOR_H |
|||
采购部门:FPURCHASEDEPTID |
|||
采购组:FPURCHASERGROUPID |
|||
是否期初单据:FISINIT |
|||
部门:FDepartment |
|||
业务类型:FBUSINESSTYPE |
|||
来源系统:FSOURCESYSTEM |
|||
收款单位:FRECTUNIT (必填项) |
|||
创建日期:FCreateDate |
|||
审核人:FAPPROVERID |
|||
创建人:FCreatorId |
|||
单据状态:FDOCUMENTSTATUS (必填项) |
|||
单据编号:FBillNo |
|||
修改人:FModifierId |
|||
采购员:FPURCHASERID |
|||
单据类型:FBillTypeID (必填项) |
|||
核销状态:FWRITTENOFFSTATUS |
|||
采购组织:FPURCHASEORGID |
|||
审核日期:FApproveDate |
|||
结算组织:FSETTLEORGID |
|||
表头-应付金额:FPAYTOTALAMOUNTFOR_H |
|||
修改日期:FModifyDate |
|||
业务日期:FDATE (必填项) |
|||
币别:FCURRENCYID (必填项) |
|||
结算方式:FSETTLETYPEID (必填项) |
|||
应付类别:F_PAEZ_Assistant (必填项) |
|||
转出往来单位类型:FOUTCONTACTTYPE |
|||
折后金额:FSETTLEPAYAMOUNTFOR |
|||
折后金额本位币:FSETTLEPAYAMOUNT |
|||
表体-应付金额:FPAYTOTALAMOUNTFOR |
|||
现金折扣:FSETTLEDISTAMOUNTFOR |
|||
期望付款日期:FBookingDate |
|||
备注:FREMARK |
|||
第三方单据编号:FTHIRDBILLNO |
|||
转出往来单位:FOUTCONTACTID |
|||
现购:FISCASHPURCHASE |
|||
流水号:FWBSETTLENO |
|||
手续费本位币:FHANDLINGCHARGE |
|||
手续费:FHANDLINGCHARGEFOR |
|||
采购订单:FPAYITEM |
|||
表体-实付金额:FREALPAYAMOUNTFOR_D |
|||
预付项目类型:FPAYITEMTYPE |
|||
关联金额:FASSTOTALAMOUNTFOR |
|||
表体-实付金额本位币:FREALPAYAMOUNT_D |
|||
表体明细-核销状态:FWRITTENOFFSTATUS_D |
|||
表体-应付金额本位币:FPAYTOTALAMOUNT |
|||
现金折扣本位币:FSETTLEDISTAMOUNT |
|||
表体明细-已核销金额:FWRITTENOFFAMOUNTFOR_D |
|||
对方账户名称:FOPPOSITECCOUNTNAME |
|||
备注:FCOMMENT |
|||
对方银行账号:FOPPOSITEBANKACCOUNT |
|||
结算汇率:FSETTLERATE |
|||
是否信贷业务:FIsCredit |
|||
付款金额:FPAYAMOUNTFOR |
|||
结算币别:FSETTLECUR (必填项) |
|||
本位币:FMAINBOOKID |
|||
汇率类型:FEXCHANGETYPE |
|||
付款组织:FPAYORGID (必填项) |
|||
是否相同组织:FISSAMEORG |
|||
扫描点:FScanPoint |
|||
是否转销:FIsWriteOff |
|||
实报实付:FREALPAY |
|||
核销方式:FMatchMethodID |
|||
表头-付款金额本位币:FPAYAMOUNT |
|||
表头-应付金额本位币:FPAYTOTALAMOUNT_H |
|||
汇率:FEXCHANGERATE |
|||
表头-实付金额本位币:FREALPAYAMOUNT_H |
@ -0,0 +1,15 @@ |
|||
{ |
|||
"sid": "63", |
|||
"userSid": "73", |
|||
"applicationDate": "2022-08-01 06:22:08", |
|||
"applicationCode": "1659335563", |
|||
"vehicleList": [ |
|||
{ |
|||
"sid": "25", |
|||
"applySid": "11", |
|||
"modelSid": " JX091054", |
|||
"vinNo": " JX091054", |
|||
"remarks": "X牵引6*4-550超" |
|||
} |
|||
] |
|||
} |
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue