凭证修改
This commit is contained in:
parent
6b82775d94
commit
53877f44a4
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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";
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user