package com.seeyon.apps.src_contract.lease.param;

import java.io.File;
import java.io.IOException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.seeyon.apps.ext.workflow.vo.FormDataVo;
import com.seeyon.apps.src_contract.lease.kit.form.CAP4FormKit;
import com.seeyon.cap4.form.bean.FormDataMasterBean;
import org.apache.commons.io.FileUtils;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.seeyon.apps.src_contract.lease.util.EnumUtils;
import com.seeyon.ctp.common.AppContext;
import com.seeyon.ctp.common.SystemEnvironment;
import com.seeyon.ctp.common.ctpenumnew.manager.EnumManager;
import com.seeyon.ctp.common.exceptions.BusinessException;
import com.seeyon.ctp.organization.bo.V3xOrgAccount;
import com.seeyon.ctp.organization.manager.OrgManagerDirect;
import com.seeyon.v3x.dee.util.DateUtil;
import www.seeyon.com.utils.StringUtil;

public class LeaseContractParam {
	
	private OrgManagerDirect orgManagerDirect;
	
	public OrgManagerDirect getOrgManagerDirect() {
		  if (this.orgManagerDirect == null) {
		        this.orgManagerDirect = ((OrgManagerDirect)AppContext.getBean("orgManagerDirect"));
		      }
		  return orgManagerDirect;
	}
	public void setOrgManagerDirect(OrgManagerDirect orgManagerDirect) {
		this.orgManagerDirect = orgManagerDirect;
	}
	
	private  EnumManager enumManagerNew;
	
	public void setEnumManagerNew(EnumManager enumManagerNew) {
		this.enumManagerNew = enumManagerNew;
	}
	
