凭证修改

This commit is contained in:
chenleiying 2021-03-24 16:36:13 +08:00
parent 6b82775d94
commit 53877f44a4
4 changed files with 592 additions and 454 deletions

View File

@ -0,0 +1,24 @@
package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherLoan;
import java.util.HashMap;
import java.util.Map;
import com.amarsoft.are.jbo.JBOTransaction;
import com.tenwa.comm.exception.BusinessException;
import com.tenwa.voucher.service.VoucherJavaParamService;
public class FundofDiscountInterest implements VoucherJavaParamService{
@Override
public Map<String, String> getJavaParam(JBOTransaction tx,
Map<String, String> param,Map<String, String> subData) throws BusinessException {
Map<String,String>returnValue=new HashMap<String,String>();
returnValue.putAll(param);
// GPS
String DISCOUNT_INTEREST=param.get("DISCOUNT_INTEREST")==null?"0.00":param.get("DISCOUNT_INTEREST");
//returnValue.put("FUNDTYPE","01");
returnValue.put("MONEY",DISCOUNT_INTEREST);
return returnValue;
}
}

View File

@ -0,0 +1,24 @@
package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherLoan;
import java.util.HashMap;
import java.util.Map;
import com.amarsoft.are.jbo.JBOTransaction;
import com.tenwa.comm.exception.BusinessException;
import com.tenwa.voucher.service.VoucherJavaParamService;
public class FundofPersonalInsurance implements VoucherJavaParamService{
@Override
public Map<String, String> getJavaParam(JBOTransaction tx,
Map<String, String> param,Map<String, String> subData) throws BusinessException {
Map<String,String>returnValue=new HashMap<String,String>();
returnValue.putAll(param);
// GPS
String PERSONAL_INSURANCE=param.get("PERSONAL_INSURANCE")==null?"0.00":param.get("PERSONAL_INSURANCE");
//returnValue.put("FUNDTYPE","01");
returnValue.put("MONEY",PERSONAL_INSURANCE);
return returnValue;
}
}

View File

