凭证相关-保证金抵扣

This commit is contained in:
xiezhiwen 2018-08-30 17:11:44 +08:00
parent af1b57cf07
commit 197e6759ec
4 changed files with 404 additions and 207 deletions

View File

@ -0,0 +1,121 @@
package com.tenwa.voucher.CreateVoucherProcess;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jbo.voucher.LV_VOUCHER_CONFIG;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
public class CreateVoucherDepositDeductionToMoney extends BaseBussiness {
public String CreateVoucher(String FlowUnid, String VOUCHERNO) throws Exception {
Transaction Sqlca = null;
Map<String, String> map = new HashMap<String, String>();
Map<String, String> param = new HashMap<String, String>();
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
String MONEY = null;
String MONEYNOTAX = null;
String MONEYTAX = null;
String ACCOUNT_DATE = null;
String FACT_DATE = null;
String CONTRACT_ID = null;
String CONTRACT_NUMBER = null;
String PROJECT_NAME = null;
String leas_form = null;
String DISTRIBUTOR_ID = null;
String DISTRIBUTOR_NAME = null;
String CUSTID = null;
String CUSTNAME = null;
String CUSTOMERTYPE = null;
String BUSINESSTYPE = null;
String ACC_NUM = null;
String sql = "";
param.clear();
map.put("FlowUnid", FlowUnid);
sql = "SELECT LFIT.FACT_MONEY AS MONEY,ROUND(LFIT.FACT_MONEY / CASE WHEN LCI.LEAS_FORM = '02' THEN 1.06 ELSE 1.16 END,2) AS MONEYNOTAX,(LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / CASE WHEN LCI.LEAS_FORM = '02' THEN 1.06 ELSE 1.16 END,2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LFIT.FEE_TYPE = 'feetype16' AND LFIT.SETTLE_METHOD='settlemethod7' AND LFIT.FLOWUNID = :FLOWUNID ";
// 查询sql, 将结果集封装到list集合中
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl();
String VOUCHER_TYPE = "1";// 凭证分类 金蝶
String userid = "admin";
//遍历获取结果集, 将结果写入map中
for (int i = 0; i < dataList.size(); i++) {
MONEY = dataList.get(i).get("MONEY").toString();
if ("".equals(MONEY)||MONEY == null)MONEY = "0.00";
double mon = Double.parseDouble(MONEY);
// 判断有金额, 封装值到map中
if (Math.abs(mon) > 0) {
MONEYNOTAX = dataList.get(i).get("MONEYNOTAX").toString();
MONEYTAX = dataList.get(i).get("MONEYTAX").toString();
ACCOUNT_DATE = dataList.get(i).get("ACCOUNT_DATE").toString();
FACT_DATE = dataList.get(i).get("FACT_DATE").toString();
CONTRACT_ID = dataList.get(i).get("CONTRACT_ID").toString();
CONTRACT_NUMBER = dataList.get(i).get("CONTRACT_NUMBER").toString();
PROJECT_NAME = dataList.get(i).get("PROJECT_NAME").toString();
leas_form = dataList.get(i).get("LEAS_FORM").toString();
DISTRIBUTOR_ID = dataList.get(i).get("DISTRIBUTOR_ID");
DISTRIBUTOR_NAME = dataList.get(i).get("DISTRIBUTOR_NAME");
CUSTID = dataList.get(i).get("CUSTOMERID");
CUSTNAME = dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE");
ACC_NUM = dataList.get(i).get("ACC_NUMBER");
param.put("FACT_MONEY", MONEY);
param.put("INTERESTNOTAX", MONEYNOTAX);
param.put("TAX", MONEYTAX);
param.put("ACCOUNT_DATE", ACCOUNT_DATE);
param.put("FACT_DATE", FACT_DATE);
param.put("CONTRACT_ID", CONTRACT_ID);
param.put("CONTRACT_NUMBER", CONTRACT_NUMBER);
param.put("PROJECT_NAME", PROJECT_NAME);
param.put("LEAS_FORM", leas_form);
param.put("DISTRIBUTOR_ID", DISTRIBUTOR_ID);
param.put("DISTRIBUTOR_NAME", DISTRIBUTOR_NAME);
param.put("CUSTID", CUSTID);
param.put("CUSTNAME", CUSTNAME);
param.put("CUSTOMERTYPE", CUSTOMERTYPE);
param.put("BUSINESSTYPE", BUSINESSTYPE);
param.put("ACC_NUMBER", ACC_NUM);
if ("1".equals(BUSINESSTYPE)) {
param.put("LEASFORMASSET", "04"); // 融资租赁资产
param.put("DEPT", "02"); // 部门
if ("03".equals(CUSTOMERTYPE)) { // 如果是个人业务
param.put("LEASINCOMEFORM", "02"); // C端
} else if ("01".equals(CUSTOMERTYPE)) {
param.put("LEASINCOMEFORM", "01"); // B端
}
}
param.put("BUSINESSTYPE", "06");
param.put("FlowUnid", FlowUnid);
map.clear();
map.put("PROJ_TYPE", leas_form);
map.put("VOUCHER_NO", VOUCHERNO);
// 根据map中的参数, 查询LV_VOUCHER_CONFIG表数据
BizObject vouch = DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
// 如果结果不为空,
if (vouch != null) {
//将创建凭证的参数传入在下一层
vs.createVoucher(vouch.getAttribute("MODULAR_NUMBER").getString(),vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid, param,Sqlca);
}
}
}
if (Sqlca != null) {
Sqlca.commit();
}
String sMessage = "true";
return sMessage;
}
}