	public EnumManager getEnumManagerNew() {
		if (enumManagerNew == null) {
			enumManagerNew = (EnumManager) AppContext.getBean("enumManagerNew");
		}
		return enumManagerNew;
	}
	
	
	/**
	 * 获取租赁合同字段并封装参数
	 * @param formDataVo 表单数据对象
	 * @return
	 * @throws IOException
	 * @throws BusinessException
	 */
	public JSONObject getLeaseContractParam(FormDataVo formDataVo,String summaryId) throws BusinessException, NoSuchFieldException {
		JSONObject jsonObject = new JSONObject();
//		jsonObject.put("financialOrg", CAP4FormKit.getFieldStrValue(master, "NC公司名称"));//NC公司名称
		jsonObject.put("financialOrg", formDataVo.getFieldData("NC公司名称")!=null?formDataVo.getFieldData("NC公司名称").getStringValue():"");//NC公司名称
//		jsonObject.put("financecode", CAP4FormKit.getFieldStrValue(master, "NC公司编号"));//NC公司编号
		jsonObject.put("financecode", formDataVo.getFieldData("NC公司编号")!=null?formDataVo.getFieldData("NC公司编号").getStringValue():"");//NC公司编号
		jsonObject.put("oaUrl", "/seeyon/cst/flowInfo.do?summaryId="+summaryId);//路径
//		jsonObject.put("financename", CAP4FormKit.getFieldStrValue(master, "NC公司名称"));//NC公司名称
		jsonObject.put("financename", formDataVo.getFieldData("NC公司名称")!=null?formDataVo.getFieldData("NC公司名称").getStringValue():"");//NC公司名称
		jsonObject.put("fstatusflag", "0");//合同状态
//		jsonObject.put("OAbillcode", CAP4FormKit.getFieldStrValue(master, "合同管理编号"));//合同管理编号
		jsonObject.put("OAbillcode", formDataVo.getFieldData("合同管理编号")!=null?formDataVo.getFieldData("合同管理编号").getStringValue():"");//合同管理编号
//		jsonObject.put("vbillcode", CAP4FormKit.getFieldStrValue(master, "合同管理编号"));//合同管理编号
		jsonObject.put("vbillcode", formDataVo.getFieldData("合同管理编号")!=null?formDataVo.getFieldData("合同管理编号").getStringValue():"");//合同管理编号
//		String firstUnitId = CAP4FormKit.getFieldStrValue(master, "OA一级单位");
		String firstUnitId = formDataVo.getFieldData("OA一级单位")!=null?formDataVo.getFieldData("OA一级单位").getDbValue()+"":"";
		System.out.println(firstUnitId);
		List<V3xOrgAccount> v3xOrgAccounts = getOrgManagerDirect().getAllAccounts(true, true, "id", Long.parseLong(firstUnitId), null);
		String firstUnit = "";
		if(v3xOrgAccounts.size()>0) {
			firstUnit = v3xOrgAccounts.get(0).getName();
		}
		jsonObject.put("firstUnit", firstUnit);//一级部门
//		String sectionNatureId =  CAP4FormKit.getFieldStrValue(master, "单位部门性质");
		String sectionNatureId =  formDataVo.getFieldData("单位部门性质")!=null?formDataVo.getFieldData("单位部门性质").getDbValue()+"":"";
		String sectionNatureName =  EnumUtils.getEnumItemName(sectionNatureId);
		jsonObject.put("sectionNature", sectionNatureName);//单位部门性质
//		jsonObject.put("contractName", CAP4FormKit.getFieldStrValue(master, "合同名称"));//合同名称
		jsonObject.put("contractName", formDataVo.getFieldData("合同名称")!=null?formDataVo.getFieldData("合同名称").getStringValue():"");//合同名称
//		jsonObject.put("vdef37", CAP4FormKit.getFieldStrValue(master, "税率"));//合同名称
		jsonObject.put("vdef37",formDataVo.getFieldData("税率")!=null?formDataVo.getFieldData("税率").getStringValue():"");//合同名称
//		jsonObject.put("vdef38", CAP4FormKit.getFieldStrValue(master, "不动产位置"));//合同名称
		jsonObject.put("vdef38", formDataVo.getFieldData("不动产位置")!=null?formDataVo.getFieldData("不动产位置").getStringValue():"");//不动产位置
//		jsonObject.put("customer", CAP4FormKit.getFieldStrValue(master, "客商编号"));//客商编号
		jsonObject.put("customer", formDataVo.getFieldData("客商编号")!=null?formDataVo.getFieldData("客商编号").getStringValue():"");//客商编号
//		jsonObject.put("khbm", CAP4FormKit.getFieldStrValue(master, "客商编号"));//客商编号
		jsonObject.put("khbm", formDataVo.getFieldData("客商编号")!=null?formDataVo.getFieldData("客商编号").getStringValue():"");//客商编号
//		jsonObject.put("khlxfs", CAP4FormKit.getFieldStrValue(master, "客商联系方式"));//客商联系方式
		jsonObject.put("khlxfs", formDataVo.getFieldData("客商联系方式")!=null?formDataVo.getFieldData("客商联系方式").getStringValue():"");//客商联系方式
//		jsonObject.put("khyhzh", CAP4FormKit.getFieldStrValue(master, "银行账号"));//银行账号
		jsonObject.put("khyhzh", formDataVo.getFieldData("银行账号")!=null?formDataVo.getFieldData("银行账号").getStringValue():"");//银行账号
//		jsonObject.put("khkhyh", CAP4FormKit.getFieldStrValue(master, "开户行"));//开户行
		jsonObject.put("khkhyh", formDataVo.getFieldData("开户行")!=null?formDataVo.getFieldData("开户行").getStringValue():"");//开户行
//		jsonObject.put("khzhmc", CAP4FormKit.getFieldStrValue(master, "账户名称"));//账户名称
		jsonObject.put("khzhmc", formDataVo.getFieldData("账户名称")!=null?formDataVo.getFieldData("账户名称").getStringValue():"");//账户名称
//		jsonObject.put("personnelid", CAP4FormKit.getFieldStrValue(master, "签章人员编码"));//签章人员编码
		jsonObject.put("personnelid", formDataVo.getFieldData("签章人员编码")!=null?formDataVo.getFieldData("签章人员编码").getStringValue():"");//签章人员编码
//		jsonObject.put("subscribedate", CAP4FormKit.getFieldStrValue(master, "签章日期"));//签字盖章日期
		jsonObject.put("subscribedate", formDataVo.getFieldData("签章日期")!=null?formDataVo.getFieldData("签章日期").getStringValue():"");//签字盖章日期
//		jsonObject.put("contractApproveDate", CAP4FormKit.getFieldStrValue(master, "签章日期"));//签字盖章日期
		jsonObject.put("contractApproveDate", formDataVo.getFieldData("签章日期")!=null?formDataVo.getFieldData("签章日期").getStringValue():"");//签字盖章日期
//		jsonObject.put("leaseholdArea", CAP4FormKit.getFieldStrValue(master, "承租面积"));//承租面积
		jsonObject.put("leaseholdArea", formDataVo.getFieldData("承租面积")!=null?formDataVo.getFieldData("承租面积").getStringValue():"");//承租面积
//		jsonObject.put("ntotalorigmny", CAP4FormKit.getFieldStrValue(master, "合同金额"));//合同金额
		jsonObject.put("ntotalorigmny", formDataVo.getFieldData("合同金额")!=null?formDataVo.getFieldData("合同金额").getStringValue():"");//合同金额
//		jsonObject.put("contractStartDate", CAP4FormKit.getFieldStrValue(master, "合同起始日期"));//合同起始日期
		jsonObject.put("contractStartDate", formDataVo.getFieldData("合同起始日期")!=null?formDataVo.getFieldData("合同起始日期").getStringValue():"");//合同起始日期
//		jsonObject.put("contractEndDate", CAP4FormKit.getFieldStrValue(master, "合同结束日期"));//合同结束日期
		jsonObject.put("contractEndDate", formDataVo.getFieldData("合同结束日期")!=null?formDataVo.getFieldData("合同结束日期").getStringValue():"");//合同结束日期
//		String paymentMethodId =  CAP4FormKit.getFieldStrValue(master, "缴费方式");
		String paymentMethodId =  formDataVo.getFieldData("缴费方式")!=null?formDataVo.getFieldData("缴费方式").getDbValue()+"":"";
		String paymentMethodValue =  EnumUtils.getEnumItemName(paymentMethodId);
		if("年".equals(paymentMethodValue)) {
			jsonObject.put("paymentMethod", "year");//缴费方式-年
		}else if ("月".equals(paymentMethodValue)) {
			jsonObject.put("paymentMethod", "month");//缴费方式-月
		}else if ("季".equals(paymentMethodValue)) {
			jsonObject.put("paymentMethod", "quarter");//缴费方式-季
		}else if ("半年".equals(paymentMethodValue)) {
			jsonObject.put("paymentMethod", "semiannual");//缴费方式-半年
		}else if ("一次性".equals(paymentMethodValue)) {
			jsonObject.put("paymentMethod", "all");//缴费方式-一次性
		}
//		String zuLinType =  CAP4FormKit.getFieldStrValue(master, "租赁业务类型");
		String zuLinType =  formDataVo.getFieldData("租赁业务类型")!=null?formDataVo.getFieldData("租赁业务类型").getDbValue()+"":"";
		String zuLinTypeName =  EnumUtils.getEnumItemName(zuLinType);
		if("房产".equals(zuLinTypeName)) {
			jsonObject.put("vdef30", "1");//枚举：房产=1,土地=2,广告位=3
		}else if ("土地".equals(zuLinTypeName)) {
			jsonObject.put("vdef30", "2");//枚举：房产=1,土地=2,广告位=3
		}else if ("广告位".equals(zuLinTypeName)) {
			jsonObject.put("vdef30", "3");//枚举：房产=1,土地=2,广告位=3
		}

//		jsonObject.put("freeMonthno", CAP4FormKit.getFieldStrValue(master, "免租月数"));//免租月数
		jsonObject.put("freeMonthno", formDataVo.getFieldData("免租月数")!=null?formDataVo.getFieldData("免租月数").getStringValue():"");//免租月数
//		jsonObject.put("paymentTerm", CAP4FormKit.getFieldStrValue(master, "支付期限"));//支付期限
		jsonObject.put("paymentTerm", formDataVo.getFieldData("支付期限")!=null?formDataVo.getFieldData("支付期限").getStringValue():"");//支付期限
//		jsonObject.put("earnestMoney", CAP4FormKit.getFieldStrValue(master, "保证金"));//保证金
		jsonObject.put("earnestMoney", formDataVo.getFieldData("保证金")!=null?formDataVo.getFieldData("保证金").getStringValue():"");//保证金
//		jsonObject.put("electricityBill", CAP4FormKit.getFieldStrValue(master, "电费单价"));//电费单价
		jsonObject.put("electricityBill", formDataVo.getFieldData("电费单价")!=null?formDataVo.getFieldData("电费单价").getStringValue():"");//电费单价
//		jsonObject.put("waterBill", CAP4FormKit.getFieldStrValue(master, "水费单价"));//水费单价
		jsonObject.put("waterBill", formDataVo.getFieldData("水费单价")!=null?formDataVo.getFieldData("水费单价").getStringValue():"");//水费单价
//		jsonObject.put("paymentnum", CAP4FormKit.getFieldStrValue(master, "缴费期数"));//缴费期数
		jsonObject.put("paymentnum", formDataVo.getFieldData("缴费期数")!=null?formDataVo.getFieldData("缴费期数").getStringValue():"");//缴费期数
//		jsonObject.put("totalCost", CAP4FormKit.getFieldStrValue(master, "租费合计"));//租金合计
		jsonObject.put("totalCost", formDataVo.getFieldData("租费合计")!=null?formDataVo.getFieldData("租费合计").getStringValue():"");//租金合计
//		jsonObject.put("rentalTotal", CAP4FormKit.getFieldStrValue(master, "租费合计"));//租费合计
		jsonObject.put("rentalTotal", formDataVo.getFieldData("租费合计")!=null?formDataVo.getFieldData("租费合计").getStringValue():"");//租费合计
//		jsonObject.put("rent", CAP4FormKit.getFieldStrValue(master, "租金"));//合同金额
		jsonObject.put("rent", formDataVo.getFieldData("租金")!=null?formDataVo.getFieldData("租金").getStringValue():"");//合同金额
//		jsonObject.put("manageServiceFee", CAP4FormKit.getFieldStrValue(master, "管理服务费"));//合同金额
		jsonObject.put("manageServiceFee", formDataVo.getFieldData("管理服务费")!=null?formDataVo.getFieldData("管理服务费").getStringValue():"");//合同金额
//		jsonObject.put("marketFee", CAP4FormKit.getFieldStrValue(master, "市场管理费"));//合同金额
		jsonObject.put("marketFee",formDataVo.getFieldData("市场管理费")!=null?formDataVo.getFieldData("市场管理费").getStringValue():"");//合同金额
//		jsonObject.put("sumSub", CAP4FormKit.getFieldStrValue(master, "合计减免"));//合计减免
		jsonObject.put("sumSub", formDataVo.getFieldData("合计减免")!=null?formDataVo.getFieldData("合计减免").getStringValue():"");//合计减免
//		jsonObject.put("sumReceive", CAP4FormKit.getFieldStrValue(master, "合计应收"));//合计应收
		jsonObject.put("sumReceive", formDataVo.getFieldData("合计应收")!=null?formDataVo.getFieldData("合计应收").getStringValue():"");//合计应收
//		jsonObject.put("subStartTime", CAP4FormKit.getFieldStrValue(master, "免租期从"));//减免开始时间
		jsonObject.put("subStartTime", formDataVo.getFieldData("免租期从")!=null?formDataVo.getFieldData("免租期从").getStringValue():"");//减免开始时间
//		jsonObject.put("subEndTime", CAP4FormKit.getFieldStrValue(master, "减免结束日期"));//减免结束时间
		jsonObject.put("subEndTime", formDataVo.getFieldData("减免结束日期")!=null?formDataVo.getFieldData("减免结束日期").getStringValue():"");//减免结束时间
//		jsonObject.put("certificateCode", CAP4FormKit.getFieldStrValue(master, "房产证号"));//房产证号
		jsonObject.put("certificateCode", formDataVo.getFieldData("房产证号")!=null?formDataVo.getFieldData("房产证号").getStringValue():"");//房产证号
//		jsonObject.put("assetCode", CAP4FormKit.getFieldStrValue(master, "关联BIP房产"));//资产编号
		jsonObject.put("assetCode", formDataVo.getFieldData("关联BIP房产")!=null?formDataVo.getFieldData("关联BIP房产").getStringValue():"");//资产编号

		JSONArray plans = new JSONArray();
//		List<FormDataSubBean> formDataSubBeans = CAP4FormKit.getSubBeans(master,"账期明细");
		List<FormDataVo> subFormDataVos = formDataVo.getSubFormMap().get("账期明细");
		for (FormDataVo subFormDataVo : subFormDataVos) {
			JSONObject plan = new JSONObject();
//			plan.put("accountPeriodNum", CAP4FormKit.getSubFieldValue(formDataSubBean,"租金计算序号")); //账期数
			plan.put("accountPeriodNum", subFormDataVo.getFieldData("租金计算序号")!=null?subFormDataVo.getFieldData("租金计算序号").getStringValue():""); //账期数
//			plan.put("currentPaymentTime", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期缴费时限")); //当期缴费时限
			plan.put("currentPaymentTime", subFormDataVo.getFieldData("账期缴费时限")!=null?subFormDataVo.getFieldData("账期缴费时限").getStringValue():""); //当期缴费时限
//			plan.put("planStartDate", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期开始日期")); //租金计算开始时间
			plan.put("planStartDate", subFormDataVo.getFieldData("账期开始日期")!=null?subFormDataVo.getFieldData("账期开始日期").getStringValue():""); //租金计算开始时间
//			plan.put("planEndDate", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期结束日期")); //租金计算结束时间
			plan.put("planEndDate", subFormDataVo.getFieldData("账期结束日期")!=null?subFormDataVo.getFieldData("账期结束日期").getStringValue():""); //租金计算结束时间
//			plan.put("planAmount", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期应收租费")); //应收租费
			plan.put("planAmount", subFormDataVo.getFieldData("账期应收租费")!=null?subFormDataVo.getFieldData("账期应收租费").getStringValue():""); //应收租费
//			plan.put("rent", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期应收租金")); //租费明细
			plan.put("rent", subFormDataVo.getFieldData("账期应收租金")!=null?subFormDataVo.getFieldData("账期应收租金").getStringValue():""); //租费明细
//			plan.put("manageServiceFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期应收物业费")); //租金计算管理服务费
			plan.put("manageServiceFee", subFormDataVo.getFieldData("账期应收物业费")!=null?subFormDataVo.getFieldData("账期应收物业费").getStringValue():""); //租金计算管理服务费
//			plan.put("marketFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期应收市场费")); //拆分减市场费
			plan.put("marketFee", subFormDataVo.getFieldData("账期应收市场费")!=null?subFormDataVo.getFieldData("账期应收市场费").getStringValue():""); //拆分减市场费
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean, "已收租金")==null){
			if(StringUtil.isEmpty(subFormDataVo.getFieldData("已收租金")!=null?subFormDataVo.getFieldData("已收租金").getStringValue():"")){
				plan.put("curColRent", "0");//已收租金
			}else{
				plan.put("curColRent", subFormDataVo.getFieldData("已收租金").getStringValue());//已收租金
			}
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean, "已收物业管理费")==null){
			if(StringUtil.isEmpty(subFormDataVo.getFieldData("已收物业管理费")!=null?subFormDataVo.getFieldData("已收物业管理费").getStringValue():"")){
				plan.put("curColProManageFee", "0");//已收物业管理费
			}else{
				plan.put("curColProManageFee", subFormDataVo.getFieldData("已收物业管理费").getStringValue());//已收物业管理费
			}
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean, "已收市场服务费")==null){
			if(StringUtil.isEmpty(subFormDataVo.getFieldData("已收市场服务费")!=null?subFormDataVo.getFieldData("已收市场服务费").getStringValue():"")){
				plan.put("curColMarManageFee", "0");//已收市场服务费
			}else{
				plan.put("curColMarManageFee", subFormDataVo.getFieldData("已收市场服务费").getStringValue());//已收市场服务费
			}
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean, "已开票租金")==null){
			if(StringUtil.isEmpty(subFormDataVo.getFieldData("已开票租金")!=null?subFormDataVo.getFieldData("已开票租金").getStringValue():"")){
				plan.put("curBillRent", "0");//已开票租金
			}else{
				plan.put("curBillRent", subFormDataVo.getFieldData("已开票租金").getStringValue());//已开票租金
			}
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean, "已开票物业管理费")==null){
			if(StringUtil.isEmpty(subFormDataVo.getFieldData("已开票物业管理费")!=null?subFormDataVo.getFieldData("已开票物业管理费").getStringValue():"")){
				plan.put("curBillProManageFee", "0");//已开票物业管理费
			}else{
				plan.put("curBillProManageFee", subFormDataVo.getFieldData("已开票物业管理费").getStringValue());//已开票物业管理费
			}
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean, "已开票市场服务费")==null){
			if(StringUtil.isEmpty(subFormDataVo.getFieldData("已开票市场服务费")!=null?subFormDataVo.getFieldData("已开票市场服务费").getStringValue():"")){
				plan.put("curBillMarManageFee", "0");//已开票市场服务费
			}else{
				plan.put("curBillMarManageFee", subFormDataVo.getFieldData("已开票市场服务费").getStringValue());//已开票市场服务费
			}
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean, "已开票合计")==null){
			if(StringUtil.isEmpty(subFormDataVo.getFieldData("已开票合计")!=null?subFormDataVo.getFieldData("已开票合计").getStringValue():"")){
				plan.put("invoiceAmountFeeTotal", "0");//已开票合计
			}else{
				plan.put("invoiceAmountFeeTotal", subFormDataVo.getFieldData("已开票合计").getStringValue());//已开票合计
			}
//			plan.put("detailTotalCost", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期租费合计")); //租金计算-合计
			plan.put("detailTotalCost", subFormDataVo.getFieldData("账期租费合计")!=null?subFormDataVo.getFieldData("账期租费合计").getStringValue():""); //租金计算-合计
//			plan.put("detailRent", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期租金")); //租金计算-租金
			plan.put("detailRent", subFormDataVo.getFieldData("账期租金")!=null?subFormDataVo.getFieldData("账期租金").getStringValue():""); //租金计算-租金
//			plan.put("detailManageServiceFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期物业管理费")); //租金计算-管理服务费
			plan.put("detailManageServiceFee", subFormDataVo.getFieldData("账期物业管理费")!=null?subFormDataVo.getFieldData("账期物业管理费").getStringValue():""); //租金计算-管理服务费
//			plan.put("detailMarketFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期市场管理费")); //租金计算-市场管理费
			plan.put("detailMarketFee", subFormDataVo.getFieldData("账期市场管理费")!=null?subFormDataVo.getFieldData("账期市场管理费").getStringValue():""); //租金计算-市场管理费
//			plan.put("derateTotalCost", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期减免合计")); //减免租金-合计
			plan.put("derateTotalCost", subFormDataVo.getFieldData("账期减免合计")!=null?subFormDataVo.getFieldData("账期减免合计").getStringValue():""); //减免租金-合计
//			plan.put("derateRent", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期减免租金")); //减免租金-租金
			plan.put("derateRent", subFormDataVo.getFieldData("账期减免租金")!=null?subFormDataVo.getFieldData("账期减免租金").getStringValue():""); //减免租金-租金
//			plan.put("derateManageServiceFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期减免物业费")); //减免租金-管理服务费
			plan.put("derateManageServiceFee", subFormDataVo.getFieldData("账期减免物业费")!=null?subFormDataVo.getFieldData("账期减免物业费").getStringValue():""); //减免租金-管理服务费
//			plan.put("derateMarketFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期合计递增")); //减免租金-市场管理费
			plan.put("derateMarketFee", subFormDataVo.getFieldData("账期减免市场费")!=null?subFormDataVo.getFieldData("账期合计递增").getStringValue():""); //减免租金-市场管理费
//			plan.put("increaseTotalCost", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期合计递增")); //租金递增-合计
			plan.put("increaseTotalCost", subFormDataVo.getFieldData("账期合计递增")!=null?subFormDataVo.getFieldData("账期合计递增").getStringValue():""); //租金递增-合计
//			plan.put("increaseRent", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期递增租金")); //租金递增-租金
			plan.put("increaseRent", subFormDataVo.getFieldData("账期递增租金")!=null?subFormDataVo.getFieldData("账期递增租金").getStringValue():""); //租金递增-租金
//			plan.put("increaseManageServiceFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期递增物业费")); //租金递增-管理服务费
			plan.put("increaseManageServiceFee", subFormDataVo.getFieldData("账期递增物业费")!=null?subFormDataVo.getFieldData("账期递增物业费").getStringValue():""); //租金递增-管理服务费
//			plan.put("increaseMarketFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期递增市场费")); //租金递增-市场管理费
			plan.put("increaseMarketFee", subFormDataVo.getFieldData("账期递增市场费")!=null?subFormDataVo.getFieldData("账期递增市场费").getStringValue():""); //租金递增-市场管理费
//			plan.put("recipientAmount", CAP4FormKit.getSubFieldValue(formDataSubBean,"累计收款原币")); //累计收款原币
			plan.put("recipientAmount", subFormDataVo.getFieldData("累计收款原币")!=null?subFormDataVo.getFieldData("累计收款原币").getStringValue():""); //累计收款原币
			plans.add(plan);
		}
		jsonObject.put("plans", plans);//收款计划的集合