@ -1,406 +1,493 @@
package com.tenwa.voucher.CreateVoucherProcess;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jbo.app.tenwa.customer.CUSTOMER_LIST;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.app.util.ProductParamUtil;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
public class CreateVoucherLoanDistributor {
public String CreateVoucher(String FlowUnid,String VOUCHERNO,String userid) throws Exception {
Transaction Sqlca =null;
Map<String,String> map=new HashMap<String, String>();
Map<String,String> param=new HashMap<String, String>();
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
String MONEY=null;
String MONEYNOTAX=null;
String MONEYTAX=null;
String GPS_FEE_FINANCE=null;
String CAUTION_MONEY=null;
String HANDLING_CHARGE_MONEY=null;
String INTEREST=null;
String FIRST_ADD_FINANCING=null;//首付款+融资额
String FINANCING_SUB_OTHERS=null;//首付款+融资额-首付款-手续费-保证金-GPS
String FIRST_ADD_HANDLING=null;//首付款+手续费
String INTEREST_ADD_HANDLING=null;//利息含税+手续费不含税
String ACCOUNT_DATE=null;
String FACT_DATE=null;
String CONTRACT_ID=null;
String CONTRACT_NUMBER=null;
String PROJECT_NAME=null;
String leas_form=null;
String DISTRIBUTOR_ID=null;
String DISTRIBUTOR_NAME=null;
String F_I_TYPE=null;// 集团内外判断条件 集团内/01 || 集团外/02
String CUSTID=null;
String CUSTNAME=null;
String CUSTOMERTYPE=null;
String BUSINESSTYPE=null;
String ACC_NUMBER=null;
String REQNBR=null;
String PRODUCT_ID=null;
String TAX_TYPE=null;
String TAX_NUM=null;
String OTHERNOTAX=null;
String FIRST_NOTAX=null;
String FIRST_TAX=null;
String sql="";
String moneyDataSource="";
param.clear();
map.put("FlowUnid", FlowUnid);
// 确认GPS收入-回租/直租
if("PZ2018073100000061".equals(VOUCHERNO) || "PZ2019070100000001".equals(VOUCHERNO)){moneyDataSource="LCCT.GPS_FEE";TAX_TYPE="GPS";}
// 收取首付款-回租/直租
if("PZ2018070900000003".equals(VOUCHERNO) || "PZ2019070100000002".equals(VOUCHERNO)){moneyDataSource="LCCT.FIRST_PAYMENT";TAX_TYPE="本金";}
// 收取客户保证金-回租
if("PZ2018071000000004".equals(VOUCHERNO) || "PZ2020080500000001".equals(VOUCHERNO)){moneyDataSource="LCCT.CAUTION_MONEY";TAX_TYPE="本金";}
// 收取客户手续费一次性确认收入/按月分摊-回租
if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2018071000000009".equals(VOUCHERNO) || "PZ2019070100000005".equals(VOUCHERNO) || "PZ2019070100000006".equals(VOUCHERNO) ){moneyDataSource="LCCT.HANDLING_CHARGE_MONEY";TAX_TYPE="手续费";}
// 直租购入保险
if("PZ2019082600000002".equals(VOUCHERNO)){moneyDataSource="IFNULL(LCCT.INSURANCE_PREMIUM, 0)";TAX_TYPE="本金";}
// 直租购入购置税
if("PZ2019082600000003".equals(VOUCHERNO)){moneyDataSource="IFNULL(LCCT.PURCHASE_TAX, 0)";TAX_TYPE="本金";}
// 合同起租一次性确认收入-回租&&合同起租按月分摊收入--回租
if("PZ2018071000000005".equals(VOUCHERNO) || "PZ2018071000000006".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS FIRST_ADD_FINANCING,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) - IFNULL(LCCT.GPS_FEE, 0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) AS FIRST_ADD_HANDLING,IFNULL(LRPT.INTEREST, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY/getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),0) AS INTEREST_ADD_HANDLING,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT WHERE lfit.FEE_TYPE = 'feetype10' AND LFIT.EBANK_STATUS = '05' GROUP BY FLOWUNID,CONTRACT_ID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM lc_pay_rent_plan GROUP BY CONTRACT_ID)LRPT ON LRPT.CONTRACT_ID = LFIT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID ";
// 合同起租-直租(天津或者深圳)
}else if("PZ2019070100000004".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LCCT.CLEAN_LEASE_MONEY,0) AS MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))-((IFNULL(LCCT.GPS_FEE, 0)) - IFNULL(ROUND((IFNULL(LCCT.GPS_FEE, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))) AS MONEYTAX,IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(ROUND(IFNULL(LCCT.INSURANCE_PREMIUM, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS INSURANCE_PREMIUM_NOTAX,IFNULL(ROUND(IFNULL(LCCT.PURCHASE_TAX, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS PURCHASE_TAX_NOTAX,IFNULL(ROUND((IFNULL(LCCT.TABLEWARE_FEE, 0)+IFNULL(LCCT.INCIDENTAL, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS OTHERNOTAX,IFNULL(ROUND((IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT WHERE lfit.FEE_TYPE = 'feetype10' AND LFIT.EBANK_STATUS = '05' GROUP BY FLOWUNID,CONTRACT_ID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM lc_pay_rent_plan GROUP BY CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LFIT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME = LCI.SUBJECTNAME) ";
// 合同起租-直租分子公司
}else if("PZ2020081100000005".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LCCT.CLEAN_LEASE_MONEY,0) AS MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))-((IFNULL(LCCT.GPS_FEE, 0)) - IFNULL(ROUND((IFNULL(LCCT.GPS_FEE, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))) AS MONEYTAX,IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY,0)-IFNULL(LCCT.GPS_FEE, 0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT WHERE lfit.FEE_TYPE = 'feetype10' AND LFIT.EBANK_STATUS = '05' GROUP BY FLOWUNID,CONTRACT_ID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM lc_pay_rent_plan GROUP BY CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LFIT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NOT NULL AND LPCI.COMPANY_NAME <> LCI.SUBJECTNAME) ";
// 购置融资租赁产-回租
}else if("PZ2018070900000002".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS FIRST_ADD_FINANCING,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) - IFNULL(LCCT.GPS_FEE, 0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) AS FIRST_ADD_HANDLING,IFNULL(LCCT.HANDLING_CHARGE_MONEY,0) AS HANDLING_CHARGE_MONEY,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO AND LFIT.CONTRACT_ID=LFICDT.CONTRACT_ID WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND (PSL.operationType <>'DYCD' OR PSL.operationType IS NULL) AND LFIT.FLOWUNID = :FLOWUNID ";
// 购置融资租赁产-直租深圳或者天津公司
}else if("PZ2019070100000003".equals(VOUCHERNO)) {
sql="SELECT ROUND(IFNULL(LCCT.EQUIP_AMT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2) AS MONEY,(IFNULL(LCCT.EQUIP_AMT, 0) - ROUND(IFNULL(LCCT.EQUIP_AMT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) AS FIRST_ADD_HANDLING,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO AND LFIT.CONTRACT_ID = LFICDT.CONTRACT_ID WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID = LPI.PRODUCT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME=LCI.SUBJECTNAME)";
// 购置融资租赁产-直租分子公司
}else if("PZ2020081100000004".equals(VOUCHERNO)) {
sql="SELECT ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) + IFNULL(LCCT.FIRST_PAYMENT, 0)) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2) AS MONEY,((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) + IFNULL(LCCT.FIRST_PAYMENT, 0)) - ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) + IFNULL(LCCT.FIRST_PAYMENT, 0)) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS MONEYTAX,(IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0)) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) AS FIRST_ADD_HANDLING,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,ROUND(IFNULL(LCCT.FIRST_PAYMENT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2) AS FIRST_NOTAX,(IFNULL(LCCT.FIRST_PAYMENT, 0)-ROUND(IFNULL(LCCT.FIRST_PAYMENT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS FIRST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO AND LFIT.CONTRACT_ID = LFICDT.CONTRACT_ID WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID = LPI.PRODUCT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NOT NULL AND LPCI.COMPANY_NAME<>LCI.SUBJECTNAME)";
// 第一车贷购置融资租赁资产-回租
}else if("PZ2018073100000062".equals(VOUCHERNO)){
sql="SELECT IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEY,IFNULL(LCCT.FIRST_PAYMENT, 0) AS MONEYNOTAX,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND PSL.operationType = 'DYCD' AND LFIT.FLOWUNID = :FLOWUNID ";
// 加装及杂费-直租
}else if("PZ2020041000000002".equals(VOUCHERNO)) {
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'本金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LCCT.TABLEWARE_FEE, 0)+IFNULL(LCCT.INCIDENTAL, 0) AS MONEY,IFNULL(ROUND(IFNULL(LCCT.TABLEWARE_FEE, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0)+IFNULL(ROUND(IFNULL(LCCT.INCIDENTAL, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(IFNULL(LCCT.TABLEWARE_FEE, 0) - ROUND(IFNULL(LCCT.TABLEWARE_FEE, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0)+IFNULL(IFNULL(LCCT.INCIDENTAL, 0) - ROUND(IFNULL(LCCT.INCIDENTAL, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MIN(ACC_NUMBER) ACC_NUMBER,MIN(EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND (IFNULL(LCCT.TABLEWARE_FEE, 0)+IFNULL(LCCT.INCIDENTAL, 0))>0 AND lfit.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME IN(SELECT ITEMNAME FROM CODE_LIBRARY WHERE CODENO='ManySubject'))";
}else{
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL("+moneyDataSource+", 0) AS MONEY,IFNULL(ROUND("+moneyDataSource+" / getTax(lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL("+moneyDataSource+" - ROUND("+moneyDataSource+" / getTax(lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MIN(ACC_NUMBER) ACC_NUMBER,MIN(EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND lfit.FLOWUNID = :FLOWUNID ";
}
// 手续费收入一次性确认收入
if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2018071000000005".equals(VOUCHERNO) || "PZ2019070100000005".equals(VOUCHERNO)){
sql+=" AND (lcct.HANDLING_CHARGE_MONEY_TYPE='0010' OR lcct.HANDLING_CHARGE_MONEY_TYPE IS NULL OR lcct.HANDLING_CHARGE_MONEY_TYPE='')";
// 收到手续费按月分摊收入
}else if("PZ2018071000000009".equals(VOUCHERNO) || "PZ2018071000000006".equals(VOUCHERNO) || "PZ2019070100000006".equals(VOUCHERNO)){
sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020' ";
// 购入保险-直租/购入购置税-直租
}else if("PZ2019082600000002".equals(VOUCHERNO) || "PZ2019082600000003".equals(VOUCHERNO)) {
sql+=" AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME IN(SELECT ITEMNAME FROM CODE_LIBRARY WHERE CODENO='ManySubject')) ";
}
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl();
String VOUCHER_TYPE="1";// 凭证分类 金蝶
for (int i=0;i<dataList.size();i++){
String PURCHASE_TAX_NOTAX="0.00";//购置税(不含税)
String INSURANCE_PREMIUM_NOTAX="0.00";//保险费不含税
// 第一车贷
if("PZ2018073100000062".equals(VOUCHERNO)) {
MONEY=dataList.get(i).get("MONEY");
if("".equals(MONEY)||MONEY==null) MONEY="0.00";
double mon=Double.parseDouble(MONEY);
if(mon>0){
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX");
MONEYTAX=dataList.get(i).get("MONEYTAX");
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE");
FACT_DATE =dataList.get(i).get("FACT_DATE");
CONTRACT_ID=dataList.get(i).get("CONTRACT_ID");
CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER");
PROJECT_NAME=dataList.get(i).get("PROJECT_NAME");
leas_form=dataList.get(i).get("LEAS_FORM");
DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");
DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");
F_I_TYPE=dataList.get(i).get("F_I_TYPE");
CUSTID=dataList.get(i).get("CUSTOMERID");
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
ACC_NUMBER=dataList.get(i).get("ACC_NUMBER");
REQNBR=dataList.get(i).get("REQNBR");
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
param.put("TAX",MONEYTAX);
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
param.put("PROJECT_NAME",PROJECT_NAME);
param.put("LEAS_FORM",leas_form);
param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID);
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
param.put("F_I_TYPE",F_I_TYPE);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("ACC_NUMBER",ACC_NUMBER);
param.put("REQNBR",REQNBR);
param.put("VOUCHERNO",VOUCHERNO);
// 通过客户名称获取客户编码维护里面的数据, 如果有数据说明是集团内, 如果没有数据说明是集团外
BizObject cust_list1=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+DISTRIBUTOR_ID+"'").getSingleResult(false);
BizObject cust_list2=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+CUSTID+"'").getSingleResult(false);
if(cust_list1 != null || cust_list2 !=null) {// 集团内
param.put("CASHFLOW", "11212");// 现金流项目
}else {// 集团外
param.put("CASHFLOW", "11213");// 现金流项目
}
param.put("BUSINESSTYPE", "");
param.put("FlowUnid", FlowUnid);
map.clear();
map.put("PROJ_TYPE", leas_form);
map.put("VOUCHER_NO", VOUCHERNO);
BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
if(vouch!=null){
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
}
}else {
PRODUCT_ID=dataList.get(i).get("PRODUCT_ID");// 产品编号
// 判断购置税是否参融
String FINAN1 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "PURCHASE_TAX","FINAN");
// 判断保险费是否参融
String FINAN2 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "INSURANCE_PREMIUM","FINAN");
// 判断手续费是否差额
String isBalance1 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "HANDLING_CHARGE_MONEY","isBalance");
// 判断保证金是否差额
String isBalance2 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "CAUTION_MONEY","isBalance");
// 判断首付款是否差额
String isBalance3 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "FIRST_PAYMENT","isBalance");
MONEY=dataList.get(i).get("MONEY");
if("PZ2018070900000002".equals(VOUCHERNO) || "PZ2018071000000005".equals(VOUCHERNO) || "PZ2018071000000006".equals(VOUCHERNO)){
MONEY=dataList.get(i).get("FIRST_ADD_FINANCING");
}else if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2018071000000009".equals(VOUCHERNO)) {
// 如果手续费是非差额放款 购置融资租赁资产手续费取值为0去除手续费
if("no".equals(isBalance1)) {
MONEY="0.00";
}
}else if("PZ2018071000000004".equals(VOUCHERNO)) {
// 如果手续费是非差额放款 购置融资租赁资产手续费取值为0去除手续费
if("no".equals(isBalance2)) {
MONEY="0.00";
}
}
if("".equals(MONEY)||MONEY==null) MONEY="0.00";
double mon=Double.parseDouble(MONEY);
if(mon>0){
MONEYTAX=dataList.get(i).get("MONEYTAX");
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX");
HANDLING_CHARGE_MONEY=dataList.get(i).get("HANDLING_CHARGE_MONEY");
CAUTION_MONEY=dataList.get(i).get("CAUTION_MONEY");
FINANCING_SUB_OTHERS=dataList.get(i).get("FINANCING_SUB_OTHERS");
FIRST_ADD_HANDLING=dataList.get(i).get("FIRST_ADD_HANDLING");
FIRST_NOTAX=dataList.get(i).get("FIRST_NOTAX");
FIRST_TAX=dataList.get(i).get("FIRST_TAX");
OTHERNOTAX=dataList.get(i).get("OTHERNOTAX");
INSURANCE_PREMIUM_NOTAX=dataList.get(i).get("INSURANCE_PREMIUM_NOTAX");
PURCHASE_TAX_NOTAX=dataList.get(i).get("PURCHASE_TAX_NOTAX");
// 直租合同起租深圳或者天津公司
if("PZ2019070100000004".equals(VOUCHERNO)){
// 如果不参融 获取对应金额
if("N".equals(FINAN1)){
PURCHASE_TAX_NOTAX="0.00";
}
if("N".equals(FINAN2)){
INSURANCE_PREMIUM_NOTAX="0.00";
}
// 直租购置融资租赁资产(深圳或者天津公司)
}else if("PZ2019070100000003".equals(VOUCHERNO)) {
// 贷1如果保证金不是差额放款不应该-保证金 所以加回来
if("no".equals(isBalance2)) {
FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(CAUTION_MONEY)+"";
CAUTION_MONEY="0.00";
}
// 贷1如果首付款不是差额放款不应该-首付款 所以加回来
if("no".equals(isBalance3)) {
FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(FIRST_ADD_HANDLING)+"";
FIRST_ADD_HANDLING="0.00";
}
// 直租购置融资租赁资产(子公司)
}else if("PZ2020081100000004".equals(VOUCHERNO)) {
// 借1和借2如果保证金不是差额放款不应该减保证金 所以加上
if("no".equals(isBalance2)) {
FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(CAUTION_MONEY)+"";
CAUTION_MONEY="0.00";
}
// 借1和借2如果首付款不是差额放款不应该加首付款 所以减去
if("no".equals(isBalance3)) {
MONEY=Double.parseDouble(MONEY)-Double.parseDouble(FIRST_NOTAX)+"";
MONEYTAX=Double.parseDouble(MONEYTAX)-Double.parseDouble(FIRST_TAX)+"";
FIRST_ADD_HANDLING="0.00";
}
}
// 购置融资租赁资产配置差额, 非差额
if("PZ2018070900000002".equals(VOUCHERNO)){
// 如果手续费是非差额放款 购置融资租赁资产手续费取值为0去除手续费
if("no".equals(isBalance1)) {
FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(HANDLING_CHARGE_MONEY)+"";
FIRST_ADD_HANDLING=Double.parseDouble(FIRST_ADD_HANDLING)-Double.parseDouble(HANDLING_CHARGE_MONEY)+"";
}
// 如果保证金是非差额放款 购置融资租赁资产手续费取值为0去除手续费
if("no".equals(isBalance2)) {
FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(CAUTION_MONEY)+"";
CAUTION_MONEY="0.00";
}
}
GPS_FEE_FINANCE=dataList.get(i).get("GPS_FEE_FINANCE");
INTEREST=dataList.get(i).get("INTEREST");
FIRST_ADD_FINANCING=dataList.get(i).get("FIRST_ADD_FINANCING");
INTEREST_ADD_HANDLING=dataList.get(i).get("INTEREST_ADD_HANDLING");
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE");
FACT_DATE =dataList.get(i).get("FACT_DATE");
CONTRACT_ID=dataList.get(i).get("CONTRACT_ID");
CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER");
PROJECT_NAME=dataList.get(i).get("PROJECT_NAME");
leas_form=dataList.get(i).get("LEAS_FORM");
DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");
DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");
F_I_TYPE=dataList.get(i).get("F_I_TYPE");
CUSTID=dataList.get(i).get("CUSTOMERID");
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
ACC_NUMBER=dataList.get(i).get("ACC_NUMBER");
REQNBR=dataList.get(i).get("REQNBR");
PRODUCT_ID=dataList.get(i).get("PRODUCT_ID");
TAX_NUM=dataList.get(i).get("TAX_NUM");
// 通过税率获取编码
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
param.put("TAX",MONEYTAX);
param.put("GPS_FEE_FINANCE",GPS_FEE_FINANCE);
param.put("CAUTION_MONEY",CAUTION_MONEY);
param.put("INTEREST",INTEREST);
param.put("PURCHASE_TAX",PURCHASE_TAX_NOTAX);
param.put("INSURANCE_PREMIUM",INSURANCE_PREMIUM_NOTAX);
param.put("FIRST_ADD_FINANCING",FIRST_ADD_FINANCING);
param.put("FINANCING_SUB_OTHERS",FINANCING_SUB_OTHERS);
param.put("FIRST_ADD_HANDLING",FIRST_ADD_HANDLING);
param.put("INTEREST_ADD_HANDLING",INTEREST_ADD_HANDLING);
param.put("OTHERNOTAX",OTHERNOTAX);
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
param.put("PROJECT_NAME",PROJECT_NAME);
param.put("LEAS_FORM",leas_form);
param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID);
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
param.put("F_I_TYPE",F_I_TYPE);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("ACC_NUMBER",ACC_NUMBER);
param.put("REQNBR",REQNBR);
param.put("VOUCHERNO",VOUCHERNO);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
// 通过客户名称获取客户编码维护里面的数据, 如果有数据说明是集团内, 如果没有数据说明是集团外
BizObject cust_list1=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+DISTRIBUTOR_ID+"'").getSingleResult(false);
BizObject cust_list2=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+CUSTID+"'").getSingleResult(false);
if("1".equals(BUSINESSTYPE)){
if("PZ2018073100000061".equals(VOUCHERNO) || "PZ2019070100000001".equals(VOUCHERNO)){// 确认GPS收入
param.put("CASHFLOW", "");// 现金流项目
param.put("BUSINESSTYPE", "0601");// 主营类型
}else if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2019070100000005".equals(VOUCHERNO)){// 收取客户手续费
param.put("CASHFLOW", "");// 现金流项目
param.put("BUSINESSTYPE", "0604");
}else if("PZ2018070900000002".equals(VOUCHERNO) || "PZ2019070100000003".equals(VOUCHERNO)){// 购置融资租赁资产
if(cust_list1 != null || cust_list2 !=null) {// 集团内
param.put("CASHFLOW", "11212");// 现金流项目
}else {// 集团外
param.put("CASHFLOW", "11213");// 现金流项目
}
param.put("BUSINESSTYPE", "");
// 购置融资租赁资产-直租分子公司
}else if("PZ2020081100000004".equals(VOUCHERNO)) {
param.put("CASHFLOW", "11212");// 现金流项目
}else {
param.put("CASHFLOW", "");// 现金流项目
param.put("BUSINESSTYPE", "");// 主营类型
}
}
param.put("FlowUnid", FlowUnid);
map.clear();
map.put("PROJ_TYPE", leas_form);
map.put("VOUCHER_NO", VOUCHERNO);
BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
if(vouch!=null){
// 购入保险-直租
if("PZ2019082600000002".equals(VOUCHERNO)){
if("Y".equals(FINAN2)){
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
// 购入购置税-直租
}else if("PZ2019082600000003".equals(VOUCHERNO)){
if("Y".equals(FINAN1)){
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
// 收取首付款-直租
}else if("PZ2019070100000002".equals(VOUCHERNO)) {
if("yes".equals(isBalance3)){
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
// 收取客户保证金-直租
}else if("PZ2020080500000001".equals(VOUCHERNO)) {
if("yes".equals(isBalance2)){
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
}else{
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
}
}
}
}
if(Sqlca!=null){
Sqlca.commit();
}
String sMessage="true";
return sMessage;
}
}
package com.tenwa.voucher.CreateVoucherProcess;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jbo.app.tenwa.customer.CUSTOMER_LIST;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.app.util.ProductParamUtil;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
public class CreateVoucherLoanDistributor {
public String CreateVoucher(String FlowUnid,String VOUCHERNO,String userid) throws Exception {
Transaction Sqlca =null;
Map<String,String> map=new HashMap<String, String>();
Map<String,String> param=new HashMap<String, String>();
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
String MONEY=null;
String MONEYNOTAX=null;
String MONEYTAX=null;
String GPS_FEE_FINANCE=null;
String CAUTION_MONEY=null;
String HANDLING_CHARGE_MONEY=null;
String INTEREST=null;
String FIRST_ADD_FINANCING=null;//首付款+融资额
String FINANCING_SUB_OTHERS=null;//首付款+融资额-首付款-手续费-保证金-GPS
String FIRST_ADD_HANDLING=null;//首付款+手续费
String INTEREST_ADD_HANDLING=null;//利息含税+手续费不含税
String ACCOUNT_DATE=null;
String FACT_DATE=null;
String CONTRACT_ID=null;
String CONTRACT_NUMBER=null;
String PROJECT_NAME=null;
String leas_form=null;
String DISTRIBUTOR_ID=null;
String DISTRIBUTOR_NAME=null;
String F_I_TYPE=null;// 集团内外判断条件 集团内/01 || 集团外/02
String CUSTID=null;
String CUSTNAME=null;
String CUSTOMERTYPE=null;
String BUSINESSTYPE=null;
String ACC_NUMBER=null;
String REQNBR=null;
String PRODUCT_ID=null;
String TAX_TYPE=null;
String TAX_NUM=null;
String OTHERNOTAX=null;
String FIRST_NOTAX=null;
String FIRST_TAX=null;
/**
* --------------------------------------------增加三个属性--------------------------------
*/
String channl=null;//渠道用来判断是不是中车业务
String PERSONAL_INSURANCE="0.00";//个人意外险
String DISCOUNT_INTEREST="0.00";//贴息
/**
* ----------------------------------------------修改结束------------------------------------------
*/
String sql="";
String moneyDataSource="";
param.clear();
map.put("FlowUnid", FlowUnid);
// 确认GPS收入-回租/直租
if("PZ2018073100000061".equals(VOUCHERNO) || "PZ2019070100000001".equals(VOUCHERNO)){moneyDataSource="LCCT.GPS_FEE";TAX_TYPE="GPS";}
// 收取首付款-回租/直租
if("PZ2018070900000003".equals(VOUCHERNO) || "PZ2019070100000002".equals(VOUCHERNO)){moneyDataSource="LCCT.FIRST_PAYMENT";TAX_TYPE="本金";}
// 收取客户保证金-回租
if("PZ2018071000000004".equals(VOUCHERNO) || "PZ2020080500000001".equals(VOUCHERNO)){moneyDataSource="LCCT.CAUTION_MONEY";TAX_TYPE="本金";}
// 收取客户手续费一次性确认收入/按月分摊-回租
if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2018071000000009".equals(VOUCHERNO) || "PZ2019070100000005".equals(VOUCHERNO) || "PZ2019070100000006".equals(VOUCHERNO) ){moneyDataSource="LCCT.HANDLING_CHARGE_MONEY";TAX_TYPE="手续费";}
/**
* ---------------------------------------------起租-收到个人意外险金额--回租-------------------------------------
*/
if("PZ2021032400000003".equals(VOUCHERNO)){moneyDataSource="LCCT.PERSONAL_INSURANCE";TAX_TYPE="手续费";}
/**
* ---------------------------------------------起租-收到贴息--回租-------------------------------------
*/
if("PZ2021032400000004".equals(VOUCHERNO)){moneyDataSource="LCCT.DISCOUNT_INTEREST";TAX_TYPE="手续费";}
/**
* ------------------------------------------------修改结束------------------------------------------------------
*/
// 直租购入保险
if("PZ2019082600000002".equals(VOUCHERNO)){moneyDataSource="IFNULL(LCCT.INSURANCE_PREMIUM, 0)";TAX_TYPE="本金";}
// 直租购入购置税
if("PZ2019082600000003".equals(VOUCHERNO)){moneyDataSource="IFNULL(LCCT.PURCHASE_TAX, 0)";TAX_TYPE="本金";}
// 合同起租一次性确认收入-回租&&合同起租按月分摊收入--回租
if("PZ2018071000000005".equals(VOUCHERNO) || "PZ2018071000000006".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS FIRST_ADD_FINANCING,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) - IFNULL(LCCT.GPS_FEE, 0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) AS FIRST_ADD_HANDLING,IFNULL(LRPT.INTEREST, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY/getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),0) AS INTEREST_ADD_HANDLING,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT WHERE lfit.FEE_TYPE = 'feetype10' AND LFIT.EBANK_STATUS = '05' GROUP BY FLOWUNID,CONTRACT_ID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM lc_pay_rent_plan GROUP BY CONTRACT_ID)LRPT ON LRPT.CONTRACT_ID = LFIT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID ";
// 合同起租-直租(天津或者深圳)
}else if("PZ2019070100000004".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LCCT.CLEAN_LEASE_MONEY,0) AS MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))-((IFNULL(LCCT.GPS_FEE, 0)) - IFNULL(ROUND((IFNULL(LCCT.GPS_FEE, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))) AS MONEYTAX,IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(ROUND(IFNULL(LCCT.INSURANCE_PREMIUM, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS INSURANCE_PREMIUM_NOTAX,IFNULL(ROUND(IFNULL(LCCT.PURCHASE_TAX, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS PURCHASE_TAX_NOTAX,IFNULL(ROUND((IFNULL(LCCT.TABLEWARE_FEE, 0)+IFNULL(LCCT.INCIDENTAL, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS OTHERNOTAX,IFNULL(ROUND((IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT WHERE lfit.FEE_TYPE = 'feetype10' AND LFIT.EBANK_STATUS = '05' GROUP BY FLOWUNID,CONTRACT_ID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM lc_pay_rent_plan GROUP BY CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LFIT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME = LCI.SUBJECTNAME) ";
// 合同起租-直租分子公司
}else if("PZ2020081100000005".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LCCT.CLEAN_LEASE_MONEY,0) AS MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))-((IFNULL(LCCT.GPS_FEE, 0)) - IFNULL(ROUND((IFNULL(LCCT.GPS_FEE, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0))) AS MONEYTAX,IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY,0)-IFNULL(LCCT.GPS_FEE, 0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT WHERE lfit.FEE_TYPE = 'feetype10' AND LFIT.EBANK_STATUS = '05' GROUP BY FLOWUNID,CONTRACT_ID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM lc_pay_rent_plan GROUP BY CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LFIT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NOT NULL AND LPCI.COMPANY_NAME <> LCI.SUBJECTNAME) ";
// 购置融资租赁产-回租
/**--------------------------------改了这个SQL的取值-----------------------------------------
* 增加了渠道保险费贴息的取值
*/
}else if("PZ2018070900000002".equals(VOUCHERNO)) {
sql="SELECT LCI.CHANNEL, ifnull(lcct.PERSONAL_INSURANCE,0) as PERSONAL_INSURANCE, ifnull(lcct.DISCOUNT_INTEREST,0) as DISCOUNT_INTEREST, IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS FIRST_ADD_FINANCING,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) - IFNULL(LCCT.GPS_FEE, 0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) AS FIRST_ADD_HANDLING,IFNULL(LCCT.HANDLING_CHARGE_MONEY,0) AS HANDLING_CHARGE_MONEY,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO AND LFIT.CONTRACT_ID=LFICDT.CONTRACT_ID WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND (PSL.operationType <>'DYCD' OR PSL.operationType IS NULL) AND LFIT.FLOWUNID = :FLOWUNID ";
/**
* ----------------------------------修改结束-----------------------------------------------------
*/
// 购置融资租赁产-直租深圳或者天津公司
}else if("PZ2019070100000003".equals(VOUCHERNO)) {
sql="SELECT ROUND(IFNULL(LCCT.EQUIP_AMT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2) AS MONEY,(IFNULL(LCCT.EQUIP_AMT, 0) - ROUND(IFNULL(LCCT.EQUIP_AMT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) AS FIRST_ADD_HANDLING,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO AND LFIT.CONTRACT_ID = LFICDT.CONTRACT_ID WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID = LPI.PRODUCT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME=LCI.SUBJECTNAME)";
// 购置融资租赁产-直租分子公司
}else if("PZ2020081100000004".equals(VOUCHERNO)) {
sql="SELECT ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) + IFNULL(LCCT.FIRST_PAYMENT, 0)) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2) AS MONEY,((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) + IFNULL(LCCT.FIRST_PAYMENT, 0)) - ROUND((IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) + IFNULL(LCCT.FIRST_PAYMENT, 0)) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS MONEYTAX,(IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0)) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) AS FIRST_ADD_HANDLING,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,ROUND(IFNULL(LCCT.FIRST_PAYMENT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2) AS FIRST_NOTAX,(IFNULL(LCCT.FIRST_PAYMENT, 0)-ROUND(IFNULL(LCCT.FIRST_PAYMENT, 0) / getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS FIRST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO AND LFIT.CONTRACT_ID = LFICDT.CONTRACT_ID WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID = LPI.PRODUCT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NOT NULL AND LPCI.COMPANY_NAME<>LCI.SUBJECTNAME)";
// 第一车贷购置融资租赁资产-回租
}else if("PZ2018073100000062".equals(VOUCHERNO)){
sql="SELECT IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEY,IFNULL(LCCT.FIRST_PAYMENT, 0) AS MONEYNOTAX,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND PSL.operationType = 'DYCD' AND LFIT.FLOWUNID = :FLOWUNID ";
// 加装及杂费-直租
}else if("PZ2020041000000002".equals(VOUCHERNO)) {
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'本金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LCCT.TABLEWARE_FEE, 0)+IFNULL(LCCT.INCIDENTAL, 0) AS MONEY,IFNULL(ROUND(IFNULL(LCCT.TABLEWARE_FEE, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0)+IFNULL(ROUND(IFNULL(LCCT.INCIDENTAL, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(IFNULL(LCCT.TABLEWARE_FEE, 0) - ROUND(IFNULL(LCCT.TABLEWARE_FEE, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0)+IFNULL(IFNULL(LCCT.INCIDENTAL, 0) - ROUND(IFNULL(LCCT.INCIDENTAL, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MIN(ACC_NUMBER) ACC_NUMBER,MIN(EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND (IFNULL(LCCT.TABLEWARE_FEE, 0)+IFNULL(LCCT.INCIDENTAL, 0))>0 AND lfit.FLOWUNID = :FLOWUNID AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME IN(SELECT ITEMNAME FROM CODE_LIBRARY WHERE CODENO='ManySubject'))";
}else{
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL("+moneyDataSource+", 0) AS MONEY,IFNULL(ROUND("+moneyDataSource+" / getTax(lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL("+moneyDataSource+" - ROUND("+moneyDataSource+" / getTax(lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MIN(ACC_NUMBER) ACC_NUMBER,MIN(EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LB_PRODUCTTOCOMPANY_INFO LPCI ON LPCI.PRODUCT_ID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND lfit.FLOWUNID = :FLOWUNID ";
}
// 手续费收入一次性确认收入
if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2018071000000005".equals(VOUCHERNO) || "PZ2019070100000005".equals(VOUCHERNO)){
sql+=" AND (lcct.HANDLING_CHARGE_MONEY_TYPE='0010' OR lcct.HANDLING_CHARGE_MONEY_TYPE IS NULL OR lcct.HANDLING_CHARGE_MONEY_TYPE='')";
// 收到手续费按月分摊收入
}else if("PZ2018071000000009".equals(VOUCHERNO) || "PZ2018071000000006".equals(VOUCHERNO) || "PZ2019070100000006".equals(VOUCHERNO)){
sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020' ";
// 购入保险-直租/购入购置税-直租
}else if("PZ2019082600000002".equals(VOUCHERNO) || "PZ2019082600000003".equals(VOUCHERNO)) {
sql+=" AND (LPCI.COMPANY_NAME IS NULL OR LPCI.COMPANY_NAME IN(SELECT ITEMNAME FROM CODE_LIBRARY WHERE CODENO='ManySubject')) ";
}
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl();
String VOUCHER_TYPE="1";// 凭证分类 金蝶
for (int i=0;i<dataList.size();i++){
String PURCHASE_TAX_NOTAX="0.00";//购置税(不含税)
String INSURANCE_PREMIUM_NOTAX="0.00";//保险费不含税
// 第一车贷
if("PZ2018073100000062".equals(VOUCHERNO)) {
MONEY=dataList.get(i).get("MONEY");
if("".equals(MONEY)||MONEY==null) MONEY="0.00";
double mon=Double.parseDouble(MONEY);
if(mon>0){
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX");
MONEYTAX=dataList.get(i).get("MONEYTAX");
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE");
FACT_DATE =dataList.get(i).get("FACT_DATE");
CONTRACT_ID=dataList.get(i).get("CONTRACT_ID");
CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER");
PROJECT_NAME=dataList.get(i).get("PROJECT_NAME");
leas_form=dataList.get(i).get("LEAS_FORM");
DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");
DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");
F_I_TYPE=dataList.get(i).get("F_I_TYPE");
CUSTID=dataList.get(i).get("CUSTOMERID");
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
ACC_NUMBER=dataList.get(i).get("ACC_NUMBER");
REQNBR=dataList.get(i).get("REQNBR");
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
param.put("TAX",MONEYTAX);
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
param.put("PROJECT_NAME",PROJECT_NAME);
param.put("LEAS_FORM",leas_form);
param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID);
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
param.put("F_I_TYPE",F_I_TYPE);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("ACC_NUMBER",ACC_NUMBER);
param.put("REQNBR",REQNBR);
param.put("VOUCHERNO",VOUCHERNO);
// 通过客户名称获取客户编码维护里面的数据, 如果有数据说明是集团内, 如果没有数据说明是集团外
BizObject cust_list1=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+DISTRIBUTOR_ID+"'").getSingleResult(false);
BizObject cust_list2=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+CUSTID+"'").getSingleResult(false);
if(cust_list1 != null || cust_list2 !=null) {// 集团内
param.put("CASHFLOW", "11212");// 现金流项目
}else {// 集团外
param.put("CASHFLOW", "11213");// 现金流项目
}
param.put("BUSINESSTYPE", "");
param.put("FlowUnid", FlowUnid);
map.clear();
map.put("PROJ_TYPE", leas_form);
map.put("VOUCHER_NO", VOUCHERNO);
BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
if(vouch!=null){
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
}
}else {
PRODUCT_ID=dataList.get(i).get("PRODUCT_ID");// 产品编号
// 判断购置税是否参融
String FINAN1 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "PURCHASE_TAX","FINAN");
// 判断保险费是否参融
String FINAN2 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "INSURANCE_PREMIUM","FINAN");
// 判断手续费是否差额
String isBalance1 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "HANDLING_CHARGE_MONEY","isBalance");
// 判断保证金是否差额
String isBalance2 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "CAUTION_MONEY","isBalance");
// 判断首付款是否差额
String isBalance3 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "FIRST_PAYMENT","isBalance");
/**
* ---------------------------------------增加了对是否差额的判断-------------------------------------------------------
*/
// 判断首个人意外险是否差额
String isBalance4 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "PERSONAL_INSURANCE","isBalance");
// 判断贴息是否差额
String isBalance5 = ProductParamUtil.getProductParameterValue(PRODUCT_ID, "PRD0315", "DISCOUNT_INTEREST","isBalance");
/**
* -----------------------------------------修改结束--------------------------------------------------------------------
*/
MONEY=dataList.get(i).get("MONEY");
if("PZ2018070900000002".equals(VOUCHERNO) || "PZ2018071000000005".equals(VOUCHERNO) || "PZ2018071000000006".equals(VOUCHERNO)){
MONEY=dataList.get(i).get("FIRST_ADD_FINANCING");
}else if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2018071000000009".equals(VOUCHERNO)||"PZ2021032400000003".equals(VOUCHERNO)||"PZ2021032400000004".equals(VOUCHERNO)) {
// 如果手续费是非差额放款 购置融资租赁资产手续费取值为0去除手续费
if("no".equals(isBalance1)) {
MONEY="0.00";
}
}else if("PZ2018071000000004".equals(VOUCHERNO)) {
// 如果手续费是非差额放款 购置融资租赁资产手续费取值为0去除手续费
if("no".equals(isBalance2)) {
MONEY="0.00";
}
}
if("".equals(MONEY)||MONEY==null) MONEY="0.00";
double mon=Double.parseDouble(MONEY);
if(mon>0){
MONEYTAX=dataList.get(i).get("MONEYTAX");
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX");
HANDLING_CHARGE_MONEY=dataList.get(i).get("HANDLING_CHARGE_MONEY");
CAUTION_MONEY=dataList.get(i).get("CAUTION_MONEY");
FINANCING_SUB_OTHERS=dataList.get(i).get("FINANCING_SUB_OTHERS");
FIRST_ADD_HANDLING=dataList.get(i).get("FIRST_ADD_HANDLING");
FIRST_NOTAX=dataList.get(i).get("FIRST_NOTAX");
FIRST_TAX=dataList.get(i).get("FIRST_TAX");
OTHERNOTAX=dataList.get(i).get("OTHERNOTAX");
INSURANCE_PREMIUM_NOTAX=dataList.get(i).get("INSURANCE_PREMIUM_NOTAX");
PURCHASE_TAX_NOTAX=dataList.get(i).get("PURCHASE_TAX_NOTAX");
/**
* ---------------------------------获取channl 判断合同是不是ZC-----------------------------------------------
*/
channl=dataList.get(i).get("CHANNEL");
if(channl!=null&&!"".equals(channl)&&"ZC".equals(channl)&&"PZ2018070900000002".equals(VOUCHERNO)){
PERSONAL_INSURANCE=dataList.get(i).get("PERSONAL_INSURANCE");
DISCOUNT_INTEREST=dataList.get(i).get("DISCOUNT_INTEREST");
}
/**
* ------------------------------------------修改结束-------------------------------------------------------
*/
// 直租合同起租深圳或者天津公司
if("PZ2019070100000004".equals(VOUCHERNO)){
// 如果不参融 获取对应金额
if("N".equals(FINAN1)){
PURCHASE_TAX_NOTAX="0.00";
}
if("N".equals(FINAN2)){
INSURANCE_PREMIUM_NOTAX="0.00";
}
// 直租购置融资租赁资产(深圳或者天津公司)
}else if("PZ2019070100000003".equals(VOUCHERNO)) {
// 贷1如果保证金不是差额放款不应该-保证金 所以加回来
if("no".equals(isBalance2)) {
FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(CAUTION_MONEY)+"";
CAUTION_MONEY="0.00";
}
// 贷1如果首付款不是差额放款不应该-首付款 所以加回来
if("no".equals(isBalance3)) {
FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(FIRST_ADD_HANDLING)+"";
FIRST_ADD_HANDLING="0.00";
}
// 直租购置融资租赁资产(子公司)
}else if("PZ2020081100000004".equals(VOUCHERNO)) {
// 借1和借2如果保证金不是差额放款不应该减保证金 所以加上
if("no".equals(isBalance2)) {
FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(CAUTION_MONEY)+"";
CAUTION_MONEY="0.00";
}
// 借1和借2如果首付款不是差额放款不应该加首付款 所以减去
if("no".equals(isBalance3)) {
MONEY=Double.parseDouble(MONEY)-Double.parseDouble(FIRST_NOTAX)+"";
MONEYTAX=Double.parseDouble(MONEYTAX)-Double.parseDouble(FIRST_TAX)+"";
FIRST_ADD_HANDLING="0.00";
}
}
// 购置融资租赁资产配置差额, 非差额
if("PZ2018070900000002".equals(VOUCHERNO)){
// 如果手续费是非差额放款 购置融资租赁资产手续费取值为0去除手续费
if("no".equals(isBalance1)) {
FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(HANDLING_CHARGE_MONEY)+"";
FIRST_ADD_HANDLING=Double.parseDouble(FIRST_ADD_HANDLING)-Double.parseDouble(HANDLING_CHARGE_MONEY)+"";
}
// 如果保证金是非差额放款 购置融资租赁资产手续费取值为0去除手续费
if("no".equals(isBalance2)) {
FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)+Double.parseDouble(CAUTION_MONEY)+"";
CAUTION_MONEY="0.00";
}
/**
* ----------------------------------------如果个人意外险和贴息是差额放款那么银行那里给0如果不是差额银行那里要加------------------------------------------------
*/
if("no".equals(isBalance4)) {
PERSONAL_INSURANCE="0.00";
}else if("yes".equals(isBalance4)){
FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)-Double.parseDouble(PERSONAL_INSURANCE)+"";
}
if("no".equals(isBalance5)) {
DISCOUNT_INTEREST="0.00";
}else if("yes".equals(isBalance5)){
FINANCING_SUB_OTHERS=Double.parseDouble(FINANCING_SUB_OTHERS)-Double.parseDouble(DISCOUNT_INTEREST)+"";
}
/**
* -----------------------------------------------修改结束-----------------------------------------------------------------------------------
*/
}
GPS_FEE_FINANCE=dataList.get(i).get("GPS_FEE_FINANCE");
INTEREST=dataList.get(i).get("INTEREST");
FIRST_ADD_FINANCING=dataList.get(i).get("FIRST_ADD_FINANCING");
INTEREST_ADD_HANDLING=dataList.get(i).get("INTEREST_ADD_HANDLING");
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE");
FACT_DATE =dataList.get(i).get("FACT_DATE");
CONTRACT_ID=dataList.get(i).get("CONTRACT_ID");
CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER");
PROJECT_NAME=dataList.get(i).get("PROJECT_NAME");
leas_form=dataList.get(i).get("LEAS_FORM");
DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");
DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");
F_I_TYPE=dataList.get(i).get("F_I_TYPE");
CUSTID=dataList.get(i).get("CUSTOMERID");
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
ACC_NUMBER=dataList.get(i).get("ACC_NUMBER");
REQNBR=dataList.get(i).get("REQNBR");
PRODUCT_ID=dataList.get(i).get("PRODUCT_ID");
TAX_NUM=dataList.get(i).get("TAX_NUM");
// 通过税率获取编码
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
param.put("TAX",MONEYTAX);
param.put("GPS_FEE_FINANCE",GPS_FEE_FINANCE);
param.put("CAUTION_MONEY",CAUTION_MONEY);
param.put("INTEREST",INTEREST);
param.put("PURCHASE_TAX",PURCHASE_TAX_NOTAX);
param.put("INSURANCE_PREMIUM",INSURANCE_PREMIUM_NOTAX);
param.put("FIRST_ADD_FINANCING",FIRST_ADD_FINANCING);
param.put("FINANCING_SUB_OTHERS",FINANCING_SUB_OTHERS);
param.put("FIRST_ADD_HANDLING",FIRST_ADD_HANDLING);
param.put("INTEREST_ADD_HANDLING",INTEREST_ADD_HANDLING);
param.put("OTHERNOTAX",OTHERNOTAX);
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
param.put("PROJECT_NAME",PROJECT_NAME);
param.put("LEAS_FORM",leas_form);
param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID);
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
param.put("F_I_TYPE",F_I_TYPE);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("ACC_NUMBER",ACC_NUMBER);
param.put("REQNBR",REQNBR);
param.put("VOUCHERNO",VOUCHERNO);
/**
* -----------------------------------如果是中车业务 并且是融资租赁资产的凭证--------------------------------------------------
*/
if(channl!=null&&!"".equals(channl)&&"ZC".equals(channl)&&"PZ2018070900000002".equals(VOUCHERNO)){
param.put("PERSONAL_INSURANCE",PERSONAL_INSURANCE);
param.put("DISCOUNT_INTEREST",DISCOUNT_INTEREST);
}
/**
* ------------------------------------------修改结束-------------------------------------------
*/
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
// 通过客户名称获取客户编码维护里面的数据, 如果有数据说明是集团内, 如果没有数据说明是集团外
BizObject cust_list1=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+DISTRIBUTOR_ID+"'").getSingleResult(false);
BizObject cust_list2=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+CUSTID+"'").getSingleResult(false);
if("1".equals(BUSINESSTYPE)){
if("PZ2018073100000061".equals(VOUCHERNO) || "PZ2019070100000001".equals(VOUCHERNO)){// 确认GPS收入
param.put("CASHFLOW", "");// 现金流项目
param.put("BUSINESSTYPE", "0601");// 主营类型
}else if("PZ2018071000000007".equals(VOUCHERNO) || "PZ2019070100000005".equals(VOUCHERNO)){// 收取客户手续费
param.put("CASHFLOW", "");// 现金流项目
param.put("BUSINESSTYPE", "0604");
}else if("PZ2018070900000002".equals(VOUCHERNO) || "PZ2019070100000003".equals(VOUCHERNO)){// 购置融资租赁资产
if(cust_list1 != null || cust_list2 !=null) {// 集团内
param.put("CASHFLOW", "11212");// 现金流项目
}else {// 集团外
param.put("CASHFLOW", "11213");// 现金流项目
}
param.put("BUSINESSTYPE", "");
// 购置融资租赁资产-直租分子公司
}else if("PZ2020081100000004".equals(VOUCHERNO)) {
param.put("CASHFLOW", "11212");// 现金流项目
}else {
param.put("CASHFLOW", "");// 现金流项目
param.put("BUSINESSTYPE", "");// 主营类型
}
}
param.put("FlowUnid", FlowUnid);
map.clear();
map.put("PROJ_TYPE", leas_form);
map.put("VOUCHER_NO", VOUCHERNO);
BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
if(vouch!=null){
// 购入保险-直租
if("PZ2019082600000002".equals(VOUCHERNO)){
if("Y".equals(FINAN2)){
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
// 购入购置税-直租
}else if("PZ2019082600000003".equals(VOUCHERNO)){
if("Y".equals(FINAN1)){
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
// 收取首付款-直租
}else if("PZ2019070100000002".equals(VOUCHERNO)) {
if("yes".equals(isBalance3)){
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
// 收取客户保证金-直租
}else if("PZ2020080500000001".equals(VOUCHERNO)) {
if("yes".equals(isBalance2)){
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
}else{
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
}
}
}
}
if(Sqlca!=null){
Sqlca.commit();
}
String sMessage="true";
return sMessage;
}
}

View File

@ -1,48 +1,51 @@
package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle;
import com.amarsoft.awe.util.Transaction;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherLoanDistributor;
/**
* 起租相关凭证, 实际付款(汽车)流程结束后生成
* @author xiezhiwen
*/
public class ContractOnhireVoucher extends BaseBussiness {
public Object run(Transaction Sqlca) throws Exception {
this.initBussinessParam(Sqlca);
String FlowUnid=this.getAttribute("FlowUnid").toString();
String userid = this.getAttribute("CurUserID").toString();
CreateVoucherLoanDistributor cvld=new CreateVoucherLoanDistributor();
/**
* 回租
*/
cvld.CreateVoucher(FlowUnid, "PZ2018073100000061",userid);// 确认GPS收入 --回租
cvld.CreateVoucher(FlowUnid, "PZ2018070900000003",userid);// 收取首付款-回租
cvld.CreateVoucher(FlowUnid, "PZ2018070900000002",userid);// 购置融资租赁资产-回租
cvld.CreateVoucher(FlowUnid, "PZ2018073100000062",userid);// 购置融资租赁资产---第一车贷
cvld.CreateVoucher(FlowUnid, "PZ2018071000000005",userid);// 合同起租一次性确认收入-回租
cvld.CreateVoucher(FlowUnid, "PZ2018071000000006",userid);// 合同起租按月分摊收入--回租
cvld.CreateVoucher(FlowUnid, "PZ2018071000000004",userid);// 收取客户保证金--回租
cvld.CreateVoucher(FlowUnid, "PZ2018071000000007",userid);// 收取客户手续费一次性确认收入--回租
cvld.CreateVoucher(FlowUnid, "PZ2018071000000009",userid);// 收取客户手续费按月分摊收入--回租
/**
* 直租
*/
cvld.CreateVoucher(FlowUnid, "PZ2019070100000001",userid);// 确认GPS收入 --直租
cvld.CreateVoucher(FlowUnid, "PZ2019070100000002",userid);// 收取首付款-直租
cvld.CreateVoucher(FlowUnid, "PZ2020080500000001",userid);// 收取客户保证金-直租
cvld.CreateVoucher(FlowUnid, "PZ2019082600000002",userid);// 购入保险-直租
cvld.CreateVoucher(FlowUnid, "PZ2019082600000003",userid);// 购入购置税-直租
cvld.CreateVoucher(FlowUnid, "PZ2020041000000002",userid);// 加装及杂费-直租
cvld.CreateVoucher(FlowUnid, "PZ2019070100000003",userid);// 购置融资租赁资产-直租深圳或者天津公司
cvld.CreateVoucher(FlowUnid, "PZ2020081100000004",userid);// 购置融资租赁资产-直租分子公司
cvld.CreateVoucher(FlowUnid, "PZ2019070100000004",userid);// 合同起租-直租(车牌挂在天津或者深圳公司下
cvld.CreateVoucher(FlowUnid, "PZ2020081100000005",userid);// 合同起租-直租车牌挂在分子公司下
cvld.CreateVoucher(FlowUnid, "PZ2019070100000005",userid);// 收取客户手续费一次性确认收入--直租
cvld.CreateVoucher(FlowUnid, "PZ2019070100000006",userid);// 收取客户手续费按月分摊收入--直租
return "true";
}
}
package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle;
import com.amarsoft.awe.util.Transaction;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherLoanDistributor;
/**
* 起租相关凭证, 实际付款(汽车)流程结束后生成
* @author xiezhiwen
*/
public class ContractOnhireVoucher extends BaseBussiness {
public Object run(Transaction Sqlca) throws Exception {
this.initBussinessParam(Sqlca);
String FlowUnid=this.getAttribute("FlowUnid").toString();
String userid = this.getAttribute("CurUserID").toString();
CreateVoucherLoanDistributor cvld=new CreateVoucherLoanDistributor();
/**
* 回租
*/
cvld.CreateVoucher(FlowUnid, "PZ2018073100000061",userid);// 确认GPS收入 --回租
cvld.CreateVoucher(FlowUnid, "PZ2018070900000003",userid);// 收取首付款-回租
cvld.CreateVoucher(FlowUnid, "PZ2018070900000002",userid);// 购置融资租赁资产-回租
cvld.CreateVoucher(FlowUnid, "PZ2018073100000062",userid);// 购置融资租赁资产---第一车贷
cvld.CreateVoucher(FlowUnid, "PZ2018071000000005",userid);// 合同起租一次性确认收入-回租
cvld.CreateVoucher(FlowUnid, "PZ2018071000000006",userid);// 合同起租按月分摊收入--回租
cvld.CreateVoucher(FlowUnid, "PZ2018071000000004",userid);// 收取客户保证金--回租
cvld.CreateVoucher(FlowUnid, "PZ2018071000000007",userid);// 收取客户手续费一次性确认收入--回租
cvld.CreateVoucher(FlowUnid, "PZ2018071000000009",userid);// 收取客户手续费按月分摊收入--回租
cvld.CreateVoucher(FlowUnid, "PZ2021032400000003",userid);// 起租-收到个人意外险金额--回租
cvld.CreateVoucher(FlowUnid, "PZ2021032400000004",userid);// 起租-收到贴息--回租
/**
* 直租
*/
cvld.CreateVoucher(FlowUnid, "PZ2019070100000001",userid);// 确认GPS收入 --直租
cvld.CreateVoucher(FlowUnid, "PZ2019070100000002",userid);// 收取首付款-直租
cvld.CreateVoucher(FlowUnid, "PZ2020080500000001",userid);// 收取客户保证金-直租
cvld.CreateVoucher(FlowUnid, "PZ2019082600000002",userid);// 购入保险-直租
cvld.CreateVoucher(FlowUnid, "PZ2019082600000003",userid);// 购入购置税-直租
cvld.CreateVoucher(FlowUnid, "PZ2020041000000002",userid);// 加装及杂费-直租
cvld.CreateVoucher(FlowUnid, "PZ2019070100000003",userid);// 购置融资租赁资产-直租深圳或者天津公司
cvld.CreateVoucher(FlowUnid, "PZ2020081100000004",userid);// 购置融资租赁资产-直租分子公司
cvld.CreateVoucher(FlowUnid, "PZ2019070100000004",userid);// 合同起租-直租(车牌挂在天津或者深圳公司下
cvld.CreateVoucher(FlowUnid, "PZ2020081100000005",userid);// 合同起租-直租车牌挂在分子公司下
cvld.CreateVoucher(FlowUnid, "PZ2019070100000005",userid);// 收取客户手续费一次性确认收入--直租
cvld.CreateVoucher(FlowUnid, "PZ2019070100000006",userid);// 收取客户手续费按月分摊收入--直租
return "true";
}
}