apzl_leasing/src_tenwa/com/tenwa/leasing/serviceImpl/voucher/CreateVoucherServiceImpl.java
2019-12-24 14:58:51 +08:00

2393 lines
133 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.tenwa.leasing.serviceImpl.voucher;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
//import jbo.app.CREATE_VOUCHER_STATUS;
//import jbo.app.VOUCHER_HELP;
import jbo.com.tenwa.entity.comm.flow.FLOW_BUSSINESS_OBJECT;
//import jbo.com.tenwa.entity.contract.CONTRACT_CHANGE_INFO_TEMP;
//import jbo.com.tenwa.entity.contract.CONTRACT_INFO;
//import jbo.com.tenwa.entity.contract.CONTRACT_SIGNATORY;
//import jbo.com.tenwa.entity.contract.CONTRACT_SUPPLIER_INFO;
//import jbo.com.tenwa.fund.entity.charge.CONTRACT_FUND_FUND_CHARGE;
//import jbo.com.tenwa.rent.entity.rent.C1_FUND_RENT_PLAN;
//import jbo.lc.CONTRACT_CONDITION;
import jbo.sys.USER_INFO;
import com.amarsoft.app.als.sys.tools.DateTool;
import com.amarsoft.app.als.sys.tools.DateUtil;
import com.amarsoft.app.als.sys.tools.JBOHelper;
import com.amarsoft.app.util.StringUtil;
import com.amarsoft.are.A3Exception;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.BizObjectQuery;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.are.util.conf.Configuration;
import com.amarsoft.awe.Configure;
import com.amarsoft.awe.control.model.AWEConfigure;
import com.tenwa.leasing.service.voucher.CreateVoucherService;
import com.tenwa.leasing.service.voucher.VoucherToV8Service;
import com.tenwa.reckon.util.Conn;
import com.tenwa.reckon.util.Tools;
import com.tenwa.util.VoucherUtil;
public class CreateVoucherServiceImpl implements CreateVoucherService {
private VoucherToV8Service voucherToV8Service=new VoucherToV8Impl();
public String control_;
public CreateVoucherServiceImpl() throws Exception{
Configure con = Configure.getInstance();
this.control_ = con.getParameter("VoucherSwitch");
//AWEConfigure c = new AWEConfigure("/WEB-INF/etc/a3web.xml");
//this.control_ = c.getParameter("VoucherSwitch");
//BizObject bo = JBOHelper.querySingle(VOUCHER_HELP.CLASS_NAME, "select o.IS_CREATE_VOUCHER from o where o.id = 'control_voucher_create'");
//if(bo!=null){
//this.control_ = bo.getAttribute("IS_CREATE_VOUCHER").toString();
//}
}
//<2F>տ<EFBFBD> BOOKMARK
@SuppressWarnings("unchecked")
public void createVoucher_collection(String flow_unid,BizObject CurUser,JBOTransaction tx) throws Exception {
//ƾ֤<C6BE><D6A4><EFBFBD>ɿ<EFBFBD><C9BF><EFBFBD>
if("true".equals(control_)){
Map<String,String> condtion=new HashMap<String, String>();
condtion.put("flow_unid", flow_unid);
BizObject flow= DataOperatorUtil.getSingleJBO(FLOW_BUSSINESS_OBJECT.CLASS_NAME, condtion, tx);
String contract_id=flow.getAttribute("contract_id").toString();
Map<String, String> headMap = new HashMap<String, String>();
headMap.put("contract_id",contract_id);
headMap.put("moduleName", "<EFBFBD>տ<EFBFBD>");
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>contract_number,ǰ<><C7B0><EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
// BizObjectManager bm2 = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO");
// BizObjectQuery bq2 = bm2.createQuery("select * from O where id=:Contract_id");
// bq2.setParameter("Contract_id", contract_id);
// BizObject bos2 = bq2.getSingleResult(false);
//String contract_number = bos2.getAttribute("contract_number").toString();//ҵ<><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>leas_form,ǰ<><C7B0><EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObjectManager bm3 = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO");
BizObjectQuery bq3 = bm3.createQuery("select * from O where id=:Contract_id");
bq3.setParameter("Contract_id", contract_id);
BizObject bos3 = bq3.getSingleResult(false);
String leas_form = bos3.getAttribute("leas_form").toString();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
//<2F><><EFBFBD><EFBFBD>flow_unid<69><64>contract_id<69><64>ȡcontract_fund_fund_charge_temp<6D><70><EFBFBD><EFBFBD>accounting_date(<28><><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>)<29><>fact_money(<28><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>)
BizObjectManager bm = JBOFactory.getBizObjectManager("jbo.com.tenwa.fund.entity.charge.CONTRACT_FUND_FUND_CHARGE_TEMP");
BizObjectQuery bq = bm.createQuery("select * from O where flow_unid=:Flow_unid and contract_id=:Contract_id");
bq.setParameter("Flow_unid", flow_unid);
bq.setParameter("Contract_id", contract_id);
List<BizObject> bos = bq.getResultList(false);
String fact_object = null;//<2F><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>
String accounting_date = null;//<2F><><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>
String fact_date = null;//<2F><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>
String fact_date_handling = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>
String accounting_date_handling = null;//<2F><><EFBFBD><EFBFBD><EFBFBD>ѻ<EFBFBD><D1BB>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>
String fact_date_caution = null;//<2F><>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>
String accounting_date_caution = null;//<2F><>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>
String fact_date_service = null;//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>
String accounting_date_service = null;//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>ѻ<EFBFBD><D1BB>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>
BigDecimal taxrate = BigDecimal.ZERO;
BigDecimal totalMoney= BigDecimal.ZERO;//<2F>ܽ<EFBFBD><DCBD><EFBFBD>
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
boolean is_handling_charge_money = false;
boolean is_first_payment = false;
boolean is_return_amt = false;
boolean is_norminal_price = false;
boolean is_caution_money = false;
boolean is_service_money = false;
BigDecimal handling_charge_money = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// BigDecimal first_payment = BigDecimal.ZERO;//<2F>׸<EFBFBD><D7B8><EFBFBD>
// BigDecimal return_amt = BigDecimal.ZERO;//<2F><><EFBFBD>̷<EFBFBD><CCB7><EFBFBD>
// BigDecimal norminal_price = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD>
BigDecimal caution_money = BigDecimal.ZERO;//<2F><>֤<EFBFBD><D6A4>
BigDecimal service_money = BigDecimal.ZERO;//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BigDecimal handling_charge_money_tax = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><CBB0>
// BigDecimal first_payment_tax = BigDecimal.ZERO;//<2F>׸<EFBFBD><D7B8><EFBFBD>˰<EFBFBD><CBB0>
// BigDecimal return_amt_tax = BigDecimal.ZERO;//<2F><><EFBFBD>̷<EFBFBD><CCB7><EFBFBD>˰<EFBFBD><CBB0>
// BigDecimal norminal_price_tax = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD>˰<EFBFBD><CBB0>
if(bos == null || bos.size() == 0){
return;
}else{
for(int i=0;i<bos.size();i++){
accounting_date = bos.get(i).getAttribute("accounting_date").getString();
fact_object = bos.get(i).getAttribute("fact_object").toString();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
fact_date = bos.get(i).getAttribute("fact_date").toString();//<2F><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>
is_handling_charge_money="feetype1".equals(bos.get(i).getAttribute("fee_type").getString());
is_first_payment="feetype5".equals(bos.get(i).getAttribute("fee_type").getString());
is_return_amt="feetype6".equals(bos.get(i).getAttribute("fee_type").getString());
is_norminal_price="feetype4".equals(bos.get(i).getAttribute("fee_type").getString());
is_caution_money="feetype2".equals(bos.get(i).getAttribute("fee_type").getString());
is_service_money ="feetype18".equals(bos.get(i).getAttribute("fee_type").getString());
//˰<><CBB0>
taxrate = new BigDecimal(0.17);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>֤<EFBFBD><D6A4>
if(is_caution_money){
caution_money = new BigDecimal(bos.get(i).getAttribute("fact_money").getString());
fact_date_caution = fact_date;
accounting_date_caution = accounting_date;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(is_handling_charge_money){
handling_charge_money = new BigDecimal(bos.get(i).getAttribute("fact_money").getString());
handling_charge_money_tax = handling_charge_money.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate);
fact_date_handling = fact_date;
accounting_date_handling = accounting_date;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(is_service_money){
service_money = new BigDecimal(bos.get(i).getAttribute("fact_money").getString());
fact_date_service = fact_date;
accounting_date_service = accounting_date;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׸<EFBFBD><D7B8><EFBFBD>
if(is_first_payment){
// first_payment = new BigDecimal(bos.get(i).getAttribute("fact_money").getString());
// first_payment_tax = first_payment.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD><D0B3>̷<EFBFBD><CCB7><EFBFBD>
if(is_return_amt){
// return_amt = new BigDecimal(bos.get(i).getAttribute("fact_money").getString());
// return_amt_tax = return_amt.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(is_norminal_price){
// norminal_price = new BigDecimal(bos.get(i).getAttribute("fact_money").getString());
// norminal_price_tax = norminal_price.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate);
}
//<2F><><EFBFBD>տ<EFBFBD>
totalMoney = totalMoney.add(new BigDecimal(bos.get(i).getAttribute("fact_money").toString()));
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѻ<EFBFBD><D1BB><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD>0
if(handling_charge_money.compareTo(BigDecimal.ZERO) == 1||service_money.compareTo(BigDecimal.ZERO) == 1){
headMap.put("collectInfo", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
if("SHHZ".equals(leas_form)){
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƾ֤
if(handling_charge_money.compareTo(BigDecimal.ZERO) == 1){
//ժҪ<D5AA><D2AA>*<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѽ<EFBFBD><D1BD><EFBFBD>
VoucherUtil.Debit(list,fact_date_handling.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_handling.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "cash_in_bank", Tools.formatNumberDoubleTwo(handling_charge_money.toString()), accounting_date_handling,fact_date_handling);
//<2F><>: Ԥ<><D4A4><EFBFBD>˿<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Credit(list, fact_date_handling.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_handling.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","advance_handling_charge_money",Tools.formatNumberDoubleTwo(handling_charge_money.toString()),accounting_date_handling,fact_date_handling);
//<2F><> Ԥ<><D4A4><EFBFBD>˿<CBBF><EEA1AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, fact_date_handling.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_handling.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "advance_handling_charge_money", Tools.formatNumberDoubleTwo(handling_charge_money_tax.toString()), accounting_date_handling,fact_date_handling);
//<2F><> Ӧ<><D3A6>˰<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ֵ˰<D6B5><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD><EEA3A9><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/1.17*0.17<EFBFBD><EFBFBD>
VoucherUtil.Credit(list, fact_date_handling.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_handling.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","tax_payable_substituted_money",Tools.formatNumberDoubleTwo(handling_charge_money_tax.toString()),accounting_date_handling,fact_date_handling);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƾ֤
if(service_money.compareTo(BigDecimal.ZERO) == 1){
//ժҪ<D5AA><D2AA>*<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>ѯ<EFBFBD><D1AF>
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD>ѽ<EFBFBD><D1BD><EFBFBD>
VoucherUtil.Debit(list,fact_date_service.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_service.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>", "cash_in_bank", Tools.formatNumberDoubleTwo(service_money.toString()), accounting_date_service,fact_date_service);
//<2F><>: <09><>Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA1AA><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Credit(list, fact_date_service.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_service.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>","main_income_consulting_income",Tools.formatNumberDoubleTwo(service_money.subtract(service_money.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate)).toString()),accounting_date_service,fact_date_service);
//<2F><>: Ӧ<><D3A6>˰<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ֵ˰<D6B5><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD>
VoucherUtil.Credit(list, fact_date_service.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_service.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>","tax_payable_substituted_money",Tools.formatNumberDoubleTwo(service_money.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate).toString()),accounting_date_service,fact_date_service);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}else if("RZZL".equals(leas_form)){
//ժҪ<D5AA><D2AA>*<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, fact_date_handling.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_handling.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "cash_in_bank",Tools.formatNumberDoubleTwo(handling_charge_money.toString()), accounting_date_handling,fact_date_handling);
//<2F><>: Ԥ<><D4A4><EFBFBD>˿<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Credit(list,fact_date_handling.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_handling.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","advance_handling_charge_money",Tools.formatNumberDoubleTwo(handling_charge_money.toString()),accounting_date_handling,fact_date_handling);
//<2F><> Ԥ<><D4A4><EFBFBD>˿<CBBF><EEA1AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, fact_date_handling.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_handling.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "advance_handling_charge_money",Tools.formatNumberDoubleTwo(handling_charge_money_tax.toString()), accounting_date_handling,fact_date_handling);
//<2F><> Ӧ<><D3A6>˰<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ֵ˰<D6B5><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰ <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/1.17*0.17<EFBFBD><EFBFBD>
VoucherUtil.Credit(list,fact_date_handling.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_handling.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","tax_payable_substituted_money",Tools.formatNumberDoubleTwo(handling_charge_money_tax.toString()),accounting_date_handling,fact_date_handling);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}else if("BLYW".equals(leas_form)){
//ժҪ<D5AA><D2AA>*<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, fact_date_handling.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_handling.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "cash_in_bank", Tools.formatNumberDoubleTwo(handling_charge_money.toString()), accounting_date_handling,fact_date_handling);
//<2F><>: Ԥ<><D4A4><EFBFBD>˿<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Credit(list,fact_date_handling.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_handling.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","advance_handling_charge_money",Tools.formatNumberDoubleTwo(handling_charge_money.toString()),accounting_date_handling,fact_date_handling);
//<2F><> Ԥ<><D4A4><EFBFBD>˿<CBBF><EEA1AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, fact_date_handling.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_handling.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "advance_handling_charge_money",Tools.formatNumberDoubleTwo(handling_charge_money_tax.toString()), accounting_date_handling,fact_date_handling);
//<2F><> Ӧ<><D3A6>˰<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ֵ˰<D6B5><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰ <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/1.17*0.17<EFBFBD><EFBFBD>
VoucherUtil.Credit(list,fact_date_handling.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date_handling.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","tax_payable_substituted_money",Tools.formatNumberDoubleTwo(handling_charge_money_tax.toString()),accounting_date_handling,fact_date_handling);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if(caution_money.compareTo(BigDecimal.ZERO) == 1){
headMap.put("collectInfo", "<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>");
if("SHHZ".equals(leas_form)){
//ժҪ<D5AA><D2AA>*<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4>
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
VoucherUtil.Debit(list, fact_date_caution.substring(5, 7)+"<EFBFBD><EFBFBD>"+fact_date_caution.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>", "cash_in_bank",Tools.formatNumberDoubleTwo(caution_money.toString()), accounting_date_caution,fact_date_caution);
//<2F><>: <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EEA1AA><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4>
VoucherUtil.Credit(list,fact_date_caution.substring(5, 7)+"<EFBFBD><EFBFBD>"+fact_date_caution.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>","other_payables_caution_money",Tools.formatNumberDoubleTwo(caution_money.toString()),accounting_date_caution,fact_date_caution);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}else if("RZZL".equals(leas_form)){
//ժҪ<D5AA><D2AA>*<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4>
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>
VoucherUtil.Debit(list, fact_date_caution.substring(5, 7)+"<EFBFBD><EFBFBD>"+fact_date_caution.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>", "cash_in_bank", Tools.formatNumberDoubleTwo(caution_money.toString()), accounting_date_caution,fact_date_caution);
//<2F><>: <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EEA1AA><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4>
VoucherUtil.Credit(list,fact_date_caution.substring(5, 7)+"<EFBFBD><EFBFBD>"+fact_date_caution.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>","other_payables_caution_money",Tools.formatNumberDoubleTwo(caution_money.toString()),accounting_date_caution,fact_date_caution);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}else if("BLYW".equals(leas_form)){
//ժҪ<D5AA><D2AA>*<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4>
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
VoucherUtil.Debit(list, fact_date_caution.substring(5, 7)+"<EFBFBD><EFBFBD>"+fact_date_caution.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>", "cash_in_bank",Tools.formatNumberDoubleTwo(caution_money.toString()), accounting_date_caution,fact_date_caution);
//<2F><>: <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EEA1AA><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4>
VoucherUtil.Credit(list,fact_date_caution.substring(5, 7)+"<EFBFBD><EFBFBD>"+fact_date_caution.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+fact_object+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>","other_payables_caution_money",Tools.formatNumberDoubleTwo(caution_money.toString()),accounting_date_caution,fact_date_caution);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public void createVoucher_rentincome(String flow_unid, BizObject CurUser,JBOTransaction tx) throws Exception {
//ƾ֤<C6BE><D6A4><EFBFBD>ɿ<EFBFBD><C9BF><EFBFBD>
if("true".equals(control_)){
Map<String,String> condtion=new HashMap<String, String>();
condtion.put("flow_unid", flow_unid);
BizObject flow=DataOperatorUtil.getSingleJBO(FLOW_BUSSINESS_OBJECT.CLASS_NAME, condtion, tx);
String contract_id=flow.getAttribute("contract_id").toString();
Map<String, String> headMap = new HashMap<String, String>();
headMap.put("contract_id",contract_id);
headMap.put("moduleName", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>contract_number,ǰ<><C7B0><EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
// BizObjectManager bm2 = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO");
// BizObjectQuery bq2 = bm2.createQuery("select * from O where id=:Contract_id");
// bq2.setParameter("Contract_id", contract_id);
// BizObject bos2 = bq2.getSingleResult(false);
// String contract_number = bos2.getAttribute("contract_number").toString();//<2F><>ͬ<EFBFBD>š<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
//<2F><><EFBFBD><EFBFBD>flow_unid<69><64>contract_id<69><64>ѯcontract_fund_rent_plan_temp<6D><70><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// BizObjectManager bm3 = JBOFactory.getBizObjectManager("jbo.com.tenwa.rent.entity.rent.CONTRACT_FUND_RENT_PLAN_TEMP");
// BizObjectQuery bq3 = bm3.createQuery("select * from O where flow_unid=:Flow_unid and contract_id=:Contract_id");
// bq3.setParameter("Flow_unid", flow_unid);
// bq3.setParameter("Contract_id", contract_id);
// List<BizObject> bos3 = bq3.getResultList(false);
// int totalList = bos3.size();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>flow_unid<69><64>contract_id<69><64>ȡcontract_fund_rent_income_temp<6D><70><EFBFBD><EFBFBD>accounting_date(<28><><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>)<29><>rent(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
BizObjectManager bm = JBOFactory.getBizObjectManager("jbo.com.tenwa.rent.entity.rent.CONTRACT_FUND_RENT_INCOME_TEMP");
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD>Ҫ<EFBFBD><D2AA>ѯ<EFBFBD><D1AF><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD>ϸ<EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯֻ<D1AF><D6BB><EFBFBD><EFBFBD>ô<EFBFBD><C3B4>ѯ<EFBFBD><D1AF>
BizObjectQuery bq = bm.createQuery("select O.hire_date,O.penalty,O.interest,O.corpus,O.rent,O.hire_object,O.accounting_date,rp.rent_list from O,jbo.com.tenwa.rent.entity.rent.CONTRACT_FUND_RENT_PLAN rp where O.PLAN_ID=rp.id and O.flow_unid=:Flow_unid and O.contract_id=:Contract_id");
bq.setParameter("Flow_unid", flow_unid);
bq.setParameter("Contract_id", contract_id);
List<BizObject> bos = bq.getResultList(false);
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>leas_form,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObject bo = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO")
.createQuery("select * from O where id=:Id")
.setParameter("Id", contract_id)
.getSingleResult(false);
String leas_form = bo.getAttribute("leas_form").toString();
BigDecimal totalMoney = BigDecimal.ZERO;
BigDecimal taxrate = BigDecimal.ZERO;
BigDecimal tax = BigDecimal.ZERO;
int rent_list = 0;
String hire_object = null;
BigDecimal rent = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD>
BigDecimal corpus = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD>
BigDecimal interest = BigDecimal.ZERO;//<2F><>Ϣ
BigDecimal penalty = BigDecimal.ZERO;//<2F><>Ϣ
List<Map<String, String>> list = new ArrayList<Map<String, String>>();//<2F><><EFBFBD><EFBFBD>list
List<Map<String, String>> list1 = new ArrayList<Map<String, String>>(); //<2F><>Ϣlist
String accounting_date = null;
String str = null;
String lessor =null;//<2F><>Ӧ<EFBFBD><D3A6>id
String client = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
String clientname = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
String hire_date = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ȡcontract_signatory<72><79><EFBFBD><EFBFBD>lessor(<28><><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>),client(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
BizObjectManager bm4 = JBOFactory.getBizObjectManager("CONTRACT_SIGNATORY.CLASS_NAME");
BizObjectQuery bq4 = bm4.createQuery("select * from O where contract_id=:contract_id");
bq4.setParameter("contract_id", contract_id);
BizObject bo4 = bq4.getSingleResult(false);
lessor = bo4.getAttribute("lessor").toString();
client = bo4.getAttribute("client").toString();
BizObjectManager bm5 = JBOFactory.getBizObjectManager("jbo.app.CUSTOMER_INFO");
BizObjectQuery bq5 = bm5.createQuery("select * from O where customerid=:client");
bq5.setParameter("client", client);
BizObject bo5 = bq5.getSingleResult(false);
clientname = bo5.getAttribute("customername").toString();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(bos == null || bos.size() == 0){
return;
}else{
for(int i=0;i<bos.size();i++){
accounting_date = bos.get(i).getAttribute("accounting_date").getString();
rent_list = bos.get(i).getAttribute("rent_list").getInt();
hire_object = bos.get(i).getAttribute("hire_object").getString();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
rent = new BigDecimal(bos.get(i).getAttribute("rent").getString());//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
corpus = new BigDecimal(bos.get(i).getAttribute("corpus").getString());//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
interest = new BigDecimal(bos.get(i).getAttribute("interest").getString());//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
penalty = new BigDecimal(bos.get(i).getAttribute("penalty").getString());//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
hire_date = bos.get(i).getAttribute("hire_date").getString();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
str = "<EFBFBD><EFBFBD>" +rent_list;
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
taxrate = new BigDecimal(0.17);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if(rent.compareTo(BigDecimal.ZERO)==1){
headMap.put("incomeType", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
if("RZZL".equals(leas_form)){
//ժҪ<D5AA><D2AA>*<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "cash_in_bank",Tools.formatNumberDoubleTwo(rent.toString()), accounting_date,hire_date);
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տӦ<EEA3AD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
VoucherUtil.Credit(list,hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "long_receivable_leasing_project_money", Tools.formatNumberDoubleTwo(rent.toString()), accounting_date,hire_date);
//<2F><> δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A1AA><EFBFBD><EFBFBD>ֵ˰ <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/1.17*0.17
VoucherUtil.Debit(list, hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "unconfirmed_lease_income_added-value_tax",Tools.formatNumberDoubleTwo(corpus.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate).toString()), accounting_date,hire_date);
//<2F><> δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>Ϣ/1.17*0.17
VoucherUtil.Debit(list, hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "unconfirmed_financing_income_financing_income", Tools.formatNumberDoubleTwo(interest.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate).toString()), accounting_date,hire_date);
//<2F><> Ӧ<><D3A6>˰<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ֵ˰<D6B5><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/1.17*0.17
VoucherUtil.Credit(list,hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "tax_payable_substituted_money", Tools.formatNumberDoubleTwo(rent.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate).toString()), accounting_date,hire_date);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƾ֤
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();
}else if("SHHZ".equals(leas_form)){
//ժҪ<D5AA><D2AA>*<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+str+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "cash_in_bank",Tools.formatNumberDoubleTwo(rent.toString()), accounting_date,hire_date);
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տӦ<EEA3AD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
VoucherUtil.Credit(list,hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+str+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "long_receivable_leasing_project_money", Tools.formatNumberDoubleTwo(rent.toString()), accounting_date,hire_date);
//<2F><> δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A1AA>δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
VoucherUtil.Debit(list, hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+str+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "unconfirmed_financing_income_financing_income",Tools.formatNumberDoubleTwo(interest.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate).toString()), accounting_date,hire_date);
//<2F><> Ӧ<><D3A6>˰<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ֵ˰<D6B5><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
VoucherUtil.Credit(list,hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+str+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "tax_payable_substituted_money", Tools.formatNumberDoubleTwo(interest.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate).toString()), accounting_date,hire_date);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƾ֤
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();
}else if("BLYW".equals(leas_form)){
//ժҪ<D5AA><D2AA>*<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "cash_in_bank",Tools.formatNumberDoubleTwo(rent.toString()), accounting_date,hire_date);
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<D5BF><EEA1AA>Ӧ<EFBFBD>ձ<EFBFBD><D5B1><EFBFBD>ҵ<EFBFBD>񱾽<EFBFBD>
VoucherUtil.Credit(list,hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "long_receivable_factoring_principal", Tools.formatNumberDoubleTwo(corpus.toString()), accounting_date,hire_date);
//<2F><> Ӧ<><D3A6><EFBFBD><EFBFBD>Ϣ
VoucherUtil.Credit(list,hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "interest_receivable", Tools.formatNumberDoubleTwo(rent.subtract(corpus).toString()), accounting_date,hire_date);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƾ֤
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
if(penalty.compareTo(BigDecimal.ZERO) == 1){
headMap.put("incomeType", "<EFBFBD><EFBFBD>Ϣ");
if("RZZL".equals(leas_form)){
//ժҪ<D5AA><D2AA>*<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
VoucherUtil.Debit(list1, hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "cash_in_bank", Tools.formatNumberDoubleTwo(penalty.toString()), accounting_date,hire_date);
//<2F><> Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<2D><><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><CBB0>Ϣ
VoucherUtil.Credit(list1, hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "nonoperating_income_late_fee_income", Tools.formatNumberDoubleTwo(penalty.subtract(penalty.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate)).toString()), accounting_date,hire_date);
//<2F><> Ӧ<><D3A6>˰<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ֵ˰<D6B5><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>˰<EFBFBD><CBB0>
VoucherUtil.Credit(list1, hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "tax_payable_substituted_money", Tools.formatNumberDoubleTwo(penalty.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate).toString()), accounting_date,hire_date);
//<2F><><EFBFBD>ɷ<EFBFBD>Ϣƾ֤
voucherToV8Service.saveV8Message(headMap, list1, CurUser,tx);
list1.clear();
}else if("SHHZ".equals(leas_form)){
//ժҪ<D5AA><D2AA><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
VoucherUtil.Debit(list1, "<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "cash_in_bank", Tools.formatNumberDoubleTwo(penalty.toString()), accounting_date,hire_date);
//<2F><> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA1AA>>(<28><><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD>> Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<2D><><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
VoucherUtil.Credit(list1, "<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "nonoperating_income_late_fee_income", Tools.formatNumberDoubleTwo(penalty.subtract(penalty.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate)).toString()), accounting_date,hire_date);
//<2F><> Ӧ<><D3A6>˰<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ֵ˰<D6B5><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>˰<EFBFBD><CBB0>
VoucherUtil.Credit(list1, "<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "tax_payable_substituted_money", Tools.formatNumberDoubleTwo(penalty.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate).toString()), accounting_date,hire_date);
//<2F><><EFBFBD>ɷ<EFBFBD>Ϣƾ֤
voucherToV8Service.saveV8Message(headMap, list1, CurUser,tx);
list1.clear();
}else if("BLYW".equals(leas_form)){
//ժҪ *<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
VoucherUtil.Debit(list1, hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "cash_in_bank", Tools.formatNumberDoubleTwo(penalty.toString()), accounting_date,hire_date);
//<2F><> Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<2D><><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
VoucherUtil.Credit(list1, hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "nonoperating_income_late_fee_income", Tools.formatNumberDoubleTwo(penalty.subtract(penalty.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate)).toString()), accounting_date,hire_date);
//<2F><> Ӧ<><D3A6>˰<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ֵ˰<D6B5><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>˰<EFBFBD><CBB0>
VoucherUtil.Credit(list1, hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "tax_payable_substituted_money", Tools.formatNumberDoubleTwo(penalty.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate).toString()), accounting_date,hire_date);
//<2F><><EFBFBD>ɷ<EFBFBD>Ϣƾ֤
voucherToV8Service.saveV8Message(headMap, list1, CurUser,tx);
list1.clear();
}
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƾ֤
//voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
//list.clear();
//<2F><><EFBFBD>ɷ<EFBFBD>Ϣƾ֤
//voucherToV8Service.saveV8Message(headMap, list1, CurUser,tx);
//list1.clear();
}
}
}
//ʵ<><CAB5>Ͷ<EFBFBD><CDB6>
public void createVoucher_fundpayequipt(String flow_unid,BizObject CurUser, JBOTransaction tx) throws Exception {
//ƾ֤<C6BE><D6A4><EFBFBD>ɿ<EFBFBD><C9BF><EFBFBD>
if("true".equals(control_)){
Double b = 0.0;
Map<String,String> condtion=new HashMap<String, String>();
condtion.put("flow_unid", flow_unid);
BizObject flow=DataOperatorUtil.getSingleJBO(FLOW_BUSSINESS_OBJECT.CLASS_NAME, condtion, tx);
String contract_id=flow.getAttribute("contract_id").toString();
Map<String, String> headMap = new HashMap<String, String>();
headMap.put("contract_id",contract_id);
headMap.put("moduleName", "ʵ<EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD>");
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>contract_number,ǰ<><C7B0><EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObjectManager bm2 = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO");
BizObjectQuery bq2 = bm2.createQuery("select * from O where id=:Contract_id");
bq2.setParameter("Contract_id", contract_id);
BizObject bos2 = bq2.getSingleResult(false);
@SuppressWarnings("unused")
String contract_number = bos2.getAttribute("contract_number").toString();//<2F><>ͬ<EFBFBD>š<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_fund_rent_plan<61><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BizObjectManager bm6 = JBOFactory.getBizObjectManager("CONTRACT_FUND_RENT_PLAN.CLASS_NAME");
BizObjectQuery bq6 = bm6.createQuery("select * from O where Contract_id=:Contract_id");
bq6.setParameter("Contract_id", contract_id);
List<BizObject> bos6 = bq6.getResultList(false);
if(bos6 != null && bos6.size() > 0){
for(int j=0;j<bos6.size();j++){
b += bos6.get(j).getAttribute("rent").getDouble();
}
}
//<2F><><EFBFBD><EFBFBD>flow_unid<69><64>contract_id<69><64>ȡcontract_fund_fund_charge_temp<6D><70><EFBFBD><EFBFBD>accounting_date(<28><><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>)<29><>fact_money(<28><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>)
BizObjectManager bm = JBOFactory.getBizObjectManager("jbo.com.tenwa.fund.entity.charge.CONTRACT_FUND_FUND_CHARGE_TEMP");
BizObjectQuery bq = bm.createQuery("select * from O where flow_unid=:Flow_unid and contract_id=:Contract_id");
bq.setParameter("Flow_unid", flow_unid);
bq.setParameter("Contract_id", contract_id);
List<BizObject> bos = bq.getResultList(false);
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>leas_form,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObject bo = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO")
.createQuery("select * from O where id=:Id")
.setParameter("Id", contract_id)
.getSingleResult(false);
String leas_form = bo.getAttribute("leas_form").toString();
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
BigDecimal all_rent = new BigDecimal(b);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>+<2B><>Ϣ)
BigDecimal contract_equip_amt = BigDecimal.ZERO;//<2F><>ͬ<EFBFBD><CDAC>Ϣ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><E8B1B8>
BigDecimal clean_lease_money = BigDecimal.ZERO;//<2F><><EFBFBD>ʶ<EFBFBD>
BigDecimal totalMoney = BigDecimal.ZERO;//<2F><>Ͷ<EFBFBD>Ž<EFBFBD><C5BD><EFBFBD>=<3D><><EFBFBD><EFBFBD>Ͷ<EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD><E8B1B8>
BigDecimal fact_money = BigDecimal.ZERO;//Ͷ<>Ž<EFBFBD><C5BD><EFBFBD>
BigDecimal already_pay_money = BigDecimal.ZERO;//<2F>Ѿ<EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>ܽ<EFBFBD><DCBD><EFBFBD>
BigDecimal fact_pay_money = BigDecimal.ZERO;//ʵ<><CAB5>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BigDecimal equip_amt = BigDecimal.ZERO;//ʵ<><CAB5>Ͷ<EFBFBD><CDB6><EFBFBD>е<EFBFBD><D0B5><EFBFBD><E8B1B8>
BigDecimal return_amt = BigDecimal.ZERO;//<2F><><EFBFBD>̷<EFBFBD><CCB7><EFBFBD>
BigDecimal caution_money = BigDecimal.ZERO;//<2F><>֤<EFBFBD><D6A4>
BigDecimal first_payment = BigDecimal.ZERO;//<2F>׸<EFBFBD><D7B8><EFBFBD>
BigDecimal return_amt_tax = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰
BigDecimal handling_money = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BigDecimal consultation_money = BigDecimal.ZERO;//<2F><>ѯ<EFBFBD><D1AF>
BigDecimal quality_guarantee_deposit = BigDecimal.ZERO;//<2F>ʱ<EFBFBD><CAB1><EFBFBD>
BigDecimal nominal_price = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD>=<3D><>ֵת<D6B5><D7AA>
BigDecimal equip_end_value = BigDecimal.ZERO;//<2F><>ĩ<EFBFBD><C4A9>ֵ
BigDecimal all_collection_money = BigDecimal.ZERO;//ȫ<><C8AB>Ӧ<EFBFBD>տ<EFBFBD>
BigDecimal taxrate = BigDecimal.ZERO;
String fact_object = null;//<2F><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>
String accounting_date = null;//<2F><><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>
String fact_date = null;//<2F><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>
String equip_amt_accounting_date = null;//<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>
String equip_amt_fact_date = null;//<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>
String first_payment_accounting_date = null;//<2F>׸<EFBFBD><D7B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>
String first_payment_fact_date = null;//<2F>׸<EFBFBD><D7B8><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>
String caution_money_accounting_date = null;//<2F><>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>
String caution_money_fact_date = null;//<2F><>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>
String consultation_money_accounting_date = null;//<2F><>ѯ<EFBFBD>ѻ<EFBFBD><D1BB>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>
String consultation_money_fact_date = null;//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>
String handling_money_accounting_date = null;//<2F><><EFBFBD><EFBFBD><EFBFBD>ѻ<EFBFBD><D1BB>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>
String handling_money_fact_date = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>
String seller = null;//<2F><>Ӧ<EFBFBD><D3A6>id
String sellername = null;//<2F><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
String seller_vou = null;//ƾ֤<C6BE><D6A4>Ӧ<EFBFBD><D3A6>id
String lessor = null;//<2F><><EFBFBD><EFBFBD><E2B7BD><EFBFBD><EFBFBD>
String client = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
String clientname = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
String charge_list = null;
String deduction_first_payment = null;//<2F>׸<EFBFBD><D7B8><EFBFBD><EFBFBD>ڿ<EFBFBD>
String equip_type = "feetype10";//<2F><><EFBFBD>޵ķ<DEB5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>
if("SHHZ".equals(leas_form)){
equip_type = "feetype21";//<2F><><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>˿<EFBFBD>
}
int quality_guarantee_time = 0;//<2F>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>λ:<3A><>
boolean is_equip_amt = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><E8B1B8>
boolean is_return_amt = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>̷<EFBFBD><CCB7><EFBFBD>
boolean is_caution_money = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>֤<EFBFBD><D6A4>
boolean is_first_payment = false;//<2F>Ƿ<EFBFBD><C7B7>׸<EFBFBD><D7B8><EFBFBD>
boolean is_handling_money = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
boolean is_consultation_money = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ѯ<EFBFBD><D1AF>
boolean is_quality_guarantee_deposit =false;//<2F>Ƿ<EFBFBD><C7B7>ʱ<EFBFBD><CAB1><EFBFBD>
boolean is_nominal_price = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD>
boolean is_deduction_first_payment = false;//<2F>Ƿ<EFBFBD><C7B7>׸<EFBFBD><D7B8><EFBFBD><EFBFBD>ڿ<EFBFBD>
boolean is_equip_end_value = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ĩ<EFBFBD><C4A9>ֵ
boolean is_fact_pay_equip = false;//<2F>Ƿ<EFBFBD>ʵ<EFBFBD><CAB5>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>==payfund6-<2D><><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ȡcontract_signatory<72><79><EFBFBD><EFBFBD>lessor(<28><><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>),client(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
BizObjectManager bm4 = JBOFactory.getBizObjectManager("CONTRACT_SIGNATORY.CLASS_NAME");
BizObjectQuery bq4 = bm4.createQuery("select * from O where contract_id=:contract_id");
bq4.setParameter("contract_id", contract_id);
BizObject bo4 = bq4.getSingleResult(false);
lessor = bo4.getAttribute("lessor").toString();
client = bo4.getAttribute("client").toString();
BizObjectManager bm5 = JBOFactory.getBizObjectManager("jbo.app.CUSTOMER_INFO");
BizObjectQuery bq5 = bm5.createQuery("select * from O where customerid=:client");
bq5.setParameter("client", client);
BizObject bo5 = bq5.getSingleResult(false);
clientname = bo5.getAttribute("customername").toString();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>contract_id,fee_type<70><65>ȡcontract_fund_fund_charge<67><65><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD>Ͷ<EFBFBD>Ź<EFBFBD>
List<BizObject> list1 = JBOHelper.queryList("CONTRACT_FUND_FUND_CHARGE.CLASS_NAME", "select * from o where o.contract_id=:contract_id and o.fee_type=:fee_type", contract_id,equip_type);
if(list1.size()>0){
for (int i = 0; i < list1.size(); i++) {//<2F>õ<EFBFBD>Ͷ<EFBFBD>ż<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>Ͷ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>
already_pay_money = already_pay_money.add(new BigDecimal(list1.get(i).getAttribute("fact_money").toString()));
}
}
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ȡcontract_supplier_info <20><><EFBFBD>Ĺ<EFBFBD>Ӧ<EFBFBD><D3A6>
BizObject sup = JBOHelper.querySingle("CONTRACT_SUPPLIER_INFO.CLASS_NAME", "SELECT ci.customername FROM o ,jbo.app.CUSTOMER_INFO ci WHERE ci.customerid=o.seller AND o.contract_id=:contract_id", contract_id);
if(sup!=null)sellername = sup.getAttribute("customername").getString();
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_condition<6F><6E><EFBFBD><EFBFBD>clean_lease_money <20><><EFBFBD>ʶ<EFBFBD>
BizObjectManager bm7 = JBOFactory.getBizObjectManager("CONTRACT_CONDITION.CLASS_NAME");
BizObjectQuery bq7 = bm7.createQuery("select * from O where contract_id=:contract_id");
bq7.setParameter("contract_id", contract_id);
BizObject bo7 = bq7.getSingleResult(false);
if(bo7==null){
return;
}else{
quality_guarantee_time = bo7.getAttribute("quality_guarantee_time").getInt();
deduction_first_payment = bo7.getAttribute("deduction_first_payment").getString();
if("Y".equals(deduction_first_payment)){is_deduction_first_payment = true;}
contract_equip_amt = new BigDecimal(bo7.getAttribute("equip_amt").toString());
clean_lease_money = new BigDecimal(bo7.getAttribute("clean_lease_money").toString());
}
if(bos == null || bos.size() == 0){
return;
}else{
for(int i=0;i<bos.size();i++){
fact_money = new BigDecimal(bos.get(i).getAttribute("fact_money").toString());
accounting_date = bos.get(i).getAttribute("accounting_date").getString();
fact_date = bos.get(i).getAttribute("fact_date").getString();
charge_list = bos.get(i).getAttribute("charge_list").getString();//<2F>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD>
fact_object = bos.get(i).getAttribute("fact_object").getString();//<2F><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>
is_equip_amt = equip_type.equals(bos.get(i).getAttribute("fee_type").getString());//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<3D><EFBFBD><E8B1B8>
is_return_amt = "feetype6".equals(bos.get(i).getAttribute("fee_type").getString());//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<3D><><EFBFBD>̷<EFBFBD><CCB7><EFBFBD>
is_caution_money = "feetype2".equals(bos.get(i).getAttribute("fee_type").getString());//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<3D><>֤<EFBFBD><D6A4>
is_first_payment = "feetype5".equals(bos.get(i).getAttribute("fee_type").getString());//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<3D>׸<EFBFBD><D7B8><EFBFBD>
is_handling_money = "feetype1".equals(bos.get(i).getAttribute("fee_type").getString());//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
is_consultation_money = "feetype18".equals(bos.get(i).getAttribute("fee_type").getString());//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<3D><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
is_quality_guarantee_deposit = "feetype19".equals(bos.get(i).getAttribute("fee_type").getString());//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<3D>ʱ<EFBFBD><CAB1><EFBFBD>
is_nominal_price = "feetype4".equals(bos.get(i).getAttribute("fee_type").getString());//<2F><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD>
is_equip_end_value = "feetype12".equals(bos.get(i).getAttribute("fee_type").getString());//<2F><>ĩ<EFBFBD><C4A9>ֵ
is_fact_pay_equip = "payfund6".equals(bos.get(i).getAttribute("settle_method").getString());//<2F><><EFBFBD><EFBFBD>
//payfund11-<2D><><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD><DABB>۵Ŀ<DBB5><C4BF><EFBFBD><EEA3AC><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>֧<EFBFBD><D6A7><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>
if(!"payfund11".equals(bos.get(i).getAttribute("settle_method").getString())){
fact_pay_money = fact_pay_money.add(new BigDecimal(bos.get(i).getAttribute("fact_money").toString()));
equip_amt_accounting_date = accounting_date;
equip_amt_fact_date = fact_date;
seller_vou = bos.get(i).getAttribute("fact_object_id").getString();
}
if(is_equip_amt){
equip_amt = new BigDecimal(bos.get(i).getAttribute("fact_money").toString());
totalMoney = totalMoney.add(equip_amt);//bos <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>ϸ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>ϸ<EFBFBD>б<EFBFBD><D0B1>еķ<D0B5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʰ<EFBFBD><CAB0><EFBFBD><EFBFBD>еļ<D0B5><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DZ<EFBFBD><C7B1><EFBFBD>Ͷ<EFBFBD>ŵ<EFBFBD><C5B5>ܵ<EFBFBD><DCB5><EFBFBD><E8B1B8>
}
if(is_return_amt){
return_amt = new BigDecimal(bos.get(i).getAttribute("fact_money").toString());
return_amt_tax = return_amt.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate);
}
if(is_caution_money){ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<3D><>֤<EFBFBD><D6A4>
caution_money = new BigDecimal(bos.get(i).getAttribute("fact_money").toString());
caution_money_accounting_date = accounting_date;
caution_money_fact_date = fact_date;
}
if(is_first_payment){ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<3D>׸<EFBFBD><D7B8><EFBFBD>
first_payment = new BigDecimal(bos.get(i).getAttribute("fact_money").toString());
first_payment_accounting_date = accounting_date;
first_payment_fact_date = fact_date;
}
if(is_handling_money){ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
handling_money = new BigDecimal(bos.get(i).getAttribute("fact_money").toString());
handling_money_accounting_date = accounting_date;
handling_money_fact_date = fact_date;
}
if(is_consultation_money){//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<3D><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
consultation_money = new BigDecimal(bos.get(i).getAttribute("fact_money").toString());
consultation_money_accounting_date = accounting_date;
consultation_money_fact_date = fact_date;
}
if(is_quality_guarantee_deposit){//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<3D>ʱ<EFBFBD><CAB1><EFBFBD>
quality_guarantee_deposit = new BigDecimal(bos.get(i).getAttribute("fact_money").toString());
}
if(is_nominal_price){//<2F><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD>
nominal_price = new BigDecimal(bos.get(i).getAttribute("fact_money").toString());
}
if(is_equip_end_value){
equip_end_value = new BigDecimal(bos.get(i).getAttribute("fact_money").toString());
}
}
if(equip_amt_accounting_date==null||"".equals(equip_amt_accounting_date)){
equip_amt_accounting_date = accounting_date;
}
if(equip_amt_fact_date==null||"".equals(equip_amt_fact_date)){
equip_amt_fact_date = fact_date;
}
//˰<><CBB0>
taxrate = new BigDecimal(0.17);
//ֱ<><D6B1>
if("RZZL".equals(leas_form)){
//û<><C3BB>Ͷ<EFBFBD>ż<EFBFBD>¼
if(already_pay_money.equals(totalMoney)){//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ͷ<EFBFBD>Ž<EFBFBD><C5BD><EFBFBD>=<3D>Ѿ<EFBFBD>Ͷ<EFBFBD>Ź<EFBFBD><C5B9>Ľ<EFBFBD><C4BD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD>һ<EFBFBD><D2BB>Ͷ<EFBFBD><CDB6>
//ժҪ<D5AA><D2AA>֧+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>+<2B><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>
//<2F><>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><CAB2><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD><E8B1B8>
VoucherUtil.DebitFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>("+lessor+")","leasing_property_direct_lease", Tools.formatNumberDoubleTwo(contract_equip_amt.subtract(contract_equip_amt.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate)).toString()), equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
//<2F>裺Ӧ<E8A3BA><D3A6>˰<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ֵ˰<D6B5><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD>
VoucherUtil.DebitFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>("+lessor+")","tax_payable_substituted_money_income", Tools.formatNumberDoubleTwo(contract_equip_amt.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate).toString()), equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
// <20><>:<3A><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>ʵ<EFBFBD><CAB5>֧<EFBFBD><D6A7><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
VoucherUtil.CreditFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>("+lessor+")","cash_in_bank",Tools.formatNumberDoubleTwo(fact_pay_money.toString()),equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
// <20><><><D3A6><EFBFBD>˿<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>֧<EFBFBD><D6A7><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>=<3D><><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><><CEB4><EFBFBD><EFBFBD>
VoucherUtil.CreditFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>("+lessor+")","account_payables",Tools.formatNumberDoubleTwo(contract_equip_amt.subtract(fact_pay_money).toString()),equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//ժҪ<D5AA><D2AA><EFBFBD><EFBFBD>ת+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
all_collection_money = all_rent.add(first_payment).add(nominal_price).add(equip_end_value);//<2F><><EFBFBD><EFBFBD>+<2B>׸<EFBFBD><D7B8><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD>+<2B><>ĩ<EFBFBD><C4A9>ֵ
if(quality_guarantee_time>24){//<2F>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3>ʱ<EFBFBD><CAB1><EFBFBD>Ϊ<EFBFBD><CEAA> <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<EFBFBD>
all_collection_money = all_collection_money.add(quality_guarantee_deposit);//<2F><>+<2B>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>
}
//<2F><EFBFBD><E8A3BA><EFBFBD><EFBFBD>Ӧ<EFBFBD>տӦ<EEA3AD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܼ<EFBFBD>=<3D><><EFBFBD><EFBFBD>+<2B>׸<EFBFBD><D7B8><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD> <20><>+<2B>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.DebitFundPayEquip(list, "<EFBFBD><EFBFBD>ת"+clientname+"δʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","long_receivable_leasing_project_money", Tools.formatNumberDoubleTwo(all_collection_money.toString()), equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
if(quality_guarantee_time>24){
//<2F><>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><><D6B1> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><E8B1B8>-<2D><><EFBFBD><EFBFBD>˰
VoucherUtil.CreditFundPayEquip(list, "<EFBFBD><EFBFBD>ת"+clientname+"δʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","leasing_property_direct_lease",Tools.formatNumberDoubleTwo(contract_equip_amt.subtract(contract_equip_amt.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate)).toString()),equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
}else{
//<2F><>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><><D6B1> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><E8B1B8>-<2D>ʱ<EFBFBD><CAB1><EFBFBD>
VoucherUtil.CreditFundPayEquip(list, "<EFBFBD><EFBFBD>ת"+clientname+"δʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","leasing_property_direct_lease",Tools.formatNumberDoubleTwo(contract_equip_amt.subtract(contract_equip_amt.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate)).subtract(quality_guarantee_deposit).toString()),equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
}
//<2F><>:δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>=<3D><><EFBFBD><EFBFBD><EFBFBD>ܶ<DCB6><EFBFBD><E8B1B8>(<28><><EFBFBD><EFBFBD>˰)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><CBB0>+<2B><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD>
VoucherUtil.CreditFundPayEquip(list, "<EFBFBD><EFBFBD>ת"+clientname+"δʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_financing_income_financing_income",Tools.formatNumberDoubleTwo(all_collection_money.subtract(contract_equip_amt.subtract(contract_equip_amt.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate))).subtract(all_rent.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate)).toString()),accounting_date,accounting_date,seller_vou);
//<2F><>:δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>ֵ˰ <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><CBB0><EFBFBD>ݼ<EFBFBD><DDBC>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD>/1.17*0.17
VoucherUtil.CreditFundPayEquip(list, "<EFBFBD><EFBFBD>ת"+clientname+"δʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_lease_income_added-value_tax",Tools.formatNumberDoubleTwo((all_rent.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate)).toString()),accounting_date,accounting_date,seller_vou);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//ժҪ <09><>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>𣨻<EFBFBD><F0A3A8BB>ֲ<EFBFBD><D6B2>֣<EFBFBD>
//<2F>׸<EFBFBD><D7B8><EFBFBD><EFBFBD>ڿۣ<DABF><DBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(is_deduction_first_payment){
//<2F><> Ӧ<><D3A6><EFBFBD>˿<EFBFBD>
VoucherUtil.DebitFundPayEquip(list, "<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨻<EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD>֣<EFBFBD>","account_payables" , Tools.formatNumberDoubleTwo(first_payment.toString()), first_payment_accounting_date,first_payment_fact_date,seller_vou);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>տӦ<EEA3AD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>
VoucherUtil.CreditFundPayEquip(list, "<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨻<EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD>֣<EFBFBD>","long_receivable_leasing_project_money", Tools.formatNumberDoubleTwo(first_payment.toString()), first_payment_accounting_date,first_payment_fact_date,seller_vou);
if(quality_guarantee_time<=24){//<2F>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪӦ<CEAA><D3A6><EFBFBD>˿<EFBFBD>
//<2F><> Ӧ<><D3A6><EFBFBD>˿<EFBFBD>
VoucherUtil.DebitFundPayEquip(list, "<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨻<EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD>֣<EFBFBD>","account_payables" , Tools.formatNumberDoubleTwo(quality_guarantee_deposit.toString()), accounting_date,accounting_date,seller_vou);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>տӦ<EEA3AD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>
VoucherUtil.CreditFundPayEquip(list, "<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨻<EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD>֣<EFBFBD>","long_receivable_leasing_project_money", Tools.formatNumberDoubleTwo(quality_guarantee_deposit.toString()),accounting_date, accounting_date,seller_vou);
}
//<2F><> δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A1AA><EFBFBD><EFBFBD>ֵ˰ <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ
VoucherUtil.DebitFundPayEquip(list, "<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨻<EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD>֣<EFBFBD>","unconfirmed_lease_income_added-value_tax" , Tools.formatNumberDoubleTwo((first_payment.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate)).toString()), first_payment_accounting_date,first_payment_fact_date,seller_vou);
//<2F><> Ӧ<><D3A6>˰<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ֵ˰<D6B5><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰ <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/1.17*0.17
VoucherUtil.CreditFundPayEquip(list, "<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨻<EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD>֣<EFBFBD>","tax_payable_substituted_money",Tools.formatNumberDoubleTwo((first_payment.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate)).toString()),first_payment_accounting_date,first_payment_fact_date,seller_vou);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}else{//<2F><>Ͷ<EFBFBD>ż<EFBFBD>¼
//<2F><> Ӧ<><D3A6><EFBFBD>˿<EFBFBD>
VoucherUtil.DebitFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>("+lessor+")","account_payables" , Tools.formatNumberDoubleTwo(totalMoney.toString()), equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
VoucherUtil.CreditFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>("+lessor+")","cash_in_bank", Tools.formatNumberDoubleTwo(totalMoney.toString()), equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}else if("SHHZ".equals(leas_form)){
//<2F><><EFBFBD><EFBFBD>
//û<><C3BB>Ͷ<EFBFBD>ż<EFBFBD>¼
if(already_pay_money.equals(totalMoney)){//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ͷ<EFBFBD>Ž<EFBFBD><C5BD><EFBFBD>=<3D>Ѿ<EFBFBD>Ͷ<EFBFBD>Ź<EFBFBD><C5B9>Ľ<EFBFBD><C4BD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD>һ<EFBFBD><D2BB>Ͷ<EFBFBD><CDB6>
//ժҪ<D5AA><D2AA>֧+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>
// <20><>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD>-<2D><><EFBFBD><EFBFBD>
VoucherUtil.DebitFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","leasing_property_leaseback", Tools.formatNumberDoubleTwo(contract_equip_amt.toString()), equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
// <20><>:<3A><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD>:<3A><><EFBFBD>θ<EFBFBD><CEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.CreditFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","cash_in_bank",Tools.formatNumberDoubleTwo(fact_pay_money.toString()), equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
// <20><><><D3A6><EFBFBD>˿<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><E8B1B8>-<2D><><EFBFBD>θ<EFBFBD><CEB8><EFBFBD>-<2D><>֤<EFBFBD><D6A4>-<2D><>ѯ<EFBFBD><D1AF>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BigDecimal account_payables = contract_equip_amt.subtract(fact_pay_money).subtract(caution_money).subtract(consultation_money).subtract(handling_money);
VoucherUtil.CreditFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","account_payables",Tools.formatNumberDoubleTwo(account_payables.toString()), equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
// <20><>:<3A><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>-<2D><>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4>
VoucherUtil.CreditFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","other_payables_caution_money",Tools.formatNumberDoubleTwo(caution_money.toString()),caution_money_accounting_date,caution_money_fact_date,seller_vou);
// <20><>:<3A><>Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD>˰<EFBFBD><CBB0>ѯ<EFBFBD><D1AF>
VoucherUtil.CreditFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","main_income_consulting_income",Tools.formatNumberDoubleTwo(consultation_money.subtract(consultation_money.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate)).toString()),consultation_money_accounting_date,consultation_money_fact_date,seller_vou);
// <20><><><D3A6>˰<EFBFBD><CBB0><><D3A6><EFBFBD><EFBFBD>ֵ˰<D6B5><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF>/1.17*0.17
VoucherUtil.CreditFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","tax_payable_substituted_money",Tools.formatNumberDoubleTwo(consultation_money.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate).toString()),consultation_money_accounting_date,consultation_money_fact_date,seller_vou);
// <20><><><D4A4><EFBFBD>˿<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.CreditFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","advance_handling_charge_money",Tools.formatNumberDoubleTwo(handling_money.toString()),handling_money_accounting_date,handling_money_fact_date,seller_vou);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//ժҪ<D5AA><D2AA><EFBFBD><EFBFBD>ת+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><>:<3A><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տӦ<EEA3AD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܼ<EFBFBD>=<3D><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>+<2B><>ֵת<D6B5><D7AA>+<2B>׸<EFBFBD><D7B8><EFBFBD>ڿۣ<DABF>
VoucherUtil.DebitFundPayEquip(list, "<EFBFBD><EFBFBD>ת"+clientname+"δʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","long_receivable_leasing_project_money", Tools.formatNumberDoubleTwo(all_rent.add(nominal_price).add(first_payment).toString()), equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
// <20><>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><CAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><E8B1B8>
VoucherUtil.CreditFundPayEquip(list, "<EFBFBD><EFBFBD>ת"+clientname+"δʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","leasing_property_leaseback",Tools.formatNumberDoubleTwo(contract_equip_amt.toString()),equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
// <20><>:δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD> <20><> <20><EFBFBD>
VoucherUtil.CreditFundPayEquip(list, "<EFBFBD><EFBFBD>ת"+clientname+"δʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_financing_income_financing_income",Tools.formatNumberDoubleTwo(all_rent.add(nominal_price).add(first_payment).subtract(contract_equip_amt).toString()),equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//ժҪ <09><>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>𣨻<EFBFBD><F0A3A8BB>֣<EFBFBD>
//<2F>׸<EFBFBD><D7B8><EFBFBD><EFBFBD>ڿۣ<DABF><DBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(is_deduction_first_payment){
//<2F><> Ӧ<><D3A6><EFBFBD>˿<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>Ǯ<EFBFBD><C7AE><EFBFBD><EFBFBD>
VoucherUtil.DebitFundPayEquip(list, "<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨻<EFBFBD><EFBFBD>֣<EFBFBD>","account_payables", "0.00", first_payment_accounting_date,first_payment_fact_date,seller_vou);
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<D5BF><EEA1AA> Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>
VoucherUtil.CreditFundPayEquip(list, "<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨻<EFBFBD><EFBFBD>֣<EFBFBD>","long_receivable_leasing_project_money","0.00",first_payment_accounting_date,first_payment_fact_date,seller_vou);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}else{//<2F><>Ͷ<EFBFBD>ż<EFBFBD>¼
//<2F><> Ӧ<><D3A6><EFBFBD>˿<EFBFBD>
VoucherUtil.DebitFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","account_payables" , Tools.formatNumberDoubleTwo(totalMoney.toString()), equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
VoucherUtil.CreditFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","cash_in_bank", Tools.formatNumberDoubleTwo(totalMoney.toString()), equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}else if("BLYW".equals(leas_form)){
//ժҪ ֧+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>+<2B><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>
//<2F><> Ӧ<><D3A6><EFBFBD>˿<EFBFBD> ժҪ<D5AA><D2AA>֧+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>+<2B><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD><E8B1B8>
VoucherUtil.DebitFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+(sellername==null?"":"("+sellername+")"), "account_receivable_factoring_principal", Tools.formatNumberDoubleTwo(contract_equip_amt.subtract(contract_equip_amt.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate)).toString()), equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
//<2F><> <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<D5BF><EEA1AA>Ӧ<EFBFBD>ձ<EFBFBD><D5B1><EFBFBD>ҵ<EFBFBD>񱾽<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><CBB0>
VoucherUtil.DebitFundPayEquip(list, "֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+(sellername==null?"":"("+sellername+")"), "long_receivable_factoring_principal", Tools.formatNumberDoubleTwo(contract_equip_amt.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate).toString()), equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
//<2F><> <09><><EFBFBD>д<EFBFBD><D0B4><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>ʵ<EFBFBD><CAB5>֧<EFBFBD><D6A7><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
VoucherUtil.CreditFundPayEquip(list,"֧"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+(sellername==null?"":"("+sellername+")"), "cash_in_bank", Tools.formatNumberDoubleTwo(contract_equip_amt.toString()), equip_amt_accounting_date,equip_amt_fact_date,seller_vou);
//<2F><><EFBFBD><EFBFBD>ƾ֤-һ<><D2BB>ժҪ<D5AA><D2AA>Ӧһ<D3A6><D2BB>ƾ֤<C6BE><D6A4>Ϣ
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
list.clear();//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
}
}
//<2F><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>
public void createVoucher_contractonhire(String flow_unid,BizObject CurUser, JBOTransaction tx) throws Exception {
//ƾ֤<C6BE><D6A4><EFBFBD>ɿ<EFBFBD><C9BF><EFBFBD>
if("true".equals(control_)){
Map<String,String> condtion=new HashMap<String, String>();
condtion.put("flow_unid", flow_unid);
BizObject flow=DataOperatorUtil.getSingleJBO(FLOW_BUSSINESS_OBJECT.CLASS_NAME, condtion, tx);
String contract_id=flow.getAttribute("contract_id").toString();
Map<String, String> headMap = new HashMap<String, String>();
headMap.put("contract_id",contract_id);
headMap.put("moduleName", "<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>contract_number,ǰ<><C7B0><EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObjectManager bm2 = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO");
BizObjectQuery bq2 = bm2.createQuery("select * from O where id=:Contract_id");
bq2.setParameter("Contract_id", contract_id);
BizObject bos2 = bq2.getSingleResult(false);
String contract_number = bos2.getAttribute("contract_number").toString();//ҵ<><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>leas_form,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObject bo = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO")
.createQuery("select * from O where id=:Id")
.setParameter("Id", contract_id)
.getSingleResult(false);
String leas_form = bo.getAttribute("leas_form").toString();
//<2F><><EFBFBD><EFBFBD>flow_unid<69><64>contract_id<69><64>ȡcontract_fund_fund_plan_temp<6D><70><EFBFBD><EFBFBD>accounting_date(<28><><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>)<29><>fact_money(<28><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>)
BizObjectManager bm = JBOFactory.getBizObjectManager("jbo.com.tenwa.fund.entity.charge.CONTRACT_FUND_FUND_PLAN_TEMP");
BizObjectQuery bq = bm.createQuery("select * from O where flow_unid=:Flow_unid and contract_id=:Contract_id");
bq.setParameter("Flow_unid", flow_unid);
bq.setParameter("Contract_id", contract_id);
List<BizObject> bos = bq.getResultList(false);
BigDecimal taxrate = BigDecimal.ZERO;
BigDecimal equip_amt = BigDecimal.ZERO;//<2F><EFBFBD><E8B1B8>
BigDecimal return_amt = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD>
BigDecimal norminal_price = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BigDecimal first_payment = BigDecimal.ZERO;//<2F>׸<EFBFBD><D7B8><EFBFBD>
BigDecimal handling_charge_money = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BigDecimal rent_total = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>
BigDecimal interest = BigDecimal.ZERO;//<2F><>Ϣ
BigDecimal tax = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD>˰
BigDecimal lease_property = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>(<28><><EFBFBD><EFBFBD>)
BigDecimal lease_form1_property = BigDecimal.ZERO;//ֱ<><D6B1>--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>(<28><><EFBFBD><EFBFBD>)
BigDecimal taxMoney = BigDecimal.ZERO;//˰<><CBB0>
boolean is_equip_amt = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><E8B1B8>
boolean is_return_amt = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
boolean is_norminal_price = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
boolean is_first_payment = false;//<2F>Ƿ<EFBFBD><C7B7>׸<EFBFBD><D7B8><EFBFBD>
boolean is_handling_charge_money = false;
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String accounting_date = sdf.format(date);
String equip_type = "feetype10";//<2F><><EFBFBD>޵ķ<DEB5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>
if("SHHZ".equals(leas_form)){
equip_type = "feetype21";//<2F><><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>˿<EFBFBD>
}
if(bos == null || bos.size() == 0){
return;
}else{
for(int i=0;i<bos.size();i++){
is_equip_amt = equip_type.equals(bos.get(i).getAttribute("fee_type").getString());
is_return_amt = "feetype6".equals(bos.get(i).getAttribute("fee_type").getString());
is_norminal_price = "feetype4".equals(bos.get(i).getAttribute("fee_type").getString());
is_first_payment = "feetype5".equals(bos.get(i).getAttribute("fee_type").getString());
is_handling_charge_money = "feetype1".equals(bos.get(i).getAttribute("fee_type").getString());
if(rent_total.compareTo(BigDecimal.ZERO) == 0){
//<2F><><EFBFBD><EFBFBD>flow_unid<69><64>contract_id<69><64>ѯC1_FUND_RENT_PLAN<41><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>
List<BizObject> bo1 = JBOFactory.getBizObjectManager("jbo.com.tenwa.rent.entity.rent.C1_FUND_RENT_PLAN")
.createQuery("select * from O where flow_unid=:Flow_unid and contract_id=:Contract_id")
.setParameter("Flow_unid", flow_unid).setParameter("Contract_id", contract_id)
.getResultList(false);
for(int j=0;j<bo1.size();j++){
rent_total = rent_total.add(new BigDecimal(bo1.get(j).getAttribute("rent").toString()));
}
}
if("RZZL".equals(leas_form)){
taxrate = new BigDecimal(0.17);
}else if("SHHZ".equals(leas_form)){
taxrate = new BigDecimal(0.06);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><E8B1B8>
if(is_equip_amt){
//<2F><EFBFBD><E8B1B8>
equip_amt = new BigDecimal(bos.get(i).getAttribute("plan_money").getString());
//<2F><>Ϣ--(<28><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>-<2D><EFBFBD><E8B1B8>)/(1+taxrate)
interest = rent_total.subtract(equip_amt).divide(taxrate.add(BigDecimal.ONE),2);
//<2F><><EFBFBD><EFBFBD>˰--<2D><EFBFBD><E8B1B8>/(1+taxrate)*taxrate
tax = equip_amt.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate);
//<2F><EFBFBD><E8A3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>--<2D><><EFBFBD><EFBFBD>(<28><EFBFBD><E8B1B8>-<2D><><EFBFBD><EFBFBD>˰)
lease_form1_property = equip_amt.subtract(tax);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>̷<EFBFBD><CCB7><EFBFBD>
if(is_return_amt){
return_amt = new BigDecimal(bos.get(i).getAttribute("plan_money").getString());
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD>
if(is_norminal_price){
norminal_price = new BigDecimal(bos.get(i).getAttribute("plan_money").getString());
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>׸<EFBFBD><D7B8><EFBFBD>
if(is_first_payment){
first_payment = new BigDecimal(bos.get(i).getAttribute("plan_money").getString());
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(is_handling_charge_money){
handling_charge_money = new BigDecimal(bos.get(i).getAttribute("plan_money").getString());
}
}
//<2F>жϺ<D0B6>ͬΪֱ<CEAA><EFBFBD>ǻ<EFBFBD><C7BB><EFBFBD>
//ֱ<><D6B1>--RZZL <20><><EFBFBD><EFBFBD>--SHHZ
if("RZZL".equals(leas_form)){
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if(equip_amt.compareTo(BigDecimal.ZERO) == 1){
// <20><EFBFBD><E8A3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","leasing_property", Tools.formatNumberDoubleTwo(lease_form1_property.toString()), accounting_date, accounting_date);
// <20><EFBFBD><E8A3BA><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<EFBFBD>-<2D><><EFBFBD><EFBFBD>˰
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","other_receivable_withholdings", Tools.formatNumberDoubleTwo(tax.toString()), accounting_date, accounting_date);
// <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>˿<EFBFBD>-<2D><EFBFBD><E8B1B8>
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","account_payable_equip_amt",Tools.formatNumberDoubleTwo(equip_amt.toString()),accounting_date, accounting_date);
}
}else if("SHHZ".equals(leas_form)){
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if(equip_amt.compareTo(BigDecimal.ZERO) == 1){
// <20><EFBFBD><E8A3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","leasing_property", Tools.formatNumberDoubleTwo(equip_amt.toString()), accounting_date, accounting_date);
// <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>˿<EFBFBD>-<2D><EFBFBD><E8B1B8>
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","account_payable_equip_amt",Tools.formatNumberDoubleTwo(equip_amt.toString()),accounting_date, accounting_date);
}
}
// <20><EFBFBD><E8A3BA><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>)
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","long_receivable_leasing_money", Tools.formatNumberDoubleTwo(rent_total.toString()), accounting_date, accounting_date);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if(return_amt.compareTo(BigDecimal.ZERO) == 1){
// <20>裺Ԥ<E8A3BA><D4A4><EFBFBD>˿<EFBFBD>-<2D><><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","advance_return_amt", Tools.formatNumberDoubleTwo(return_amt.toString()), accounting_date, accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD><DBBF><EFBFBD><EFBFBD><EFBFBD>0
if(norminal_price.compareTo(BigDecimal.ZERO) == 1){
// <20>裺Ԥ<E8A3BA><D4A4><EFBFBD>˿<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","advance_norminal_price", Tools.formatNumberDoubleTwo(norminal_price.toString()), accounting_date, accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD>׸<EFBFBD><D7B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if(first_payment.compareTo(BigDecimal.ZERO) == 1){
// <20>裺Ԥ<E8A3BA><D4A4><EFBFBD>˿<EFBFBD>-<2D>׸<EFBFBD><D7B8><EFBFBD>
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","advance_first_payment", Tools.formatNumberDoubleTwo(first_payment.toString()), accounting_date, accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD>0
if(handling_charge_money.compareTo(BigDecimal.ZERO) == 1){
// <20>裺Ԥ<E8A3BA><D4A4><EFBFBD>˿<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","advance_handling_charge_money", Tools.formatNumberDoubleTwo(handling_charge_money.toString()), accounting_date, accounting_date);
}
//----<2D><>
if("RZZL".equals(leas_form)){
//ֱ<><D6B1>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ľ裺<C4BD><E8A3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2><C6B2><EFBFBD>ֵ(lease_form1_property)
lease_property = lease_form1_property;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","leasing_property",Tools.formatNumberDoubleTwo(lease_property.toString()),accounting_date, accounting_date);
}else if("SHHZ".equals(leas_form)){
//<2F><><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><E8B1B8>(equip_amt)
lease_property = equip_amt;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","leasing_property",Tools.formatNumberDoubleTwo(lease_property.toString()),accounting_date, accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>0
if(interest.compareTo(BigDecimal.ZERO) == 1){
// <20><><EFBFBD><EFBFBD>δȷ<CEB4><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>Ϣ
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_interest",Tools.formatNumberDoubleTwo(interest.toString()),accounting_date, accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if(return_amt.compareTo(BigDecimal.ZERO) == 1){
// <20><><EFBFBD><EFBFBD>δȷ<CEB4><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>--<2D><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>/taxrate
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_return_amt",Tools.formatNumberDoubleTwo(return_amt.divide(taxrate.add(BigDecimal.ONE),2).toString()),accounting_date, accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if(norminal_price.compareTo(BigDecimal.ZERO) == 1){
// <20><><EFBFBD><EFBFBD>δȷ<CEB4><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/taxrate
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_norminal_price",Tools.formatNumberDoubleTwo(norminal_price.divide(taxrate.add(BigDecimal.ONE),2).toString()),accounting_date, accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD>0
if(handling_charge_money.compareTo(BigDecimal.ZERO) == 1){
// <20><><EFBFBD><EFBFBD>δȷ<CEB4><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/taxrate
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_handling_income",Tools.formatNumberDoubleTwo(handling_charge_money.divide(taxrate.add(BigDecimal.ONE),2).toString()),accounting_date, accounting_date);
}
taxMoney = rent_total.add(return_amt).add(norminal_price).add(first_payment).add(handling_charge_money).subtract(lease_property.add(interest).add(return_amt.divide(taxrate.add(BigDecimal.ONE),2)).add(norminal_price.divide(taxrate.add(BigDecimal.ONE),2)).add(handling_charge_money.divide(taxrate.add(BigDecimal.ONE),2)));
// <20><><EFBFBD><EFBFBD>δȷ<CEB4><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><CBB0>--<2D><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>+<2B>׸<EFBFBD><D7B8><EFBFBD><EFBFBD>ܶ<EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>-<2D><>Ϣ-<2D><><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>)
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_taxmoney",Tools.formatNumberDoubleTwo(taxMoney.toString()),accounting_date, accounting_date);
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
}
}
}
//<2F><><EFBFBD><EFBFBD>
public void createVoucher_fundpay(String flow_unid, BizObject CurUser,JBOTransaction tx) throws Exception {
//ƾ֤<C6BE><D6A4><EFBFBD>ɿ<EFBFBD><C9BF><EFBFBD>
if("true".equals(control_)){
Map<String,String> condtion=new HashMap<String, String>();
condtion.put("flow_unid", flow_unid);
BizObject flow=DataOperatorUtil.getSingleJBO(FLOW_BUSSINESS_OBJECT.CLASS_NAME, condtion, tx);
String contract_id=flow.getAttribute("contract_id").toString();
Map<String, String> headMap = new HashMap<String, String>();
headMap.put("contract_id",contract_id);
headMap.put("moduleName", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>contract_number,ǰ<><C7B0><EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObjectManager bm2 = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO");
BizObjectQuery bq2 = bm2.createQuery("select * from O where id=:Contract_id");
bq2.setParameter("Contract_id", contract_id);
BizObject bos2 = bq2.getSingleResult(false);
String contract_number = bos2.getAttribute("contract_number").toString();//<2F><>ͬ<EFBFBD>š<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>leas_form,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObject bo = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO")
.createQuery("select * from O where id=:Id")
.setParameter("Id", contract_id)
.getSingleResult(false);
String leas_form = bo.getAttribute("leas_form").toString();
//<2F><><EFBFBD><EFBFBD>flow_unid<69><64>contract_id<69><64>ȡcontract_fund_fund_charge_temp<6D><70><EFBFBD><EFBFBD>accounting_date(<28><><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>)<29><>fact_money(<28><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>)
BizObjectManager bm = JBOFactory.getBizObjectManager("jbo.com.tenwa.fund.entity.charge.CONTRACT_FUND_FUND_CHARGE_TEMP");
BizObjectQuery bq = bm.createQuery("select * from O where flow_unid=:Flow_unid and contract_id=:Contract_id");
bq.setParameter("Flow_unid", flow_unid);
bq.setParameter("Contract_id", contract_id);
List<BizObject> bos = bq.getResultList(false);
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
BigDecimal totalMoney = BigDecimal.ZERO;
BigDecimal deduction_caution_money = BigDecimal.ZERO;//<2F>ֿ۱<D6BF>֤<EFBFBD><D6A4>
BigDecimal return_caution_money = BigDecimal.ZERO;//<2F>˻<EFBFBD><CBBB><EFBFBD>֤<EFBFBD><D6A4>
String accounting_date = null;//<2F><><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>
String client = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
String clientname = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
String fact_date = "";//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
String accounting_date_return = null;//<2F>˻<EFBFBD><CBBB><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>
boolean is_deduction_caution_money = false;//<2F>Ƿ<EFBFBD><C7B7>ֿ۱<D6BF>֤<EFBFBD><D6A4>
boolean is_return_caution_money = false;//<2F>Ƿ<EFBFBD><C7B7>˻<EFBFBD><CBBB><EFBFBD>֤<EFBFBD><D6A4>
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ȡcontract_signatory<72><79><EFBFBD><EFBFBD>client(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
BizObjectManager bm4 = JBOFactory.getBizObjectManager("CONTRACT_SIGNATORY.CLASS_NAME");
BizObjectQuery bq4 = bm4.createQuery("select * from O where contract_id=:contract_id");
bq4.setParameter("contract_id", contract_id);
BizObject bo4 = bq4.getSingleResult(false);
client = bo4.getAttribute("client").toString();
BizObjectManager bm5 = JBOFactory.getBizObjectManager("jbo.app.CUSTOMER_INFO");
BizObjectQuery bq5 = bm5.createQuery("select * from O where customerid=:client");
bq5.setParameter("client", client);
BizObject bo5 = bq5.getSingleResult(false);
clientname = bo5.getAttribute("customername").toString();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(bos == null || bos.size() == 0){
return;
}else{
for(int i=0;i<bos.size();i++){
accounting_date = bos.get(i).getAttribute("accounting_date").getString();
is_deduction_caution_money="feetype16".equals(bos.get(i).getAttribute("fee_type").getString());
is_return_caution_money="feetype17".equals(bos.get(i).getAttribute("fee_type").getString());
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ֿ۱<D6BF>֤<EFBFBD><D6A4>
if(is_deduction_caution_money){
deduction_caution_money = new BigDecimal(bos.get(i).getAttribute("fact_money").getString());
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD>֤<EFBFBD><D6A4>
if(is_return_caution_money){
return_caution_money = new BigDecimal(bos.get(i).getAttribute("fact_money").getString());
fact_date = bos.get(i).getAttribute("fact_date").getString();
accounting_date_return = accounting_date;
}
if(fact_date.length()<10){fact_date="****/**/**";}
totalMoney = totalMoney.add(return_caution_money);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if(return_caution_money.compareTo(BigDecimal.ZERO) == 1){
if("RZZL".equals(leas_form)){
//ժҪ *<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4>
// <20><>:<3A><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EEA1AA><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4>
VoucherUtil.Debit(list, fact_date.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>","other_payables_caution_money", Tools.formatNumberDoubleTwo(totalMoney.toString()), accounting_date_return,fact_date);
// <20><>:<3A><><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
VoucherUtil.Credit(list,fact_date.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>","cash_in_bank",Tools.formatNumberDoubleTwo(totalMoney.toString()),accounting_date_return,fact_date);
}else if("SHHZ".equals(leas_form)){
//ժҪ <20><>֤<EFBFBD><D6A4><EFBFBD>˻<EFBFBD><CBBB>ͻ<EFBFBD>
// <20><>:<3A><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EEA1AA><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4>
VoucherUtil.Debit(list, "<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><EFBFBD>ͻ<EFBFBD>","other_payables_caution_money", Tools.formatNumberDoubleTwo(totalMoney.toString()), accounting_date_return,fact_date);
// <20><>:<3A><><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
VoucherUtil.Credit(list,"<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><EFBFBD>ͻ<EFBFBD>","cash_in_bank",Tools.formatNumberDoubleTwo(totalMoney.toString()),accounting_date_return,fact_date);
}else if("BLYW".equals(leas_form)){
//ժҪ *<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4>
// <20><>:<3A><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EEA1AA><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4>
VoucherUtil.Debit(list, fact_date.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>","other_payables_caution_money", Tools.formatNumberDoubleTwo(totalMoney.toString()), accounting_date_return,fact_date);
// <20><>:<3A><><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
VoucherUtil.Credit(list,fact_date.substring(5,7)+"<EFBFBD><EFBFBD>"+fact_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>","cash_in_bank",Tools.formatNumberDoubleTwo(totalMoney.toString()),accounting_date_return,fact_date);
}
}
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
}
}
}
//<2F><>ĩ<EFBFBD><C4A9>֤<EFBFBD><D6A4><EFBFBD>ֿ<EFBFBD>
public void createVoucher_margindeduction(String flow_unid,BizObject CurUser, JBOTransaction tx) throws Exception {
//ƾ֤<C6BE><D6A4><EFBFBD>ɿ<EFBFBD><C9BF><EFBFBD>
if("true".equals(control_)){
Map<String,String> condtion=new HashMap<String, String>();
condtion.put("flow_unid", flow_unid);
BizObject flow=DataOperatorUtil.getSingleJBO(FLOW_BUSSINESS_OBJECT.CLASS_NAME, condtion, tx);
String contract_id=flow.getAttribute("contract_id").toString();
Map<String, String> headMap = new HashMap<String, String>();
headMap.put("contract_id",contract_id);
headMap.put("moduleName", "<EFBFBD><EFBFBD>ĩ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>");
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>contract_number,ǰ<><C7B0><EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObjectManager bm2 = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO");
BizObjectQuery bq2 = bm2.createQuery("select * from O where id=:Contract_id");
bq2.setParameter("Contract_id", contract_id);
BizObject bos2 = bq2.getSingleResult(false);
String contract_number = bos2.getAttribute("contract_number").toString();//<2F><>ͬ<EFBFBD>š<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
//<2F><><EFBFBD><EFBFBD>flow_unid<69><64>contract_id<69><64>ȡcontract_fund_rent_income_temp<6D><70><EFBFBD><EFBFBD>accounting_date(<28><><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>)<29><>rent(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
BizObjectManager bm = JBOFactory.getBizObjectManager("jbo.com.tenwa.rent.entity.rent.CONTRACT_FUND_RENT_INCOME_TEMP");
BizObjectQuery bq = bm.createQuery("select * from O where flow_unid=:Flow_unid and contract_id=:Contract_id");
bq.setParameter("Flow_unid", flow_unid);
bq.setParameter("Contract_id", contract_id);
List<BizObject> bos = bq.getResultList(false);
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>leas_form,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObject bo = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO")
.createQuery("select * from O where id=:Id")
.setParameter("Id", contract_id)
.getSingleResult(false);
String leas_form = bo.getAttribute("leas_form").toString();
BigDecimal totalMoney = BigDecimal.ZERO;
BigDecimal rent = BigDecimal.ZERO;
BigDecimal interest = BigDecimal.ZERO;
BigDecimal penalty = BigDecimal.ZERO;
BigDecimal taxrate = BigDecimal.ZERO;
BigDecimal all_rent = BigDecimal.ZERO;//<2F><><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>
String client = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
String clientname = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
String hire_date = "";//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String accounting_date = null;
String hire_object = null;
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ȡcontract_signatory<72><79><EFBFBD><EFBFBD>client(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
BizObjectManager bm4 = JBOFactory.getBizObjectManager("CONTRACT_SIGNATORY.CLASS_NAME");
BizObjectQuery bq4 = bm4.createQuery("select * from O where contract_id=:contract_id");
bq4.setParameter("contract_id", contract_id);
BizObject bo4 = bq4.getSingleResult(false);
client = bo4.getAttribute("client").toString();
BizObjectManager bm5 = JBOFactory.getBizObjectManager("jbo.app.CUSTOMER_INFO");
BizObjectQuery bq5 = bm5.createQuery("select * from O where customerid=:client");
bq5.setParameter("client", client);
BizObject bo5 = bq5.getSingleResult(false);
clientname = bo5.getAttribute("customername").toString();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(bos == null || bos.size() == 0){
return;
}else{
for(int i=0;i<bos.size();i++){
rent = new BigDecimal(bos.get(i).getAttribute("rent").getString());
interest = new BigDecimal(bos.get(i).getAttribute("interest").getString());
penalty = new BigDecimal(bos.get(i).getAttribute("penalty").getString());
accounting_date = bos.get(i).getAttribute("accounting_date").getString();
hire_date = bos.get(i).getAttribute("hire_date").getString();
if(hire_date.length()<10){hire_date="****/**/**";}
taxrate = new BigDecimal(0.17);
if("RZZL".equals(leas_form)){
//ժҪ<D5AA><D2AA>*<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨱<EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EEA1AA><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD>ֿ۵ı<DBB5>֤<EFBFBD><D6A4>=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨱<EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>", "other_payables_caution_money", Tools.formatNumberDoubleTwo(rent.toString()), accounting_date, hire_date);
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տӦ<EEA3AD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
VoucherUtil.Credit(list,hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨱<EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>", "long_receivable_leasing_project_money", Tools.formatNumberDoubleTwo(rent.toString()), accounting_date, hire_date);
}else if("SHHZ".equals(leas_form)){
//ժҪ<D5AA><D2AA><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EEA1AA><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD>ֿ۵ı<DBB5>֤<EFBFBD><D6A4>=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, "<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "other_payables_caution_money", Tools.formatNumberDoubleTwo(rent.toString()), accounting_date, hire_date);
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տӦ<EEA3AD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
VoucherUtil.Credit(list, "<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "long_receivable_leasing_project_money", Tools.formatNumberDoubleTwo(rent.toString()), accounting_date, hire_date);
}else if("BLYW".equals(leas_form)){
//ժҪ *<2A><>*<2A><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨱<EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EEA1AA><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>֤<EFBFBD><D6A4> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
VoucherUtil.Debit(list, hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨱<EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>", "other_payables_caution_money", Tools.formatNumberDoubleTwo(rent.toString()), accounting_date, hire_date);
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<D5BF><EEA1AA>Ӧ<EFBFBD>ձ<EFBFBD><D5B1><EFBFBD>ҵ<EFBFBD>񱾽<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
VoucherUtil.Credit(list,hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨱<EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>", "long_receivable_factoring_principal", Tools.formatNumberDoubleTwo(rent.subtract(rent.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate)).toString()), accounting_date, hire_date);
//<2F><> Ӧ<><D3A6><EFBFBD><EFBFBD>Ϣ <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
VoucherUtil.Credit(list,hire_date.substring(5,7)+"<EFBFBD><EFBFBD>"+hire_date.substring(8)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣨱<EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>", "interest_receivable", Tools.formatNumberDoubleTwo(rent.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate).toString()), accounting_date, hire_date);
}
}
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
}
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>;<EFBFBD><CDBE>ֹ<EFBFBD><D6B9>
public void createVoucher_change(String flow_unid,BizObject CurUser, JBOTransaction tx,String flow_name) throws Exception {
//ƾ֤<C6BE><D6A4><EFBFBD>ɿ<EFBFBD><C9BF><EFBFBD>
if("true".equals(control_)){
Map<String,String> condtion=new HashMap<String, String>();
condtion.put("flow_unid", flow_unid);
BizObject flow=DataOperatorUtil.getSingleJBO(FLOW_BUSSINESS_OBJECT.CLASS_NAME, condtion, tx);
String contract_id=flow.getAttribute("contract_id").toString();
Map<String, String> headMap = new HashMap<String, String>();
headMap.put("contract_id",contract_id);
if("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".equals(flow_name)){
headMap.put("moduleName", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
}else if("<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>".equals(flow_name)){
headMap.put("moduleName", "<EFBFBD><EFBFBD>Ϣ");
}else if("<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>;<EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>".equals(flow_name)){
headMap.put("moduleName", "<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>;<EFBFBD><EFBFBD>ֹ");
}
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>contract_number,ǰ<><C7B0><EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
// BizObjectManager bm2 = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO");
// BizObjectQuery bq2 = bm2.createQuery("select * from O where id=:Contract_id");
// bq2.setParameter("Contract_id", contract_id);
// BizObject bos2 = bq2.getSingleResult(false);
// String contract_number = bos2.getAttribute("contract_number").toString();//<2F><>ͬ<EFBFBD>š<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>leas_form,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
String leas_form = "";
if(!"<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>".equals(flow_name)){
BizObject bo = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO")
.createQuery("select * from O where id=:Id")
.setParameter("Id", contract_id)
.getSingleResult(false);
leas_form = bo.getAttribute("leas_form").toString();
}
BigDecimal old_all_penalty = BigDecimal.ZERO;//ԭ<><D4AD><EFBFBD><EFBFBD>Ϣ
BigDecimal now_all_penalty = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
BigDecimal penalty_differential = BigDecimal.ZERO;//<2F><>Ϣ<EFBFBD><CFA2>
String change_date = "";//<2F><><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>ʱ<EFBFBD><CAB1>
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
//<2F><>ͬ<EFBFBD><CDAC>;<EFBFBD><CDBE>ֹ <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD>
if("<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>;<EFBFBD><EFBFBD>ֹ".equals(flow_name)||"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".equals(flow_name)){
//<2F><><EFBFBD><EFBFBD>contract_id <20><>ȡCONTRACT_FUND_RENT_PLAN<41><4E><EFBFBD>е<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>Ϣ------ԭ<><D4AD>Ϣ<EFBFBD><CFA2>Ϣ
BizObjectManager bm1 = JBOFactory.getBizObjectManager("jbo.com.tenwa.rent.entity.rent.CONTRACT_FUND_RENT_PLAN");
BizObjectQuery bq1 = bm1.createQuery("select * from O where contract_id=:Contract_id");
bq1.setParameter("Contract_id", contract_id);
List<BizObject> bos1 = bq1.getResultList(false);
if(bos1 != null || bos1.size() > 0){
for (int i = 0; i < bos1.size(); i++) {
old_all_penalty = old_all_penalty.add(new BigDecimal(bos1.get(i).getAttribute("INTEREST_BUSINESS").toString()));
}
}
//<2F><><EFBFBD><EFBFBD>flow_unid <20><>ȡ CONTRACT_CHANGE_INFO_TEMP <20>еı<D0B5><C4B1><EFBFBD>ʱ<EFBFBD><CAB1>
BizObject biz = JBOHelper.querySingle("jbo.com.tenwa.entity.contract.CONTRACT_CHANGE_INFO_TEMP", "select * from o where o.flow_unid=:flow_unid", flow_unid);
if(biz!=null)change_date = biz.getAttribute("change_date").getString();
//<2F><><EFBFBD><EFBFBD>flow_unid <20><>ȡC1_FUND_RENT_PLAN<41><4E><EFBFBD>е<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>Ϣ--------<2D><><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>Ϣ
BizObjectManager bm3 = JBOFactory.getBizObjectManager("jbo.com.tenwa.rent.entity.rent.C1_FUND_RENT_PLAN");
BizObjectQuery bq3 = bm3.createQuery("select * from O where flow_unid=:flow_unid");
bq3.setParameter("flow_unid", flow_unid);
List<BizObject> bos3 = bq3.getResultList(false);
if(bos3 != null || bos3.size() > 0){
for (int i = 0; i < bos3.size(); i++) {
now_all_penalty = now_all_penalty.add(new BigDecimal(bos3.get(i).getAttribute("INTEREST_BUSINESS").toString()));
}
}
penalty_differential = now_all_penalty.subtract(old_all_penalty);
if(penalty_differential.compareTo(BigDecimal.ZERO)!=0){//<2F><>Ϣ<EFBFBD><EFBFBD><EEB2BB><EFBFBD><EFBFBD>0
if("RZZL".equals(leas_form)){
//ժҪ <09><><EFBFBD><EFBFBD>
//<2F><> δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
VoucherUtil.Debit(list, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "unconfirmed_financing_income_financing_income",Tools.formatNumberDoubleTwo(penalty_differential.toString()) , change_date, change_date);
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<EFBFBD><><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>
VoucherUtil.Credit(list, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "long_receivable_leasing_project_money", Tools.formatNumberDoubleTwo(penalty_differential.toString()), change_date, change_date);
}else if("SHHZ".equals(leas_form)){
//ժҪ <09><><EFBFBD><EFBFBD>
//<2F><> δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
VoucherUtil.Debit(list, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "unconfirmed_financing_income_financing_income",Tools.formatNumberDoubleTwo(penalty_differential.toString()) , change_date, change_date);
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տӦ<EEA3AD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>
VoucherUtil.Credit(list, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "long_receivable_leasing_project_money", Tools.formatNumberDoubleTwo(penalty_differential.toString()), change_date, change_date);
}else if("BLYW".equals(leas_form)){
//<2F><><EFBFBD><EFBFBD>
}
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
}
}
//<2F><>Ϣ
if("<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>".equals(flow_name)){
List<BizObject> list1 = JBOHelper.queryList("C1_FUND_RENT_PLAN",
"SELECT SUM(o.INTEREST_BUSINESS)-SUM(p.INTEREST_BUSINESS), o.contract_id FROM o LEFT JOIN jbo.com.tenwa.rent.entity.rent.CONTRACT_FUND_RENT_PLAN p ON p.contract_id=o.contract_id AND p.rent_list=o.rent_list WHERE o.flow_unid='"+flow_unid+"' GROUP BY o.contract_id");
if(list1 == null || list1.size() == 0){
return;
}else{
for (int i = 0; i < list1.size(); i++) {
penalty_differential = new BigDecimal(list1.get(i).getAttribute("SUM(o.INTEREST_BUSINESS)-SUM(p.INTEREST_BUSINESS)").getString());
contract_id = list1.get(i).getAttribute("contract_id").getString();
headMap.put("contract_id", contract_id);
BizObject bo = JBOHelper.querySingle("CONTRACT_INFO", "select * from O where id=:Id", contract_id);
if(bo!=null)leas_form = bo.getAttribute("leas_form").toString();
change_date = DateTool.getToday("yyyy/MM/dd");//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
if(penalty_differential.compareTo(BigDecimal.ZERO)!=0){//<2F><>Ϣ<EFBFBD><EFBFBD><EEB2BB><EFBFBD><EFBFBD>0
if("RZZL".equals(leas_form)){
//ժҪ <09><><EFBFBD><EFBFBD>
//<2F><> δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
VoucherUtil.Debit(list, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "unconfirmed_financing_income_financing_income",Tools.formatNumberDoubleTwo(penalty_differential.toString()) , change_date, change_date);
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<EFBFBD><><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>
VoucherUtil.Credit(list, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "long_receivable_leasing_project_money", Tools.formatNumberDoubleTwo(penalty_differential.toString()), change_date, change_date);
}else if("SHHZ".equals(leas_form)){
//ժҪ <09><><EFBFBD><EFBFBD>
//<2F><> δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
VoucherUtil.Debit(list, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "unconfirmed_financing_income_financing_income", Tools.formatNumberDoubleTwo(penalty_differential.toString()) , change_date, change_date);
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տӦ<EEA3AD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>
VoucherUtil.Credit(list, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "long_receivable_leasing_project_money", Tools.formatNumberDoubleTwo(penalty_differential.toString()), change_date, change_date);
}else if("BLYW".equals(leas_form)){
//<2F><><EFBFBD><EFBFBD>
}
}
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
}
}
}
/*//<2F><><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if("<22><><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".equals(flow_name)){
//<2F><><EFBFBD><EFBFBD>contract_id <20><>ȡCONTRACT_FUND_RENT_PLAN<41><4E><EFBFBD>е<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>Ϣ------ԭ<><D4AD>Ϣ<EFBFBD><CFA2>Ϣ
BizObjectManager bm1 = JBOFactory.getBizObjectManager("jbo.com.tenwa.rent.entity.rent.CONTRACT_FUND_RENT_PLAN");
BizObjectQuery bq1 = bm1.createQuery("select * from O where contract_id=:Contract_id");
bq1.setParameter("Contract_id", contract_id);
List<BizObject> bos1 = bq1.getResultList(false);
if(bos1 != null || bos1.size() > 0){
for (int i = 0; i < bos1.size(); i++) {
old_all_penalty = old_all_penalty.add(new BigDecimal(bos1.get(i).getAttribute("INTEREST_BUSINESS").toString()));
}
}
//<2F><><EFBFBD><EFBFBD>flow_unid <20><>ȡ CONTRACT_CHANGE_INFO_TEMP <20>еı<D0B5><C4B1><EFBFBD>ʱ<EFBFBD><CAB1>
BizObject biz = JBOHelper.querySingle(CONTRACT_CHANGE_INFO_TEMP.CLASS_NAME, "select * from o where o.flow_unid=:flow_unid", flow_unid);
if(biz!=null)change_date = biz.getAttribute("change_date").getString();
//<2F><><EFBFBD><EFBFBD>flow_unid <20><>ȡC1_FUND_RENT_PLAN<41><4E><EFBFBD>е<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>Ϣ--------<2D><><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>Ϣ
BizObjectManager bm3 = JBOFactory.getBizObjectManager("jbo.com.tenwa.rent.entity.rent.C1_FUND_RENT_PLAN");
BizObjectQuery bq3 = bm3.createQuery("select * from O where flow_unid=:flow_unid");
bq3.setParameter("flow_unid", flow_unid);
List<BizObject> bos3 = bq3.getResultList(false);
if(bos3 != null || bos3.size() > 0){
for (int i = 0; i < bos3.size(); i++) {
now_all_penalty = now_all_penalty.add(new BigDecimal(bos3.get(i).getAttribute("INTEREST_BUSINESS").toString()));
}
}
penalty_differential = old_all_penalty.subtract(now_all_penalty);
if("RZZL".equals(leas_form)){
//ժҪ <09><><EFBFBD><EFBFBD>
//<2F><> δʵ<CEB4><CAB5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><E6A1AA>δʵ<CEB4><CAB5><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
VoucherUtil.Debit(list, "<22><><EFBFBD><EFBFBD>", "unconfirmed_interest_income_interest_income",Tools.formatNumberDoubleTwo(penalty_differential.toString()) , change_date);
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տӦ<EEA3AD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޿<DEBF><EEA1AA><EFBFBD>ͻ<EFBFBD>
VoucherUtil.Credit(list, "<22><><EFBFBD><EFBFBD>", "long_receivable_leasing_money_cust", Tools.formatNumberDoubleTwo(penalty_differential.toString()), change_date);
}else if("SHHZ".equals(leas_form)){
//ժҪ <09><><EFBFBD><EFBFBD>
//<2F><> δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A1AA>δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
VoucherUtil.Debit(list, "<22><><EFBFBD><EFBFBD>", "unconfirmed_lease_income_lease_income", Tools.formatNumberDoubleTwo(penalty_differential.toString()) , change_date);
//<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տӦ<EEA3AD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>
VoucherUtil.Credit(list, "<22><><EFBFBD><EFBFBD>", "long_receivable_leasing_project_money", Tools.formatNumberDoubleTwo(penalty_differential.toString()), change_date);
}else if("BLYW".equals(leas_form)){
//<2F><><EFBFBD><EFBFBD>
}
}*/
}
}
//<2F><>ĩ<EFBFBD><C4A9><EFBFBD><EFBFBD>
public void createVoucher_rentmonth(String contract_id,String handling_fee,String interest,String account_date ,BizObject CurUser, JBOTransaction tx) throws Exception {
//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD>
if("true".equals(control_)){
HashMap<String, String> headMap = new HashMap<String, String>();
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
headMap.put("contract_id", contract_id);
headMap.put("moduleName", "<EFBFBD><EFBFBD>ĩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
BigDecimal handling_ = new BigDecimal(handling_fee);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BigDecimal interest_ = new BigDecimal(interest);//<2F><>Ϣ
BigDecimal tax = new BigDecimal(0.17);//
BigDecimal taxrate = tax.divide(tax.add(BigDecimal.ONE),2);//˰<><CBB0>
String leas_form = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
String clientname = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
String project_name = null;//<2F><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>
BizObject bo = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO")
.createQuery("select c.customername ,o.leas_form,o.project_name from O,jbo.app.CUSTOMER_INFO C where o.cust_id=c.customerid and id=:Id")
.setParameter("Id", contract_id)
.getSingleResult(false);
if(bo!=null) {
leas_form = bo.getAttribute("leas_form").toString();
clientname = bo.getAttribute("customername").toString();
project_name = bo.getAttribute("project_name").toString();
}
if(CurUser==null){//<2F><>ĩ<EFBFBD><C4A9><EFBFBD><EFBFBD>û<EFBFBD>е<EFBFBD>ǰ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
CurUser = new BizObject(USER_INFO.CLASS_NAME);
}
if("RZZL".equals(leas_form)){
//ժҪ ȷ<><C8B7>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
if(interest_.compareTo(BigDecimal.ZERO)==1){
//<2F><> δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD> <09><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, "ȷ<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "unconfirmed_financing_income_financing_income", Tools.formatNumberDoubleTwo(interest_.toString()), account_date, account_date);
//<2F><> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA1AA>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD> <09><>Ϣ
VoucherUtil.Credit(list, "ȷ<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "lease_income_direct_lease_income", Tools.formatNumberDoubleTwo(interest_.toString()), account_date, account_date);
voucherToV8Service.saveV8Message(headMap, list, CurUser, tx);
list.clear();
}
//ժҪ ȷ<><C8B7>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(handling_.compareTo(BigDecimal.ZERO)==1){
//<2F><> Ԥ<><D4A4><EFBFBD>˿<CBBF><EEA1AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD> <09><><EFBFBD><EFBFBD>˰<EFBFBD><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, "ȷ<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "advance_handling_charge_money", Tools.formatNumberDoubleTwo(handling_.multiply(taxrate).toString()), account_date, account_date);
//<2F><> <09><>Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA1AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD> <09><><EFBFBD><EFBFBD>˰<EFBFBD><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Credit(list, "ȷ<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "main_income_handling_income", Tools.formatNumberDoubleTwo(handling_.multiply(taxrate).toString()), account_date, account_date);
voucherToV8Service.saveV8Message(headMap, list, CurUser, tx);
list.clear();
}
}else if("SHHZ".equals(leas_form)){
//ժҪ ȷ<><C8B7>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
if(interest_.compareTo(BigDecimal.ZERO)==1){
//<2F><> δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD> <09><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, "ȷ<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "unconfirmed_financing_income_financing_income", Tools.formatNumberDoubleTwo(interest_.toString()), account_date, account_date);
//<2F><> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA1AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD> <09><>Ϣ
VoucherUtil.Credit(list, "ȷ<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "lease_income_leaseback_income", Tools.formatNumberDoubleTwo(interest_.toString()), account_date, account_date);
voucherToV8Service.saveV8Message(headMap, list, CurUser, tx);
list.clear();
}
//ժҪ ȷ<><C8B7>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(handling_.compareTo(BigDecimal.ZERO)==1){
//<2F><> Ԥ<><D4A4><EFBFBD>˿<CBBF><EEA1AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, "ȷ<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "advance_handling_charge_money", Tools.formatNumberDoubleTwo(handling_.toString()), account_date, account_date);
//<2F><> <09><>Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA1AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Credit(list, "ȷ<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "main_income_handling_income", Tools.formatNumberDoubleTwo(handling_.toString()), account_date, account_date);
voucherToV8Service.saveV8Message(headMap, list, CurUser, tx);
list.clear();
}
}else if("BLYW".equals(leas_form)){
//ժҪ ȷ<><C8B7>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
if(interest_.compareTo(BigDecimal.ZERO)==1){
//<2F><> Ӧ<><D3A6><EFBFBD><EFBFBD>Ϣ <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD> <09><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, "ȷ<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "interest_receivable", Tools.formatNumberDoubleTwo(interest_.toString()), account_date, account_date);
//<2F><> <09><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EBA1AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD> <09><>Ϣ
VoucherUtil.Credit(list, "ȷ<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "interest_income_factoring", Tools.formatNumberDoubleTwo(interest_.toString()), account_date, account_date);
voucherToV8Service.saveV8Message(headMap, list, CurUser, tx);
list.clear();
}
//ժҪ ȷ<><C8B7>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><>Ŀ+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(handling_.compareTo(BigDecimal.ZERO)==1){
//<2F><> Ԥ<><D4A4><EFBFBD>˿<CBBF><EEA1AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD> <09><><EFBFBD><EFBFBD>˰<EFBFBD><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, "ȷ<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "advance_handling_charge_money", Tools.formatNumberDoubleTwo(handling_.multiply(taxrate).toString()), account_date, account_date);
//<2F><> <09><>Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA1AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD> <09><><EFBFBD><EFBFBD>˰<EFBFBD><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Credit(list, "ȷ<EFBFBD><EFBFBD>"+clientname+"<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "main_income_handling_income", Tools.formatNumberDoubleTwo(handling_.multiply(taxrate).toString()), account_date, account_date);
voucherToV8Service.saveV8Message(headMap, list, CurUser, tx);
list.clear();
}
}
}
}
//<2F>ɱ<EFBFBD><C9B1><EFBFBD>̯
public void createVoucher_costSharing(BigDecimal interest,BigDecimal handling, BizObject CurUser,Map<String,String> paraMap, JBOTransaction tx) throws Exception {
//<2F><><EFBFBD><EFBFBD>ƾ֤<C6BE><D6A4><EFBFBD><EFBFBD>
// if("true".equals(control_)){
// HashMap<String, String> headMap = new HashMap<String, String>();
// List<Map<String,String>> listVoucher = new ArrayList<Map<String,String>>();
// String bill_id = paraMap.get("bill_id");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD>
// String accured_month = paraMap.get("accured_month");//<2F><><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>
// String loan_contract_id = paraMap.get("loan_contract_id");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
// headMap.put("moduleName", bill_id+"-<2D>ɱ<EFBFBD><C9B1><EFBFBD>̯");
// headMap.put("voucherType","costSharing");
// headMap.put("loan_contract_id", loan_contract_id);
// headMap.put("bill_id", bill_id);
// headMap.put("accured_month", accured_month);
// List<Map<String, BigDecimal>> listMap = new ArrayList<Map<String, BigDecimal>>();
// BigDecimal allOverCorpus = BigDecimal.ZERO;//<2F><><EFBFBD>к<EFBFBD>ͬ<EFBFBD><CDAC>ʣ<EFBFBD><CAA3>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD>𣬼<EFBFBD><F0A3ACBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ķ<EFBFBD>ĸֵ
// Calendar cal = Calendar.getInstance();
// BigDecimal days = new BigDecimal(cal.getActualMaximum(Calendar.DATE));//<2F><>ǰ<EFBFBD>·ݵ<C2B7><DDB5><EFBFBD><EFBFBD><EFBFBD>
//
// Conn conn = new Conn();
// //new_sql<71><6C><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>̯<EFBFBD><CCAF>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// String new_sql = "SELECT * from o where o.contract_status>30 AND o.contract_status<100 "
// + "AND NVL(o.is_cost,'Y')='Y' AND v.to_char(v.SYSDATE,'yyyy/mm/dd')<=nvl(cost_end_date,v.to_char(v.SYSDATE,'yyyy/mm/dd'))";
// String old_sql = "select * from o where o.contract_status>30 AND o.contract_status<100";
// List<BizObject> listC = JBOHelper.queryList("CONTRACT_INFO.CLASS_NAME", new_sql);
// for (int i = 0; i < listC.size(); i++) {
// Map<String,BigDecimal> map = new HashMap<String,BigDecimal>();//<2F><>map:<3A><>ͬ<EFBFBD><CDAC><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>Ӧ<EFBFBD>ķ<EFBFBD><C4B7>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7>ӣ<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// String contract_id = listC.get(i).getAttribute("id").toString();//contract_info <20><><EFBFBD><EFBFBD>id
// String sql = "SELECT (a.corpus - nvl(b.corpus,0))over_corpus,nvl(b.corpus,0)AS income_corpus FROM "
// + "(SELECT SUM(corpus)corpus FROM contract_fund_rent_income income WHERE income.contract_id=? "
// + "AND to_date(substr(income.hire_date,0,7),'YYYY-MM')<SYSDATE)b,"
// + "(SELECT SUM(corpus)corpus FROM contract_fund_rent_plan PLAN WHERE plan.contract_id=?)a";
// List<Map<String, String>> list = conn.executeQuery(sql, contract_id,contract_id);
// BigDecimal over_corpus = BigDecimal.ZERO;//<2F><>ֹ<EFBFBD><D6B9>ǰ<EFBFBD><C7B0>ʣ<EFBFBD><CAA3>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//
// //1<><31>2<EFBFBD><32>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// if(list.size()>0){//list.size()==1
// if("0".equals(list.get(0).get("income_corpus"))){//1<><31><EFBFBD>ѻ<EFBFBD><D1BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0,<2C><>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>==over_corpus <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7>ӣ<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//
// over_corpus = new BigDecimal(StringUtil.nullToString(list.get(0).get("over_corpus"), "0"));
// map.put(contract_id, over_corpus.multiply(days));
// listMap.add(map);
// allOverCorpus = allOverCorpus.add(over_corpus.multiply(days));
// }else{//<2F><><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>¼
//
// over_corpus = new BigDecimal(StringUtil.nullToString(list.get(0).get("over_corpus"), "0"));
//
// if(over_corpus.compareTo(BigDecimal.ZERO)==0){
// continue;//ʣ<><CAA3>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0,<2C>򲻶Ըú<D4B8>ͬ<EFBFBD><CDAC><EFBFBD>о<EFBFBD>̯
// }
// //<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>
// String sql1 = "SELECT * FROM contract_fund_rent_income t WHERE t.contract_id=? "
// + " AND t.roll_back IS NULL AND SUBSTR(t.hire_date,0,7)=to_char(Sysdate,'yyyy/MM') ORDER BY t.hire_date";
// List<Map<String, String>> list1 = conn.executeQuery(sql1, contract_id);
// if(list1.size()==0){//2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>,<2C><>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>==over_corpus
// map.put(contract_id, over_corpus.multiply(days));
// listMap.add(map);
// allOverCorpus = allOverCorpus.add(over_corpus.multiply(days));
// continue;
// }else{//3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>
// int day1 = 0, day2 = 0;
// BigDecimal money1 =BigDecimal.ZERO, money2 = BigDecimal.ZERO;//money2=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7>Ӳ<EFBFBD><D3B2>ֵ<EFBFBD>ֵ <20><><EFBFBD><EFBFBD> δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<2A><><EFBFBD><EFBFBD>...
// for (int j = 0; j < list1.size(); j++) {
// day2 = Integer.parseInt(list1.get(j).get("hire_date").substring(8, 9));//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// money1 = new BigDecimal(list1.get(j).get("corpus").toString());//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// money2 = money2.add(over_corpus.multiply(new BigDecimal(day2-day1)));//
// over_corpus = over_corpus.subtract(money1);
// day1 = day2;
// }
// map.put(contract_id, money2);
// listMap.add(map);
// allOverCorpus = allOverCorpus.add(money2);
// }
// }
// }
// }
//
// BigDecimal costMoney_interest = BigDecimal.ZERO;//ÿ<><C3BF><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>
// BigDecimal costMoney_handling = BigDecimal.ZERO;//ÿ<><C3BF><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>
// BigDecimal already_interest = BigDecimal.ZERO;//<2F>Ѿ<EFBFBD><D1BE><EFBFBD>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>Ϣ
// BigDecimal already_handling = BigDecimal.ZERO;//<2F>Ѿ<EFBFBD><D1BE><EFBFBD>̯<EFBFBD><CCAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// BigDecimal already_costRate = BigDecimal.ZERO;//<2F>Ѿ<EFBFBD><D1BE><EFBFBD>̯<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
// BigDecimal costRate = BigDecimal.ZERO;//<2F><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>
// BigDecimal proj_money = BigDecimal.ZERO;//ÿ<><C3BF><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<2A><><EFBFBD><EFBFBD>
// //BigDecimal b = BigDecimal.ZERO;//<2F><><EFBFBD>Ծ<EFBFBD>̯<EFBFBD><CCAF>ֵ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD>
// String contract_id = null;//<2F><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>
// //String leas_form = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
// //<2F><><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>ͬ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ɳɱ<C9B3><C9B1><EFBFBD>̯
// for (int i = 0; i < listMap.size(); i++) {
// for (Map.Entry<String,BigDecimal> j : listMap.get(i).entrySet()) {
// contract_id = j.getKey();
// proj_money = j.getValue();
// costRate = proj_money.divide(allOverCorpus,6,BigDecimal.ROUND_HALF_UP);//<2F><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>=(δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<2A><><EFBFBD><EFBFBD>/<2F><><EFBFBD>к<EFBFBD>ͬ<EFBFBD><CDAC> δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<2A><><EFBFBD><EFBFBD>)
// costMoney_interest = costRate.multiply(interest).divide(new BigDecimal("1"),2,BigDecimal.ROUND_HALF_UP);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λС<CEBB><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// costMoney_handling = costRate.multiply(handling).divide(new BigDecimal("1"),2,BigDecimal.ROUND_HALF_UP);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λС<CEBB><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// if(i==listMap.size()-1){//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ͬ<EFBFBD>ľ<EFBFBD>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>=<3D>ܽ<EFBFBD><DCBD><EFBFBD>-<2D>ѷ<EFBFBD>̯<EFBFBD><CCAF><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD>̯<EFBFBD><CCAF><EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><DCBD><EFBFBD><EEB3AC>Ҫ<EFBFBD><D2AA>̯<EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>),<2C><><EFBFBD><EFBFBD>=1-<2D>ѷ<EFBFBD>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>
// costRate = BigDecimal.ONE.subtract(already_costRate);
// costMoney_interest = interest.subtract(already_interest);
// costMoney_handling = handling.subtract(already_handling);
// }
// already_interest = already_interest.add(costMoney_interest);
// already_handling = already_handling.add(costMoney_handling);
// already_costRate = already_costRate.add(costRate);
// //headMap.put("contract_id", contract_id);
// //ժҪ<D5AA><D2AA><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD>̯
// //interest<73><74>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>handling<6E><67>̯<EFBFBD><CCAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>costRateÿ<65><C3BF><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>̯<EFBFBD><CCAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>Ӧ<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD>
// if(costMoney_interest.compareTo(BigDecimal.ZERO)==1){
// //<2F><> <09><>Ӫҵ<D3AA><D2B5><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޳ɱ<DEB3><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ֧<CFA2><D6A7>
// VoucherUtil.DebitCostSharing(listVoucher, "<22>ɱ<EFBFBD><C9B1><EFBFBD>̯", "main_biz_cost_lease_cost_interest_pay", Tools.formatNumberDoubleTwo(costMoney_interest.toString()),
// DateUtil.getToday(), DateUtil.getToday(),contract_id,Tools.formatNumberDoubleTwo(interest.toString()),Tools.formatNumberDoubleTwo(handling.toString()),Tools.formatNumberDoubleTwo(costRate.toString()));
// //<2F><> Ӧ<><D3A6><EFBFBD><EFBFBD>Ϣ
// VoucherUtil.CreditCostSharing(listVoucher, "<22>ɱ<EFBFBD><C9B1><EFBFBD>̯", "interest_payables", Tools.formatNumberDoubleTwo(costMoney_interest.toString()),
// DateUtil.getToday(), DateUtil.getToday(),contract_id,Tools.formatNumberDoubleTwo(interest.toString()),Tools.formatNumberDoubleTwo(handling.toString()),Tools.formatNumberDoubleTwo(costRate.toString()));
// }
// if(costMoney_handling.compareTo(BigDecimal.ZERO)==1){
// //<2F><> <09><>Ӫҵ<D3AA><D2B5><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޳ɱ<DEB3><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>
// VoucherUtil.DebitCostSharing(listVoucher, "<22>ɱ<EFBFBD><C9B1><EFBFBD>̯", "main_biz_cost_lease_cost_handling_pay", Tools.formatNumberDoubleTwo(costMoney_handling.toString()),
// DateUtil.getToday(), DateUtil.getToday(),contract_id,Tools.formatNumberDoubleTwo(interest.toString()),Tools.formatNumberDoubleTwo(handling.toString()),Tools.formatNumberDoubleTwo(costRate.toString()));
// //<2F><> <09><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>-<2D><>λ
// VoucherUtil.CreditCostSharing(listVoucher, "<22>ɱ<EFBFBD><C9B1><EFBFBD>̯", "other_payables_company", Tools.formatNumberDoubleTwo(costMoney_handling.toString()),
// DateUtil.getToday(), DateUtil.getToday(),contract_id,Tools.formatNumberDoubleTwo(interest.toString()),Tools.formatNumberDoubleTwo(handling.toString()),Tools.formatNumberDoubleTwo(costRate.toString()));
//
// }
//
//
// //System.out.println(costMoney);
// //b = b.add(costMoney);
// }
// }
//
// voucherToV8Service.saveV8Message(headMap, listVoucher, CurUser, tx);
// listVoucher.clear();
// headMap.remove(contract_id);
// //System.out.println(b);
// conn.close();
// }
}
//ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>̯)
public void createVoucher_confirmincome(String start_time,String end_time,BizObject CurUser, JBOTransaction tx) throws Exception {
Map<String, String> headMap = new HashMap<String, String>();
headMap.put("moduleName", "ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>̯)");
//<2F><>ѯcontract_fund_rent_income<6D><65>
BizObjectManager bm = JBOFactory.getBizObjectManager("jbo.com.tenwa.rent.entity.rent.CONTRACT_FUND_RENT_INCOME");
BizObjectQuery bq = bm.createQuery("select * from O where accounting_date >= :accounting_date_start and accounting_date <= :accounting_date_end");
bq.setParameter("accounting_date_start", start_time);
bq.setParameter("accounting_date_end", end_time);
List<BizObject> bos = bq.getResultList(false);
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String id = null;//contract_fund_rent_income_temp<6D><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
String contract_id = null;
String contract_number = null;//ҵ<><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
BigDecimal interest = BigDecimal.ZERO;
String accounting_date = null;
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String curDate = sdf.format(date);
if(bos == null || bos.size() == 0){
return;
}else{
for(int i=0;i<bos.size();i++){
interest = new BigDecimal(bos.get(i).getAttribute("interest").getString());
accounting_date = bos.get(i).getAttribute("accounting_date").getString();
id = bos.get(i).getAttribute("id").getString();
contract_id = bos.get(i).getAttribute("contract_id").getString();
headMap.put("contract_id",contract_id);
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>contract_number,ǰ<><C7B0><EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObjectManager bm2 = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO");
BizObjectQuery bq2 = bm2.createQuery("select * from O where id=:Contract_id");
bq2.setParameter("Contract_id", contract_id);
BizObject bos2 = bq2.getSingleResult(false);
contract_number = bos2.getAttribute("contract_number").toString();//ҵ<><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if(interest.compareTo(BigDecimal.ZERO) == 1){
//<2F><><EFBFBD><EFBFBD>planorincome_id<69><64>ѯcreate_voucher_status<75><73><EFBFBD><EFBFBD>is_create_voucher
BizObjectManager bm1 = JBOFactory.getBizObjectManager("jbo.app.CREATE_VOUCHER_STATUS");
BizObjectQuery bq1 = bm1.createQuery("select * from O where planorincome_id=:Id");
bq1.setParameter("Id", id);
BizObject bos1 = bq1.getSingleResult(false);
if(bos1 == null){
// <20><>:δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, contract_number+"ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_interest", Tools.formatNumberDoubleTwo(interest.toString()), accounting_date, accounting_date);
// <20><>:<3A><>Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD>-<2D><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
VoucherUtil.Credit(list, contract_number+"ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","main_income_interest_income",Tools.formatNumberDoubleTwo(interest.toString()),accounting_date, accounting_date);
//<2F><>create_voucher_status<75><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BizObjectManager bom = JBOFactory.getBizObjectManager("CREATE_VOUCHER_STATUS.CLASS_NAME");
BizObject bo = bom.newObject();
bo.setAttributeValue("planorincome_id",id);
bo.setAttributeValue("money_type","rent");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
bo.setAttributeValue("is_create_voucher","Y");
bo.setAttributeValue("inputuserid","admin");
bo.setAttributeValue("inputtime",curDate);
bom.saveObject(bo);
}else{
String create_voucher_status_id = bos1.getAttribute("id").toString();//create_voucher_status<75><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
String is_create_voucher = bos1.getAttribute("is_create_voucher").toString();//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ɹ<EFBFBD>ƾ֤
String money_type = bos1.getAttribute("money_type").toString();//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ɹ<EFBFBD>ƾ֤
if(!(is_create_voucher == null) && "Y".equals(is_create_voucher) && "rent".equals(money_type)){
continue;
}else{
// <20><>:δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, contract_number+"ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_interest", Tools.formatNumberDoubleTwo(interest.toString()), accounting_date, accounting_date);
// <20><>:<3A><>Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD>-<2D><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
VoucherUtil.Credit(list, contract_number+"ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","main_income_interest_income",Tools.formatNumberDoubleTwo(interest.toString()),accounting_date, accounting_date);
//<2F>޸<EFBFBD>create_voucher_status<75><73><EFBFBD><EFBFBD>is_create_voucher
BizObjectManager bom = JBOFactory.getBizObjectManager("jbo.app.CREATE_VOUCHER_STATUS");
BizObjectQuery boq = bom.createQuery("update O set is_create_voucher='Y' where id=:Create_voucher_status_id");
boq.setParameter("Create_voucher_status_id", create_voucher_status_id);
boq.executeUpdate();
}
}
}
}
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
}
}
//<2F><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>
public void createVoucher_sharetotal(String start_time, String end_time,BizObject CurUser, JBOTransaction tx) throws Exception {
Map<String, String> headMap = new HashMap<String, String>();
headMap.put("moduleName", "<EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
//<2F><>ѯvoucher_help<6C><70>
BizObjectManager bm = JBOFactory.getBizObjectManager("jbo.app.VOUCHER_HELP");
BizObjectQuery bq = bm.createQuery("select * from O where date_ >= :date_start and date_ <= :date_end order by fee_type");
bq.setParameter("date_start", start_time);
bq.setParameter("date_end", end_time);
List<BizObject> bos = bq.getResultList(false);
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String id = null;//voucher_help<6C><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
String create_voucher_status_id = null;//create_voucher_status<75><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
String contract_id = null;
String contract_number = null;//ҵ<><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
String planorincome_id = null;//<2F>ƻ<EFBFBD><C6BB><EFBFBD>ʵ<EFBFBD><CAB5>id
BigDecimal norminal_price = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BigDecimal money = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD>
String money_type = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
String fee_type = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
String is_create_voucher = null;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ɹ<EFBFBD>ƾ֤
String accounting_date = null;
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String curDate = sdf.format(date);
if(bos == null || bos.size() == 0){
return;
}else{
for(int i=0;i<bos.size();i++){
money = new BigDecimal(bos.get(i).getAttribute("money").getString());
fee_type = bos.get(i).getAttribute("fee_type").getString();
id = bos.get(i).getAttribute("id").getString();
contract_id = bos.get(i).getAttribute("contract_id").getString();
is_create_voucher = bos.get(i).getAttribute("is_create_voucher").toString();
headMap.put("contract_id",contract_id);
if(!(is_create_voucher == null) && "Y".equals(is_create_voucher)){
continue;
}else{
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>contract_number,ǰ<><C7B0><EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObjectManager bm2 = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO");
BizObjectQuery bq2 = bm2.createQuery("select * from O where id=:Contract_id");
bq2.setParameter("Contract_id", contract_id);
BizObject bos2 = bq2.getSingleResult(false);
contract_number = bos2.getAttribute("contract_number").toString();//ҵ<><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if("feetype1".equals(fee_type) && money.compareTo(BigDecimal.ZERO) == 1){
// <20><>:δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, contract_number+"ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_handling_income", Tools.formatNumberDoubleTwo(money.toString()), accounting_date, accounting_date);
// <20><>:<3A><>Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Credit(list, contract_number+"ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","main_income_handling_income",Tools.formatNumberDoubleTwo(money.toString()),accounting_date, accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>̷<EFBFBD><CCB7><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if("feetype6".equals(fee_type) && money.compareTo(BigDecimal.ZERO) == 1){
// <20><>:δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, contract_number+"ȷ<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_return_amt", Tools.formatNumberDoubleTwo(money.toString()), accounting_date, accounting_date);
// <20><>:<3A><>Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Credit(list, contract_number+"ȷ<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","main_income_return_amt_income",Tools.formatNumberDoubleTwo(money.toString()),accounting_date, accounting_date);
}
}
//<2F>޸<EFBFBD>voucher_help<6C><70><EFBFBD><EFBFBD>is_create_voucher
BizObjectManager bom = JBOFactory.getBizObjectManager("jbo.app.VOUCHER_HELP");
BizObjectQuery boq = bom.createQuery("update O set is_create_voucher='Y' where id=:Id");
boq.setParameter("Id", id);
boq.executeUpdate();
}
//<2F><>ѯcontract_fund_fund_charge<67><65>
BizObjectManager bm1 = JBOFactory.getBizObjectManager("jbo.com.tenwa.fund.entity.charge.CONTRACT_FUND_FUND_CHARGE");
BizObjectQuery bq1 = bm1.createQuery("select * from O where accounting_date >= :date_start and accounting_date <= :date_end and fee_type = 'feetype4'");
bq1.setParameter("date_start", start_time);
bq1.setParameter("date_end", end_time);
List<BizObject> bos1 = bq1.getResultList(false);
if(bos1 == null){
return;
}else{
for(int i=0;i<bos1.size();i++){
contract_id = bos1.get(i).getAttribute("contract_id").toString();
fee_type = bos1.get(i).getAttribute("fee_type").toString();
planorincome_id = bos1.get(i).getAttribute("id").toString();//contract_fund_fund_charge_temp<6D><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
norminal_price = new BigDecimal(bos1.get(i).getAttribute("fact_money").toString());
if("feetype4".equals(fee_type)){
//<2F><><EFBFBD><EFBFBD>planorincome_id<69><64>ѯcreate_voucher_status<75><73><EFBFBD><EFBFBD>is_create_voucher
BizObjectManager bm4 = JBOFactory.getBizObjectManager("jbo.app.CREATE_VOUCHER_STATUS");
BizObjectQuery bq4 = bm4.createQuery("select * from O where planorincome_id=:Planorincome_id");
bq4.setParameter("Planorincome_id", planorincome_id);
BizObject bos4 = bq4.getSingleResult(false);
if(bos4 == null){
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>contract_number,ǰ<><C7B0><EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObjectManager bm3 = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO");
BizObjectQuery bq3 = bm3.createQuery("select * from O where id=:Contract_id");
bq3.setParameter("Contract_id", contract_id);
BizObject bos3 = bq3.getSingleResult(false);
contract_number = bos3.getAttribute("contract_number").toString();//ҵ<><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
// <20><>:δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, contract_number+"ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_norminal_price", Tools.formatNumberDoubleTwo(norminal_price.toString()), accounting_date, accounting_date);
// <20><>:<3A><>Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Credit(list, contract_number+"ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","main_income_norminal_price",Tools.formatNumberDoubleTwo(norminal_price.toString()), accounting_date,accounting_date);
//<2F><>create_voucher_status<75><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BizObjectManager bom = JBOFactory.getBizObjectManager("CREATE_VOUCHER_STATUS.CLASS_NAME");
BizObject bo = bom.newObject();
bo.setAttributeValue("planorincome_id",planorincome_id);
bo.setAttributeValue("money_type","fund");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ʽ<EFBFBD>
bo.setAttributeValue("is_create_voucher","Y");
bo.setAttributeValue("inputuserid","admin");
bo.setAttributeValue("inputtime",curDate);
bom.saveObject(bo);
}else{
is_create_voucher = bos4.getAttribute("is_create_voucher").toString();//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ɹ<EFBFBD>ƾ֤
money_type = bos4.getAttribute("money_type").toString();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
create_voucher_status_id = bos4.getAttribute("id").toString();//create_voucher_status<75><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
if(!(is_create_voucher == null) && "Y".equals(is_create_voucher) && "fund".equals(money_type)){
continue;
}else{
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>contract_number,ǰ<><C7B0><EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObjectManager bm3 = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO");
BizObjectQuery bq3 = bm3.createQuery("select * from O where id=:Contract_id");
bq3.setParameter("Contract_id", contract_id);
BizObject bos3 = bq3.getSingleResult(false);
contract_number = bos3.getAttribute("contract_number").toString();//ҵ<><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
// <20><>:δʵ<CEB4><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, contract_number+"ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_norminal_price", Tools.formatNumberDoubleTwo(norminal_price.toString()), accounting_date, accounting_date);
// <20><>:<3A><>Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Credit(list, contract_number+"ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","main_income_norminal_price",Tools.formatNumberDoubleTwo(norminal_price.toString()), accounting_date,accounting_date);
//<2F>޸<EFBFBD>create_voucher_status<75><73><EFBFBD><EFBFBD>is_create_voucher
BizObjectManager bom = JBOFactory.getBizObjectManager("jbo.app.CREATE_VOUCHER_STATUS");
BizObjectQuery boq = bom.createQuery("update O set is_create_voucher='Y' where id=:Create_voucher_status_id");
boq.setParameter("Create_voucher_status_id", create_voucher_status_id);
boq.executeUpdate();
}
}
}
}
}
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>
public void createVoucher_confirmchecked(List<BizObject> boList,BizObject CurUser, JBOTransaction tx) throws Exception {
BigDecimal totalMoney = BigDecimal.ZERO;
String contract_number = null;//ҵ<><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
String contract_id = null;
String str = null;
StringBuilder sb = new StringBuilder();
String plan_list = null;
BigDecimal rent = BigDecimal.ZERO;
BigDecimal interest = BigDecimal.ZERO;
BigDecimal taxrate = BigDecimal.ZERO;
BigDecimal tax = BigDecimal.ZERO;
BigDecimal rate = new BigDecimal(0.17);
String hire_object = null;
BigDecimal penalty = BigDecimal.ZERO;
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String accounting_date = null;
Map<String, String> headMap = new HashMap<String, String>();
if(boList == null || boList.size() == 0){
return;
}else{
for(int i=0;i<boList.size();i++){
contract_id = boList.get(i).getAttribute("contract_id").toString();
accounting_date = boList.get(i).getAttribute("accounting_date").getString();
plan_list = boList.get(i).getAttribute("plan_list").getString();
hire_object = boList.get(i).getAttribute("hire_object").getString();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
rent = new BigDecimal(boList.get(i).getAttribute("rent").getString());
interest = new BigDecimal(boList.get(i).getAttribute("interest").getString());
penalty = new BigDecimal(boList.get(i).getAttribute("penalty").getString());//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_fund_rent_plan_temp<6D><70><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BizObjectManager bm3 = JBOFactory.getBizObjectManager("jbo.com.tenwa.rent.entity.rent.CONTRACT_FUND_RENT_PLAN_TEMP");
BizObjectQuery bq3 = bm3.createQuery("select * from O where contract_id=:Contract_id");
bq3.setParameter("Contract_id", contract_id);
List<BizObject> bos3 = bq3.getResultList(false);
int totalList = bos3.size();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>leas_form,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>contract_id<69><64>contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
BizObject bo = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO")
.createQuery("select * from O where id=:Id")
.setParameter("Id", contract_id)
.getSingleResult(false);
String leas_form = bo.getAttribute("leas_form").toString();
contract_number = bo.getAttribute("contract_number").toString();
str = "<EFBFBD><EFBFBD>" + totalList + "-" +plan_list;
if(sb.length() == 0){
sb.append(str);
}else{
sb.append(","+str);
}
//<2F>жϺ<D0B6>ͬΪֱ<CEAA><EFBFBD>ǻ<EFBFBD><C7BB><EFBFBD>--ֱ<><D6B1>:<3A><><EFBFBD><EFBFBD>=<3D><><EFBFBD><EFBFBD>/(1+0.17)*0.17 <20><><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD>=<3D><>Ϣ/(1+0.06)*0.06
//ֱ<><D6B1>--RZZL <20><><EFBFBD><EFBFBD>--SHHZ
if("RZZL".equals(leas_form)){
taxrate = new BigDecimal(0.17);
tax = rent.divide((taxrate.add(new BigDecimal(1))),2).multiply(taxrate);
}else if("SHHZ".equals(leas_form)){
taxrate = new BigDecimal(0.06);
tax = interest.divide((taxrate.add(new BigDecimal(1))),2).multiply(taxrate);
}
totalMoney = totalMoney.add(rent).add(penalty);
}
headMap.put("contract_id",contract_id);
headMap.put("moduleName", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
// <20>ܵĽ<DCB5>(<28><><EFBFBD>д<EFBFBD>֮<EFBFBD><D6AE>)
// <20><>:<3A><><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
VoucherUtil.Debit(list, "<EFBFBD>յ<EFBFBD>"+contract_number+sb.toString()+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","cash_in_bank", Tools.formatNumberDoubleTwo(totalMoney.toString()), accounting_date, accounting_date);
// <20><>˰<EFBFBD><CBB0><EFBFBD>Ĵ<EFBFBD>
// <20><>:<3A><><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<EFBFBD><><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޿<EFBFBD>
VoucherUtil.Credit(list, "<EFBFBD>յ<EFBFBD>"+contract_number+str+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","long_receivable_leasing_money",Tools.formatNumberDoubleTwo(rent.toString()), accounting_date,accounting_date);
if(penalty.compareTo(BigDecimal.ZERO) == 1){
// <20><><><D3A6><EFBFBD>˿<EFBFBD>
VoucherUtil.Credit(list, hire_object+contract_number+"<EFBFBD><EFBFBD>Ϣ","account_receivable",Tools.formatNumberDoubleTwo(penalty.toString()), accounting_date,accounting_date);
}
if(tax.compareTo(BigDecimal.ZERO) == 1){
// <20><><EFBFBD><EFBFBD>˰<EFBFBD><CBB0><EFBFBD>Ľ衢<C4BD><E8A1A2>
// <20><>:δȷ<CEB4><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><CBB0>
VoucherUtil.Debit(list, contract_number+"ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰","unconfirmed_taxmoney", Tools.formatNumberDoubleTwo(tax.toString()), accounting_date, accounting_date);
// <20><><><D3A6>˰<EFBFBD><CBB0><><D3A6><EFBFBD><EFBFBD>ֵ˰-<2D><><EFBFBD><EFBFBD>˰
VoucherUtil.Credit(list, contract_number+"ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰","tax_payable_substituted_money",Tools.formatNumberDoubleTwo(tax.toString()), accounting_date,accounting_date);
}
if(penalty.compareTo(BigDecimal.ZERO) == 1){
// <20><><EFBFBD><EFBFBD>˰<EFBFBD><CBB0><EFBFBD>Ľ衢<C4BD><E8A1A2>
// <20><><><D3A6><EFBFBD>˿<EFBFBD>
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>","account_receivable", Tools.formatNumberDoubleTwo(penalty.toString()), accounting_date, accounting_date);
// <20><>:<3A><>Ӫҵ<D3AA><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>","main_income_leasing_profit",Tools.formatNumberDoubleTwo((penalty.subtract(penalty.divide(rate.add(new BigDecimal(1)),2))).toString()), accounting_date,accounting_date);
// <20><><><D3A6>˰<EFBFBD><CBB0>
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>","tax_payable",Tools.formatNumberDoubleTwo(penalty.divide(rate.add(new BigDecimal(1)),2).toString()), accounting_date,accounting_date);
}
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
}
}
//<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>
public void createVoucher_contractonhireauto(List<BizObject> boList,BizObject CurUser,JBOTransaction tx) throws Exception {
String id = null;//contract_info<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
String contract_number = null;//ҵ<><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
String flow_unid = null;
String leas_form = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
BigDecimal taxrate = BigDecimal.ZERO;
BigDecimal equip_amt = BigDecimal.ZERO;//<2F><EFBFBD><E8B1B8>
BigDecimal return_amt = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD>
BigDecimal norminal_price = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BigDecimal first_payment = BigDecimal.ZERO;//<2F>׸<EFBFBD><D7B8><EFBFBD>
BigDecimal handling_charge_money = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BigDecimal rent_total = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>
BigDecimal interest = BigDecimal.ZERO;//<2F><>Ϣ
BigDecimal tax = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD>˰
BigDecimal lease_property = BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>(<28><><EFBFBD><EFBFBD>)
BigDecimal lease_form1_property = BigDecimal.ZERO;//ֱ<><D6B1>--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>(<28><><EFBFBD><EFBFBD>)
BigDecimal taxMoney = BigDecimal.ZERO;//˰<><CBB0>
boolean is_equip_amt = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><E8B1B8>
boolean is_return_amt = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
boolean is_norminal_price = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
boolean is_first_payment = false;//<2F>Ƿ<EFBFBD><C7B7>׸<EFBFBD><D7B8><EFBFBD>
boolean is_handling_charge_money = false;
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String accounting_date = sdf.format(date);
Map<String, String> headMap = new HashMap<String, String>();
if(boList.size() > 0){
for(int i=0;i<boList.size();i++){
id = boList.get(i).getAttribute("id").getString();
//<2F><><EFBFBD><EFBFBD>flow_name<6D><65>contract_id<69><64>ȡflow_bussiness_object<63><74><EFBFBD><EFBFBD>flow_unid
BizObjectManager bm = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.flow.FLOW_BUSSINESS_OBJECT");
BizObjectQuery bq = bm.createQuery("select * from O where flow_name=:Flow_name and contract_id=:Contract_id");
bq.setParameter("Flow_name", "<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
bq.setParameter("Contract_id", id);
BizObject bos = bq.getSingleResult(false);
flow_unid = bos.getAttribute("flow_unid").getString();
//<2F><><EFBFBD><EFBFBD>id<69><64>ѯcontract_info<66><6F><EFBFBD><EFBFBD>contract_number<65><72>leas_form
BizObjectManager bm2 = JBOFactory.getBizObjectManager("jbo.com.tenwa.entity.contract.CONTRACT_INFO");
BizObjectQuery bq2 = bm2.createQuery("select * from O where id=:Id");
bq2.setParameter("Id", id);
BizObject bos2 = bq2.getSingleResult(false);
contract_number = bos2.getAttribute("contract_number").toString();//ҵ<><D2B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
leas_form = bos2.getAttribute("leas_form").toString();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
//<2F><><EFBFBD><EFBFBD>flow_unid<69><64>contract_id<69><64>ȡcontract_fund_fund_plan_temp<6D><70><EFBFBD><EFBFBD>accounting_date(<28><><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD>)<29><>fact_money(<28><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>)
BizObjectManager bm1 = JBOFactory.getBizObjectManager("jbo.com.tenwa.fund.entity.charge.CONTRACT_FUND_FUND_PLAN_TEMP");
BizObjectQuery bq1 = bm1.createQuery("select * from O where flow_unid=:Flow_unid and contract_id=:Contract_id");
bq1.setParameter("Flow_unid", flow_unid);
bq1.setParameter("Contract_id", id);
List<BizObject> bos1 = bq1.getResultList(false);
if(!(bos1.size() == 0)){
for(int j=0;j<bos1.size();j++){
is_equip_amt = "feetype10".equals(bos1.get(j).getAttribute("fee_type").getString());
is_return_amt = "feetype6".equals(bos1.get(j).getAttribute("fee_type").getString());
is_norminal_price = "feetype4".equals(bos1.get(j).getAttribute("fee_type").getString());
is_first_payment = "feetype5".equals(bos1.get(j).getAttribute("fee_type").getString());
is_handling_charge_money = "feetype1".equals(bos1.get(j).getAttribute("fee_type").getString());
if(rent_total.compareTo(BigDecimal.ZERO) == 0){
//<2F><><EFBFBD><EFBFBD>contract_id<69><64>flow_unid<69><64>ѯC1_FUND_RENT_PLAN<41><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>
List<BizObject> bo1 = JBOFactory.getBizObjectManager("jbo.com.tenwa.rent.entity.rent.C1_FUND_RENT_PLAN")
.createQuery("select * from O where contract_id=:Contract_id and flow_unid=:Flow_unid")
.setParameter("Contract_id", id).setParameter("Flow_unid", flow_unid)
.getResultList(false);
for(int k=0;k<bo1.size();k++){
rent_total = rent_total.add(new BigDecimal(bo1.get(k).getAttribute("rent").toString()));
}
}
if("RZZL".equals(leas_form)){
taxrate = new BigDecimal(0.17);
}else if("SHHZ".equals(leas_form)){
taxrate = new BigDecimal(0.06);
}
if(is_equip_amt){
equip_amt = new BigDecimal(bos1.get(j).getAttribute("plan_money").getString());
interest = rent_total.subtract(equip_amt).divide(taxrate.add(BigDecimal.ONE),2);
tax = equip_amt.divide(taxrate.add(BigDecimal.ONE),2).multiply(taxrate);
lease_form1_property = equip_amt.subtract(tax);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><E8B1B8>
if(is_return_amt){
return_amt = new BigDecimal(bos1.get(j).getAttribute("plan_money").getString());
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(is_norminal_price){
norminal_price = new BigDecimal(bos1.get(j).getAttribute("plan_money").getString());
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>׸<EFBFBD><D7B8><EFBFBD>
if(is_first_payment){
first_payment = new BigDecimal(bos1.get(j).getAttribute("plan_money").getString());
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(is_handling_charge_money){
handling_charge_money = new BigDecimal(bos1.get(j).getAttribute("plan_money").getString());
}
}
}
}
}
headMap.put("contract_id",id);
headMap.put("moduleName", "<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
//<2F>жϺ<D0B6>ͬΪֱ<CEAA><EFBFBD>ǻ<EFBFBD><C7BB><EFBFBD>
//ֱ<><D6B1>--RZZL <20><><EFBFBD><EFBFBD>--SHHZ
if("RZZL".equals(leas_form)){
if(equip_amt.compareTo(BigDecimal.ZERO) == 1){
// <20><EFBFBD><E8A3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","leasing_property", Tools.formatNumberDoubleTwo(lease_form1_property.toString()), accounting_date, accounting_date);
// <20><EFBFBD><E8A3BA><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<EFBFBD>-<2D><><EFBFBD><EFBFBD>˰
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","other_receivable_withholdings", Tools.formatNumberDoubleTwo(tax.toString()), accounting_date, accounting_date);
// <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>˿<EFBFBD>-<2D><EFBFBD><E8B1B8>
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","account_payable_equip_amt",Tools.formatNumberDoubleTwo(equip_amt.toString()), accounting_date,accounting_date);
}
}else if("SHHZ".equals(leas_form)){
if(equip_amt.compareTo(BigDecimal.ZERO) == 1){
// <20><EFBFBD><E8A3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","leasing_property", Tools.formatNumberDoubleTwo(equip_amt.toString()), accounting_date, accounting_date);
// <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>˿<EFBFBD>-<2D><EFBFBD><E8B1B8>
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","account_payable_equip_amt",Tools.formatNumberDoubleTwo(equip_amt.toString()), accounting_date,accounting_date);
}
}
// <20><EFBFBD><E8A3BA><EFBFBD><EFBFBD>Ӧ<EFBFBD>տ<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","long_receivable_leasing_money", Tools.formatNumberDoubleTwo(rent_total.toString()), accounting_date, accounting_date);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if(return_amt.compareTo(BigDecimal.ZERO) == 1){
// <20>裺Ԥ<E8A3BA><D4A4><EFBFBD>˿<EFBFBD>-<2D><><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","advance_return_amt", Tools.formatNumberDoubleTwo(return_amt.toString()), accounting_date, accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD><DBBF><EFBFBD><EFBFBD><EFBFBD>0
if(norminal_price.compareTo(BigDecimal.ZERO) == 1){
// <20>裺Ԥ<E8A3BA><D4A4><EFBFBD>˿<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","advance_norminal_price", Tools.formatNumberDoubleTwo(norminal_price.toString()), accounting_date, accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD>׸<EFBFBD><D7B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if(first_payment.compareTo(BigDecimal.ZERO) == 1){
// <20>裺Ԥ<E8A3BA><D4A4><EFBFBD>˿<EFBFBD>-<2D>׸<EFBFBD><D7B8><EFBFBD>
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","advance_first_payment", Tools.formatNumberDoubleTwo(first_payment.toString()), accounting_date, accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD>0
if(handling_charge_money.compareTo(BigDecimal.ZERO) == 1){
// <20>裺Ԥ<E8A3BA><D4A4><EFBFBD>˿<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VoucherUtil.Debit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","advance_handling_charge_money", Tools.formatNumberDoubleTwo(handling_charge_money.toString()), accounting_date, accounting_date);
}
//-----<2D><>
if("RZZL".equals(leas_form)){
//ֱ<><D6B1>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ľ裺<C4BD><E8A3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2><C6B2><EFBFBD>ֵ(lease_form1_property)
lease_property = lease_form1_property;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","leasing_property",Tools.formatNumberDoubleTwo(lease_property.toString()), accounting_date,accounting_date);
}else if("SHHZ".equals(leas_form)){
//<2F><><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><E8B1B8>(equip_amt)
lease_property = equip_amt;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","leasing_property",Tools.formatNumberDoubleTwo(lease_property.toString()), accounting_date,accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>0
if(interest.compareTo(BigDecimal.ZERO) == 1){
// <20><><EFBFBD><EFBFBD>δȷ<CEB4><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>Ϣ
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_interest",Tools.formatNumberDoubleTwo(interest.toString()), accounting_date,accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if(return_amt.compareTo(BigDecimal.ZERO) == 1){
// <20><><EFBFBD><EFBFBD>δȷ<CEB4><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>--<2D><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>/taxrate
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_return_amt",Tools.formatNumberDoubleTwo(return_amt.divide(taxrate.add(BigDecimal.ONE),2).toString()), accounting_date,accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
if(norminal_price.compareTo(BigDecimal.ZERO) == 1){
// <20><><EFBFBD><EFBFBD>δȷ<CEB4><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/taxrate
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_norminal_price",Tools.formatNumberDoubleTwo(norminal_price.divide(taxrate.add(BigDecimal.ONE),2).toString()), accounting_date,accounting_date);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD>0
if(handling_charge_money.compareTo(BigDecimal.ZERO) == 1){
// <20><><EFBFBD><EFBFBD>δȷ<CEB4><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/taxrate
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_handling_income",Tools.formatNumberDoubleTwo(handling_charge_money.divide(taxrate.add(BigDecimal.ONE),2).toString()), accounting_date,accounting_date);
}
taxMoney = rent_total.add(return_amt).add(norminal_price).add(first_payment).add(handling_charge_money).subtract(lease_property.add(interest).add(return_amt.divide(taxrate.add(BigDecimal.ONE),2)).add(norminal_price.divide(taxrate.add(BigDecimal.ONE),2)).add(handling_charge_money.divide(taxrate.add(BigDecimal.ONE),2)));
// <20><><EFBFBD><EFBFBD>δȷ<CEB4><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><CBB0>--<2D><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>+<2B>׸<EFBFBD><D7B8><EFBFBD><EFBFBD>ܶ<EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲Ʋ<DEB2>-<2D><>Ϣ-<2D><><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>)
VoucherUtil.Credit(list, contract_number+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","unconfirmed_taxmoney",Tools.formatNumberDoubleTwo(taxMoney.toString()), accounting_date,accounting_date);
voucherToV8Service.saveV8Message(headMap, list, CurUser,tx);
}
@Override
public void createVoucher(JBOTransaction tx, Map<String, String> param) {
}
}