//		String str = SystemEnvironment.getApplicationFolder();
//		String date = DateUtil.format(new Date(), "yyyyMMddHHmmss");
//		FileUtils.writeStringToFile(new File(str+"/LeaseContractjson/"+date.substring(0,4)+"/"+date.substring(4,6)+"/"+date.substring(6,8)+"/BIPZL_" + date + ".json"), jsonObject.toString(), "UTF-8");
		return jsonObject;
	}
	
	/**
	 * 获取租赁收款单并封装参数
	 * @param formDataVo
	 * @return
	 * @throws IOException
	 * @throws BusinessException
	 */
	public JSONObject getLeaseContractProceedsParam(FormDataVo formDataVo,String summaryId) throws NoSuchFieldException {
		JSONObject jsonObject = new JSONObject();
//		jsonObject.put("oabillcode", CAP4FormKit.getFieldStrValue(master, "OA单据号"));//OA单据号
		jsonObject.put("oabillcode", formDataVo.getFieldData("OA单据号")!=null?formDataVo.getFieldData("OA单据号").getStringValue():"");//OA单据号
		jsonObject.put("path", "/seeyon/cst/flowInfo.do?summaryId="+summaryId);//OA单据号
//		jsonObject.put("financialOrg", CAP4FormKit.getFieldStrValue(master, "NC公司编码"));//财务组织
		jsonObject.put("financialOrg", formDataVo.getFieldData("NC公司编码")!=null?formDataVo.getFieldData("NC公司编码").getStringValue():"");//财务组织
//		jsonObject.put("billDate", CAP4FormKit.getFieldStrValue(master, "单据日期"));//单据日期
		jsonObject.put("billDate", formDataVo.getFieldData("单据日期")!=null?formDataVo.getFieldData("单据日期").getStringValue():"");//单据日期
//		jsonObject.put("customer", CAP4FormKit.getFieldStrValue(master, "客商编号"));//客户
		jsonObject.put("customer", formDataVo.getFieldData("客商编号")!=null?formDataVo.getFieldData("客商编号").getStringValue():"");//客户
//		jsonObject.put("settlementMethod",  CAP4FormKit.getFieldStrValue(master, "结算方式编码"));//结算方式
		jsonObject.put("settlementMethod",  formDataVo.getFieldData("结算方式编码")!=null?formDataVo.getFieldData("结算方式编码").getStringValue():"");//结算方式
//		jsonObject.put("paymentAccount",  CAP4FormKit.getFieldStrValue(master, "付款银行账号"));//付款银行账户
		jsonObject.put("paymentAccount",  formDataVo.getFieldData("付款银行账号")!=null?formDataVo.getFieldData("付款银行账号").getStringValue():"");//付款银行账户
//		jsonObject.put("recAccount",  CAP4FormKit.getFieldStrValue(master, "收款银行账号"));//收款银行账户
		jsonObject.put("recAccount",  formDataVo.getFieldData("收款银行账号")!=null?formDataVo.getFieldData("收款银行账号").getStringValue():"");//收款银行账户
//		jsonObject.put("deptid",  CAP4FormKit.getFieldStrValue(master, "部门编码"));//部门编码
		jsonObject.put("deptid",  formDataVo.getFieldData("部门编码")!=null?formDataVo.getFieldData("部门编码").getStringValue():"");//部门编码
//		jsonObject.put("psndoc",  CAP4FormKit.getFieldStrValue(master, "经办人编码"));//业务员
		jsonObject.put("psndoc",  formDataVo.getFieldData("经办人编码")!=null?formDataVo.getFieldData("经办人编码").getStringValue():"");//业务员
//		String sklxid =  CAP4FormKit.getFieldStrValue(master, "收款类型");
		String sklxid =  formDataVo.getFieldData("收款类型")!=null?formDataVo.getFieldData("收款类型").getDbValue()+"":"";
		String sklx = getEnumManagerNew().getEnumItem(Long.parseLong(sklxid)).getEnumItemCode();
		jsonObject.put("sklx",  sklx);//收款银行账户
//		String isInvoiceId = CAP4FormKit.getFieldStrValue(master, "是否开票");
		String isInvoiceId = formDataVo.getFieldData("是否开票")!=null?formDataVo.getFieldData("是否开票").getDbValue()+"":"";
		String isInvoice = getEnumManagerNew().getEnumItem(Long.parseLong(isInvoiceId)).getLabel();
//		如果选择是开发票则获取开票类型字段数据
		if("是".equals(isInvoice)){
//			String invoiceTypeId = CAP4FormKit.getFieldStrValue(master, "开票类型");
			String invoiceTypeId =formDataVo.getFieldData("开票类型")!=null?formDataVo.getFieldData("开票类型").getDbValue()+"":"";
			String invoiceType = getEnumManagerNew().getEnumItem(Long.parseLong(invoiceTypeId)).getLabel();
			jsonObject.put("invoiceType", invoiceType);//开票类型
		}else {
			jsonObject.put("invoiceType", "");//开票类型
		}
		jsonObject.put("isInvoice", isInvoice);//是否开票(是 or 否)
		List<FormDataVo> subFormDataVos = formDataVo.getSubFormMap().get("收费明细");
//		List<FormDataSubBean> formDataSubBeans = CAP4FormKit.getSubBeans(master);
		JSONArray jsonArray = new JSONArray();
		for (FormDataVo subFormDataVo : subFormDataVos) {
			JSONObject items = new JSONObject();
//			items.put("periodNum", CAP4FormKit.getSubFieldValue(formDataSubBean, "账期号"));//账期号
			items.put("periodNum", subFormDataVo.getFieldData("账期号")!=null?subFormDataVo.getFieldData("账期号").getStringValue():"");//账期号
//			items.put("contractCode", CAP4FormKit.getFieldStrValue(master, "租赁合同编码"));//合同编码
			items.put("contractCode", formDataVo.getFieldData("租赁合同编码")!=null?formDataVo.getFieldData("租赁合同编码").getStringValue():"");//合同编码
//			items.put("manageServiceFee", CAP4FormKit.getSubFieldValue(formDataSubBean, "管理服务费"));//管理服务费
			items.put("manageServiceFee", subFormDataVo.getFieldData("管理服务费")!=null?subFormDataVo.getFieldData("管理服务费").getStringValue():"");//管理服务费
//			items.put("rent", CAP4FormKit.getSubFieldValue(formDataSubBean, "租金"));//租金
			items.put("rent", subFormDataVo.getFieldData("租金")!=null?subFormDataVo.getFieldData("租金").getStringValue():"");//租金
//			items.put("marketFee", CAP4FormKit.getSubFieldValue(formDataSubBean, "市场管理费"));//市场管理费
			items.put("marketFee", subFormDataVo.getFieldData("市场管理费")!=null?subFormDataVo.getFieldData("市场管理费").getStringValue():"");//市场管理费
//			items.put("sumReceive", CAP4FormKit.getSubFieldValue(formDataSubBean, "应收金额"));//应收金额
			items.put("sumReceive", subFormDataVo.getFieldData("应收金额")!=null?subFormDataVo.getFieldData("应收金额").getStringValue():"");//应收金额
//			items.put("sumActual", CAP4FormKit.getSubFieldValue(formDataSubBean, "本次收款金额"));//实收金额
			items.put("sumActual", subFormDataVo.getFieldData("本次收款金额")!=null?subFormDataVo.getFieldData("本次收款金额").getStringValue():"");//实收金额
//			items.put("taxRate", CAP4FormKit.getSubFieldValue(formDataSubBean, "税率"));//税率
			items.put("taxRate", subFormDataVo.getFieldData("税率")!=null?subFormDataVo.getFieldData("税率").getStringValue():"");//税率
//			items.put("localTaxCr", CAP4FormKit.getSubFieldValue(formDataSubBean, "税额"));//税额
			items.put("localTaxCr", subFormDataVo.getFieldData("税额")!=null?subFormDataVo.getFieldData("税额").getStringValue():"");//税额
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean, "已收租金")==null){
			if(StringUtil.isEmpty(subFormDataVo.getFieldData("已收租金")!=null?subFormDataVo.getFieldData("已收租金").getStringValue():"")){
				items.put("curColRent", "0");//已收租金
			}else{
//				items.put("curColRent", CAP4FormKit.getSubFieldValue(formDataSubBean, "已收租金"));//已收租金
				items.put("curColRent", subFormDataVo.getFieldData("已收租金")!=null?subFormDataVo.getFieldData("已收租金").getStringValue():"");//已收租金
			}
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean, "已收物业管理费")==null){
			if(StringUtil.isEmpty(subFormDataVo.getFieldData("已收物业管理费")!=null?subFormDataVo.getFieldData("已收物业管理费").getStringValue():"")){
				items.put("curColProManageFee", "0");//已收物业管理费
			}else{
//				items.put("curColProManageFee", CAP4FormKit.getSubFieldValue(formDataSubBean, "已收物业管理费"));//已收物业管理费
				items.put("curColProManageFee", subFormDataVo.getFieldData("已收物业管理费")!=null?subFormDataVo.getFieldData("已收物业管理费").getStringValue():"");//已收物业管理费
			}
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean, "已收市场服务费")==null){
			if(StringUtil.isEmpty(subFormDataVo.getFieldData("已收物业管理费")!=null?subFormDataVo.getFieldData("已收物业管理费").getStringValue():"")){
				items.put("curColMarManageFee", "0");//已收市场服务费
			}else{
//				items.put("curColMarManageFee", CAP4FormKit.getSubFieldValue(formDataSubBean, "已收市场服务费"));//已收市场服务费
				items.put("curColMarManageFee", subFormDataVo.getFieldData("已收物业管理费")!=null?subFormDataVo.getFieldData("已收物业管理费").getStringValue():"");//已收市场服务费
			}
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean, "已开票租金")==null){
			if(StringUtil.isEmpty(subFormDataVo.getFieldData("已开票租金")!=null?subFormDataVo.getFieldData("已开票租金").getStringValue():"")){
				items.put("curBillRent", "0");//已开票租金
			}else{
//				items.put("curBillRent", CAP4FormKit.getSubFieldValue(formDataSubBean, "已开票租金"));//已开票租金
				items.put("curBillRent", subFormDataVo.getFieldData("已开票租金")!=null?subFormDataVo.getFieldData("已开票租金").getStringValue():"");//已开票租金
			}
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean, "已开票物业管理费")==null){
			if(StringUtil.isEmpty(subFormDataVo.getFieldData("已开票租金")!=null?subFormDataVo.getFieldData("已开票租金").getStringValue():"")){
				items.put("curBillProManageFee", "0");//已开票物业管理费
			}else{
//				items.put("curBillProManageFee", CAP4FormKit.getSubFieldValue(formDataSubBean, "已开票物业管理费"));//已开票物业管理费
				items.put("curBillProManageFee", subFormDataVo.getFieldData("已开票租金")!=null?subFormDataVo.getFieldData("已开票租金").getStringValue():"");//已开票物业管理费
			}
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean, "已开票市场服务费")==null){
			if(StringUtil.isEmpty(subFormDataVo.getFieldData("已开票市场服务费")!=null?subFormDataVo.getFieldData("已开票市场服务费").getStringValue():"")){
				items.put("curBillMarManageFee", "0");//已开票市场服务费
			}else{
//				items.put("curBillMarManageFee", CAP4FormKit.getSubFieldValue(formDataSubBean, "已开票市场服务费"));//已开票市场服务费
				items.put("curBillMarManageFee", subFormDataVo.getFieldData("已开票市场服务费")!=null?subFormDataVo.getFieldData("已开票市场服务费").getStringValue():"");//已开票市场服务费
			}
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean, "已开票合计")==null){
			if(StringUtil.isEmpty(subFormDataVo.getFieldData("已开票合计")!=null?subFormDataVo.getFieldData("已开票合计").getStringValue():"")){
				items.put("invoiceAmountFeeTotal", "0");//已开票合计
			}else{
				items.put("invoiceAmountFeeTotal", subFormDataVo.getFieldData("已开票合计")!=null?subFormDataVo.getFieldData("已开票合计").getStringValue():"");//已开票合计
			}
//			items.put("notaxCr", CAP4FormKit.getSubFieldValue(formDataSubBean, "无税金额"));//无税金额
			items.put("notaxCr", subFormDataVo.getFieldData("无税金额")!=null?subFormDataVo.getFieldData("无税金额").getStringValue():"");//无税金额
//			String subjectCode = CAP4FormKit.getSubFieldValue(formDataSubBean, "科目大类编码").toString();
			String subjectCode = subFormDataVo.getFieldData("科目大类编码")!=null?subFormDataVo.getFieldData("科目大类编码").getStringValue():"";
			subjectCode = subjectCode.substring(5);
			items.put("subjectCode", subjectCode);//科目大类01-应收款项,02-预收款项 
//			items.put("szxm", CAP4FormKit.getSubFieldValue(formDataSubBean, "收支项目编码"));//收支项目
			items.put("szxm", subFormDataVo.getFieldData("收支项目编码")!=null?subFormDataVo.getFieldData("收支项目编码").getStringValue():"");//收支项目
			items.put("skyw","022");//收款业务类型
//			items.put("pkPlan", CAP4FormKit.getSubFieldValue(formDataSubBean, "收款计划主键"));//收支项目
			items.put("pkPlan", subFormDataVo.getFieldData("收款计划主键")!=null?subFormDataVo.getFieldData("收款计划主键").getStringValue():"");//收支项目
			jsonArray.add(items);
		}
		jsonObject.put("items", jsonArray);