View File

@ -0,0 +1,23 @@
package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle;
import com.amarsoft.awe.util.Transaction;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherCustCautionMoneyIncome;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherDepositDeductionToMoney;
/**
* 保证金抵扣流成结束后生成
* @author xiezhiwen
*/
public class CreateVoucherDepositDeduction extends BaseBussiness {
@Override
public Object run(Transaction Sqlca) throws Exception {
this.initBussinessParam(Sqlca);
String FlowUnid=this.getAttribute("FlowUnid").toString();
CreateVoucherDepositDeductionToMoney cvdd=new CreateVoucherDepositDeductionToMoney();
cvdd.CreateVoucher(FlowUnid, "PZ2018083000000153");//收到客户保证金 --回租
cvdd.CreateVoucher(FlowUnid, "PZ2018083000000154");//收到客户保证金 --回租
return "true";
}
}

View File

@ -71,7 +71,6 @@ public class InsertVoucherRentIncome {
SqlObject asql = new SqlObject(sql_where);
Sqlca.executeSQL(asql);
Sqlca.commit();
}}catch(Exception e){
Sqlca.rollback();
e.printStackTrace();

View File

@ -3,7 +3,6 @@ package com.tenwa.voucher.serviceImp;
import java.io.File;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@ -13,51 +12,48 @@ import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.junit.Test;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.voucher.service.VoucherSysJointNCService;
import jbo.app.VOUCHER_V8;
import jbo.com.tenwa.entity.comm.own.OWN_INFO;
import jbo.voucher.LV_VOUCHER_LOAN;
import jxl.write.DateFormat;
import jbo.voucher.LV_STACTS_CONFIG;
public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService {
public void sendVoucherData(JBOTransaction tx) throws Exception {
DOM4JcreateToVoucher();
DOM4JcreateToVoucher(tx);
//DOM4JcreateToCustomer();
}
/**
* 获取数据库凭证信息表所有的待传F3凭证编号
* @param tx
* @return
* @throws Exception
*/
private static List<String> getDataList() throws Exception {
JBOTransaction tx=JBOFactory.createJBOTransaction();// 获取事物
List<String> f3list = new ArrayList<String>();
String sql = "select F3 from vi_voucher_v8 where v8_flag='0' or v8_flag='-1'";// 查询所有待传输的数据
private static List<Map<String, String>> getDataList(JBOTransaction tx) throws Exception {
// 查询所有待传输的数据
String sql = "SELECT F3,F60,ID,MODULE_NAME,DEPT_NAME,F1,F15,V8_STATUS,F5,GENERATE_DATE,F6 FROM VI_VOUCHER_V8 WHERE V8_FLAG='0' OR V8_FLAG='-1'";
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(tx, sql, null);// 将所有凭证号封装到list集合中
for(int i=0;i<dataList.size();i++) {
f3list.add(dataList.get(i).get("F3"));
}
return f3list;
return dataList;
}
/**
* 凭证信息xml生成, 每1000条生成一个xml
* @throws Exception
*/
public static void DOM4JcreateToVoucher(){
public static void DOM4JcreateToVoucher(JBOTransaction tx){
try {
Transaction Sqlca = null;
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
Sqlca = Transaction.createTransaction(tx);
String OWNED_COMPANY=null; // 定义全局本方id对象
String ACC_YEAR=null; // 会计期间-年全局对象
String ACC_MONTH=null; // 会计期间/月全局对象
String VOUCHING_PERSON=null; // 定义制单人全局对象
String SUBJECT_ID=null; // 定义科目id全局对象
File file=null; // 定义全局文件路径对象
Document document = null; // 定义全局模板对象
XMLWriter writer=null; // 定义全局输出对象
@ -67,7 +63,7 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService {
SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = formatter1.format(time); // 格式化当前时间
String s2 = formatter2.format(time);
List<String> list= getDataList(); // 获取所有凭证编号
List<Map<String, String>> list= getDataList(tx); // 获取所有凭证编号
int a = list.size(); // 获取凭证编号的长度
int b=1000; // 设置当前xml生成的条数
int c = (int)(a / b); // 获取循环次数, 最大循环值=c+1
@ -86,225 +82,283 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService {
root.addAttribute("roottag", "");
root.addAttribute("sender", "001");
for (int x = i * b; x < (i + 1) * b && x < a; x++) {// 决定当前xml生成的数据量
map.put("F3", list.get(x));// 获取单条凭证编号
BizObject v =DataOperatorUtil.getSingleJBO(VOUCHER_V8.CLASS_NAME, map, Sqlca);// 根据凭证编号获取v8表当条数据
String OWNED_COMPANY = v.getAttribute("F49").getString();
// 根据凭证表中的本方编号获取本方信息
// 获取凭证编号
String F3=list.get(x).get("F3");
map.put("F3",F3);
// 获取v8表借方数据
String sql1 = "SELECT f6,f5,f15,f63,f64,f73,f74,f75,f76 FROM VOUCHER_V8 WHERE F3=:F3 AND ENTRYDC='1'";
List<Map<String, String>> v1 = DataOperatorUtil.getDataBySql(Sqlca,sql1,map);
// 获取v8表贷方数据
String sql2 = "SELECT f6,f5,f15,f63,f64,f73,f74,f75,f76,f49,f51,f52,f12 FROM VOUCHER_V8 WHERE F3=:F3 AND ENTRYDC='-1'";
List<Map<String, String>> v2 = DataOperatorUtil.getDataBySql(Sqlca,sql2,map);
// 获取v8表公共信息
for (Map<String, String> map2 : v2) {
OWNED_COMPANY=map2.get("f49");//本方id
ACC_YEAR = map2.get("f51");// 会计期间/
ACC_MONTH =map2.get("f52");// 会计期间/
VOUCHING_PERSON =map2.get("f12");// 制单人
}
BizObject own = JBOFactory.createBizObjectQuery(OWN_INFO.CLASS_NAME, "id=:OWNED_COMPANY").setParameter("OWNED_COMPANY", OWNED_COMPANY).getSingleResult(false);
map.clear();
map.put("VOUCHER_ID",list.get(x));
String sql="";
DataOperatorUtil.getDataBySql(tx, sql, null);
Element voucher = root.addElement("voucher");
Element voucherHead = voucher.addElement("voucher_head");
Element pkVoucher = voucherHead.addElement("pk_voucher");// 凭证主键/非空
pkVoucher.setText(v.getAttribute("id").getString());
//pkVoucher.setText(list.get(x).get("ID").toString());
pkVoucher.setText("接收展示");
Element pk_vouchertype = voucherHead.addElement("pk_vouchertype");// 凭证类别, 默认01/非空
pk_vouchertype.setText("1");
pk_vouchertype.setText("1");//----------------------------------------------------------------------
Element year = voucherHead.addElement("year");// 会计年度/非空
year.setText(v.getAttribute("f51").getString());
year.setText(ACC_YEAR);
Element pk_system = voucherHead.addElement("pk_system");// 来源系统/非空
pk_system.setText(own.getAttribute("OWN_NAME").getString());
pk_system.setText(own.getAttribute("OWN_NAME").getString());//----------------------------------------
Element voucherkind = voucherHead.addElement("voucherkind");// 凭证类型值/非空
voucherkind.setText(v.getAttribute("v8_flag").getString());
Element pk_accountingbook = voucherHead.addElement("pk_accountingbook");// 核算核算账簿/非空
pk_accountingbook.setText("待问/非空");
Element discardflag = voucherHead.addElement("discardflag");// 作废标志/可空
discardflag.setText("待问/可空");
Element period = voucherHead.addElement("period");// 会计期间/非空
period.setText(v.getAttribute("F52").getString());
voucherkind.setText("0");
Element pk_accountingbook = voucherHead.addElement("pk_accountingbook");// 核算核算账簿/非空
pk_accountingbook.setText("待问/非空");
Element discardflag = voucherHead.addElement("discardflag");// 作废标志/可空
discardflag.setText("待问/可空");
Element period = voucherHead.addElement("period");// 会计期间/非空
period.setText(ACC_MONTH);//--------------------------------------------------------------
Element no = voucherHead.addElement("no");// 凭证号为空自动分配/非空
no.setText(v.getAttribute("F3").getString());
Element attachment = voucherHead.addElement("attachment");// 附单据数/可空
attachment.setText("待问/可空");
no.setText(F3);
Element attachment = voucherHead.addElement("attachment");// 附单据数/可空
attachment.setText("待问/可空");
Element prepareddate = voucherHead.addElement("prepareddate");// 制单日期/非空
prepareddate.setText(s2);
prepareddate.setText(s2);//---------------------------------------------------
Element pk_prepared = voucherHead.addElement("pk_prepared");// 制单人/非空
pk_prepared.setText(v.getAttribute("F12").getString());
Element pk_casher = voucherHead.addElement("pk_casher");// 出纳
pk_casher.setText("待问");
Element signflag = voucherHead.addElement("signflag");// 签字标志
signflag.setText("待问");
Element pk_checked = voucherHead.addElement("pk_checked");// 审核人
pk_checked.setText("待问");
Element tallydate = voucherHead.addElement("tallydate");// 记账日期
tallydate.setText(v.getAttribute("F1").getString());
Element pk_manager = voucherHead.addElement("pk_manager");// 记账人
pk_manager.setText("待问");
Element memo1 = voucherHead.addElement("memo1");
memo1.setText("待问");
Element memo2 = voucherHead.addElement("memo2");
memo2.setText("待问");
Element reserve1 = voucherHead.addElement("reserve1");
reserve1.setText("待问");
Element reserve2 = voucherHead.addElement("reserve2");
reserve2.setText("待问");
Element siscardflag = voucherHead.addElement("siscardflag");
siscardflag.setText("待问");
Element pk_org = voucherHead.addElement("pk_org");// 所属组织/非空
pk_org.setText("待问/非空");
Element pk_org_v = voucherHead.addElement("pk_org_v");// 所属组织版本/可空
pk_org_v.setText("待问/可空");
pk_prepared.setText(VOUCHING_PERSON);//-------------------------------------------
Element pk_casher = voucherHead.addElement("pk_casher");// 出纳
pk_casher.setText("待问");//------------------------------------------
Element signflag = voucherHead.addElement("signflag");// 签字标志
signflag.setText("待问");//-----------------------------------------------------
Element pk_checked = voucherHead.addElement("pk_checked");// 审核人
pk_checked.setText("待问");//--------------------------------------------------
Element tallydate = voucherHead.addElement("tallydate");// 记账日期
tallydate.setText(list.get(x).get("F1").toString());//--------------------------
Element pk_manager = voucherHead.addElement("pk_manager");// 记账人
pk_manager.setText("待问");// -------------------------------------------------------
Element memo1 = voucherHead.addElement("memo1");
memo1.setText("待问");//-----------------------------------------------------------
Element memo2 = voucherHead.addElement("memo2");
memo2.setText("待问");//------------------------------------------------------------
Element reserve1 = voucherHead.addElement("reserve1");
reserve1.setText("待问");//---------------------------------------------------------
Element reserve2 = voucherHead.addElement("reserve2");
reserve2.setText("待问");//---------------------------------------------------------
Element siscardflag = voucherHead.addElement("siscardflag");
siscardflag.setText("待问");//--------------------------------------------------------
Element pk_org = voucherHead.addElement("pk_org");// 所属组织/非空
pk_org.setText("待问/非空");//---------------------------------------------------------
Element pk_org_v = voucherHead.addElement("pk_org_v");// 所属组织版本/可空
pk_org_v.setText("待问/可空");//-------------------------------------------------------
Element pk_group = voucherHead.addElement("pk_group");// 所属集团 如果不输集团取当前登陆集团
pk_group.setText("001");
Element details = voucherHead.addElement("details");
Element item1 = details.addElement("item"); // 借方
Element detailindex1 = item1.addElement("detailindex");// 分录号/非空
detailindex1.setText(v.getAttribute("F62").getString());
// 循环借方集合, 按照v8表数据中生成相应的借方item
for (Map<String, String> v8Lend : v1) {
// 根据科目id, 获取当前数据对应的科目信息
SUBJECT_ID=v8Lend.get("f6");
BizObject subject = JBOFactory.createBizObjectQuery(LV_STACTS_CONFIG.CLASS_NAME, "ID=:ID").setParameter("ID", SUBJECT_ID).getSingleResult(false);
Element item1 = details.addElement("item"); // 借方
Element detailindex1 = item1.addElement("detailindex");// 分录号/非空
detailindex1.setText("待问/非空");//------------------------------------
Element explanation1 = item1.addElement("explanation");// 摘要/非空
explanation1.setText(v.getAttribute("F5").getString());
explanation1.setText(v8Lend.get("f5").toString());
Element verifydate1 = item1.addElement("verifydate");// 业务日期/可空
verifydate1.setText(v.getAttribute("F15").getString());
verifydate1.setText(v8Lend.get("f15").toString());
Element price1 = item1.addElement("price");// 单价/可空
price1.setText(v.getAttribute("F7").getString());
Element excrate21 = item1.addElement("excrate2");// 折本汇率/可空
excrate21.setText("待问/可空");
Element debitquantity1 = item1.addElement("debitquantity");// 借方数量/可空
debitquantity1.setText("待问/可空");
Element debitamount1 = item1.addElement("debitamount");// 原币借方金额/可空
debitamount1.setText("待问/可空");
Element localdebitamount1 = item1.addElement("localdebitamount");// 本币借方金额/可空
localdebitamount1.setText("待问/可空");
Element groupdebitamount1 = item1.addElement("groupdebitamount");// 集团本币借方金额/可空
groupdebitamount1.setText("待问/可空");
Element globaldebitamount1 = item1.addElement("globaldebitamount");// 全局本币借方金额/可空
globaldebitamount1.setText("待问/可空");
price1.setText("");
Element excrate21 = item1.addElement("excrate2");// 折本汇率/可空
excrate21.setText("待问/可空");//-----------------------------
Element debitquantity1 = item1.addElement("debitquantity");// 借方数量/可空
debitquantity1.setText(v1.size()+"");
Element debitamount1 = item1.addElement("debitamount");// 原币借方金额/可空
debitamount1.setText("待问/可空");//--------------------------------------------------
Element localdebitamount1 = item1.addElement("localdebitamount");// 本币借方金额/可空
localdebitamount1.setText("待问/可空");//-------------------------------------------
Element groupdebitamount1 = item1.addElement("groupdebitamount");// 集团本币借方金额/可空
groupdebitamount1.setText("待问/可空");//-----------------------------------------
Element globaldebitamount1 = item1.addElement("globaldebitamount");// 全局本币借方金额/可空
globaldebitamount1.setText("待问/可空");//-------------------------------------------
Element pk_currtype1 = item1.addElement("pk_currtype");// 币种/非空
pk_currtype1.setText("CNY");
Element pk_accasoa1 = item1.addElement("pk_accasoa");// 科目/非空
pk_accasoa1.setText("待问/非空");
Element pk_unit1 = item1.addElement("pk_unit");// 所属二级核算单位/可空
pk_unit1.setText("待问/可空");
Element pk_unit_v1 = item1.addElement("pk_unit_v");// 所属二级核算单位/版本可空
pk_unit_v1.setText("待问/可空");
pk_currtype1.setText("CNY");//
Element pk_accasoa1 = item1.addElement("pk_accasoa");// 科目/非空
pk_accasoa1.setText(subject.getAttribute("SUBJECTS_NAME").getString());
Element pk_unit1 = item1.addElement("pk_unit");// 所属二级核算单位/可空
pk_unit1.setText("待问/可空");//---------------------------------------------------
Element pk_unit_v1 = item1.addElement("pk_unit_v");// 所属二级核算单位/版本可空
pk_unit_v1.setText("待问/可空");//-------------------------------------------------
Element ass1 = item1.addElement("ass");// 金额必须有一方不为空
Element ass_item1 = ass1.addElement("item");// 融资租赁资产
Element pk_Checktype1 = ass_item1.addElement("pk_Checktype");// key
pk_Checktype1.setText("融资租赁资产");
Element pk_Checkvalue1 = ass_item1.addElement("pk_Checkvalue");// value
pk_Checkvalue1.setText(v.getAttribute("F64").getString());
Element ass_item2 = ass1.addElement("item");// 部门名称
Element pk_Checktype2 = ass_item2.addElement("pk_Checktype");// key
pk_Checktype2.setText("部门名称");
Element pk_Checkvalue2 = ass_item2.addElement("pk_Checkvalue");// value
pk_Checkvalue2.setText(v.getAttribute("F63").getString());
Element ass_item3 = ass1.addElement("item");// 融资租赁收益类型
Element pk_Checktype3 = ass_item3.addElement("pk_Checktype");// key
pk_Checktype3.setText("融资租赁收益类型");
Element pk_Checkvalue3 = ass_item3.addElement("pk_Checkvalue");// value
pk_Checkvalue3.setText(v.getAttribute("F73").getString());
Element ass_item4 = ass1.addElement("item");// 资金类型
Element pk_Checktype4 = ass_item4.addElement("pk_Checktype");// key
pk_Checktype4.setText("资金类型");
Element pk_Checkvalue4 = ass_item4.addElement("pk_Checkvalue");// value
pk_Checkvalue4.setText(v.getAttribute("F74").getString());
Element ass_item5 = ass1.addElement("item");// 主营类型
Element pk_Checktype5 = ass_item5.addElement("pk_Checktype");// key
pk_Checktype5.setText("主营类型");
Element pk_Checkvalue5 = ass_item5.addElement("pk_Checkvalue");// value
pk_Checkvalue5.setText(v.getAttribute("F75").getString());
Element ass_item6 = ass1.addElement("item");// 银行账号
Element pk_Checktype6 = ass_item6.addElement("pk_Checktype");// key
pk_Checktype6.setText("银行账号");
Element pk_Checkvalue6 = ass_item6.addElement("pk_Checkvalue");// value
pk_Checkvalue6.setText(v.getAttribute("F76").getString());
// 融资租赁资产
if(v8Lend.get("f64")!=null && !"".equals(v8Lend.get("f64"))) {
Element ass_item1 = ass1.addElement("item");
Element pk_Checktype1 = ass_item1.addElement("pk_Checktype");
pk_Checktype1.setText("融资租赁资产");
Element pk_Checkvalue1 = ass_item1.addElement("pk_Checkvalue");
pk_Checkvalue1.setText(v8Lend.get("f64"));
}
// 部门名称
if(v8Lend.get("f63")!=null && !"".equals(v8Lend.get("f63"))) {// 部门名称
Element ass_item2 = ass1.addElement("item");
Element pk_Checktype2 = ass_item2.addElement("pk_Checktype");
pk_Checktype2.setText("部门名称");
Element pk_Checkvalue2 = ass_item2.addElement("pk_Checkvalue");
pk_Checkvalue2.setText(v8Lend.get("f63"));
}
// 融资租赁收益类型
if(v8Lend.get("f73")!=null && !"".equals(v8Lend.get("f73"))) {
Element ass_item3 = ass1.addElement("item");
Element pk_Checktype3 = ass_item3.addElement("pk_Checktype");
pk_Checktype3.setText("融资租赁收益类型");
Element pk_Checkvalue3 = ass_item3.addElement("pk_Checkvalue");
pk_Checkvalue3.setText(v8Lend.get("f73"));
}
// 资金类型
if(v8Lend.get("f74")!=null && !"".equals(v8Lend.get("f74"))) {
Element ass_item4 = ass1.addElement("item");
Element pk_Checktype4 = ass_item4.addElement("pk_Checktype");
pk_Checktype4.setText("资金类型");
Element pk_Checkvalue4 = ass_item4.addElement("pk_Checkvalue");
pk_Checkvalue4.setText(v8Lend.get("f74"));
}
// 主营类型
if(v8Lend.get("f75")!=null && !"".equals(v8Lend.get("f75"))) {
Element ass_item5 = ass1.addElement("item");
Element pk_Checktype5 = ass_item5.addElement("pk_Checktype");
pk_Checktype5.setText("主营类型");
Element pk_Checkvalue5 = ass_item5.addElement("pk_Checkvalue");
pk_Checkvalue5.setText(v8Lend.get("f75"));
}
// 银行账号
if(v8Lend.get("f76")!=null && !"".equals(v8Lend.get("f76"))) {
Element ass_item6 = ass1.addElement("item");
Element pk_Checktype6 = ass_item6.addElement("pk_Checktype");
pk_Checktype6.setText("银行账号");
Element pk_Checkvalue6 = ass_item6.addElement("pk_Checkvalue");
pk_Checkvalue6.setText(v8Lend.get("f76"));
}
Element cashFlow = item1.addElement("cashFlow");
Element cashFlow_item1 = cashFlow.addElement("item");
Element m_pk_currtype1 = cashFlow_item1.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String
m_pk_currtype1.setText("CNY");
Element money1 = cashFlow_item1.addElement("money");// 原币,最大长度为64,类型为:Double
money1.setText("待问");
Element moneymoneyglobal1 = cashFlow_item1.addElement("moneyglobal");// 全局本币,最大长度为64,类型为:Double
moneymoneyglobal1.setText("待问");
Element moneygroup1 = cashFlow_item1.addElement("moneygroup");// 集团本币,最大长度为64,类型为:Double
moneygroup1.setText("待问");
Element moneymain1 = cashFlow_item1.addElement("moneymain");// 本币,最大长度为64,类型为:Double
moneymain1.setText("待问");
Element pk_cashflow1 = cashFlow_item1.addElement("pk_cashflow");// 现金主键,最大长度为64,类型为:String
pk_cashflow1.setText("待问");
Element pk_innercorp1 = cashFlow_item1.addElement("pk_innercorp");// 内部单位主键,最大长度为64,类型为:String
pk_innercorp1.setText("待问");
Element item2 = details.addElement("item"); // 贷方金额
Element creditquantity2 = item2.addElement("creditquantity");// 贷方数量 可空
creditquantity2.setText("待问/可空");
Element creditamount2 = item2.addElement("creditamount"); // 原币贷方金额 可空
creditamount2.setText("待问/可空");
Element localcreditamount2 = item2.addElement("localcreditamount");// 本币贷方金额 可空
localcreditamount2.setText("待问/可空");
Element groupcreditamount2 = item2.addElement("groupcreditamount");// 集团本币贷方金额 可空
groupcreditamount2.setText("待问/可空");
Element globalcreditamount2 = item2.addElement("globalcreditamount");// 全局本币贷方金额 可空
globalcreditamount2.setText("待问/可空");
Element detailindex2 = item2.addElement("detailindex");// 分录号 非空
detailindex2.setText("待问/非空");
Element money1 = cashFlow_item1.addElement("money");// 原币,最大长度为64,类型为:Double
money1.setText("待问");
Element moneymoneyglobal1 = cashFlow_item1.addElement("moneyglobal");// 全局本币,最大长度为64,类型为:Double
moneymoneyglobal1.setText("待问");
Element moneygroup1 = cashFlow_item1.addElement("moneygroup");// 集团本币,最大长度为64,类型为:Double
moneygroup1.setText("待问");
Element moneymain1 = cashFlow_item1.addElement("moneymain");// 本币,最大长度为64,类型为:Double
moneymain1.setText("待问");
Element pk_cashflow1 = cashFlow_item1.addElement("pk_cashflow");// 现金主键,最大长度为64,类型为:String
pk_cashflow1.setText("待问");
Element pk_innercorp1 = cashFlow_item1.addElement("pk_innercorp");// 内部单位主键,最大长度为64,类型为:String
pk_innercorp1.setText("待问");
}
// 循环贷方集合, 按照v8表数据中生成相应的借方item
for (Map<String, String> v8loan : v2) {
// 根据科目id, 获取当前数据对应的科目信息
SUBJECT_ID=v8loan.get("f6");
BizObject subject = JBOFactory.createBizObjectQuery(LV_STACTS_CONFIG.CLASS_NAME, "ID=:ID").setParameter("ID", SUBJECT_ID).getSingleResult(false);
Element item2 = details.addElement("item"); // 贷方金额
Element creditquantity2 = item2.addElement("creditquantity");// 贷方数量 可空
creditquantity2.setText(v2.size()+"");
Element creditamount2 = item2.addElement("creditamount"); // 原币贷方金额 可空
creditamount2.setText("待问/可空");
Element localcreditamount2 = item2.addElement("localcreditamount");// 本币贷方金额 可空
localcreditamount2.setText("待问/可空");
Element groupcreditamount2 = item2.addElement("groupcreditamount");// 集团本币贷方金额 可空
groupcreditamount2.setText("待问/可空");
Element globalcreditamount2 = item2.addElement("globalcreditamount");// 全局本币贷方金额 可空
globalcreditamount2.setText("待问/可空");
Element detailindex2 = item2.addElement("detailindex");// 分录号 非空
detailindex2.setText("待问/非空");//-------------------------------------
Element explanation2 = item2.addElement("explanation");// 摘要 非空
explanation2.setText(v.getAttribute("F5").getString());
explanation2.setText(v8loan.get("f5"));
Element verifydate2 = item2.addElement("verifydate");// 业务日期 可空
verifydate2.setText(v.getAttribute("F15").getString());
verifydate2.setText(v8loan.get("f15"));
Element price2 = item2.addElement("price");// 单价 可空
price2.setText(v.getAttribute("F8").getString());
Element excrate22 = item2.addElement("excrate2");// 折本汇率 可空
excrate22.setText("待问/可空");
price2.setText("");
Element excrate22 = item2.addElement("excrate2");// 折本汇率 可空
excrate22.setText("待问/可空");//-------------------------------------------
Element pk_currtype2 = item2.addElement("pk_currtype");// 币种 非空
pk_currtype2.setText("CNY");
Element pk_accasoa2 = item2.addElement("pk_accasoa");// 科目 非空
pk_accasoa2.setText("待问/非空");
Element pk_unit2 = item2.addElement("pk_unit");// 所属二级核算单位 可空 组织
pk_unit2.setText("待问/可空");
Element pk_unit_v2 = item2.addElement("pk_unit_v");// 所属二级核算单位 版本可空 组织
pk_unit_v2.setText("待问/可空");
Element pk_accasoa2 = item2.addElement("pk_accasoa");// 科目 非空
pk_accasoa2.setText(subject.getAttribute("SUBJECTS_NAME").getString());
Element pk_unit2 = item2.addElement("pk_unit");// 所属二级核算单位 可空 组织
pk_unit2.setText("待问/可空");//------------------------------------------
Element pk_unit_v2 = item2.addElement("pk_unit_v");// 所属二级核算单位 版本可空 组织
pk_unit_v2.setText("待问/可空");//-----------------------------------------------
Element ass2 = item2.addElement("ass");//
Element ass2_item1 = ass2.addElement("item");
Element checktypename21 = ass2_item1.addElement("checktypename");
checktypename21.setText("融资租赁资产");
Element checkvaluecode21 = ass2_item1.addElement("checkvaluecode");
checkvaluecode21.setText(v.getAttribute("F64").getString());
Element ass2_item2 = ass2.addElement("item");
Element checktypename22 = ass2_item2.addElement("checktypename");
checktypename22.setText("部门名称");
Element checkvaluecode22 = ass2_item2.addElement("checkvaluecode");
checkvaluecode22.setText(v.getAttribute("F63").getString());
Element ass2_item3 = ass2.addElement("item");
Element checktypename23 = ass2_item3.addElement("checktypename");
checktypename23.setText("融资租赁收益类型");
Element checkvaluecode23 = ass2_item3.addElement("checkvaluecode");
checkvaluecode23.setText(v.getAttribute("F73").getString());
Element ass2_item4 = ass2.addElement("item");
Element checktypename24 = ass2_item4.addElement("checktypename");
checktypename24.setText("资金类型");
Element checkvaluecode24 = ass2_item4.addElement("checkvaluecode");
checkvaluecode24.setText(v.getAttribute("F74").getString());
Element ass2_item5 = ass2.addElement("item");
Element checktypename25 = ass2_item5.addElement("checktypename");
checktypename25.setText("主营类型");
Element checkvaluecode25 = ass2_item5.addElement("checkvaluecode");
checkvaluecode25.setText(v.getAttribute("F75").getString());
Element ass2_item6 = ass2.addElement("item");
Element checktypename26 = ass2_item6.addElement("checktypename");
checktypename26.setText("银行账号");
Element checkvaluecode26 = ass2_item6.addElement("checkvaluecode");
checkvaluecode26.setText(v.getAttribute("F76").getString());
// 融资租赁资产
if(v8loan.get("f64")!=null && !"".equals(v8loan.get("f64"))) {
Element ass2_item1 = ass2.addElement("item");
Element checktypename21 = ass2_item1.addElement("checktypename");
checktypename21.setText("融资租赁资产");
Element checkvaluecode21 = ass2_item1.addElement("checkvaluecode");
checkvaluecode21.setText(v8loan.get("f64"));
}
// 部门名称
if(v8loan.get("f63")!=null && !"".equals(v8loan.get("f63"))) {// 部门名称
Element ass2_item2 = ass2.addElement("item");
Element checktypename22 = ass2_item2.addElement("checktypename");
checktypename22.setText("部门名称");
Element checkvaluecode22 = ass2_item2.addElement("checkvaluecode");
checkvaluecode22.setText(v8loan.get("f63"));
}
// 融资租赁收益类型
if(v8loan.get("f73")!=null && !"".equals(v8loan.get("f73"))) {
Element ass2_item3 = ass2.addElement("item");
Element checktypename23 = ass2_item3.addElement("checktypename");
checktypename23.setText("融资租赁收益类型");
Element checkvaluecode23 = ass2_item3.addElement("checkvaluecode");
checkvaluecode23.setText(v8loan.get("f73"));
}
// 资金类型
if(v8loan.get("f74")!=null && !"".equals(v8loan.get("f74"))) {
Element ass2_item4 = ass2.addElement("item");
Element checktypename24 = ass2_item4.addElement("checktypename");
checktypename24.setText("资金类型");
Element checkvaluecode24 = ass2_item4.addElement("checkvaluecode");
checkvaluecode24.setText(v8loan.get("f74"));
}
// 主营类型
if(v8loan.get("f75")!=null && !"".equals(v8loan.get("f75"))) {
Element ass2_item5 = ass2.addElement("item");
Element checktypename25 = ass2_item5.addElement("checktypename");
checktypename25.setText("主营类型");
Element checkvaluecode25 = ass2_item5.addElement("checkvaluecode");
checkvaluecode25.setText(v8loan.get("f75"));
}
// 银行账号
if(v8loan.get("f76")!=null && !"".equals(v8loan.get("f76"))) {
Element ass2_item6 = ass2.addElement("item");
Element checktypename26 = ass2_item6.addElement("checktypename");
checktypename26.setText("银行账号");
Element checkvaluecode26 = ass2_item6.addElement("checkvaluecode");
checkvaluecode26.setText(v8loan.get("f76"));
}
Element item2_cashFlow = item2.addElement("cashFlow");
Element cashflowitem2 = item2_cashFlow.addElement("item");
Element m_pk_currtype2 = cashflowitem2.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String
m_pk_currtype2.setText("CNY");
Element money2 = cashflowitem2.addElement("money");// 原币,最大长度为64,类型为:Double
money2.setText("待问");
Element moneyglobal2 = cashflowitem2.addElement("moneyglobal");// 全局本币,最大长度为64,类型为:Double
moneyglobal2.setText("待问");
Element moneygroup2 = cashflowitem2.addElement("moneygroup");// 集团本币,最大长度为64,类型为:Double
moneygroup2.setText("待问");
Element moneymain2 = cashflowitem2.addElement("moneymain");// 本币,最大长度为64,类型为:Double
moneymain2.setText("待问");
Element pk_cashflow2 = cashflowitem2.addElement("pk_cashflow");// 现金主键,最大长度为64,类型为:String
pk_cashflow2.setText("待问");
Element pk_innercorp2 = cashflowitem2.addElement("pk_innercorp");// 内部单位主键,最大长度为64,类型为:String
pk_innercorp2.setText("待问");
Element m_pk_currtype2 = cashflowitem2.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String
m_pk_currtype2.setText("CNY");
Element money2 = cashflowitem2.addElement("money");// 原币,最大长度为64,类型为:Double
money2.setText("待问");
Element moneyglobal2 = cashflowitem2.addElement("moneyglobal");// 全局本币,最大长度为64,类型为:Double
moneyglobal2.setText("待问");
Element moneygroup2 = cashflowitem2.addElement("moneygroup");// 集团本币,最大长度为64,类型为:Double
moneygroup2.setText("待问");
Element moneymain2 = cashflowitem2.addElement("moneymain");// 本币,最大长度为64,类型为:Double
moneymain2.setText("待问");
Element pk_cashflow2 = cashflowitem2.addElement("pk_cashflow");// 现金主键,最大长度为64,类型为:String
pk_cashflow2.setText("待问");
Element pk_innercorp2 = cashflowitem2.addElement("pk_innercorp");// 内部单位主键,最大长度为64,类型为:String
pk_innercorp2.setText("待问");
}
}
String ss="C:\\Users\\xiezhiwen\\Desktop\\"+"APleasing_"+(i+1)+"_"+"VOUCHER"+s+".xml";
String ss="C:\\Users\\xiezhiwen\\Desktop\\"+"APleasing_"+(i+1)+"_VOUCHER_"+s+".xml";
file=new File(ss);
writer = new XMLWriter(new FileOutputStream(file), OutputFormat.createPrettyPrint());
writer.setEscapeText(false);// 字符是否转义,默认true