//		String str = SystemEnvironment.getApplicationFolder();
////		String date = DateUtil.format(new Date(), "yyyyMMddHHmmss");
//		FileUtils.writeStringToFile(new File(str+"/LeaseContractjson/"+date.substring(0,4)+"/"+date.substring(4,6)+"/"+date.substring(6,8)+"/BIPZLSK_" + date + ".json"), jsonObject.toString(), "UTF-8");
		return jsonObject;
	}
	
	/**
	 * 获取一般收款单并封装参数
	 * @param formDataVo
	 * @return
	 * @throws IOException
	 * @throws BusinessException
	 */
	public JSONObject getContractProceedsParam(FormDataVo formDataVo,String summaryId) throws NoSuchFieldException {
		JSONObject jsonObject = new JSONObject();
//		jsonObject.put("oabillcode", CAP4FormKit.getFieldStrValue(master, "OA单据号"));//OA单据号
		jsonObject.put("oabillcode", formDataVo.getFieldData("OA单据号")!=null?formDataVo.getFieldData("OA单据号").getStringValue():"");//OA单据号
		jsonObject.put("path", "/seeyon/cst/flowInfo.do?summaryId="+summaryId);
//		jsonObject.put("financialOrg", CAP4FormKit.getFieldStrValue(master, "NC公司编码"));//财务组织
		jsonObject.put("financialOrg", formDataVo.getFieldData("NC公司编码")!=null?formDataVo.getFieldData("NC公司编码").getStringValue():"");//财务组织
//		jsonObject.put("billDate", CAP4FormKit.getFieldStrValue(master, "单据日期"));//单据日期
		jsonObject.put("billDate", formDataVo.getFieldData("单据日期")!=null?formDataVo.getFieldData("单据日期").getStringValue():"");//单据日期
//		jsonObject.put("customer", CAP4FormKit.getFieldStrValue(master, "客商编号"));//客户
		jsonObject.put("customer", formDataVo.getFieldData("客商编号")!=null?formDataVo.getFieldData("客商编号").getStringValue():"");//客户
//		jsonObject.put("settlementMethod",  CAP4FormKit.getFieldStrValue(master, "结算方式编码"));//结算方式
		jsonObject.put("settlementMethod",  formDataVo.getFieldData("结算方式编码")!=null?formDataVo.getFieldData("结算方式编码").getStringValue():"");//结算方式
//		jsonObject.put("paymentAccount",  CAP4FormKit.getFieldStrValue(master, "付款银行账号"));//付款银行账户
		jsonObject.put("paymentAccount",  formDataVo.getFieldData("付款银行账号")!=null?formDataVo.getFieldData("付款银行账号").getStringValue():"");//付款银行账户
//		jsonObject.put("recAccount",  CAP4FormKit.getFieldStrValue(master, "收款银行账号"));//收款银行账户
		jsonObject.put("recAccount",  formDataVo.getFieldData("收款银行账号")!=null?formDataVo.getFieldData("收款银行账号").getStringValue():"");//收款银行账户
//		jsonObject.put("deptid",  CAP4FormKit.getFieldStrValue(master, "部门编码"));//部门编码
		jsonObject.put("deptid",  formDataVo.getFieldData("部门编码")!=null?formDataVo.getFieldData("部门编码").getStringValue():"");//部门编码
//		jsonObject.put("psndoc",  CAP4FormKit.getFieldStrValue(master, "经办人编码"));//业务员
		jsonObject.put("psndoc",  formDataVo.getFieldData("经办人编码")!=null?formDataVo.getFieldData("经办人编码").getStringValue():"");//业务员
//		String sklxid =  CAP4FormKit.getFieldStrValue(master, "收款类型");
		String sklxid =  formDataVo.getFieldData("收款类型")!=null?formDataVo.getFieldData("收款类型").getDbValue()+"":"";
		String sklx = getEnumManagerNew().getEnumItem(Long.parseLong(sklxid)).getEnumItemCode();
		jsonObject.put("sklx",  sklx);//收款银行账户

//		String isInvoiceId = CAP4FormKit.getFieldStrValue(master, "是否开票");
		String isInvoiceId = formDataVo.getFieldData("是否开票")!=null?formDataVo.getFieldData("是否开票").getDbValue()+"":"";
		String isInvoice = getEnumManagerNew().getEnumItem(Long.parseLong(isInvoiceId)).getLabel();
//		如果选择是开发票则获取开票类型字段数据
		if("是".equals(isInvoice)){
//			String invoiceTypeId = CAP4FormKit.getFieldStrValue(master, "开票类型");
			String invoiceTypeId = formDataVo.getFieldData("开票类型")!=null?formDataVo.getFieldData("开票类型").getDbValue()+"":"";
			String invoiceType = getEnumManagerNew().getEnumItem(Long.parseLong(invoiceTypeId)).getLabel();
			jsonObject.put("invoiceType", invoiceType);//开票类型
		}else {
			jsonObject.put("invoiceType", "");//开票类型
		}
		jsonObject.put("isInvoice", isInvoice);//是否开票(是 or 否)
//		String isStatusId = CAP4FormKit.getFieldStrValue(master, "是否终止");
		String isStatusId = formDataVo.getFieldData("是否终止")!=null?formDataVo.getFieldData("是否终止").getDbValue()+"":"";
		String isStatus = getEnumManagerNew().getEnumItem(Long.parseLong(isStatusId)).getLabel();
		if("是".equals(isStatus)) {
			jsonObject.put("terminationStatus",  "1");//是否终止
//			jsonObject.put("terminationReason",  CAP4FormKit.getFieldStrValue(master, "终止原因"));//终止原因
			jsonObject.put("terminationReason",  formDataVo.getFieldData("终止原因")!=null?formDataVo.getFieldData("终止原因").getStringValue():"");//终止原因
		}else if("否".equals(isStatus)) {
			jsonObject.put("terminationStatus",  "0");//是否终止
		}
//		List<FormDataSubBean> formDataSubBeans = CAP4FormKit.getSubBeans(master);
		JSONArray jsonArray = new JSONArray();
//		for (FormDataSubBean formDataSubBean : formDataSubBeans) {
		JSONObject items = new JSONObject();
//			items.put("periodNum", CAP4FormKit.getSubFieldValue(formDataSubBean, "账期号"));//账期号
//		items.put("contractCode", CAP4FormKit.getFieldStrValue(master, "一般合同编码"));//合同编码
		items.put("contractCode", formDataVo.getFieldData("一般合同编码")!=null?formDataVo.getFieldData("一般合同编码").getStringValue():"");//合同编码
//		items.put("manageServiceFee", CAP4FormKit.getFieldStrValue(master, "管理服务费"));//管理服务费
		items.put("manageServiceFee", formDataVo.getFieldData("管理服务费")!=null?formDataVo.getFieldData("管理服务费").getStringValue():"");//管理服务费
		items.put("rent", "0");//租金
//		items.put("sumReceive", CAP4FormKit.getFieldStrValue(master, "合同金额"));//应收金额
		items.put("sumReceive", formDataVo.getFieldData("合同金额")!=null?formDataVo.getFieldData("合同金额").getStringValue():"");//应收金额
//		items.put("sumActual", CAP4FormKit.getFieldStrValue(master, "一般合同-本次收款金额"));//实收金额
		items.put("sumActual", formDataVo.getFieldData("本次收款金额")!=null?formDataVo.getFieldData("本次收款金额").getStringValue():"");//实收金额
//		String subjectCode = CAP4FormKit.getFieldStrValue(master, "一般合同-科目大类编码");
		String subjectCode = formDataVo.getFieldData("一般合同-科目大类编码")!=null?formDataVo.getFieldData("一般合同-科目大类编码").getStringValue():"";
		subjectCode = subjectCode.substring(5);
		items.put("subjectCode", subjectCode);//科目大类01-应收款项,02-预收款项
//		items.put("szxm", CAP4FormKit.getFieldStrValue(master, "一般合同-收支项目编码"));//收支项目
		items.put("szxm", formDataVo.getFieldData("一般合同-收支项目编码")!=null?formDataVo.getFieldData("一般合同-收支项目编码").getStringValue():"");//收支项目
//		items.put("taxRate", CAP4FormKit.getFieldStrValue(master, "一般合同-税率"));//税率
		items.put("taxRate", formDataVo.getFieldData("一般合同-税率")!=null?formDataVo.getFieldData("一般合同-税率").getStringValue():"");//税率
//		items.put("localTaxCr", CAP4FormKit.getFieldStrValue(master, "一般合同-税额"));//税额
		items.put("localTaxCr", formDataVo.getFieldData("一般合同-税额")!=null?formDataVo.getFieldData("一般合同-税额").getStringValue():"");//税额
//		items.put("notaxCr", CAP4FormKit.getFieldStrValue(master, "一般合同-无税金额"));//无税金额
		items.put("notaxCr", formDataVo.getFieldData("一般合同-无税金额")!=null?formDataVo.getFieldData("一般合同-无税金额").getStringValue():"");//无税金额
		items.put("skyw","022");//收款业务类型
//			items.put("pkPlan", CAP4FormKit.getSubFieldValue(formDataSubBean, "收款计划主键"));//收支项目
		jsonArray.add(items);
//		}
		jsonObject.put("items", jsonArray);
//		String str = SystemEnvironment.getApplicationFolder();
//		String date = DateUtil.format(new Date(), "yyyyMMddHHmmss");
//		FileUtils.writeStringToFile(new File(str+"/LeaseContractjson/"+date.substring(0,4)+"/"+date.substring(4,6)+"/"+date.substring(6,8)+"/BIPYBSK_" + date + ".json"), jsonObject.toString(), "UTF-8");
		return jsonObject;
	}

	/**
	 * 获取租赁合同终止接口参数封装
	 * @param master
	 * @return
	 * @throws IOException
	 * @throws BusinessException
	 */
	public JSONObject getLeaseContractTerminationParam(FormDataMasterBean master) throws IOException, BusinessException {
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("vbillcode", CAP4FormKit.getFieldStrValue(master, "租赁合同编号"));//OA单据号
		jsonObject.put("vexecdate", DateUtil.format(new Date(), "yyyy-MM-dd"));//执行时间
		jsonObject.put("terminateReason", CAP4FormKit.getFieldStrValue(master, "终止原因"));//终止原因
		String businessTypeId = CAP4FormKit.getFieldStrValue(master, "业务类型");
		String businessTypeValue = getEnumManagerNew().getEnumItem(Long.parseLong(businessTypeId)).getValue();
		if("1".equals(businessTypeValue)) {
			jsonObject.put("businessType", "业务终止");//终止类型
		}else if("9".equals(businessTypeValue)){
			jsonObject.put("businessType", "正常终止");//终止类型
		}
		String str = SystemEnvironment.getApplicationFolder();
		String date = DateUtil.format(new Date(), "yyyyMMddHHmmss");
		FileUtils.writeStringToFile(new File(str+"/LeaseContractjson/"+date.substring(0,4)+"/"+date.substring(4,6)+"/"+date.substring(6,8)+"/BIPZLZZ_" + date + ".json"), jsonObject.toString(), "UTF-8");
		return jsonObject;
	}
	/**
	 * 获取租赁合同终止接口参数封装
	 * @param formDataVo
	 * @return
	 * @throws IOException
	 * @throws BusinessException
	 */
	public JSONObject getLeaseContractTerminationParam(FormDataVo formDataVo) throws  NoSuchFieldException {
		JSONObject jsonObject = new JSONObject();
//		jsonObject.put("vbillcode", CAP4FormKit.getFieldStrValue(master, "租赁合同编号"));//OA单据号
		jsonObject.put("vbillcode",formDataVo.getFieldData("租赁合同编号")!=null?formDataVo.getFieldData("租赁合同编号").getStringValue():"");//OA单据号
		jsonObject.put("vexecdate", DateUtil.format(new Date(), "yyyy-MM-dd"));//执行时间
//		jsonObject.put("terminateReason", CAP4FormKit.getFieldStrValue(master, "终止原因"));//终止原因
		jsonObject.put("terminateReason", formDataVo.getFieldData("终止原因")!=null?formDataVo.getFieldData("终止原因").getStringValue():"");//终止原因
//		String businessTypeId = CAP4FormKit.getFieldStrValue(master, "业务类型");
		String businessTypeId = formDataVo.getFieldData("业务类型")!=null?formDataVo.getFieldData("业务类型").getDbValue()+"":"";
		String businessTypeValue = getEnumManagerNew().getEnumItem(Long.parseLong(businessTypeId)).getValue();
		if("1".equals(businessTypeValue)) {
			jsonObject.put("businessType", "业务终止");//终止类型
		}else if("9".equals(businessTypeValue)){
			jsonObject.put("businessType", "正常终止");//终止类型
		}
//		String str = SystemEnvironment.getApplicationFolder();
//		String date = DateUtil.format(new Date(), "yyyyMMddHHmmss");
//		FileUtils.writeStringToFile(new File(str+"/LeaseContractjson/"+date.substring(0,4)+"/"+date.substring(4,6)+"/"+date.substring(6,8)+"/BIPZLZZ_" + date + ".json"), jsonObject.toString(), "UTF-8");
		return jsonObject;
	}
	/**
	 * 获取一般付款合同终止接口参数封装
	 * @param master
	 * @return
	 * @throws IOException
	 * @throws BusinessException
	 */
	public JSONObject getfkContractTerminationParam(FormDataMasterBean master) throws IOException, BusinessException {
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("vbillcode", CAP4FormKit.getFieldStrValue(master, "付款合同编号"));//OA单据号
		jsonObject.put("vexecdate",DateUtil.format(new Date(), "yyyy-MM-dd"));//执行时间
		jsonObject.put("terminateReason", CAP4FormKit.getFieldStrValue(master, "终止原因"));//终止原因
		String businessTypeId = CAP4FormKit.getFieldStrValue(master, "业务类型");
		String businessTypeValue = getEnumManagerNew().getEnumItem(Long.parseLong(businessTypeId)).getValue();
		if("1".equals(businessTypeValue)) {
			jsonObject.put("businessType", "业务终止");//终止类型
		}else if("9".equals(businessTypeValue)){
			jsonObject.put("businessType", "正常终止");//终止类型
		}
		String str = SystemEnvironment.getApplicationFolder();
		String date = DateUtil.format(new Date(), "yyyyMMddHHmmss");
		FileUtils.writeStringToFile(new File(str+"/LeaseContractjson/"+date.substring(0,4)+"/"+date.substring(4,6)+"/"+date.substring(6,8)+"/BIPZLZZ_" + date + ".json"), jsonObject.toString(), "UTF-8");
		return jsonObject;
	}
	/**
	 * 获取一般付款合同终止接口参数封装
	 * @param formDataVo
	 * @return
	 * @throws IOException
	 * @throws BusinessException
	 */
	public JSONObject getfkContractTerminationParam(FormDataVo formDataVo) throws NoSuchFieldException {
		JSONObject jsonObject = new JSONObject();
//		jsonObject.put("vbillcode", CAP4FormKit.getFieldStrValue(master, "付款合同编号"));//OA单据号
		jsonObject.put("vbillcode", formDataVo.getFieldData("付款合同编号")!=null?formDataVo.getFieldData("付款合同编号").getStringValue():"");//OA单据号
		jsonObject.put("vexecdate",DateUtil.format(new Date(), "yyyy-MM-dd"));//执行时间
//		jsonObject.put("terminateReason", CAP4FormKit.getFieldStrValue(master, "终止原因"));//终止原因
		jsonObject.put("terminateReason", formDataVo.getFieldData("终止原因")!=null?formDataVo.getFieldData("终止原因").getStringValue():"");//终止原因
//		String businessTypeId = CAP4FormKit.getFieldStrValue(master, "业务类型");
		String businessTypeId = formDataVo.getFieldData("业务类型")!=null?formDataVo.getFieldData("业务类型").getDbValue()+"":"";
		String businessTypeValue = getEnumManagerNew().getEnumItem(Long.parseLong(businessTypeId)).getValue();
		if("1".equals(businessTypeValue)) {
			jsonObject.put("businessType", "业务终止");//终止类型
		}else if("9".equals(businessTypeValue)){
			jsonObject.put("businessType", "正常终止");//终止类型
		}
//		String str = SystemEnvironment.getApplicationFolder();
//		String date = DateUtil.format(new Date(), "yyyyMMddHHmmss");
//		FileUtils.writeStringToFile(new File(str+"/LeaseContractjson/"+date.substring(0,4)+"/"+date.substring(4,6)+"/"+date.substring(6,8)+"/BIPZLZZ_" + date + ".json"), jsonObject.toString(), "UTF-8");
		return jsonObject;
	}
	/**
	 * 获取一般收款合同终止接口参数封装
	 * @param master
	 * @return
	 * @throws IOException
	 * @throws BusinessException
	 */
	public JSONObject getskContractTerminationParam(FormDataMasterBean master) throws IOException, BusinessException {
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("vbillcode", CAP4FormKit.getFieldStrValue(master, "收款合同编号"));//OA单据号
		jsonObject.put("vexecdate", DateUtil.format(new Date(), "yyyy-MM-dd"));//执行时间
		jsonObject.put("terminateReason", CAP4FormKit.getFieldStrValue(master, "终止原因"));//终止原因
		String businessTypeId = CAP4FormKit.getFieldStrValue(master, "业务类型");
		String businessTypeValue = getEnumManagerNew().getEnumItem(Long.parseLong(businessTypeId)).getValue();
		if("1".equals(businessTypeValue)) {
			jsonObject.put("businessType", "业务终止");//终止类型
		}else if("9".equals(businessTypeValue)){
			jsonObject.put("businessType", "正常终止");//终止类型
		}
		String str = SystemEnvironment.getApplicationFolder();
		String date = DateUtil.format(new Date(), "yyyyMMddHHmmss");
		FileUtils.writeStringToFile(new File(str+"/LeaseContractjson/"+date.substring(0,4)+"/"+date.substring(4,6)+"/"+date.substring(6,8)+"/BIPSKZZ_" + date + ".json"), jsonObject.toString(), "UTF-8");
		return jsonObject;
	}
	/**
	 * 获取一般收款合同终止接口参数封装
	 * @param formDataVo
	 * @return
	 * @throws IOException
	 * @throws BusinessException
	 */
	public JSONObject getskContractTerminationParam(FormDataVo formDataVo) throws NoSuchFieldException {
		JSONObject jsonObject = new JSONObject();
//		jsonObject.put("vbillcode", CAP4FormKit.getFieldStrValue(master, "收款合同编号"));//OA单据号
		jsonObject.put("vbillcode", formDataVo.getFieldData("收款合同编号")!=null?formDataVo.getFieldData("收款合同编号").getStringValue():"");//OA单据号
		jsonObject.put("vexecdate", DateUtil.format(new Date(), "yyyy-MM-dd"));//执行时间
//		jsonObject.put("terminateReason", CAP4FormKit.getFieldStrValue(master, "终止原因"));//终止原因
		jsonObject.put("terminateReason", formDataVo.getFieldData("终止原因")!=null?formDataVo.getFieldData("终止原因").getStringValue():"");//终止原因
//		String businessTypeId = CAP4FormKit.getFieldStrValue(master, "业务类型");
		String businessTypeId = formDataVo.getFieldData("业务类型")!=null?formDataVo.getFieldData("业务类型").getDbValue()+"":"";
		String businessTypeValue = getEnumManagerNew().getEnumItem(Long.parseLong(businessTypeId)).getValue();
		if("1".equals(businessTypeValue)) {
			jsonObject.put("businessType", "业务终止");//终止类型
		}else if("9".equals(businessTypeValue)){
			jsonObject.put("businessType", "正常终止");//终止类型
		}
//		String str = SystemEnvironment.getApplicationFolder();
//		String date = DateUtil.format(new Date(), "yyyyMMddHHmmss");
//		FileUtils.writeStringToFile(new File(str+"/LeaseContractjson/"+date.substring(0,4)+"/"+date.substring(4,6)+"/"+date.substring(6,8)+"/BIPSKZZ_" + date + ".json"), jsonObject.toString(), "UTF-8");
		return jsonObject;
	}
	/**
	 * 获取租赁合同终止接口参数封装
	 * @param formDataVo
	 * @return
	 * @throws IOException
	 * @throws BusinessException
	 */
	public JSONObject getLeaseContractDerateParam(FormDataVo formDataVo) throws  NoSuchFieldException {
		JSONObject jsonObject = new JSONObject();
		JSONArray data = new JSONArray();
		List<FormDataVo> subFormDataVos = formDataVo.getSubFormMap().get("合同明细");
//		List<FormDataSubBean> formDataSubBeans = CAP4FormKit.getSubBeans(master);
		for (FormDataVo subFormDataVo : subFormDataVos) {
			JSONObject formDataSubBeanJson = new JSONObject();
//			formDataSubBeanJson.put("vbillcode", CAP4FormKit.getSubFieldValue(formDataSubBean,"合同编号"));
			formDataSubBeanJson.put("vbillcode", subFormDataVo.getFieldData("合同编号")!=null?subFormDataVo.getFieldData("合同编号").getStringValue():"");
//			formDataSubBeanJson.put("contractStartDate", CAP4FormKit.getSubFieldValue(formDataSubBean ,"合同开始时间"));
			formDataSubBeanJson.put("contractStartDate", subFormDataVo.getFieldData("合同开始时间")!=null?subFormDataVo.getFieldData("合同开始时间").getStringValue():"");
//			formDataSubBeanJson.put("contractEndDate", CAP4FormKit.getSubFieldValue(formDataSubBean,"合同结束时间"));
			formDataSubBeanJson.put("contractEndDate", subFormDataVo.getFieldData("合同结束时间")!=null?subFormDataVo.getFieldData("合同结束时间").getStringValue():"");
//			String paymentMethodId = CAP4FormKit.getSubFieldValue(formDataSubBean,"缴费方式").toString();
			String paymentMethodId = subFormDataVo.getFieldData("缴费方式")!=null?subFormDataVo.getFieldData("缴费方式").getDbValue()+"":"";
			String paymentMethodValue =  EnumUtils.getEnumItemName(paymentMethodId);
			if("年".equals(paymentMethodValue)) {
				formDataSubBeanJson.put("paymentMethod", "year");//缴费方式-年
			}else if ("月".equals(paymentMethodValue)) {
				formDataSubBeanJson.put("paymentMethod", "month");//缴费方式-月
			}else if ("季".equals(paymentMethodValue)) {
				formDataSubBeanJson.put("paymentMethod", "quarter");//缴费方式-季
			}else if ("半年".equals(paymentMethodValue)) {
				formDataSubBeanJson.put("paymentMethod", "semiannual");//缴费方式-半年
			}else if ("一次性".equals(paymentMethodValue)) {
				formDataSubBeanJson.put("paymentMethod", "all");//缴费方式-一次性
			}
//			formDataSubBeanJson.put("subStartTime", CAP4FormKit.getFieldStrValue(master, "减免合同期间从"));
			formDataSubBeanJson.put("subStartTime", formDataVo.getFieldData("减免合同期间从")!=null?formDataVo.getFieldData("减免合同期间从").getStringValue():"");
//			formDataSubBeanJson.put("subEndTime", CAP4FormKit.getFieldStrValue(master, "减免合同期间到"));
			formDataSubBeanJson.put("subEndTime", formDataVo.getFieldData("减免合同期间到")!=null?formDataVo.getFieldData("减免合同期间到").getStringValue():"");
//			formDataSubBeanJson.put("totalCost ", CAP4FormKit.getSubFieldValue(formDataSubBean,"租金合计"));
			formDataSubBeanJson.put("totalCost ",subFormDataVo.getFieldData("租金合计")!=null?subFormDataVo.getFieldData("租金合计").getStringValue():"");
//			formDataSubBeanJson.put("rent", CAP4FormKit.getSubFieldValue(formDataSubBean,"租金标准"));
			formDataSubBeanJson.put("rent", subFormDataVo.getFieldData("租金标准")!=null?subFormDataVo.getFieldData("租金标准").getStringValue():"");
//			formDataSubBeanJson.put("manageServiceFee ", CAP4FormKit.getSubFieldValue(formDataSubBean,"管理服务费标准"));
			formDataSubBeanJson.put("manageServiceFee ", subFormDataVo.getFieldData("管理服务费标准")!=null?subFormDataVo.getFieldData("管理服务费标准").getStringValue():"");
//			formDataSubBeanJson.put("marketFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"市场管理费标准"));
			formDataSubBeanJson.put("marketFee", subFormDataVo.getFieldData("市场管理费标准")!=null?subFormDataVo.getFieldData("市场管理费标准").getStringValue():"");
//			formDataSubBeanJson.put("derateTotalCost", CAP4FormKit.getSubFieldValue(formDataSubBean,"减免金额合计"));
			formDataSubBeanJson.put("derateTotalCost", subFormDataVo.getFieldData("减免金额合计")!=null?subFormDataVo.getFieldData("减免金额合计").getStringValue():"");
//			formDataSubBeanJson.put("derateRent", CAP4FormKit.getSubFieldValue(formDataSubBean,"减免租金"));
			formDataSubBeanJson.put("derateRent", subFormDataVo.getFieldData("减免租金")!=null?subFormDataVo.getFieldData("减免租金").getStringValue():"");
//			formDataSubBeanJson.put("derateManageServiceFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"减免管理服务费"));
			formDataSubBeanJson.put("derateManageServiceFee", subFormDataVo.getFieldData("减免管理服务费")!=null?subFormDataVo.getFieldData("减免管理服务费").getStringValue():"");
//			formDataSubBeanJson.put("derateMarketFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"减免市场管理费"));
			formDataSubBeanJson.put("derateMarketFee", subFormDataVo.getFieldData("减免市场管理费")!=null?subFormDataVo.getFieldData("减免市场管理费").getStringValue():"");
			data.add(formDataSubBeanJson);
		}
		jsonObject.put("data", data);
//		String str = SystemEnvironment.getApplicationFolder();
//		String date = DateUtil.format(new Date(), "yyyyMMddHHmmss");
//		FileUtils.writeStringToFile(new File(str+"/LeaseContractjson/"+date.substring(0,4)+"/"+date.substring(4,6)+"/"+date.substring(6,8)+"/BIPZLJM_" + date + ".json"), jsonObject.toString(), "UTF-8");
		return jsonObject;
	}
	
	
	/**
	 * 获取租赁合同字段并封装参数
	 * @param formDataVo 表单数据对象
	 * @return
	 * @throws IOException
	 * @throws BusinessException
	 */
	public static JSONObject getUpdateLeaseContractParam(FormDataVo formDataVo,String summaryId) throws NoSuchFieldException {
		JSONObject json = new JSONObject();
		JSONArray jsonArray = new JSONArray();
		JSONObject jsonObject = new JSONObject();
//		jsonObject.put("vbillCode", CAP4FormKit.getFieldStrValue(master, "合同编号"));//合同编号
		jsonObject.put("vbillCode", formDataVo.getFieldData("合同编号")!=null?formDataVo.getFieldData("合同编号").getStringValue():"");//合同编号
//		jsonObject.put("oaBillCode", CAP4FormKit.getFieldStrValue(master, "单据号"));//合同编号
		jsonObject.put("oaBillCode", formDataVo.getFieldData("单据号")!=null?formDataVo.getFieldData("单据号").getStringValue():"");//合同编号
		jsonObject.put("oaUrl", "/seeyon/cst/flowInfo.do?summaryId="+summaryId);//合同编号
//		jsonObject.put("contractName", CAP4FormKit.getFieldStrValue(master, "合同名称"));//合同名称
		jsonObject.put("contractName", formDataVo.getFieldData("合同名称")!=null?formDataVo.getFieldData("合同名称").getStringValue():"");//合同名称
//		jsonObject.put("contractStartDate", CAP4FormKit.getFieldStrValue(master, "合同起始日期"));//合同起始日期
		jsonObject.put("contractStartDate", formDataVo.getFieldData("合同起始日期")!=null?formDataVo.getFieldData("合同起始日期").getStringValue():"");//合同起始日期
//		jsonObject.put("contractEndDate", CAP4FormKit.getFieldStrValue(master, "合同结束日期"));//合同结束日期
		jsonObject.put("contractEndDate", formDataVo.getFieldData("合同结束日期")!=null?formDataVo.getFieldData("合同结束日期").getStringValue():"");//合同结束日期
//		String paymentMethodId =  CAP4FormKit.getFieldStrValue(master, "变更缴费方式");
		String paymentMethodId =  formDataVo.getFieldData("变更缴费方式")!=null?formDataVo.getFieldData("变更缴费方式").getDbValue()+"":"";
		String paymentMethodValue =  EnumUtils.getEnumItemName(paymentMethodId);
		if("年".equals(paymentMethodValue)) {
			jsonObject.put("paymentMethod", "year");//缴费方式-年
		}else if ("月".equals(paymentMethodValue)) {
			jsonObject.put("paymentMethod", "month");//缴费方式-月
		}else if ("季".equals(paymentMethodValue)) {
			jsonObject.put("paymentMethod", "quarter");//缴费方式-季
		}else if ("半年".equals(paymentMethodValue)) {
			jsonObject.put("paymentMethod", "semiannual");//缴费方式-半年
		}else if ("一次性".equals(paymentMethodValue)) {
			jsonObject.put("paymentMethod", "all");//缴费方式-一次性
		}
//		jsonObject.put("paymentnum", CAP4FormKit.getFieldStrValue(master, "变更后缴费期数"));//缴费期数
		jsonObject.put("paymentnum", formDataVo.getFieldData("变更后缴费期数")!=null?formDataVo.getFieldData("变更后缴费期数").getStringValue():"");//缴费期数
//		jsonObject.put("personnelid", CAP4FormKit.getFieldStrValue(master, "经办人编码"));//经办人编码
		jsonObject.put("personnelid", formDataVo.getFieldData("经办人编码")!=null?formDataVo.getFieldData("经办人编码").getStringValue():"");//经办人编码
//		jsonObject.put("electricityBill", CAP4FormKit.getFieldStrValue(master, "电费单价"));//电费单价
		jsonObject.put("electricityBill", formDataVo.getFieldData("电费单价")!=null?formDataVo.getFieldData("电费单价").getStringValue():"");//电费单价
//		jsonObject.put("waterBill", CAP4FormKit.getFieldStrValue(master, "水费单价"));//水费单价
		jsonObject.put("waterBill", formDataVo.getFieldData("水费单价")!=null?formDataVo.getFieldData("水费单价").getStringValue():"");//水费单价
//		jsonObject.put("khbm", CAP4FormKit.getFieldStrValue(master, "客商编号"));//客商编号
		jsonObject.put("khbm", formDataVo.getFieldData("客商编号")!=null?formDataVo.getFieldData("客商编号").getStringValue():"");//客商编号
//		jsonObject.put("khlxfs", CAP4FormKit.getFieldStrValue(master, "客商联系方式"));//客商联系方式
		jsonObject.put("khlxfs", formDataVo.getFieldData("客商联系方式")!=null?formDataVo.getFieldData("客商联系方式").getStringValue():"");//客商联系方式
//		jsonObject.put("khyhzh", CAP4FormKit.getFieldStrValue(master, "客户银行账号"));//客户银行账号
		jsonObject.put("khyhzh", formDataVo.getFieldData("客户银行账号")!=null?formDataVo.getFieldData("客户银行账号").getStringValue():"");//客户银行账号
//		jsonObject.put("khkhyh", CAP4FormKit.getFieldStrValue(master, "客户开户行"));//客户开户行
		jsonObject.put("khkhyh", formDataVo.getFieldData("客户开户行")!=null?formDataVo.getFieldData("客户开户行").getStringValue():"");//客户开户行
//		jsonObject.put("khzhmc", CAP4FormKit.getFieldStrValue(master, "客户账户名称"));//客户账户名称
		jsonObject.put("khzhmc", formDataVo.getFieldData("客户账户名称")!=null?formDataVo.getFieldData("客户账户名称").getStringValue():"");//客户账户名称
//		jsonObject.put("leaseholdArea", CAP4FormKit.getFieldStrValue(master, "变更后承租面积"));//变更后承租面积
		jsonObject.put("leaseholdArea", formDataVo.getFieldData("变更后承租面积")!=null?formDataVo.getFieldData("变更后承租面积").getStringValue():"");//变更后承租面积
//		jsonObject.put("earnestMoney", CAP4FormKit.getFieldStrValue(master, "保证金"));//保证金
		jsonObject.put("earnestMoney", formDataVo.getFieldData("保证金")!=null?formDataVo.getFieldData("保证金").getStringValue():"");//保证金
//		jsonObject.put("paymentTerm", CAP4FormKit.getFieldStrValue(master, "支付期限日"));//支付期限日
		jsonObject.put("paymentTerm", formDataVo.getFieldData("支付期限日")!=null?formDataVo.getFieldData("支付期限日").getStringValue():"");//支付期限日

//		jsonObject.put("rentalTotal", CAP4FormKit.getFieldStrValue(master, "变更后合同金额"));//租金合计
		jsonObject.put("rentalTotal", formDataVo.getFieldData("变更后合同金额")!=null?formDataVo.getFieldData("变更后合同金额").getStringValue():"");//租金合计
//		jsonObject.put("planAmount", CAP4FormKit.getFieldStrValue(master, "变更后租费合计"));//变更后租费合计
		jsonObject.put("planAmount", formDataVo.getFieldData("变更后租费合计")!=null?formDataVo.getFieldData("变更后租费合计").getStringValue():"");//变更后租费合计
//		jsonObject.put("rent", CAP4FormKit.getFieldStrValue(master, "变更后租金"));//变更后租金
		jsonObject.put("rent", formDataVo.getFieldData("变更后租金")!=null?formDataVo.getFieldData("变更后租金").getStringValue():"");//变更后租金
//		jsonObject.put("manageServiceFee", CAP4FormKit.getFieldStrValue(master, "变更后物业服务费"));//变更后物业服务费
		jsonObject.put("manageServiceFee", formDataVo.getFieldData("变更后物业服务费")!=null?formDataVo.getFieldData("变更后物业服务费").getStringValue():"");//变更后物业服务费
//		jsonObject.put("marketFee", CAP4FormKit.getFieldStrValue(master, "变更后市场管理费"));//市场管理费
		jsonObject.put("marketFee", formDataVo.getFieldData("变更后市场管理费")!=null?formDataVo.getFieldData("变更后市场管理费").getStringValue():"");//市场管理费
		JSONArray plans = new JSONArray();
		int n = 0;
//		List<FormDataSubBean> formDataSubBeanlishi = CAP4FormKit.getSubBeans(master,"已缴费租金账单明细");
		List<FormDataVo> formDataSubBeanlishi = formDataVo.getSubFormMap().get("已缴费租金账单明细");
		for (FormDataVo subFormDataVo : formDataSubBeanlishi) {
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean,"开始日期")!=null) {
			if(StringUtil.isNotEmpty(subFormDataVo.getFieldData("开始日期")!=null?subFormDataVo.getFieldData("开始日期").getStringValue():"")) {
				n++;
				JSONObject plan = new JSONObject();
				plan.put("accountPeriodNum", n); //账期数
//				String dateStr = CAP4FormKit.getSubFieldValue(formDataSubBean,"缴费时限").toString();
				String dateStr = subFormDataVo.getFieldData("缴费时限")!=null?subFormDataVo.getFieldData("缴费时限").getStringValue():"";
//				plan.put("currentPaymentTime", dateStr.substring(0, 10)); //当期缴费时限
				plan.put("currentPaymentTime", dateStr); //当期缴费时限
//				plan.put("planStartDate", CAP4FormKit.getSubFieldValue(formDataSubBean,"开始日期")); //租金计算开始时间
				plan.put("planStartDate", subFormDataVo.getFieldData("开始日期")!=null?subFormDataVo.getFieldData("开始日期").getStringValue():""); //租金计算开始时间
//				plan.put("planEndDate", CAP4FormKit.getSubFieldValue(formDataSubBean,"结束日期")); //租金计算结束时间
				plan.put("planEndDate", subFormDataVo.getFieldData("结束日期")!=null?subFormDataVo.getFieldData("结束日期").getStringValue():""); //租金计算结束时间
//				plan.put("planmoney", CAP4FormKit.getSubFieldValue(formDataSubBean,"应收租费")); //应收租费
				plan.put("planmoney", subFormDataVo.getFieldData("应收租费")!=null?subFormDataVo.getFieldData("应收租费").getStringValue():""); //应收租费

//				plan.put("detailRent", CAP4FormKit.getSubFieldValue(formDataSubBean,"租金")); //账期租金
				plan.put("detailRent", subFormDataVo.getFieldData("租金")!=null?subFormDataVo.getFieldData("租金").getStringValue():""); //账期租金
//				plan.put("detailManageServiceFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"物业服务费")); //账期物业服务费
				plan.put("detailManageServiceFee", subFormDataVo.getFieldData("物业服务费")!=null?subFormDataVo.getFieldData("物业服务费").getStringValue():""); //账期物业服务费
//				plan.put("detailMarketFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"市场管理费")); //账期市场管理费
				plan.put("detailMarketFee", subFormDataVo.getFieldData("市场管理费")!=null?subFormDataVo.getFieldData("市场管理费").getStringValue():""); //账期市场管理费
//				plan.put("detailTotalCost", CAP4FormKit.getSubFieldValue(formDataSubBean,"租金合计")); //账期租金合计
				plan.put("detailTotalCost", subFormDataVo.getFieldData("租金合计")!=null?subFormDataVo.getFieldData("租金合计").getStringValue():""); //账期租金合计

//				plan.put("derateRent", CAP4FormKit.getSubFieldValue(formDataSubBean,"减免租金")); //账期减免租金
				plan.put("derateRent", subFormDataVo.getFieldData("减免租金")!=null?subFormDataVo.getFieldData("减免租金").getStringValue():""); //账期减免租金
//				plan.put("derateManageServiceFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"减免物业费")); //账期减免物业费
				plan.put("derateManageServiceFee", subFormDataVo.getFieldData("减免物业费")!=null?subFormDataVo.getFieldData("减免物业费").getStringValue():""); //账期减免物业费
//				plan.put("derateMarketFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"减免市场费")); //账期减免市场费
				plan.put("derateMarketFee", subFormDataVo.getFieldData("减免市场费")!=null?subFormDataVo.getFieldData("减免市场费").getStringValue():""); //账期减免市场费
//				plan.put("derateTotalCost", CAP4FormKit.getSubFieldValue(formDataSubBean,"减免租金合计")); //账期减免合计
				plan.put("derateTotalCost", subFormDataVo.getFieldData("减免租金合计")!=null?subFormDataVo.getFieldData("减免租金合计").getStringValue():""); //账期减免合计

//				plan.put("increaseRent", CAP4FormKit.getSubFieldValue(formDataSubBean,"递增租金")); //账期递增租金
				plan.put("increaseRent", subFormDataVo.getFieldData("递增租金")!=null?subFormDataVo.getFieldData("递增租金").getStringValue():""); //账期递增租金
//				plan.put("increaseManageServiceFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"递增物业费")); //账期递增物业费
				plan.put("increaseManageServiceFee", subFormDataVo.getFieldData("递增物业费")!=null?subFormDataVo.getFieldData("递增物业费").getStringValue():""); //账期递增物业费
//				plan.put("increaseMarketFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"递增市场费")); //账期递增市场费
				plan.put("increaseMarketFee", subFormDataVo.getFieldData("递增市场费")!=null?subFormDataVo.getFieldData("递增市场费").getStringValue():""); //账期递增市场费
//				plan.put("increaseTotalCost", CAP4FormKit.getSubFieldValue(formDataSubBean,"递增租金合计")); //账期递增合计
				plan.put("increaseTotalCost", subFormDataVo.getFieldData("递增租金合计")!=null?subFormDataVo.getFieldData("递增租金合计").getStringValue():""); //账期递增合计
				plans.add(plan);
			}
		}
//		List<FormDataSubBean> formDataSubBeans = CAP4FormKit.getSubBeans(master,"变更后租费账单");
		List<FormDataVo> formDataSubBeans = formDataVo.getSubFormMap().get("变更后租费账单");
		for (FormDataVo subFormDataVo : formDataSubBeans) {
//			if(CAP4FormKit.getSubFieldValue(formDataSubBean,"账期开始日期")!=null) {
			if(StringUtil.isNotEmpty(subFormDataVo.getFieldData("账期开始日期")!=null?subFormDataVo.getFieldData("账期开始日期").getStringValue():"")) {
				n++;
				JSONObject plan = new JSONObject();
				plan.put("accountPeriodNum", n); //账期数
//				String dateStr = CAP4FormKit.getSubFieldValue(formDataSubBean,"账期缴费时限").toString();
				String dateStr = subFormDataVo.getFieldData("账期缴费时限")!=null?subFormDataVo.getFieldData("账期缴费时限").getStringValue():"";
//				plan.put("currentPaymentTime", dateStr.substring(0, 10)); //当期缴费时限
				plan.put("currentPaymentTime", dateStr); //当期缴费时限
//				plan.put("planStartDate", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期开始日期")); //租金计算开始时间
				plan.put("planStartDate", subFormDataVo.getFieldData("账期开始日期")!=null?subFormDataVo.getFieldData("账期开始日期").getStringValue():""); //租金计算开始时间
//				plan.put("planEndDate", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期结束日期")); //租金计算结束时间
				plan.put("planEndDate", subFormDataVo.getFieldData("账期结束日期")!=null?subFormDataVo.getFieldData("账期结束日期").getStringValue():""); //租金计算结束时间
//				plan.put("planmoney", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期应收租费")); //应收租费
				plan.put("planmoney", subFormDataVo.getFieldData("账期应收租费")!=null?subFormDataVo.getFieldData("账期应收租费").getStringValue():""); //应收租费

//				plan.put("detailRent", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期租金")); //账期租金
				plan.put("detailRent", subFormDataVo.getFieldData("账期租金")!=null?subFormDataVo.getFieldData("账期租金").getStringValue():""); //账期租金
//				plan.put("detailManageServiceFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期物业服务费")); //账期物业服务费
				plan.put("detailManageServiceFee", subFormDataVo.getFieldData("账期物业服务费")!=null?subFormDataVo.getFieldData("账期物业服务费").getStringValue():""); //账期物业服务费
//				plan.put("detailMarketFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期市场管理费")); //账期市场管理费
				plan.put("detailMarketFee", subFormDataVo.getFieldData("账期市场管理费")!=null?subFormDataVo.getFieldData("账期市场管理费").getStringValue():""); //账期市场管理费
//				plan.put("detailTotalCost", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期租金合计")); //账期租金合计
				plan.put("detailTotalCost",subFormDataVo.getFieldData("账期租金合计")!=null?subFormDataVo.getFieldData("账期租金合计").getStringValue():""); //账期租金合计

//				plan.put("derateRent", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期减免租金")); //账期减免租金
				plan.put("derateRent", subFormDataVo.getFieldData("账期减免租金")!=null?subFormDataVo.getFieldData("账期减免租金").getStringValue():""); //账期减免租金
//				plan.put("derateManageServiceFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期减免物业费")); //账期减免物业费
				plan.put("derateManageServiceFee", subFormDataVo.getFieldData("账期减免物业费")!=null?subFormDataVo.getFieldData("账期减免物业费").getStringValue():""); //账期减免物业费
//				plan.put("derateMarketFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期减免市场费")); //账期减免市场费
				plan.put("derateMarketFee", subFormDataVo.getFieldData("账期减免市场费")!=null?subFormDataVo.getFieldData("账期减免市场费").getStringValue():""); //账期减免市场费
//				plan.put("derateTotalCost", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期减免合计")); //账期减免合计
				plan.put("derateTotalCost", subFormDataVo.getFieldData("账期减免合计")!=null?subFormDataVo.getFieldData("账期减免合计").getStringValue():""); //账期减免合计

//				plan.put("increaseRent", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期递增租金")); //账期递增租金
				plan.put("increaseRent", subFormDataVo.getFieldData("账期递增租金")!=null?subFormDataVo.getFieldData("账期递增租金").getStringValue():""); //账期递增租金
//				plan.put("increaseManageServiceFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期递增物业费")); //账期递增物业费
				plan.put("increaseManageServiceFee", subFormDataVo.getFieldData("账期递增物业费")!=null?subFormDataVo.getFieldData("账期递增物业费").getStringValue():""); //账期递增物业费
//				plan.put("increaseMarketFee", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期递增市场费")); //账期递增市场费
				plan.put("increaseMarketFee", subFormDataVo.getFieldData("账期递增市场费")!=null?subFormDataVo.getFieldData("账期递增市场费").getStringValue():""); //账期递增市场费
//				plan.put("increaseTotalCost", CAP4FormKit.getSubFieldValue(formDataSubBean,"账期递增合计")); //账期递增合计
				plan.put("increaseTotalCost", subFormDataVo.getFieldData("账期递增合计")!=null?subFormDataVo.getFieldData("账期递增合计").getStringValue():""); //账期递增合计
				plans.add(plan);
			}
		}
		jsonObject.put("plans", plans);//收款计划的集合
		jsonArray.add(jsonObject);
		json.put("data", jsonArray);
//		String str = SystemEnvironment.getApplicationFolder();
//		String date = DateUtil.format(new Date(), "yyyyMMddHHmmss");
//		FileUtils.writeStringToFile(new File(str+"/LeaseContractjson/"+date.substring(0,4)+"/"+date.substring(4,6)+"/"+date.substring(6,8)+"/BIPZLBG_" + date + ".json"), json.toString(), "UTF-8");
		return json;
	}
	
	
	/**
	 * 生成租金账单调用接口参数
	 * @param map
	 * @return
	 * @throws IOException
	 */
	public static JSONObject getPaymentplandetailParam(Map<String,Object> map) throws IOException {
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("contractCode", map.get("contractCode"));
		jsonObject.put("contractStartDate", map.get("contractStartDate"));
		jsonObject.put("contractEndDate", map.get("contractEndDate"));
		System.out.println(map.get("paymentMethod"));
		String paymentMethodId =  map.get("paymentMethod").toString();
		String paymentMethodValue =  EnumUtils.getEnumItemName(paymentMethodId);
		String paymentMethod = "";
		if("一次性".equals(paymentMethodValue)) {
			paymentMethod = "all";
		}else if("年".equals(paymentMethodValue)) {
			paymentMethod = "year";
		}else if("半年".equals(paymentMethodValue)) {
			paymentMethod = "semiannual";
		}else if("季".equals(paymentMethodValue)) {
			paymentMethod = "quarter";
		}else if("月".equals(paymentMethodValue)) {
			paymentMethod = "month";
		}
		jsonObject.put("paymentMethod", paymentMethod);
		jsonObject.put("paymentTerm", map.get("paymentTerm"));
		jsonObject.put("totalCost", map.get("totalCost"));
		jsonObject.put("rent", map.get("rent"));
		jsonObject.put("manageServiceFee", map.get("manageServiceFee"));
		jsonObject.put("marketFee", map.get("marketFee"));

		String str = SystemEnvironment.getApplicationFolder();
		String date = DateUtil.format(new Date(), "yyyyMMddHHmmss");
		FileUtils.writeStringToFile(new File(str+"/LeaseContractjson/"+date.substring(0,4)+"/"+date.substring(4,6)+"/"+date.substring(6,8)+"/BIPHTJS_" + date + ".json"), jsonObject.toString(), "UTF-8");
		return jsonObject;
	}
	
	/**
	 * 变更流程生成租金账单调用接口参数
	 * @param map
	 * @return
	 * @throws IOException
	 */
	public static JSONObject getfctChangeplandetailParam(Map<String,Object> map,String endDate,int size) throws IOException {
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("contractCode", map.get("contractCode"));
		if(size>0) {
			String year = endDate.substring(0,4);
			String month = endDate.substring(5,7);
			String day = endDate.substring(8,10);
			LocalDate localDate = LocalDate.of(Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day));
			localDate = localDate.plusDays(1);
			DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
			endDate = localDate.format(formatter);
		}
		jsonObject.put("contractStartDate", endDate);
		jsonObject.put("contractEndDate", map.get("contractEndDate"));
		String paymentMethodId =  map.get("paymentMethod").toString();
		String paymentMethodValue =  EnumUtils.getEnumItemName(paymentMethodId);
		String paymentMethod = "";
		if("一次性".equals(paymentMethodValue)) {
			paymentMethod = "all";
		}else if("年".equals(paymentMethodValue)) {
			paymentMethod = "year";
		}else if("半年".equals(paymentMethodValue)) {
			paymentMethod = "semiannual";
		}else if("季".equals(paymentMethodValue)) {
			paymentMethod = "quarter";
		}else if("月".equals(paymentMethodValue)) {
			paymentMethod = "month";
		}
		jsonObject.put("paymentMethod", paymentMethod);
		jsonObject.put("paymentTerm", map.get("paymentTerm"));
		jsonObject.put("totalCost", map.get("totalCost"));
		jsonObject.put("rent", map.get("rent"));
		jsonObject.put("manageServiceFee", map.get("manageServiceFee"));
		jsonObject.put("marketFee", map.get("marketFee"));

		String str = SystemEnvironment.getApplicationFolder();
		String date = DateUtil.format(new Date(), "yyyyMMddHHmmss");
		FileUtils.writeStringToFile(new File(str+"/LeaseContractjson/"+date.substring(0,4)+"/"+date.substring(4,6)+"/"+date.substring(6,8)+"/BIPBGJS_" + date + ".json"), jsonObject.toString(), "UTF-8");
		return jsonObject;
	}

	
	/**
	 * 获取付款单并封装参数
	 * @param formDataVo
	 * @return
	 * @throws IOException
	 * @throws BusinessException
	 */
	public JSONObject getCntractPaymentNodeParam(FormDataVo formDataVo, String summaryId) throws NoSuchFieldException {
		JSONObject jsonObject = new JSONObject();

//		jsonObject.put("psndoccode", CAP4FormKit.getFieldStrValue(master, "经办人编码"));//业务员
		jsonObject.put("psndoccode", formDataVo.getFieldData("经办人编码")!=null?formDataVo.getFieldData("经办人编码").getStringValue():"");//业务员
//		jsonObject.put("businessdate", CAP4FormKit.getFieldStrValue(master, "单据日期"));//单据日期
		jsonObject.put("businessdate", formDataVo.getFieldData("单据日期")!=null?formDataVo.getFieldData("单据日期").getStringValue():"");//单据日期
//		jsonObject.put("orgcode", CAP4FormKit.getFieldStrValue(master, "公司编号"));//应付财务组织
		jsonObject.put("orgcode", formDataVo.getFieldData("公司编号")!=null?formDataVo.getFieldData("公司编号").getStringValue():"");//应付财务组织
//		jsonObject.put("skbankcode", CAP4FormKit.getFieldStrValue(master, "收款银行账号"));//收款银行账号
		jsonObject.put("skbankcode", formDataVo.getFieldData("收款银行账号")!=null?formDataVo.getFieldData("收款银行账号").getStringValue():"");//收款银行账号
		jsonObject.put("path", "/seeyon/cst/flowInfo.do?summaryId="+summaryId);//OA单据路径
//		jsonObject.put("oabillcode",  CAP4FormKit.getFieldStrValue(master, "单据流水号"));//OA来源单据号
		jsonObject.put("oabillcode",  formDataVo.getFieldData("单据流水号")!=null?formDataVo.getFieldData("单据流水号").getStringValue():"");//OA来源单据号
//		jsonObject.put("Field0006",  CAP4FormKit.getFieldStrValue(master, "原始单据数"));//附件张数
		jsonObject.put("Field0006",  formDataVo.getFieldData("原始单据数")!=null?formDataVo.getFieldData("原始单据数").getStringValue():"");//附件张数
//		jsonObject.put("suppliercode",  CAP4FormKit.getFieldStrValue(master, "收款单位编号"));//收款单位编号
		jsonObject.put("suppliercode",  formDataVo.getFieldData("收款单位编号")!=null?formDataVo.getFieldData("收款单位编号").getStringValue():"");//收款单位编号
//		jsonObject.put("fkbankcode",  CAP4FormKit.getFieldStrValue(master, "付款银行账号"));//付款银行账号
		jsonObject.put("fkbankcode",  formDataVo.getFieldData("付款银行账号")!=null?formDataVo.getFieldData("付款银行账号").getStringValue():"");//付款银行账号
//		jsonObject.put("yt",  CAP4FormKit.getFieldStrValue(master, "用途"));//用途
		jsonObject.put("yt",  formDataVo.getFieldData("用途")!=null?formDataVo.getFieldData("用途").getStringValue():"");//用途
//		jsonObject.put("phonenum",  CAP4FormKit.getFieldStrValue(master, "推送人手机号码"));//用途
		jsonObject.put("phonenum",  formDataVo.getFieldData("推送人手机号码")!=null?formDataVo.getFieldData("推送人手机号码").getStringValue():"");//用途
//		String wldxid = CAP4FormKit.getFieldStrValue(master, "往来对象");
		String wldxid = formDataVo.getFieldData("往来对象")!=null?formDataVo.getFieldData("往来对象").getDbValue()+"":"";
		String wldxcode = getEnumManagerNew().getEnumItem(Long.parseLong(wldxid)).getEnumItemCode();
		String wldx = wldxcode.substring(5);
		jsonObject.put("wldx",  wldx);//往来对象(是1供应商必填 是3 业务员必填)
//		jsonObject.put("fklx",  CAP4FormKit.getFieldStrValue(master, "付款类型编码"));//付款类型
//		jsonObject.put("def14",  CAP4FormKit.getFieldStrValue(master, "合同编号"));//合同号
		jsonObject.put("def14",  formDataVo.getFieldData("合同编号")!=null?formDataVo.getFieldData("合同编号").getStringValue():"");//合同号
//		String busitypeid =  CAP4FormKit.getFieldStrValue(master, "业务流程");
		String busitypeid =  formDataVo.getFieldData("业务流程")!=null?formDataVo.getFieldData("业务流程").getDbValue()+"":"";
		String busitypeEnumCode= getEnumManagerNew().getEnumItem(Long.parseLong(busitypeid)).getEnumItemCode();
		String busitypecode = busitypeEnumCode.substring(5);
		if("AP08".equals(busitypecode)){//付款类型
			jsonObject.put("fklx",  "D3");
		}else if("AP09".equals(busitypecode)){
			jsonObject.put("fklx",  "F3-Cxx-02");
		}else if("AP10".equals(busitypecode)) {
			jsonObject.put("fklx",  "F3-Cxx-01");
		}
		jsonObject.put("busitypecode",  busitypecode);//业务流程编码
//		String isStatusId = CAP4FormKit.getFieldStrValue(master, "是否终止");
		String isStatusId = formDataVo.getFieldData("是否终止")!=null?formDataVo.getFieldData("是否终止").getDbValue()+"":"";
		String isStatus = getEnumManagerNew().getEnumItem(Long.parseLong(isStatusId)).getLabel();
		if("是".equals(isStatus)) {
			jsonObject.put("terminationStatus",  "1");//是否终止是否终止，1：终止，0：非终止
//			jsonObject.put("terminationReason",  CAP4FormKit.getFieldStrValue(master, "终止原因"));//终止原因
			jsonObject.put("terminationReason",  formDataVo.getFieldData("终止原因")!=null?formDataVo.getFieldData("终止原因").getStringValue():"");//终止原因

		}else if("否".equals(isStatus)) {
			jsonObject.put("terminationStatus",  "0");//是否终止是否终止，1：终止，0：非终止
		}
//		List<FormDataSubBean> formDataSubBeans = CAP4FormKit.getSubBeans(master,"结算单明细");
		List<FormDataVo> subFormDataVos = formDataVo.getSubFormMap().get("结算单明细");
		JSONArray jsonArray = new JSONArray();
		for (FormDataVo subFormDataVo : subFormDataVos) {
			JSONObject data = new JSONObject();
//			data.put("scomment", CAP4FormKit.getSubFieldValue(formDataSubBean, "摘要内容"));//摘要
			data.put("scomment", subFormDataVo.getFieldData("摘要内容")!=null?subFormDataVo.getFieldData("摘要内容").getStringValue():"");//摘要
//			data.put("field0120", CAP4FormKit.getSubFieldValue(formDataSubBean, "税率"));//税率
			data.put("field0120", subFormDataVo.getFieldData("税率")!=null?subFormDataVo.getFieldData("税率").getStringValue():"");//税率
//			data.put("money", CAP4FormKit.getSubFieldValue(formDataSubBean, "付款原币金额"));//原币金额
			data.put("money", subFormDataVo.getFieldData("付款原币金额")!=null?subFormDataVo.getFieldData("付款原币金额").getStringValue():"");//原币金额
//			data.put("kmdl", CAP4FormKit.getSubFieldValue(formDataSubBean, "科目大类编号"));//科目大类
			data.put("kmdl", subFormDataVo.getFieldData("科目大类编号")!=null?subFormDataVo.getFieldData("科目大类编号").getStringValue():"");//科目大类
//			data.put("szxm", CAP4FormKit.getSubFieldValue(formDataSubBean, "收支项目编号"));//收支项目
			data.put("szxm", subFormDataVo.getFieldData("收支项目编号")!=null?subFormDataVo.getFieldData("收支项目编号").getStringValue():"");//收支项目
//			data.put("field0119", CAP4FormKit.getSubFieldValue(formDataSubBean, "无税金额"));//税后
			data.put("field0119", subFormDataVo.getFieldData("无税金额")!=null?subFormDataVo.getFieldData("无税金额").getStringValue():"");//税后
			data.put("fkyw", "OA");//付款业务类型
//			data.put("jsfs", CAP4FormKit.getSubFieldValue(formDataSubBean, "结算方式编号"));//付款业务类型
			data.put("jsfs", subFormDataVo.getFieldData("结算方式编号")!=null?subFormDataVo.getFieldData("结算方式编号").getStringValue():"");//付款业务类型
//			data.put("field0121", CAP4FormKit.getSubFieldValue(formDataSubBean, "税额"));//税额
			data.put("field0121", subFormDataVo.getFieldData("税额")!=null?subFormDataVo.getFieldData("税额").getStringValue():"");//税额
			jsonArray.add(data);
		}
		jsonObject.put("data", jsonArray);
//		String str = SystemEnvironment.getApplicationFolder();
//		String date = DateUtil.format(new Date(), "yyyyMMddHHmmss");
//		FileUtils.writeStringToFile(new File(str+"/LeaseContractjson/"+date.substring(0,4)+"/"+date.substring(4,6)+"/"+date.substring(6,8)+"/BIPHTFK_" + date + ".json"), jsonObject.toString(), "UTF-8");
		return jsonObject;
	}

	
	
	
	
}




//jsonObject.put("financialOrg", CAP4FormKit.getFieldStrValue(master, "NC公司名称"));//财务组织
//jsonObject.put("contractCode", CAP4FormKit.getFieldStrValue(master, "合同管理编号"));//合同编码
//jsonObject.put("contractName", CAP4FormKit.getFieldStrValue(master, "合同名称"));//合同名称
//jsonObject.put("billCode", CAP4FormKit.getFieldStrValue(master, "单据编号"));//单据编号
//jsonObject.put("contractApproveDate", CAP4FormKit.getFieldStrValue(master, "签章日期"));//签字盖章日期
//jsonObject.put("contractStartDate", CAP4FormKit.getFieldStrValue(master, "合同起始日期"));//合同起始日期
//jsonObject.put("contractEndDate", CAP4FormKit.getFieldStrValue(master, "合同结束日期"));//合同结束日期
//String paymentMethodId =  CAP4FormKit.getFieldStrValue(master, "缴费方式");
//String paymentMethodValue =  EnumUtils.getEnumItemName(paymentMethodId);
//if("年".equals(paymentMethodValue)) {
//	jsonObject.put("paymentMethod", "year");//缴费方式-年
//}else if ("月".equals(paymentMethodValue)) {
//	jsonObject.put("paymentMethod", "month");//缴费方式-月
//}else if ("季".equals(paymentMethodValue)) {
//	jsonObject.put("paymentMethod", "quarter");//缴费方式-季
//}else if ("半年".equals(paymentMethodValue)) {
//	jsonObject.put("paymentMethod", "semiannua");//缴费方式-半年
//}else if ("一次性".equals(paymentMethodValue)) {
//	jsonObject.put("paymentMethod", "all");//缴费方式-一次性
//}
//jsonObject.put("paymentTerm", CAP4FormKit.getFieldStrValue(master, "支付期限"));//支付期限日
//jsonObject.put("totalCost", CAP4FormKit.getFieldStrValue(master, "租费合计"));//租费合计
//jsonObject.put("rent", CAP4FormKit.getFieldStrValue(master, "租金"));//租金
//jsonObject.put("manageServiceFee", CAP4FormKit.getFieldStrValue(master, "管理服务费"));//管理服务费
//jsonObject.put("marketFee", CAP4FormKit.getFieldStrValue(master, "免租明细-免市场管理费合计"));//市场费
//jsonObject.put("customer", CAP4FormKit.getFieldStrValue(master, "客商编号"));//客户
