凭证相关--二期需求及接口优化

This commit is contained in:
xiezhiwen 2019-08-07 14:11:36 +08:00
parent 02f76d05b2
commit 11761b747e
48 changed files with 1526 additions and 1007 deletions

View File

@ -204,12 +204,19 @@
var SUMMARY="È·ÈÏÊÕÈë";
var res=RunJavaMethodTrans("com.tenwa.lease.app.ebank.EbankUse","createLeftEbankIncomeVoucher","ebdataid="+sPara +",VOUCHERNO="+VOUCHERNO +",SUMMARY="+SUMMARY+",userId="+"<%=CurUser.getUserID()%>");
if(res=="true"){
alert("确认收入成功");
alert("确认收入成功 !");
location.reload(true);
}else if(res=="false"){
alert("确认收入失败");
alert("确认收入失败 !");
location.reload(true);
}else if(res=="false1"){
alert("该笔网银未核销, 无法确认收入 !");
location.reload(true);
}else if(res=="false2"){
alert("可核销金额为0, 无法确认收入 !");
location.reload(true);
}
}
}
//È·ÈÏÍË»Ø
function confirmpayback(){
@ -232,10 +239,14 @@
var SUMMARY="È·ÈÏÍË»Ø";
var res=RunJavaMethodTrans("com.tenwa.lease.app.ebank.EbankUse","createLeftEbankIncomeVoucher","ebdataid="+sPara +",VOUCHERNO="+VOUCHERNO +",SUMMARY="+SUMMARY+",userId="+"<%=CurUser.getUserID()%>");
if(res=="true"){
alert("确认退回成功");
alert("确认退回成功 !");
location.reload(true);
}else if(res=="false"){
alert("确认退回失败");
alert("确认退回失败 !");
}else if(res=="false1"){
alert("该笔网银未核销, 无法确认退回 !");
}else if(res=="false2"){
alert("可核销金额为0, 无法确认退回 !");
}
}
</script>

View File

@ -175,7 +175,7 @@
var CHARGEBACK_BALANCE = getItemValue(0, 0, "CHARGEBACK_BALANCE"); // 核销差额
var sparam = "SPARE_BATCH_NO="+SPARE_BATCH_NO+",ACHIEVED_MONEY="+ACHIEVED_MONEY+",SEREVICE_CHARGE="+SEREVICE_CHARGE+",CHARGEBACK_BALANCE="+CHARGEBACK_BALANCE+",CHARGEBACK_MONEY_S="+CHARGEBACK_MONEY_S+",ACHIEVED_DATE="+ACHIEVED_DATE+",OWN_NUMBER="+OWN_NUMBER+",ACC_TITLE="+ACC_TITLE+",userId="+"<%=CurUser.getUserID()%>";
// 调用生成卡扣汇总凭证
// var result = RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.CreateVoucherForCardSummarizing","createCardSummarizingVoucher",sparam);
var result = RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.CreateVoucherForCardSummarizing","createCardSummarizingVoucher",sparam);
}
}
</script>

View File

@ -10,7 +10,7 @@ voucher_isexchange=Y
#接收方
voucher_receiver=807001002001
#外系统编码
voucher_sender=GL
voucher_sender=GL
#系统参数
voucher_replace=Y
#凭证类别
@ -119,13 +119,19 @@ contract_pk_org=06
#IP地址及端口
#NC_URL=http://sk.baicgroup.com.cn/
NC_URL=http://172.16.0.88:9990/
#NC_URL=http://test.baicgroup.com.cn/
#账套
account=8
#集团编码
groupcode=06
#传输xml文件存放路径
LOCALHOST_URL=//data//files//apzl_leasing//tmp//XZW//
#LOCALHOST_URL=//data//files//apzl_leasing//tmp//XZW//
LOCALHOST_URL=E:\\voucherXml_NC\\
#回执信息存放路径
RECEIVE_URL=//data//files//apzl_leasing//tmp//WEN//
#RECEIVE_URL=//data//files//apzl_leasing//tmp//WEN//
RECEIVE_URL=E:\\VOUCHER_RECEIPT\\
#异常信息存放路径
#ERROR_URL=//data//files//apzl_leasing//tmp//NC_ERROR//
ERROR_URL=E:\\NC_ERROR\\

View File

@ -30,11 +30,16 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{
Map<String,String> map=new HashMap<String, String>();
Map<String,String> param=new HashMap<String, String>();
// 定义全局对象
String MONEY=null; // 差额放款中-购置融资租赁资产-传统租赁资产里面的--首付款
String INTERESTNOTAX=null; // 差额放款中-购置融资租赁资产-传统租赁资产里面的--保证金
String TAX=null; // 差额放款中-购置融资租赁资产-传统租赁资产里面的--手续费
String MONEY=null;
String INTERESTNOTAX=null;
String TAX=null;
String EQUIP_OTHER=null; // 设备款+其他
String EQUIP=null; // 设备款
String EQUIPNOTAX=null; // 设备款(不含税)
String EQUIPTAX=null; // 设备款(税金)
String FIRST_PAYMENT=null; // 首付款
String FIRST_PAYMENT_NOTAX=null; // 首付款(不含税)
String FIRST_PAYMENT_TAX=null; // 首付款(税金)
String GUARANTY=null; // 保证金
String HANDLING_CHARGE_MONEY=null; // 手续费
String HANDLING_CHARGE_MONEY_NOTAX=null;// 手续费(不含税)
@ -54,30 +59,43 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{
String BUSINESSTYPE=null; // 业务类型
String ACC_NUMBER=null; // 银行账号
String TAX_NUM=null; // 银行账号
String sql="";
// sql="SELECT CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0))>0) THEN (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0)) ELSE 0.00 END AS MONEY,CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0))>0) THEN (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0)) ELSE 0.00 END AS INTERESTNOTAX,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))>0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0)) ELSE 0.00 END AS TAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) AS EQUIP_OTHER,CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0))>0) THEN (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0)) ELSE 0.00 END AS FIRST_PAYMENT,CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0))>0) THEN (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0)) ELSE 0.00 END AS GUARANTY,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))>0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0)) ELSE 0.00 END AS HANDLING_CHARGE_MONEY,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))>0) THEN IFNULL(ROUND((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) ELSE 0.00 END AS HANDLING_CHARGE_MONEY_NOTAX,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN IFNULL(((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) - ROUND((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)),0) ELSE 0.00 END AS HANDLING_CHARGE_MONEY_TAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) - (CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0))>0) THEN (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0)) ELSE 0.00 END) - (CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0))>0) THEN (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0)) ELSE 0.00 END) - (CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))>0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0)) ELSE 0.00 END) AS OTHERS_MATH,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 ON LFIT1.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT FLOWUNID,SUM(FACT_MONEY) AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29' GROUP BY FLOWUNID) LFIT2 ON LFIT2.FLOWUNID = LFIT1.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS FIRST_PAYMENT FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype5' GROUP BY CONTRACT_ID) LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS GUARANTY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype2' GROUP BY CONTRACT_ID) LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS HANDLING_CHARGE_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype1' GROUP BY CONTRACT_ID) LFIT5 ON LFIT5.CONTRACT_ID = LCI.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 = '2' AND LCCT.FLOWUNID = :FLOWUNID ";
// sql="SELECT ROUND((getTax(lci.LEAS_FORM,'手续费',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) ELSE 0.00 END AS MONEY,CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END AS INTERESTNOTAX,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END AS TAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) AS EQUIP_OTHER,CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) ELSE 0.00 END AS FIRST_PAYMENT,CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END AS GUARANTY,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR(LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END AS HANDLING_CHARGE_MONEY,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN IFNULL(ROUND((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2),0) ELSE 0.00 END AS HANDLING_CHARGE_MONEY_NOTAX,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN IFNULL(((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) - ROUND((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)),0) ELSE 0.00 END AS HANDLING_CHARGE_MONEY_TAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) - (CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0))ELSE 0.00 END) - (CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END) - (CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END) AS OTHERS_MATH,CASE WHEN DATE_FORMAT(NOW(),'%Y/%m') > DATE_FORMAT(LFIT1.FACT_DATE,'%Y/%m') THEN DATE_FORMAT(LFIT1.ACCOUNTING_DATE, '%Y/%m/%d') ELSE DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') END AS ACCOUNT_DATE,DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LLI.LEASE_ACC_NUMBER AS ACC_NUMBER FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MAX(FACT_DATE) AS FACT_DATE,MAX(ACCOUNTING_DATE) AS ACCOUNTING_DATE,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 ON LFIT1.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT FLOWUNID,SUM(FACT_MONEY) AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29' GROUP BY FLOWUNID) LFIT2 ON LFIT2.FLOWUNID = LFIT1.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS FIRST_PAYMENT FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype5' GROUP BY CONTRACT_ID) LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS GUARANTY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype2' GROUP BY CONTRACT_ID) LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS HANDLING_CHARGE_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype1' GROUP BY CONTRACT_ID) LFIT5 ON LFIT5.CONTRACT_ID = LCI.ID LEFT JOIN LB_LESSOR_INFO LLI ON LLI.CONTRACT_ID=LCI.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 = '2' AND lul.IS_MAIN='Y' AND LCCT.FLOWUNID = :FLOWUNID ";
// sql="SELECT ROUND((getTax(lci.LEAS_FORM,'手续费',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) ELSE 0.00 END AS MONEY,CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END AS INTERESTNOTAX,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END AS TAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) AS EQUIP_OTHER,CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) ELSE 0.00 END AS FIRST_PAYMENT,CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END AS GUARANTY,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR(LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END AS HANDLING_CHARGE_MONEY,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN IFNULL(ROUND((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2),0) ELSE 0.00 END AS HANDLING_CHARGE_MONEY_NOTAX,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN IFNULL(((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) - ROUND((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)),0) ELSE 0.00 END AS HANDLING_CHARGE_MONEY_TAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) - (CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0))ELSE 0.00 END) - (CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END) - (CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END) AS OTHERS_MATH,CASE WHEN DATE_FORMAT(NOW(),'%Y/%m') > DATE_FORMAT(LFIT1.FACT_DATE,'%Y/%m') THEN DATE_FORMAT(LFIT1.ACCOUNTING_DATE, '%Y/%m/%d') ELSE DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') END AS ACCOUNT_DATE,DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER AS ACC_NUMBER FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MAX(FACT_DATE) AS FACT_DATE,MAX(ACCOUNTING_DATE) AS ACCOUNTING_DATE,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 ON LFIT1.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT FLOWUNID,SUM(FACT_MONEY) AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29' GROUP BY FLOWUNID) LFIT2 ON LFIT2.FLOWUNID = LFIT1.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS FIRST_PAYMENT FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype5' GROUP BY CONTRACT_ID) LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS GUARANTY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype2' GROUP BY CONTRACT_ID) LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS HANDLING_CHARGE_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype1' GROUP BY CONTRACT_ID) LFIT5 ON LFIT5.CONTRACT_ID = LCI.ID LEFT JOIN LB_LESSOR_INFO LLI ON LLI.CONTRACT_ID=LCI.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 = '2' AND lul.IS_MAIN='Y' AND LCCT.FLOWUNID = :FLOWUNID ";
// String sql=" SELECT ROUND((getTax (lci.LEAS_FORM,'本金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) AS EQUIP_OTHER,IFNULL(LFIT3.FIRST_PAYMENT,0) AS FIRST_PAYMENT,IFNULL(LFIT4.GUARANTY,0) AS GUARANTY,IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) AS HANDLING_CHARGE_MONEY,ROUND(IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) AS HANDLING_CHARGE_MONEY_NOTAX,(IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0)-ROUND(IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS HANDLING_CHARGE_MONEY_TAX,(IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0)-IFNULL(LFIT3.FIRST_PAYMENT,0)-IFNULL(LFIT4.GUARANTY,0)-IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0)) AS OTHERS_MATH,CASE WHEN DATE_FORMAT(NOW(), '%Y/%m') > DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m') THEN DATE_FORMAT(LFIT1.ACCOUNTING_DATE,'%Y/%m/%d') ELSE DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') END AS ACCOUNT_DATE,DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER AS ACC_NUMBER FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MAX(FACT_DATE) AS FACT_DATE,MAX(ACCOUNTING_DATE) AS ACCOUNTING_DATE,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 ON LFIT1.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT FLOWUNID,SUM(FACT_MONEY) AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29' GROUP BY FLOWUNID) LFIT2 ON LFIT2.FLOWUNID = LFIT1.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS FIRST_PAYMENT FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype10' AND MEMO LIKE '%抵扣融资款%' AND FUND_FEETYPE='feetype5' GROUP BY CONTRACT_ID) LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS GUARANTY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype10' AND MEMO LIKE '%抵扣融资款%' AND FUND_FEETYPE='feetype2' GROUP BY CONTRACT_ID) LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS HANDLING_CHARGE_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype10' AND MEMO LIKE '%抵扣融资款%' AND FUND_FEETYPE='feetype1' GROUP BY CONTRACT_ID) LFIT5 ON LFIT5.CONTRACT_ID = LCI.ID LEFT JOIN LB_LESSOR_INFO LLI ON LLI.CONTRACT_ID = LCI.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 = '2' AND lul.IS_MAIN = 'Y' AND LCCT.FLOWUNID = :FLOWUNID ";
String sql="SELECT ROUND((getTax (lci.LEAS_FORM,'本金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) AS EQUIP_OTHER,IFNULL(LFIT3.FIRST_PAYMENT,0) AS FIRST_PAYMENT,IFNULL(LFIT4.GUARANTY,0) AS GUARANTY,IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) AS HANDLING_CHARGE_MONEY,ROUND(IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) AS HANDLING_CHARGE_MONEY_NOTAX,(IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0)-ROUND(IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS HANDLING_CHARGE_MONEY_TAX,(IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0)-IFNULL(LFIT3.FIRST_PAYMENT,0)-IFNULL(LFIT4.GUARANTY,0)-IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0)) AS OTHERS_MATH,CASE WHEN DATE_FORMAT(NOW(), '%Y/%m') > DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m') THEN DATE_FORMAT(LFIT1.ACCOUNTING_DATE,'%Y/%m/%d') ELSE DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') END AS ACCOUNT_DATE,DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER AS ACC_NUMBER FROM (SELECT FLOWUNID,CONTRACT_ID,MAX(FACT_DATE) AS FACT_DATE,MAX(ACCOUNTING_DATE) AS ACCOUNTING_DATE,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29' GROUP BY FLOWUNID,CONTRACT_ID) LFIT2 ON LFIT2.FLOWUNID = LFIT1.FLOWUNID AND LFIT2.CONTRACT_ID=LFIT1.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS FIRST_PAYMENT FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5' AND SETTLE_METHOD='settlemethod11' GROUP BY FLOWUNID,CONTRACT_ID) LFIT3 ON LFIT3.FLOWUNID=LFIT1.FLOWUNID AND LFIT3.CONTRACT_ID = LFIT1.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS GUARANTY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype2' AND SETTLE_METHOD='settlemethod11' GROUP BY FLOWUNID,CONTRACT_ID) LFIT4 ON LFIT4.FLOWUNID=LFIT1.FLOWUNID AND LFIT4.CONTRACT_ID = LFIT1.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS HANDLING_CHARGE_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype1' AND SETTLE_METHOD='settlemethod11' GROUP BY FLOWUNID,CONTRACT_ID) LFIT5 ON LFIT5.FLOWUNID=LFIT1.FLOWUNID AND LFIT5.CONTRACT_ID = LFIT1.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 = '2' AND LUL.IS_MAIN = 'Y' AND LFIT1.FLOWUNID = :FLOWUNID";
// 传统
if("PZ2018092500000159".equals(VOUCHERNO) || "PZ2018092500000162".equals(VOUCHERNO) || "PZ2018092500000164".equals(VOUCHERNO) || "PZ2018092500000166".equals(VOUCHERNO) || "PZ2018092500000169".equals(VOUCHERNO) || "PZ2019071800000036".equals(VOUCHERNO) || "PZ2019071800000038".equals(VOUCHERNO) || "PZ2019071800000039".equals(VOUCHERNO) || "PZ2019071800000040".equals(VOUCHERNO) || "PZ2019071800000041".equals(VOUCHERNO) || "PZ2019071800000037".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'本金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LFIT1.EQUIP, 0) AS EQUIP,ROUND(IFNULL(LFIT1.EQUIP, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) AS EQUIPNOTAX,(IFNULL(LFIT1.EQUIP, 0) - ROUND(IFNULL(LFIT1.EQUIP, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS EQUIPTAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) AS EQUIP_OTHER,IFNULL(LFIT3.FIRST_PAYMENT, 0) AS FIRST_PAYMENT,ROUND(IFNULL(LFIT3.FIRST_PAYMENT, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) AS FIRST_PAYMENT_NOTAX,(IFNULL(LFIT3.FIRST_PAYMENT, 0) - ROUND(IFNULL(LFIT3.FIRST_PAYMENT, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS FIRST_PAYMENT_TAX,IFNULL(LFIT4.GUARANTY, 0) AS GUARANTY,IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0) AS HANDLING_CHARGE_MONEY,ROUND(IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) AS HANDLING_CHARGE_MONEY_NOTAX,(IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0) - ROUND(IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS HANDLING_CHARGE_MONEY_TAX,(IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) - IFNULL(LFIT3.FIRST_PAYMENT, 0) - IFNULL(LFIT4.GUARANTY, 0) - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) AS OTHERS_MATH,CASE WHEN DATE_FORMAT(NOW(), '%Y/%m') > DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m') THEN DATE_FORMAT(LFIT1.ACCOUNTING_DATE,'%Y/%m/%d') ELSE DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') END AS ACCOUNT_DATE,DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER AS ACC_NUMBER FROM (SELECT FLOWUNID,CONTRACT_ID,MAX(FACT_DATE) AS FACT_DATE,MAX(ACCOUNTING_DATE) AS ACCOUNTING_DATE,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29' GROUP BY FLOWUNID,CONTRACT_ID) LFIT2 ON LFIT2.CONTRACT_ID = LFIT1.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS FIRST_PAYMENT FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5' AND SETTLE_METHOD = 'settlemethod11' GROUP BY FLOWUNID,CONTRACT_ID) LFIT3 ON LFIT3.FLOWUNID = LFIT1.FLOWUNID AND LFIT3.CONTRACT_ID = LFIT1.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS GUARANTY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype2' AND SETTLE_METHOD = 'settlemethod11' GROUP BY FLOWUNID,CONTRACT_ID) LFIT4 ON LFIT4.FLOWUNID = LFIT1.FLOWUNID AND LFIT4.CONTRACT_ID = LFIT1.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS HANDLING_CHARGE_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype1' AND SETTLE_METHOD = 'settlemethod11' GROUP BY FLOWUNID,CONTRACT_ID) LFIT5 ON LFIT5.FLOWUNID = LFIT1.FLOWUNID AND LFIT5.CONTRACT_ID = LFIT1.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND LUL.IS_MAIN = 'Y' AND LFIT1.FLOWUNID = :FLOWUNID ";
// 汽车类传统
}else if("PZ2019072000000077".equals(VOUCHERNO) || "PZ2019072000000078".equals(VOUCHERNO) || "PZ2019072000000079".equals(VOUCHERNO) || "PZ2019072000000080".equals(VOUCHERNO) || "PZ2019072000000081".equals(VOUCHERNO) || "PZ2019072200000112".equals(VOUCHERNO) || "PZ2019072200000113".equals(VOUCHERNO) || "PZ2019072200000114".equals(VOUCHERNO) || "PZ2019072200000115".equals(VOUCHERNO) || "PZ2019072200000116".equals(VOUCHERNO) || "PZ2019072200000117".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'本金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LFIT1.EQUIP, 0) AS EQUIP,ROUND(IFNULL(LFIT1.EQUIP, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) AS EQUIPNOTAX,(IFNULL(LFIT1.EQUIP, 0) - ROUND(IFNULL(LFIT1.EQUIP, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS EQUIPTAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) AS EQUIP_OTHER,IFNULL(LFIT3.FIRST_PAYMENT, 0) AS FIRST_PAYMENT,ROUND(IFNULL(LFIT3.FIRST_PAYMENT, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) AS FIRST_PAYMENT_NOTAX,(IFNULL(LFIT3.FIRST_PAYMENT, 0) - ROUND(IFNULL(LFIT3.FIRST_PAYMENT, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS FIRST_PAYMENT_TAX,IFNULL(LFIT4.GUARANTY, 0) AS GUARANTY,IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0) AS HANDLING_CHARGE_MONEY,ROUND(IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) AS HANDLING_CHARGE_MONEY_NOTAX,(IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0) - ROUND(IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS HANDLING_CHARGE_MONEY_TAX,(IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) - IFNULL(LFIT3.FIRST_PAYMENT, 0) - IFNULL(LFIT4.GUARANTY, 0) - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) AS OTHERS_MATH,CASE WHEN DATE_FORMAT(NOW(), '%Y/%m') > DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m') THEN DATE_FORMAT(LFIT1.ACCOUNTING_DATE,'%Y/%m/%d') ELSE DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') END AS ACCOUNT_DATE,DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER AS ACC_NUMBER FROM (SELECT FLOWUNID,CONTRACT_ID,MAX(FACT_DATE) AS FACT_DATE,MAX(ACCOUNTING_DATE) AS ACCOUNTING_DATE,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29' GROUP BY FLOWUNID,CONTRACT_ID) LFIT2 ON LFIT2.CONTRACT_ID = LFIT1.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS FIRST_PAYMENT FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5' AND SETTLE_METHOD = 'settlemethod11' GROUP BY FLOWUNID,CONTRACT_ID) LFIT3 ON LFIT3.FLOWUNID = LFIT1.FLOWUNID AND LFIT3.CONTRACT_ID = LFIT1.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS GUARANTY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype2' AND SETTLE_METHOD = 'settlemethod11' GROUP BY FLOWUNID,CONTRACT_ID) LFIT4 ON LFIT4.FLOWUNID = LFIT1.FLOWUNID AND LFIT4.CONTRACT_ID = LFIT1.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS HANDLING_CHARGE_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype1' AND SETTLE_METHOD = 'settlemethod11' GROUP BY FLOWUNID,CONTRACT_ID) LFIT5 ON LFIT5.FLOWUNID = LFIT1.FLOWUNID AND LFIT5.CONTRACT_ID = LFIT1.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '3' AND LUL.IS_MAIN = 'Y' AND LFIT1.FLOWUNID = :FLOWUNID ";
}
// 非差额放款部分--购置融资租赁资产-传统租赁资产(判断首付款&&保证金&&手续费是否已经回款)
if("PZ2018092500000159".equals(VOUCHERNO)){
// sql+=" AND (LFIT3.FIRST_PAYMENT IS NOT NULL AND (LCCT.FIRST_PAYMENT- LFIT3.FIRST_PAYMENT)=0) AND (LFIT4.GUARANTY IS NOT NULL AND (LCCT.CAUTION_MONEY-LFIT4.GUARANTY)=0) AND (LFIT5.HANDLING_CHARGE_MONEY IS NOT NULL AND (LCCT.HANDLING_CHARGE_MONEY-LFIT5.HANDLING_CHARGE_MONEY)=0) ";
// 非差额放款
if("PZ2018092500000159".equals(VOUCHERNO) || "PZ2019071800000036".equals(VOUCHERNO) || "PZ2019072000000077".equals(VOUCHERNO) || "PZ2019072200000112".equals(VOUCHERNO)){
sql+=" AND (IFNULL(LFIT3.FIRST_PAYMENT,0) = 0 AND IFNULL(LFIT4.GUARANTY,0) =0 AND IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) = 0)";
}else if("PZ2018092500000162".equals(VOUCHERNO)) {// 差额-经销商支付的预付款(首付)
// sql+=" AND (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0))>0) ";
// 差额-经销商支付的预付款(首付)
}else if("PZ2018092500000162".equals(VOUCHERNO) || "PZ2019071800000038".equals(VOUCHERNO) || "PZ2019072000000078".equals(VOUCHERNO) || "PZ2019072200000113".equals(VOUCHERNO)) {
sql+=" AND IFNULL(LFIT3.FIRST_PAYMENT,0) <> 0 ";
}else if("PZ2018092500000164".equals(VOUCHERNO)) {// 客户记录保证金
// sql+=" AND (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0))>0) ";
// 客户记录保证金
}else if("PZ2018092500000164".equals(VOUCHERNO) || "PZ2019071800000039".equals(VOUCHERNO) || "PZ2019072000000079".equals(VOUCHERNO) || "PZ2019072200000114".equals(VOUCHERNO)) {
sql+=" AND IFNULL(LFIT4.GUARANTY,0) <> 0 ";
}else if("PZ2018092500000166".equals(VOUCHERNO)) {// 收到客户手续费
// sql+=" AND (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))>0) ";
// 收到客户手续费
}else if("PZ2018092500000166".equals(VOUCHERNO) || "PZ2019071800000040".equals(VOUCHERNO) || "PZ2019071800000041".equals(VOUCHERNO) || "PZ2019072000000080".equals(VOUCHERNO) || "PZ2019072200000115".equals(VOUCHERNO) || "PZ2019072200000116".equals(VOUCHERNO)) {
sql+=" AND IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) <> 0 ";
}else if("PZ2018092500000169".equals(VOUCHERNO)) {// 给经销商放款-差额放款
// sql+=" AND ((LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0))>0) OR (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0))>0) OR (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))>0)) ";
// 给经销商放款-差额放款
}else if("PZ2018092500000169".equals(VOUCHERNO) || "PZ2019071800000037".equals(VOUCHERNO) || "PZ2019072000000081".equals(VOUCHERNO) || "PZ2019072200000117".equals(VOUCHERNO)) {
sql+=" AND (IFNULL(LFIT3.FIRST_PAYMENT,0) <> 0 OR IFNULL(LFIT4.GUARANTY,0) <> 0 OR IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) <> 0)";
}
// 手续费收入一次性确认收入
if("PZ2019071800000040".equals(VOUCHERNO) || "PZ2019072200000115".equals(VOUCHERNO)){
sql+=" AND (lcct.HANDLING_CHARGE_MONEY_TYPE='0010' OR lcct.HANDLING_CHARGE_MONEY_TYPE IS NULL OR lcct.HANDLING_CHARGE_MONEY_TYPE='')";
}
// 收到手续费按月分摊收入
if("PZ2019071800000041".equals(VOUCHERNO) || "PZ2019072200000116".equals(VOUCHERNO)){
sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020' ";
}
param.clear();
map.put("FLOWUNID", FlowUnid);
@ -95,7 +113,12 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{
INTERESTNOTAX=dataList.get(i).get("INTERESTNOTAX");//差额放款中-购置融资租赁资产-传统租赁资产里面的--保证金
TAX=dataList.get(i).get("TAX");//差额放款中-购置融资租赁资产-传统租赁资产里面的--手续费
EQUIP_OTHER=dataList.get(i).get("EQUIP_OTHER");// 设备款+其他
EQUIP=dataList.get(i).get("EQUIP");// 设备款
EQUIPNOTAX=dataList.get(i).get("EQUIPNOTAX");
EQUIPTAX=dataList.get(i).get("EQUIPTAX");
FIRST_PAYMENT=dataList.get(i).get("FIRST_PAYMENT");// 首付款
FIRST_PAYMENT_NOTAX=dataList.get(i).get("FIRST_PAYMENT_NOTAX");// 首付款
FIRST_PAYMENT_TAX=dataList.get(i).get("FIRST_PAYMENT_TAX");// 首付款
GUARANTY=dataList.get(i).get("GUARANTY");// 保证金
HANDLING_CHARGE_MONEY=dataList.get(i).get("HANDLING_CHARGE_MONEY");// 手续费
HANDLING_CHARGE_MONEY_NOTAX=dataList.get(i).get("HANDLING_CHARGE_MONEY_NOTAX");// 不含税手续费
@ -126,7 +149,12 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{
param.put("INTERESTNOTAX",INTERESTNOTAX);
param.put("TAX",TAX);
param.put("EQUIP_OTHER",EQUIP_OTHER);
param.put("EQUIP",EQUIP);
param.put("EQUIPNOTAX",EQUIPNOTAX);
param.put("EQUIPTAX",EQUIPTAX);
param.put("FIRST_PAYMENT",FIRST_PAYMENT);
param.put("FIRST_PAYMENT_NOTAX",FIRST_PAYMENT_NOTAX);
param.put("FIRST_PAYMENT_TAX",FIRST_PAYMENT_TAX);
param.put("GUARANTY",GUARANTY);
param.put("HANDLING_CHARGE_MONEY",HANDLING_CHARGE_MONEY);
param.put("HANDLING_CHARGE_MONEY_NOTAX",HANDLING_CHARGE_MONEY_NOTAX);
@ -153,13 +181,13 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{
// 通过客户名称获取客户编码维护里面的数据, 如果有数据说明是集团内, 如果没有数据说明是集团外
BizObject cust_list=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+CUSTOMERID+"'").getSingleResult(false);
// 收到客户手续费
if("PZ2018092500000166".equals(VOUCHERNO)){
if("PZ2018092500000166".equals(VOUCHERNO) || "PZ2019071800000040".equals(VOUCHERNO) || "PZ2019071800000041".equals(VOUCHERNO) || "PZ2019072000000080".equals(VOUCHERNO) || "PZ2019072200000115".equals(VOUCHERNO) || "PZ2019072200000116".equals(VOUCHERNO)){
param.put("CASHFLOW", "");// 现金流项目
param.put("BUSINESSTYPE", "0604");// 主营类型
}
// 给供应商放款-非差额放款/给经销商放款-差额放款, 用来判断集团内外的现金流辅助项
if("PZ2018092500000159".equals(VOUCHERNO) || "PZ2018092500000169".equals(VOUCHERNO)) {
if("PZ2018092500000159".equals(VOUCHERNO) || "PZ2018092500000169".equals(VOUCHERNO) || "PZ2019071800000036".equals(VOUCHERNO) || "PZ2019071800000037".equals(VOUCHERNO) || "PZ2019072000000077".equals(VOUCHERNO) || "PZ2019072000000081".equals(VOUCHERNO) || "PZ2019072200000112".equals(VOUCHERNO) || "PZ2019072200000117".equals(VOUCHERNO)){
if(cust_list != null) {// 集团内
param.put("CASHFLOW", "11212");// 现金流项目
}else {// 集团外

View File

@ -40,11 +40,13 @@ public class CreateVoucherContractChangeForTradition {
String sql="";
param.clear();
map.put("FlowUnid", FlowUnid);
// 未实现利息总额
if("PZ2018100900000269".equals(VOUCHERNO) || "PZ2018100900000288".equals(VOUCHERNO)){
sql="SELECT IFNULL(LRPT.SUMINTE,0) - IFNULL(LRP.SUMINTE,0) AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.CONTRACT_ID = LRPT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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 = '2' AND lul.IS_MAIN='Y' AND LCCT.FLOWUNID = :FLOWUNID ";
if("PZ2018100900000269".equals(VOUCHERNO) || "PZ2018100900000288".equals(VOUCHERNO) || "PZ2019071800000057".equals(VOUCHERNO) || "PZ2019071800000058".equals(VOUCHERNO) || "PZ2019071800000059".equals(VOUCHERNO)){
sql="SELECT IFNULL(LRPT.SUMINTE, 0) - IFNULL(LRP.SUMINTE, 0) AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LCCT.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.CONTRACT_ID = LCI.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 = '2' AND lul.IS_MAIN = 'Y' AND (IFNULL(LRPT.SUMINTE, 0) - IFNULL(LRP.SUMINTE, 0)) <> 0 AND LCCT.FLOWUNID = :FLOWUNID ";
}else if("PZ2019072200000104".equals(VOUCHERNO) || "PZ2019072200000105".equals(VOUCHERNO) || "PZ2019072300000133".equals(VOUCHERNO) || "PZ2019072300000134".equals(VOUCHERNO)){
sql="SELECT IFNULL(LRPT.SUMINTE, 0) - IFNULL(LRP.SUMINTE, 0) AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LCCT.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.CONTRACT_ID = LCI.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 = '3' AND lul.IS_MAIN = 'Y' AND (IFNULL(LRPT.SUMINTE, 0) - IFNULL(LRP.SUMINTE, 0)) <> 0 AND LCCT.FLOWUNID = :FLOWUNID ";
}
//sql="SELECT LRPT.SUMINTE AS MONEY,ROUND(LRPT.SUMINTE / getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2) AS MONEYNOTAX,(LRPT.SUMINTE-ROUND(LRPT.SUMINTE / getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN_TEMP GROUP BY CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LCI.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 = '2' AND LCCT.FLOWUNID =:FLOWUNID ";
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
@ -53,56 +55,47 @@ public class CreateVoucherContractChangeForTradition {
String userid ="admin";
for (int i=0;i<dataList.size();i++){
MONEY=dataList.get(i).get("MONEY");
if("".equals(MONEY)||MONEY==null) MONEY="0.00";
double mon=Double.parseDouble(MONEY);
if(Math.abs(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");
CUSTID=dataList.get(i).get("CUSTOMERID");
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
param.put("TAX",MONEYTAX);
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
param.put("PROJECT_NAME",PROJECT_NAME);
param.put("LEAS_FORM",leas_form);
param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID);
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
if("2".equals(BUSINESSTYPE)){
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){
vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
}
}
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");
CUSTID=dataList.get(i).get("CUSTOMERID");
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
param.put("TAX",MONEYTAX);
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
param.put("PROJECT_NAME",PROJECT_NAME);
param.put("LEAS_FORM",leas_form);
param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID);
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("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);
}
}
if(Sqlca!=null){
Sqlca.commit();
}

View File

@ -15,6 +15,9 @@ import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
/**
* 网银回款
*/
public class CreateVoucherCustCautionMoneyIncome extends BaseBussiness {
public String CreateVoucher(String FlowUnid, String VOUCHERNO, String FeeType,String userid) throws Exception {
@ -48,14 +51,8 @@ public class CreateVoucherCustCautionMoneyIncome extends BaseBussiness {
map.put("FlowUnid", FlowUnid);
map.put("FEE_TYPE", FeeType);
//sql= "SELECT LFIT.FACT_MONEY AS MONEY,ROUND(LFIT.FACT_MONEY/1.06,2)AS MONEYNOTAX,(LFIT.FACT_MONEY-ROUND(LFIT.FACT_MONEY/1.06,2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID=LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id=lci.id LEFT JOIN customer_info cif ON cif.customerid=lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LFIT.FEE_TYPE=:FEE_TYPE AND LFIT.FLOWUNID=:FLOWUNID AND DATE_FORMAT(LFIT.FACT_DATE,'%Y/%m')=DATE_FORMAT(SYSDATE(),'%Y/%m')";
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'留购价',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'本金',lcct.start_date),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'本金',lcct.start_date),2)),0) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LFIT.ACCOUNTING_DATE IS NOT NULL OR LFIT.ACCOUNTING_DATE!='')THEN LFIT.ACCOUNTING_DATE ELSE NOW() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LFIT.FACT_DATE IS NOT NULL OR LFIT.FACT_DATE!='')THEN LFIT.FACT_DATE ELSE NOW() END, '%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE='1' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
// 区分一次性收入和按月分摊--0010=一次性/0020=按月分摊
if("PZ2018071100000014".equals(VOUCHERNO)||"PZ2018080400000079".equals(VOUCHERNO)||"PZ2018072100000035".equals(VOUCHERNO)||"PZ2018080400000111".equals(VOUCHERNO)) {
sql+=" AND LCCT.HANDLING_CHARGE_MONEY_TYPE='0010'";
}else if("PZ2018072100000023".equals(VOUCHERNO)||"PZ2018080400000080".equals(VOUCHERNO)||"PZ2018072100000036".equals(VOUCHERNO)||"PZ2018080400000090".equals(VOUCHERNO)){
sql+=" AND LCCT.HANDLING_CHARGE_MONEY_TYPE='0020'";
}
sql = "SELECT ROUND((getTax (lci.LEAS_FORM,'留购价',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY, 0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',lcct.start_date),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',lcct.start_date),2)),0) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LFIT.ACCOUNTING_DATE IS NOT NULL OR LFIT.ACCOUNTING_DATE != '') THEN LFIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LFIT.FACT_DATE IS NOT NULL OR LFIT.FACT_DATE != '') THEN LFIT.FACT_DATE ELSE NOW() END,'%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '1' AND LUL.IS_MAIN = 'Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
// 查询sql, 将结果集封装到list集合中
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl();
@ -115,19 +112,9 @@ public class CreateVoucherCustCautionMoneyIncome extends BaseBussiness {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
/*if ("1".equals(BUSINESSTYPE)) {
param.put("LEASFORMASSET", "04"); // 融资租赁资产
param.put("DEPT", "02"); // 部门
if ("03".equals(CUSTOMERTYPE)) { // 如果是个人业务
param.put("LEASINCOMEFORM", "02"); // C端
} else if ("01".equals(CUSTOMERTYPE)) {
param.put("LEASINCOMEFORM", "01"); // B端
}
}*/
if("PZ2018072100000026".equals(VOUCHERNO)) {
if("PZ2018072100000026".equals(VOUCHERNO) || "PZ2019070100000015".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0602");// 主营类型
}else if("PZ2018072100000031".equals(VOUCHERNO)) {
}else if("PZ2018072100000031".equals(VOUCHERNO) || "PZ2019070100000019".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0605");// 主营类型
}
// param.put("FUNDTYPE", ""); // 主营类型

View File

@ -42,27 +42,29 @@ public class CreateVoucherDepositDeductionForTradition extends BaseBussiness {
String ACC_NUM = null;
String TAX_NUM = null;
String sql = "";
String feeType="";
String taxType="";
String businessType="";
param.clear();
map.put("FlowUnid", FlowUnid);
if("PZ2018092500000217".equals(VOUCHERNO) || "PZ2018101000000336".equals(VOUCHERNO)) {// 保证金抵扣租金(汽车类传统)
feeType="LRIT.RENT"; taxType="租金"; businessType=" LPI.BUSINESSTYPE='3' AND ";
}else if("PZ2018092500000185".equals(VOUCHERNO)) {// 保证金抵扣租金(传统)
feeType="LRIT.RENT"; taxType="租金"; businessType=" LPI.BUSINESSTYPE='2' AND ";
}else if("PZ2018092500000219".equals(VOUCHERNO) || "PZ2018101000000337".equals(VOUCHERNO)) {// 保证金抵扣罚金(汽车类传统)
feeType="LRIT.PENALTY"; taxType="违约金"; businessType=" LPI.BUSINESSTYPE='3' AND ";
}else if("PZ2018092500000187".equals(VOUCHERNO)) {// 保证金抵扣罚金(传统)
feeType="LRIT.PENALTY"; taxType="违约金"; businessType=" LPI.BUSINESSTYPE='2' AND ";
/**
* ´«Í³
*/
// ±£Ö¤½ðµÖ¿Û-±£Ö¤½ðµÖ¿Û×â½ð
if("PZ2018092500000185".equals(VOUCHERNO)){
sql = "SELECT IFNULL(LRIT.RENT,0) AS MONEY,IFNULL(LRIT.CORPUS,0) AS MONEYNOTAX,IFNULL(LRIT.INTEREST,0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.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 LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE='2' AND LRIT.SETTLE_METHOD = 'settlemethod7' AND lul.IS_MAIN='Y' AND LRIT.FLOWUNID = :FLOWUNID ";
// ±£Ö¤½ðµÖ¿Û-±£Ö¤½ðµÖ¿Û·£½ð
}else if("PZ2018092500000187".equals(VOUCHERNO)){
sql = "SELECT IFNULL(LRIT.PENALTY,0) AS MONEY,ROUND(IFNULL(LRIT.PENALTY,0) / getTax (LCI.LEAS_FORM,'Î¥Ô¼½ð',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.PENALTY,0) - ROUND(IFNULL(LRIT.PENALTY,0) / getTax (LCI.LEAS_FORM,'Î¥Ô¼½ð',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.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 LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE='2' AND LRIT.SETTLE_METHOD = 'settlemethod7' AND lul.IS_MAIN = 'Y' AND LRIT.FLOWUNID = :FLOWUNID ";
}
// 保证金抵扣租金
if("PZ2018092500000185".equals(VOUCHERNO)) {
sql = "SELECT IFNULL(SUM(IFNULL(LRIT.RENT,0)),0) AS MONEY,IFNULL(SUM(IFNULL(LRIT.CORPUS,0)),0) AS MONEYNOTAX,IFNULL(SUM(IFNULL(LRIT.INTEREST,0)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.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 LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE "+businessType+" LRIT.SETTLE_METHOD = 'settlemethod7' AND lul.IS_MAIN='Y' AND LRIT.FLOWUNID = :FLOWUNID ";
}else {
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'"+taxType+"',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,"+feeType+" AS MONEY,ROUND("+feeType+" / getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2) AS MONEYNOTAX,("+feeType+" - ROUND("+feeType+" / getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.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 LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE "+businessType+" LRIT.SETTLE_METHOD = 'settlemethod7' AND lul.IS_MAIN='Y' AND LRIT.FLOWUNID = :FLOWUNID ";
/**
* Æû³µÀഫͳ
*/
// ±£Ö¤½ðµÖ¿Û-±£Ö¤½ðµÖ¿Û×â½ð
if("PZ2019072200000100".equals(VOUCHERNO)){
sql = "SELECT IFNULL(LRIT.RENT,0) AS MONEY,IFNULL(LRIT.CORPUS,0) AS MONEYNOTAX,IFNULL(LRIT.INTEREST,0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.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 LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE='3' AND LRIT.SETTLE_METHOD = 'settlemethod7' AND lul.IS_MAIN='Y' AND LRIT.FLOWUNID = :FLOWUNID ";
// ±£Ö¤½ðµÖ¿Û-±£Ö¤½ðµÖ¿Û·£½ð
}else if("PZ2019072200000102".equals(VOUCHERNO)){
sql = "SELECT ROUND((getTax (lci.LEAS_FORM,'Î¥Ô¼½ð',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.PENALTY,0) AS MONEY,ROUND(IFNULL(LRIT.PENALTY,0) / getTax (LCI.LEAS_FORM,'Î¥Ô¼½ð',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.PENALTY,0) - ROUND(IFNULL(LRIT.PENALTY,0) / getTax (LCI.LEAS_FORM,'Î¥Ô¼½ð',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.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 LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE='3' AND LRIT.SETTLE_METHOD = 'settlemethod7' AND lul.IS_MAIN = 'Y' AND LRIT.FLOWUNID = :FLOWUNID ";
}
// 查询sql, 将结果集封装到list集合中
@ -119,16 +121,9 @@ public class CreateVoucherDepositDeductionForTradition extends BaseBussiness {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
if ("2".equals(BUSINESSTYPE)) {
if("PZ2018092500000187".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0603");// 主营类型
param.put("CASHFLOW", "");// 现金流项目
}
}else if ("3".equals(BUSINESSTYPE)) {
if("PZ2018092500000219".equals(VOUCHERNO) || "PZ2018101000000337".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "");// 主营类型
param.put("CASHFLOW", "");// 现金流项目
}
if("PZ2018092500000187".equals(VOUCHERNO) || "PZ2019072200000102".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0603");// Ö÷ÓªÀàÐÍ
param.put("CASHFLOW", "");// ÏÖ½ðÁ÷ÏîÄ¿
}
param.put("FlowUnid", FlowUnid);
map.clear();

View File

@ -23,10 +23,13 @@ public class CreateVoucherDepositDeductionToMoney extends BaseBussiness {
Map<String, String> map = new HashMap<String, String>();
Map<String, String> param = new HashMap<String, String>();
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl();
String VOUCHER_TYPE = "1";
String MONEY = null;
String MONEYNOTAX = null;
String MONEYTAX = null;
String CORPUS_ADD_INTEREST_TAX = null;
String DEDITMONEY_NOTAX = null;
String CORPUS = null;
String INTEREST = null;
@ -46,11 +49,17 @@ public class CreateVoucherDepositDeductionToMoney extends BaseBussiness {
String sql = "";
param.clear();
map.put("FlowUnid", FlowUnid);
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY, 0) AS MONEY,IFNULL(ROUND(LRIT.PENALTY / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LRIT.PENALTY - ROUND(LRIT.PENALTY / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)),0) AS MONEYTAX,'0.00' AS DEDITMONEY_NOTAX,IFNULL(LRIT.CORPUS, 0) AS CORPUS,IFNULL(LRIT.INTEREST, 0) AS INTEREST,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,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT SUM(LRIT.CORPUS) CORPUS,SUM(LRIT.INTEREST) INTEREST,SUM(LRIT.PENALTY) PENALTY,LRIT.FLOWUNID,LRIT.CONTRACT_ID FROM LC_RENT_INCOME_TEMP LRIT WHERE LRIT.SETTLE_METHOD = 'settlemethod7' GROUP BY lrit.FLOWUNID,LRIT.CONTRACT_ID) LRIT ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT SUM(LFIT.FACT_MONEY) FACT_MONEY,lfit.contract_id FROM LC_FUND_INCOME_TEMP LFIT WHERE LFIT.FEE_TYPE = 'feetype16' AND LFIT.SETTLE_METHOD = 'settlemethod7' GROUP BY lfit.contract_id) LFIT ON LFIT.CONTRACT_ID = LCI.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 lul.IS_MAIN='Y' AND LRIT.FLOWUNID = :FLOWUNID ";
// 保证金抵扣
if("PZ2018072100000053".equals(VOUCHERNO) || "PZ2019070100000026".equals(VOUCHERNO)){
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY, 0) AS MONEY,IFNULL(ROUND(LRIT.PENALTY / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LRIT.PENALTY - ROUND(LRIT.PENALTY / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)),0) AS MONEYTAX,'0.00' AS DEDITMONEY_NOTAX,IFNULL(LRIT.CORPUS, 0) AS CORPUS,IFNULL(LRIT.INTEREST, 0) AS INTEREST,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,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT SUM(LRIT.CORPUS) CORPUS,SUM(LRIT.INTEREST) INTEREST,SUM(LRIT.PENALTY) PENALTY,LRIT.FLOWUNID,LRIT.CONTRACT_ID FROM LC_RENT_INCOME_TEMP LRIT WHERE LRIT.SETTLE_METHOD = 'settlemethod7' GROUP BY lrit.FLOWUNID,LRIT.CONTRACT_ID) LRIT ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT SUM(LFIT.FACT_MONEY) FACT_MONEY,lfit.contract_id FROM LC_FUND_INCOME_TEMP LFIT WHERE LFIT.FEE_TYPE = 'feetype16' AND LFIT.SETTLE_METHOD = 'settlemethod7' GROUP BY lfit.contract_id) LFIT ON LFIT.CONTRACT_ID = LCI.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 lul.IS_MAIN='Y' AND LCI.BUSINESSTYPE='1' AND LUL.IS_MAIN = 'Y' AND LRIT.FLOWUNID = :FLOWUNID ";
// 确认未实现利息收入-抵扣租金利息
}else if("PZ2019070100000027".equals(VOUCHERNO)){
sql = "SELECT ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,IFNULL(ROUND(LRIT.INTEREST / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2),0) AS MONEYNOTAX, IFNULL((LRIT.CORPUS - ROUND(LRIT.CORPUS / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)),0) AS MONEYTAX,((IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_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,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM (SELECT SUM(LRIT.CORPUS) CORPUS,SUM(LRIT.INTEREST) INTEREST,SUM(LRIT.PENALTY) PENALTY,LRIT.FLOWUNID,LRIT.CONTRACT_ID,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT WHERE LRIT.SETTLE_METHOD = 'settlemethod7' GROUP BY LRIT.FLOWUNID,LRIT.CONTRACT_ID,LRIT.PLAN_LIST) LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 lul.IS_MAIN = 'Y' AND LCI.BUSINESSTYPE = '1' AND LUL.IS_MAIN = 'Y' AND DATE_FORMAT(NOW(),'%Y%m')=DATE_FORMAT(LRP.PLAN_DATE,'%Y%m') AND LRIT.FLOWUNID = :FLOWUNID ";
}
// 查询sql, 将结果集封装到list集合中
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl();
String VOUCHER_TYPE = "1";// 凭证分类 金蝶
//遍历获取结果集, 将结果写入map中
for (int i = 0; i < dataList.size(); i++) {
@ -61,6 +70,7 @@ public class CreateVoucherDepositDeductionToMoney extends BaseBussiness {
if (Math.abs(mon) > 0) {
MONEYNOTAX = dataList.get(i).get("MONEYNOTAX");
MONEYTAX = dataList.get(i).get("MONEYTAX");
CORPUS_ADD_INTEREST_TAX = dataList.get(i).get("CORPUS_ADD_INTEREST_TAX");
DEDITMONEY_NOTAX = dataList.get(i).get("DEDITMONEY_NOTAX");
CORPUS = dataList.get(i).get("CORPUS");
INTEREST = dataList.get(i).get("INTEREST");
@ -76,6 +86,7 @@ public class CreateVoucherDepositDeductionToMoney extends BaseBussiness {
CUSTNAME = dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE");
TAX_NUM = dataList.get(i).get("TAX_NUM");
// 通过税率获取编码
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
@ -85,6 +96,7 @@ public class CreateVoucherDepositDeductionToMoney extends BaseBussiness {
param.put("FACT_MONEY", MONEY);
param.put("INTERESTNOTAX", MONEYNOTAX);
param.put("TAX", MONEYTAX);
param.put("CORPUS_ADD_INTEREST_TAX", CORPUS_ADD_INTEREST_TAX);
param.put("DEDITMONEY_NOTAX", DEDITMONEY_NOTAX);
param.put("CORPUS", CORPUS);
param.put("INTEREST", INTEREST);

View File

@ -3,26 +3,30 @@ package com.tenwa.voucher.CreateVoucherProcess;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
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 CreateVoucherEarlySettlementForTradition {
public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception {
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());
// 定义SQL查询结果集变量
String MONEY=null;
String MONEYNOTAX=null;
String MONEYTAX=null;
String CORPUS=null;
String INTEREST=null;
String ACCOUNT_DATE=null;
String FACT_DATE=null;
String CONTRACT_ID=null;
@ -35,111 +39,165 @@ public class CreateVoucherEarlySettlementForTradition {
String CUSTNAME=null;
String CUSTOMERTYPE=null;
String BUSINESSTYPE=null;
String ACC_NUMBER=null;
String TAX_NUM=null;
// 金额类型
String moneyType="";
// 税率类别
String taxType="";
// 查询SQL
String sql="";
param.clear();
map.put("FlowUnid", FlowUnid);
if("PZ2018101000000322".equals(VOUCHERNO) || "PZ2018101000000323".equals(VOUCHERNO)) {// 收到的逾期租金(汽车传统)
sql="SELECT IFNULL(LFRA.DUN_RENT,0) AS MONEY,IFNULL(ROUND(LFRA.DUN_RENT / getTax (LCI.LEAS_FORM,'租金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.DUN_RENT - ROUND(LFRA.DUN_RENT / 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,LCI.ID CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '3' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000304".equals(VOUCHERNO) || "PZ2018101000000305".equals(VOUCHERNO)) {// 收到的逾期租金(传统)
sql="SELECT IFNULL(LFRA.DUN_RENT,0) AS MONEY,IFNULL(ROUND(LFRA.DUN_RENT / getTax (LCI.LEAS_FORM,'租金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.DUN_RENT - ROUND(LFRA.DUN_RENT / 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,LCI.ID CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 = '2' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000324".equals(VOUCHERNO) || "PZ2018101000000325".equals(VOUCHERNO)) {// 收到的逾期罚息(汽车传统)
sql="SELECT IFNULL(LFRA.AGREED_PENALTY,0) AS MONEY,IFNULL(ROUND(LFRA.AGREED_PENALTY / getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.AGREED_PENALTY - ROUND(LFRA.AGREED_PENALTY / 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,LCI.ID CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 = '3' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000306".equals(VOUCHERNO) || "PZ2018101000000307".equals(VOUCHERNO)) {// 收到的逾期罚息(传统)
sql="SELECT IFNULL(LFRA.AGREED_PENALTY,0) AS MONEY,IFNULL(ROUND(LFRA.AGREED_PENALTY / getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.AGREED_PENALTY - ROUND(LFRA.AGREED_PENALTY / 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,LCI.ID CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 = '2' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000326".equals(VOUCHERNO) || "PZ2018101000000327".equals(VOUCHERNO)) {// 收到的提前还款剩余本金 (汽车传统)
sql="SELECT IFNULL(LFRA.CORPUS_OVERAGE,0) AS MONEY,IFNULL(LFRA.CORPUS_OVERAGE - LFIT.CAUTION_MONEY,0) AS MONEYNOTAX,IFNULL(LFIT.CAUTION_MONEY,0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS CAUTION_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype2' GROUP BY CONTRACT_ID) LFIT ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID= LCI.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 = '3' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000308".equals(VOUCHERNO) || "PZ2018101000000309".equals(VOUCHERNO)) {// 收到的提前还款剩余本金 (传统)
sql="SELECT IFNULL(LFRA.CORPUS_OVERAGE,0) AS MONEY,IFNULL(LFRA.CORPUS_OVERAGE - LFIT.CAUTION_MONEY,0) AS MONEYNOTAX,IFNULL(LFIT.CAUTION_MONEY,0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS CAUTION_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype2' GROUP BY CONTRACT_ID) LFIT ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID= LCI.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 = '2' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000328".equals(VOUCHERNO) || "PZ2018101000000329".equals(VOUCHERNO)) {// 收到的未到期利息(汽车传统)
sql="SELECT IFNULL(LFRA.AGREED_INTEREST,0) AS MONEY,IFNULL(ROUND(LFRA.AGREED_INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.AGREED_INTEREST - ROUND(LFRA.AGREED_INTEREST / 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,LCI.ID CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 = '3' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000310".equals(VOUCHERNO) || "PZ2018101000000311".equals(VOUCHERNO)) {// 收到的未到期利息(传统)
sql="SELECT IFNULL(LFRA.AGREED_INTEREST,0) AS MONEY,IFNULL(ROUND(LFRA.AGREED_INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.AGREED_INTEREST - ROUND(LFRA.AGREED_INTEREST / 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,LCI.ID CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 = '2' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000330".equals(VOUCHERNO) || "PZ2018101000000331".equals(VOUCHERNO)) {// 收到的项目违约金(汽车传统)
sql="SELECT IFNULL(LFRA.PAYDAY_DATE,0) AS MONEY,IFNULL(ROUND(LFRA.PAYDAY_DATE / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(ROUND(LFRA.PAYDAY_DATE - ROUND(LFRA.PAYDAY_DATE / getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 = '3' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000312".equals(VOUCHERNO) || "PZ2018101000000313".equals(VOUCHERNO)) {// 收到的项目违约金(传统)
sql="SELECT IFNULL(LFRA.PAYDAY_DATE,0) AS MONEY,IFNULL(ROUND(LFRA.PAYDAY_DATE / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(ROUND(LFRA.PAYDAY_DATE - ROUND(LFRA.PAYDAY_DATE / getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 = '2' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000332".equals(VOUCHERNO) || "PZ2018101000000333".equals(VOUCHERNO)) {// 收到的违约手续费(汽车传统)
sql="SELECT IFNULL(LFRA.SDHANDLING_CHARGE,0) AS MONEY,IFNULL(ROUND(LFRA.SDHANDLING_CHARGE / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.SDHANDLING_CHARGE - ROUND(LFRA.SDHANDLING_CHARGE / 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,LCI.ID CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 = '3' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000314".equals(VOUCHERNO) || "PZ2018101000000315".equals(VOUCHERNO)) {// 收到的违约手续费(传统)
sql="SELECT IFNULL(LFRA.SDHANDLING_CHARGE,0) AS MONEY,IFNULL(ROUND(LFRA.SDHANDLING_CHARGE / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.SDHANDLING_CHARGE - ROUND(LFRA.SDHANDLING_CHARGE / 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,LCI.ID CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 = '2' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000334".equals(VOUCHERNO) || "PZ2018101000000335".equals(VOUCHERNO)) {// 收到名义货价(汽车传统)
sql="";
}else if("PZ2018101000000316".equals(VOUCHERNO) || "PZ2018101000000317".equals(VOUCHERNO)) {// 收到名义货价(传统)
sql="";
// 提前结清-收到的逾期罚息(传统)
if("PZ2019071800000061".equals(VOUCHERNO) || "PZ2019072300000136".equals(VOUCHERNO)){
moneyType=" IFNULL(LCRAT.AGREED_PENALTY,0) ";
taxType="逾期利息";
}
// 提前结清-确认本金对应的税金(传统)
if("PZ2019071800000063".equals(VOUCHERNO) || "PZ2019072300000138".equals(VOUCHERNO)){
moneyType=" IFNULL(LCRAT.CORPUS_OVERAGE,0) ";
taxType="本金";
}
// 提前结清-收到的项目违约金(传统)
if("PZ2019071800000066".equals(VOUCHERNO) || "PZ2019072300000142".equals(VOUCHERNO)){
moneyType=" IFNULL(LCRAT.PAYDAY_DATE,0) ";
taxType="违约金";
}
/**
* 传统
*/
// 提前结清-收到的逾期租金(传统)
if("PZ2019071800000060".equals(VOUCHERNO)){
sql="SELECT IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0) AS MONEY,IFNULL(LRPT.CORPUS, 0) - IFNULL(LRI.CORPUS, 0) AS MONEYNOTAX,IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%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 FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,SUM(LRPT.RENT) RENT,SUM(LRPT.CORPUS) CORPUS,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,SUM(LRI.RENT) RENT,SUM(LRI.CORPUS) CORPUS,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND lul.IS_MAIN = 'Y' AND (IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0))>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
// 提前还款-收到的提前还款剩余本金及当月利息(传统)
}else if("PZ2019071800000062".equals(VOUCHERNO)){
sql="SELECT IFNULL(LCRAT.OTHER_OUT, 0) AS MONEY,(IFNULL(LCRAT.CORPUS_OVERAGE, 0) - IFNULL(LCRAT.OTHER_OUT, 0)) AS MONEYNOTAX,IFNULL(LCRAT.CORPUS_OVERAGE, 0) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%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 FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND (IFNULL(LCRAT.OTHER_OUT, 0)>0 OR (IFNULL(LCRAT.CORPUS_OVERAGE, 0) - IFNULL(LCRAT.OTHER_OUT, 0))>0) AND lul.IS_MAIN = 'Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
// 提前结清-确认当期期利息收入(传统)
}else if("PZ2019071800000064".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRPT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) - ROUND(IFNULL(LRI.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRPT.INTEREST, 0) - ROUND(IFNULL(LRPT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) - (IFNULL(LRI.INTEREST, 0) - ROUND(IFNULL(LRI.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%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 FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.PLAN_LIST,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m') = DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m') AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID,LRPT.PLAN_LIST) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,LRI.PLAN_LIST,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID,LRI.PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRPT.CONTRACT_ID AND LRI.PLAN_LIST = LRPT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND lul.IS_MAIN = 'Y' AND (IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0))>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
// 提前结清-确认的未到期利息收入(传统)
}else if("PZ2019071800000065".equals(VOUCHERNO)){
sql="";
// 提前结清-调整未实现利息收入(传统)
}else if("PZ2019071800000059".equals(VOUCHERNO)){
sql="SELECT IFNULL(LRP.INTEREST,0)-IFNULL(LRI.INTEREST,0) AS MONEY,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%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 FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID,SUM(INTEREST) AS INTEREST,MAX(CONTRACT_ID) AS CONTRACT_ID,PAYMENT_NUMBER FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID,PAYMENT_NUMBER)LRP ON LRP.FLOWUNID=LCRAT.FLOWUNID AND LRP.PAYMENT_NUMBER=LCRAT.PAYMENT_NUMBER LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID)LRI ON LRI.CONTRACT_ID=LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRP.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND lul.IS_MAIN = 'Y' AND (IFNULL(LRP.INTEREST,0)-IFNULL(LRI.INTEREST,0))>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
}else {
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'"+taxType+"',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,"+moneyType+" AS MONEY,ROUND("+moneyType+" /getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2) AS MONEYNOTAX,("+moneyType+" - ROUND("+moneyType+" / getTax (LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%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 FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND lul.IS_MAIN = 'Y' AND "+moneyType+">0 AND LCRAT.FLOWUNID = :FLOWUNID ";
}
/**
* 汽车类传统
*/
// 提前结清-收到的逾期租金(传统)
if("PZ2019072300000135".equals(VOUCHERNO)){
sql="SELECT IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0) AS MONEY,IFNULL(LRPT.CORPUS, 0) - IFNULL(LRI.CORPUS, 0) AS MONEYNOTAX,IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%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 FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,SUM(LRPT.RENT) RENT,SUM(LRPT.CORPUS) CORPUS,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,SUM(LRI.RENT) RENT,SUM(LRI.CORPUS) CORPUS,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '3' AND lul.IS_MAIN = 'Y' AND (IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0))>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
// 提前还款-收到的提前还款剩余本金及当月利息(传统)
}else if("PZ2019072300000137".equals(VOUCHERNO)){
sql="SELECT IFNULL(LCRAT.OTHER_OUT, 0) AS MONEY,(IFNULL(LCRAT.CORPUS_OVERAGE, 0) - IFNULL(LCRAT.OTHER_OUT, 0)) AS MONEYNOTAX,IFNULL(LCRAT.CORPUS_OVERAGE, 0) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%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 FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '3' AND (IFNULL(LCRAT.OTHER_OUT, 0)>0 OR (IFNULL(LCRAT.CORPUS_OVERAGE, 0) - IFNULL(LCRAT.OTHER_OUT, 0))>0) AND lul.IS_MAIN = 'Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
// 提前结清-确认当期期利息收入(传统)
}else if("PZ2019072300000139".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRPT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) - ROUND(IFNULL(LRI.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRPT.INTEREST, 0) - ROUND(IFNULL(LRPT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) - (IFNULL(LRI.INTEREST, 0) - ROUND(IFNULL(LRI.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%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 FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.PLAN_LIST,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m') = DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m') AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID,LRPT.PLAN_LIST) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,LRI.PLAN_LIST,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID,LRI.PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRPT.CONTRACT_ID AND LRI.PLAN_LIST = LRPT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '3' AND lul.IS_MAIN = 'Y' AND (IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0))>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
// 提前结清-确认的未到期利息收入(传统)
}else if("PZ2019072300000140".equals(VOUCHERNO)){
sql="";
// 提前结清-调整未实现利息收入(传统)
}else if("PZ2019072300000141".equals(VOUCHERNO)){
sql="SELECT IFNULL(LRP.INTEREST,0)-IFNULL(LRI.INTEREST,0) AS MONEY,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%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 FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID,SUM(INTEREST) AS INTEREST,MAX(CONTRACT_ID) AS CONTRACT_ID,PAYMENT_NUMBER FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID,PAYMENT_NUMBER)LRP ON LRP.FLOWUNID=LCRAT.FLOWUNID AND LRP.PAYMENT_NUMBER=LCRAT.PAYMENT_NUMBER LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID)LRI ON LRI.CONTRACT_ID=LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRP.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '3' AND lul.IS_MAIN = 'Y' AND (IFNULL(LRP.INTEREST,0)-IFNULL(LRI.INTEREST,0))>0 AND LCRAT.FLOWUNID = :FLOWUNID ";
}else {
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'"+taxType+"',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,"+moneyType+" AS MONEY,ROUND("+moneyType+" /getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2) AS MONEYNOTAX,("+moneyType+" - ROUND("+moneyType+" / getTax (LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%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 FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '3' AND lul.IS_MAIN = 'Y' AND "+moneyType+">0 AND LCRAT.FLOWUNID = :FLOWUNID ";
}
// 执行SQL, 获取结果集
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl();
String VOUCHER_TYPE="1";// ƾ֤·ÖÀà ½ðµû
String userid ="admin";
for (int i=0;i<dataList.size();i++){
MONEY=dataList.get(i).get("MONEY").toString();
if("".equals(MONEY)||MONEY==null) MONEY="0.00";
double mon=Double.parseDouble(MONEY);
if(mon>0){
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX").toString();
MONEYTAX=dataList.get(i).get("MONEYTAX").toString();
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE").toString();
FACT_DATE =dataList.get(i).get("FACT_DATE").toString();
CONTRACT_ID=dataList.get(i).get("CONTRACT_ID").toString();
CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER").toString();
PROJECT_NAME=dataList.get(i).get("PROJECT_NAME").toString();
leas_form=dataList.get(i).get("LEAS_FORM").toString();
DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");
DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");
CUSTID=dataList.get(i).get("CUSTOMERID");
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
ACC_NUMBER=dataList.get(i).get("ACC_NUMBER");
MONEY=dataList.get(i).get("MONEY");
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX").toString();
MONEYTAX=dataList.get(i).get("MONEYTAX").toString();
CORPUS=dataList.get(i).get("CORPUS");
INTEREST=dataList.get(i).get("INTEREST");
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");
CUSTID=dataList.get(i).get("CUSTOMERID");
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
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("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
param.put("PROJECT_NAME",PROJECT_NAME);
param.put("LEAS_FORM",leas_form);
param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID);
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("ACC_NUMBER",ACC_NUMBER);
param.put("VOUCHERNO",VOUCHERNO);
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
param.put("TAX",MONEYTAX);
if("PZ2018081700000127".equals(VOUCHERNO)) {
param.put("CORPUS",CORPUS);
param.put("INTEREST",INTEREST);
}
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
param.put("PROJECT_NAME",PROJECT_NAME);
param.put("LEAS_FORM",leas_form);
param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID);
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("VOUCHERNO",VOUCHERNO);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
if("2".equals(BUSINESSTYPE)){
param.put("LEASFORMASSET", "02/03/05/06"); // 融资租赁资产
param.put("DEPT", "01"); // 部门
param.put("LEASINCOMEFORM", "06");
}else if("3".equals(BUSINESSTYPE)){
param.put("LEASFORMASSET", "04"); // 融资租赁资产
param.put("DEPT", "01"); // 部门
if("PZ2018101000000326".equals(VOUCHERNO) || "PZ2018101000000327".equals(VOUCHERNO)) {
param.put("LEASINCOMEFORM", "04");
}else {
param.put("LEASINCOMEFORM", "05");
}
}
param.put("BUSINESSTYPE", "06");
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);
}
}
}
// 收到的逾期利息
if("PZ2019071800000061".equals(VOUCHERNO) || "PZ2019072300000136".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0603");// 主营类型
}
// 收到的违约金
if("PZ2019071800000066".equals(VOUCHERNO) || "PZ2019072300000142".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0602");// 主营类型
}
// 确认当期期利息收入 || 确认的未到期利息收入
if("PZ2019071800000064".equals(VOUCHERNO) || "PZ2019071800000065".equals(VOUCHERNO) || "PZ2019072300000139".equals(VOUCHERNO) || "PZ2019072300000140".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0604");// 主营类型
}
// 收到名义货价
if("PZ2019071800000067".equals(VOUCHERNO) || "PZ2019072300000143".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0605");// 主营类型
}
param.put("CASHFLOW", "");// 现金流项目
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);
}
}
if(Sqlca!=null){
Sqlca.commit();
}
String sMessage="true";
return sMessage;
}

View File

@ -36,6 +36,7 @@ public class CreateVoucherEbankMoney {
String leas_form=null;
String CUSTID=null;
String CUSTNAME=null;
String EBANK_SN=null;
String sql="";
param.clear();
@ -43,12 +44,16 @@ public class CreateVoucherEbankMoney {
map.put("FLOWUNID", flowunid);
// »Ø¿î-àÓà»Ø¿î·Ö½â
if("PZ2019070100000018".equals(VOUCHERNO)){
sql= "SELECT IFNULL(LE.MAYOPE_MONEY, 0) AS MONEY,DATE_FORMAT(NOW(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(NOW(),'%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,LPI.BUSINESSTYPE FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_INCOME LRI ON LRI.CONTRACT_ID=LRIT.CONTRACT_ID AND LRI.PLAN_LIST=LRIT.PLAN_LIST AND LRI.HIRE_DATE=LRIT.HIRE_DATE LEFT JOIN LC_EBANK LE ON LE.EBANK_SN = LRI.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN = 'Y' AND IFNULL(LE.MAYOPE_MONEY, 0) > 0 AND LRIT.FLOWUNID = :FLOWUNID ";
}else if("PZ2019070100000024".equals(VOUCHERNO)){
sql= "SELECT -IFNULL(LE.MAYOPE_MONEY, 0) AS MONEY,DATE_FORMAT(NOW(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(NOW(),'%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,LPI.BUSINESSTYPE FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_INCOME LRI ON LRI.CONTRACT_ID=LRIT.CONTRACT_ID AND LRI.PLAN_LIST=LRIT.PLAN_LIST AND LRI.HIRE_DATE=LRIT.HIRE_DATE LEFT JOIN LC_EBANK LE ON LE.EBANK_SN = LRI.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN = 'Y' AND IFNULL(LE.MAYOPE_MONEY, 0) > 0 AND LRIT.FLOWUNID = :FLOWUNID ";
if("PZ2019070100000018".equals(VOUCHERNO) || "PZ2019073000000146".equals(VOUCHERNO)){
sql= "SELECT IFNULL(LE.MAYOPE_MONEY, 0) AS MONEY,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(NOW(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,LPI.BUSINESSTYPE,LE.EBANK_SN FROM (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID FROM LC_RENT_INCOME_TEMP GROUP BY FLOWUNID)LRIT LEFT JOIN (SELECT CONTRACT_ID,MAX(EBANK_NUMBER) AS EBANK_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID)LRI ON LRI.CONTRACT_ID=LRIT.CONTRACT_ID LEFT JOIN LC_EBANK LE ON LE.ID = LRI.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN = 'Y' AND IFNULL(LE.MAYOPE_MONEY, 0) > 0 AND LRIT.FLOWUNID = '"+flowunid+"' ";
}else if("PZ2019070100000024".equals(VOUCHERNO) || "PZ2019073000000147".equals(VOUCHERNO)){
sql= " SELECT -IFNULL(LE.MAYOPE_MONEY, 0) AS MONEY,DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(NOW(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,LPI.BUSINESSTYPE,LE.EBANK_SN FROM (SELECT FLOWUNID,CONTRACT_ID,PLAN_LIST FROM LC_RENT_INCOME_TEMP GROUP BY FLOWUNID,CONTRACT_ID,PLAN_LIST) LRIT LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,MAX(EBANK_NUMBER) AS EBANK_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID,PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRIT.CONTRACT_ID AND LRI.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LC_EBANK LE ON LE.ID = LRI.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN = 'Y' AND IFNULL(LE.MAYOPE_MONEY, 0) <> 0 AND LRIT.FLOWUNID = '"+flowunid+"' ";
}
if("PZ2019070100000018".equals(VOUCHERNO)|| "PZ2019073000000146".equals(VOUCHERNO)){
rs=Sqlca.getASResultSet(sql);
}else if("PZ2019070100000024".equals(VOUCHERNO) || "PZ2019073000000147".equals(VOUCHERNO)){
rs=Sqlca1.getASResultSet(sql);
}
rs=Sqlca.getASResultSet(sql);
while(rs.next()){
MONEY=rs.getString("MONEY");
@ -59,6 +64,7 @@ public class CreateVoucherEbankMoney {
leas_form="01";
CUSTID=rs.getString("CUSTOMERID");
CUSTNAME=rs.getString("CUSTOMERNAME");
EBANK_SN=rs.getString("EBANK_SN");
param.put("FACT_MONEY",MONEY);
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
@ -68,6 +74,7 @@ public class CreateVoucherEbankMoney {
param.put("LEAS_FORM",leas_form);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("EBANK_SN",EBANK_SN);
param.put("VOUCHERNO",VOUCHERNO);
map.clear();

View File

@ -46,11 +46,11 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception {
map.put("FlowUnid", FlowUnid);
sql= "SELECT IFNULL(LCCT.HANDLING_CHARGE_MONEY,0) AS MONEY,IFNULL(ROUND(LCCT.HANDLING_CHARGE_MONEY / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2),0) AS HANDLFEENOTAX,IFNULL((LCCT.HANDLING_CHARGE_MONEY - ROUND(LCCT.HANDLING_CHARGE_MONEY / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)),0) AS HANDLTAX,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,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,cif.customer_num FROM LC_CALC_CONDITION LCCT INNER JOIN lc_fund_income_temp lfit ON lfit.contract_id = lcct.contract_id AND lfit.fee_type = 'feetype10' LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE lfit.FLOWUNID = :FLOWUNID ";
// 给经销商放款冲抵确认收到手续费按月分摊收入
if("PZ2018071000000009".equals(VOUCHERNO)||"PZ2018080300000073".equals(VOUCHERNO)){
if("PZ2018071000000009".equals(VOUCHERNO)){
sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020'";
}
// 给经销商放款冲抵确认手续费收入一次性确认收入
if("PZ2018071000000007".equals(VOUCHERNO)||"PZ2018080300000072".equals(VOUCHERNO)){
if("PZ2018071000000007".equals(VOUCHERNO)){
sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0010'";
}

View File

@ -17,7 +17,7 @@ import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
public class CreateVoucherIncomeForTradition extends BaseBussiness {
public String CreateVoucher(String FlowUnid, String VOUCHERNO, String FeeType) throws Exception {
public String CreateVoucher(String FlowUnid, String VOUCHERNO, String FeeType,String userid) throws Exception {
Transaction Sqlca = null;
Map<String, String> map = new HashMap<String, String>();
@ -50,38 +50,37 @@ public class CreateVoucherIncomeForTradition extends BaseBussiness {
// 汽车传统/收到的违约金/罚款
if("PZ2018092500000205".equals(VOUCHERNO)||"PZ2018100900000292".equals(VOUCHERNO)) {
sql = "SELECT IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LFIT.ACCOUNTING_DATE IS NOT NULL OR LFIT.ACCOUNTING_DATE <> '') THEN LFIT.ACCOUNTING_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LFIT.FACT_DATE IS NOT NULL OR LFIT.FACT_DATE <> '') THEN LFIT.FACT_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '3' AND lul.IS_MAIN='Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
if("PZ2019072000000088".equals(VOUCHERNO) || "PZ2019072200000124".equals(VOUCHERNO)) {
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'违约金',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LFIT.ACCOUNTING_DATE IS NOT NULL OR LFIT.ACCOUNTING_DATE <> '') THEN LFIT.ACCOUNTING_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LFIT.FACT_DATE IS NOT NULL OR LFIT.FACT_DATE <> '') THEN LFIT.FACT_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '3' AND lul.IS_MAIN='Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
// 传统/收到的违约金/罚款
}else if("PZ2018092500000173".equals(VOUCHERNO)){
}else if("PZ2018092500000173".equals(VOUCHERNO) || "PZ2019071800000043".equals(VOUCHERNO)){
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'违约金',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LFIT.ACCOUNTING_DATE IS NOT NULL OR LFIT.ACCOUNTING_DATE <> '') THEN LFIT.ACCOUNTING_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LFIT.FACT_DATE IS NOT NULL OR LFIT.FACT_DATE <> '') THEN LFIT.FACT_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
// 汽车类传统/收到名义货价
}else if("PZ2018092500000206".equals(VOUCHERNO)||"PZ2018100900000293".equals(VOUCHERNO)){
sql = "SELECT IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LFIT.ACCOUNTING_DATE IS NOT NULL OR LFIT.ACCOUNTING_DATE <> '') THEN LFIT.ACCOUNTING_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LFIT.FACT_DATE IS NOT NULL OR LFIT.FACT_DATE <> '') THEN LFIT.FACT_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '3' AND lul.IS_MAIN='Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
}else if("PZ2019072000000089".equals(VOUCHERNO) || "PZ2019072200000125".equals(VOUCHERNO)){
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'留购价',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LFIT.ACCOUNTING_DATE IS NOT NULL OR LFIT.ACCOUNTING_DATE <> '') THEN LFIT.ACCOUNTING_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LFIT.FACT_DATE IS NOT NULL OR LFIT.FACT_DATE <> '') THEN LFIT.FACT_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '3' AND lul.IS_MAIN='Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
// 传统/收到名义货价
}else if("PZ2018092500000174".equals(VOUCHERNO)){
}else if("PZ2018092500000174".equals(VOUCHERNO) || "PZ2019071800000044".equals(VOUCHERNO)){
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'留购价',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LFIT.ACCOUNTING_DATE IS NOT NULL OR LFIT.ACCOUNTING_DATE <> '') THEN LFIT.ACCOUNTING_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LFIT.FACT_DATE IS NOT NULL OR LFIT.FACT_DATE <> '') THEN LFIT.FACT_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
}
// 查询sql, 将结果集封装到list集合中
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl();
String VOUCHER_TYPE = "1";// 凭证分类 金蝶
String userid = "admin";
//遍历获取结果集, 将结果写入map中
for (int i = 0; i < dataList.size(); i++) {
MONEY = dataList.get(i).get("MONEY").toString();
MONEY = dataList.get(i).get("MONEY");
if ("".equals(MONEY)||MONEY == null)MONEY = "0.00";
double mon = Double.parseDouble(MONEY);
// 判断有金额, 封装值到map中
if (Math.abs(mon) > 0) {
MONEYNOTAX = dataList.get(i).get("MONEYNOTAX").toString();
MONEYTAX = dataList.get(i).get("MONEYTAX").toString();
ACCOUNT_DATE = dataList.get(i).get("ACCOUNT_DATE").toString();
FACT_DATE = dataList.get(i).get("FACT_DATE").toString();
CONTRACT_ID = dataList.get(i).get("CONTRACT_ID").toString();
CONTRACT_NUMBER = dataList.get(i).get("CONTRACT_NUMBER").toString();
PROJECT_NAME = dataList.get(i).get("PROJECT_NAME").toString();
leas_form = dataList.get(i).get("LEAS_FORM").toString();
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");
CARID = dataList.get(i).get("CARID");
@ -122,11 +121,11 @@ public class CreateVoucherIncomeForTradition extends BaseBussiness {
}
//回款-收到的违约金/罚款--回租
if("PZ2018092500000173".equals(VOUCHERNO)) {
if("PZ2018092500000173".equals(VOUCHERNO) || "PZ2019071800000043".equals(VOUCHERNO) || "PZ2019072000000088".equals(VOUCHERNO) || "PZ2019072200000124".equals(VOUCHERNO)) {
param.put("CASHFLOW", "");// 现金流项目
param.put("BUSINESSTYPE", "0602");// 主营类型\
// 回款-收到名义货价--回租
}else if("PZ2018092500000174".equals(VOUCHERNO)) {
}else if("PZ2018092500000174".equals(VOUCHERNO) || "PZ2019071800000044".equals(VOUCHERNO) || "PZ2019072000000089".equals(VOUCHERNO) || "PZ2019072200000125".equals(VOUCHERNO)) {
param.put("CASHFLOW", "");// 现金流项目
param.put("BUSINESSTYPE", "0605");// 主营类型
}

View File

@ -80,7 +80,7 @@ public class CreateVoucherLoanDistributor {
// 合同起租一次性确认收入-回租&&合同起租按月分摊收入--回租
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.FIRST_PAYMENT, 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 ";
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.EQUIP_AMT, 0)-IFNULL(LCCT.FIRST_PAYMENT, 0)) AS MONEY,ROUND((IFNULL(LCCT.EQUIP_AMT, 0)-IFNULL(LCCT.FIRST_PAYMENT, 0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) AS MONEYNOTAX,((IFNULL(LCCT.EQUIP_AMT, 0)-IFNULL(LCCT.FIRST_PAYMENT, 0))-ROUND((IFNULL(LCCT.EQUIP_AMT, 0)-IFNULL(LCCT.FIRST_PAYMENT, 0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRPT.INTEREST, 0) AS INTEREST,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 ";

View File

@ -13,39 +13,45 @@ public class ContractActualPaymentTraditionVoucher extends BaseBussiness {
this.initBussinessParam(Sqlca);
String FlowUnid=this.getAttribute("FlowUnid").toString();
String userid = this.getAttribute("CurUserID").toString();
CreateVoucherActualPaymentTradition cvap = new CreateVoucherActualPaymentTradition();
// 差额放款和非差额放款共有部分
cvap.CreateVoucher(FlowUnid, "PZ2018092500000159",userid); // 购置融资租赁资产-传统租赁资产--回租 --非差额
// cvap.CreateVoucher(FlowUnid, "PZ2018092600000223"); // 购置融资租赁资产-传统租赁资产--直租
/**
* 传统-回租
*/
cvap.CreateVoucher(FlowUnid, "PZ2018092500000159",userid); // 放款-购置融资租赁资产(传统)-非差额
cvap.CreateVoucher(FlowUnid, "PZ2018092500000162",userid); // 放款-经销商支付的预付款(传统)
cvap.CreateVoucher(FlowUnid, "PZ2018092500000164",userid); // 放款-客户记录保证金(传统)
cvap.CreateVoucher(FlowUnid, "PZ2018092500000166",userid); // 放款-收到客户手续费(传统)
cvap.CreateVoucher(FlowUnid, "PZ2018092500000169",userid); // 放款-购置融资租赁资产(传统)-差额放款
//cvap.CreateVoucher(FlowUnid, "PZ2018092500000160"); // 购置融资租赁资产-其他--回租
//cvap.CreateVoucher(FlowUnid, "PZ2018092600000224"); // 购置融资租赁资产-其他--直租
/**
* 传统-直租
*/
cvap.CreateVoucher(FlowUnid, "PZ2019071800000036",userid); // 放款-购置融资租赁资产(传统)-非差额
cvap.CreateVoucher(FlowUnid, "PZ2019071800000038",userid); // 放款-客户支付的预付款(传统)
cvap.CreateVoucher(FlowUnid, "PZ2019071800000039",userid); // 放款-客户记录保证金(传统)
cvap.CreateVoucher(FlowUnid, "PZ2019071800000040",userid); // 放款-收到客户手续费(传统)(一次性)
cvap.CreateVoucher(FlowUnid, "PZ2019071800000041",userid); // 放款-收到客户手续费(传统)(按月)
cvap.CreateVoucher(FlowUnid, "PZ2019071800000037",userid); // 放款-购置融资租赁资产(传统)-差额放款
// 非差额放款部分
//cvap.CreateVoucher(FlowUnid, "PZ2018092500000161"); // 给经销商放款-非差额放款--回租
//cvap.CreateVoucher(FlowUnid, "PZ2018092600000225"); // 给经销商放款-非差额放款--直租
/**
* 汽车类传统-回租
*/
cvap.CreateVoucher(FlowUnid, "PZ2019072000000077",userid); // 放款-购置融资租赁资产(汽车类传统)-非差额
cvap.CreateVoucher(FlowUnid, "PZ2019072000000078",userid); // 放款-经销商支付的预付款(汽车类传统)
cvap.CreateVoucher(FlowUnid, "PZ2019072000000079",userid); // 放款-客户记录保证金(汽车类传统)
cvap.CreateVoucher(FlowUnid, "PZ2019072000000080",userid); // 放款-收到客户手续费(汽车类传统)
cvap.CreateVoucher(FlowUnid, "PZ2019072000000081",userid); // 放款-购置融资租赁资产(汽车类传统)-差额放款
// 差额放款部分
cvap.CreateVoucher(FlowUnid, "PZ2018092500000162",userid); // 经销商支付的预付款(首付)--回租
//cvap.CreateVoucher(FlowUnid, "PZ2018092600000226"); // 经销商支付的预付款(首付)--直租
//cvap.CreateVoucher(FlowUnid, "PZ2018092500000163"); // 给经销商放款-首付冲抵--回租
//cvap.CreateVoucher(FlowUnid, "PZ2018092600000227"); // 给经销商放款-首付冲抵--直租
cvap.CreateVoucher(FlowUnid, "PZ2018092500000164",userid); // 客户记录保证金--回租
//cvap.CreateVoucher(FlowUnid, "PZ2018092600000229"); // 客户记录保证金--直租
//cvap.CreateVoucher(FlowUnid, "PZ2018092500000165"); // 给经销商放款-保证金冲抵--回租
//cvap.CreateVoucher(FlowUnid, "PZ2018092600000230"); // 给经销商放款-保证金冲抵--直租
cvap.CreateVoucher(FlowUnid, "PZ2018092500000166",userid); // 收到客户手续费--回租
//cvap.CreateVoucher(FlowUnid, "PZ2018092600000231"); // 收到客户手续费--直租
//cvap.CreateVoucher(FlowUnid, "PZ2018092500000167"); // 给经销商放款-手续费冲抵--回租
//cvap.CreateVoucher(FlowUnid, "PZ2018092600000232"); // 给经销商放款-手续费冲抵--直租
cvap.CreateVoucher(FlowUnid, "PZ2018092500000169",userid); // 购置融资租赁资产-差额放款--回租
//cvap.CreateVoucher(FlowUnid, "PZ2018092600000233"); // 给经销商放款-差额放款--直租
/**
* 汽车类传统-直租
*/
cvap.CreateVoucher(FlowUnid, "PZ2019072200000112",userid); // 放款-购置融资租赁资产(汽车类传统)-非差额
cvap.CreateVoucher(FlowUnid, "PZ2019072200000113",userid); // 放款-客户支付的预付款(汽车类传统)
cvap.CreateVoucher(FlowUnid, "PZ2019072200000114",userid); // 放款-客户记录保证金(汽车类传统)
cvap.CreateVoucher(FlowUnid, "PZ2019072200000115",userid); // 放款-收到客户手续费(汽车类传统)(一次性)
cvap.CreateVoucher(FlowUnid, "PZ2019072200000116",userid); // 放款-收到客户手续费(汽车类传统)(按月)
cvap.CreateVoucher(FlowUnid, "PZ2019072200000117",userid); // 放款-购置融资租赁资产(汽车类传统)-差额放款
return "true";
}
}

View File

@ -13,29 +13,37 @@ public class ContractBeforeOnhireToVoucher extends BaseBussiness {
this.initBussinessParam(Sqlca);
String FlowUnid=this.getAttribute("ObjectNo").toString();
String userid = this.getAttribute("CurUserID").toString();
CreateVoucherToBeforeOnhire cvbo = new CreateVoucherToBeforeOnhire();
// 传统
cvbo.CreateVoucher(FlowUnid, "PZ2018092500000156","feetype2",userid); // 收到客户保证金--回租
// cvbo.CreateVoucher(FlowUnid, "PZ2018092600000244","feetype2"); // 收到客户保证金--直租
/**
* 传统-回租
*/
cvbo.CreateVoucher(FlowUnid, "PZ2018092500000156","feetype2",userid); // 回款-收到客户保证金(传统)
cvbo.CreateVoucher(FlowUnid, "PZ2018092500000157","feetype1",userid); // 回款-收到客户手续费(传统)
cvbo.CreateVoucher(FlowUnid, "PZ2018092500000158","feetype5",userid); // 回款-收到客户预付款(传统)
cvbo.CreateVoucher(FlowUnid, "PZ2018092500000157","feetype1",userid); // 收到客户手续费--回租
// cvbo.CreateVoucher(FlowUnid, "PZ2018092600000245","feetype1"); // 收到客户手续费--直租
/**
* 传统-直租
*/
cvbo.CreateVoucher(FlowUnid, "PZ2019071800000032","feetype2",userid); // 回款-收到客户保证金(传统)
cvbo.CreateVoucher(FlowUnid, "PZ2019071800000033","feetype1",userid); // 回款-收到客户手续费(传统)(一次性)
cvbo.CreateVoucher(FlowUnid, "PZ2019071800000034","feetype1",userid); // 回款-收到客户手续费(传统)(按月)
cvbo.CreateVoucher(FlowUnid, "PZ2019071800000035","feetype5",userid); // 回款-收到客户预付款(传统)
cvbo.CreateVoucher(FlowUnid, "PZ2018092500000158","feetype5",userid); // 收到客户预付款(首付)--回租
// cvbo.CreateVoucher(FlowUnid, "PZ2018092600000246","feetype5"); // 收到客户预付款(首付)--直租
/**
* 汽车类传统-回租
*/
cvbo.CreateVoucher(FlowUnid, "PZ2019072000000074","feetype2",userid); // 回款-收到客户保证金(汽车类传统)
cvbo.CreateVoucher(FlowUnid, "PZ2019072000000075","feetype1",userid); // 回款-收到客户手续费(汽车类传统)
cvbo.CreateVoucher(FlowUnid, "PZ2019072000000076","feetype5",userid); // 回款-收到客户预付款(汽车类传统)
// 汽车类传统
/*cvbo.CreateVoucher(FlowUnid, "PZ2018092500000192","feetype2"); // 收到客户记录保证金--回租
cvbo.CreateVoucher(FlowUnid, "PZ2018092600000240","feetype2"); // 收到客户记录保证金--直租
cvbo.CreateVoucher(FlowUnid, "PZ2018092500000193","feetype1"); // 收到客户手续费--回租
cvbo.CreateVoucher(FlowUnid, "PZ2018092600000241","feetype1"); // 收到客户手续费--直租
cvbo.CreateVoucher(FlowUnid, "PZ2018092500000194","feetype5"); // 收到客户预付款(首付)--回租
cvbo.CreateVoucher(FlowUnid, "PZ2018092600000242","feetype5"); // 收到客户预付款(首付)--直租
cvbo.CreateVoucher(FlowUnid, "PZ2018092500000195","feetype24");// 记录GPS安装服务费不参融--回租
cvbo.CreateVoucher(FlowUnid, "PZ2018092600000243","feetype24");// 记录GPS安装服务费不参融--直租
*/ return "true";
/**
* 汽车类传统-直租
*/
cvbo.CreateVoucher(FlowUnid, "PZ2019072200000108","feetype2",userid); // 回款-收到客户保证金(汽车类传统)
cvbo.CreateVoucher(FlowUnid, "PZ2019072200000109","feetype1",userid); // 回款-收到客户手续费(汽车类传统)(一次性)
cvbo.CreateVoucher(FlowUnid, "PZ2019072200000110","feetype1",userid); // 回款-收到客户手续费(汽车类传统)(按月)
cvbo.CreateVoucher(FlowUnid, "PZ2019072200000111","feetype5",userid); // 回款-收到客户预付款(汽车类传统)
return "true";
}
}

View File

@ -16,67 +16,35 @@ public class ContractEarlySettlementSQForCarTradition extends BaseBussiness {
public Object run(Transaction Sqlca) throws Exception {
this.initBussinessParam(Sqlca);
String FlowUnid=this.getAttribute("FlowUnid").toString();
// 汽车类传统-------------------------------------------------------------------------------------
CreateVoucherContractChangeForCarTradition cvct=new CreateVoucherContractChangeForCarTradition();
cvct.CreateVoucher(FlowUnid, "PZ2018101000000318");//调整未实现利息收入不含税--回租
cvct.CreateVoucher(FlowUnid, "PZ2018101000000319");//调整未实现利息收入不含税--直租
cvct.CreateVoucher(FlowUnid, "PZ2018101000000320");//调整未实现利息收入税金--回租
cvct.CreateVoucher(FlowUnid, "PZ2018101000000321");//调整未实现利息收入税金--直租
// 传统---------------------------------------------------------------------------------------------
CreateVoucherContractChangeForTradition cvcft= new CreateVoucherContractChangeForTradition();
cvcft.CreateVoucher(FlowUnid, "PZ2018101000000300");//调整未实现利息收入不含税--回租
cvcft.CreateVoucher(FlowUnid, "PZ2018101000000301");//调整未实现利息收入不含税--直租
cvcft.CreateVoucher(FlowUnid, "PZ2018101000000302");//调整未实现利息收入税金--回租
cvcft.CreateVoucher(FlowUnid, "PZ2018101000000303");//调整未实现利息收入税金--直租
String userid = this.getAttribute("CurUserID").toString();
CreateVoucherEarlySettlementForTradition cves = new CreateVoucherEarlySettlementForTradition();
// 汽车类传统-----------------------------------------------------------------------------------------------
cves.CreateVoucher(FlowUnid, "PZ2018101000000322");//收到的逾期租金--回租
cves.CreateVoucher(FlowUnid, "PZ2018101000000323");//收到的逾期租金--直租
/**
* 传统-直租
*/
cves.CreateVoucher(FlowUnid, "PZ2019071800000060",userid);// 提前结清-收到的逾期租金(传统)
cves.CreateVoucher(FlowUnid, "PZ2019071800000061",userid);// 提前结清-收到的逾期罚息(传统)
cves.CreateVoucher(FlowUnid, "PZ2019071800000062",userid);// 提前还款-收到的提前还款剩余本金及当月利息(传统)
cves.CreateVoucher(FlowUnid, "PZ2019071800000063",userid);// 提前结清-确认本金对应的税金(传统)
cves.CreateVoucher(FlowUnid, "PZ2019071800000064",userid);// 提前结清-确认当期利息收入(传统)
cves.CreateVoucher(FlowUnid, "PZ2019071800000065",userid);// 提前结清-确认的未到期利息收入(传统)
cves.CreateVoucher(FlowUnid, "PZ2019071800000059",userid);// 提前结清-调整未实现利息收入(传统)
cves.CreateVoucher(FlowUnid, "PZ2019071800000066",userid);// 提前结清-收到的项目违约金(传统)
cves.CreateVoucher(FlowUnid, "PZ2019071800000067",userid);// 提前结清-收到名义货价(传统)
cves.CreateVoucher(FlowUnid, "PZ2018101000000324");//收到的逾期罚息--回租
cves.CreateVoucher(FlowUnid, "PZ2018101000000325");//收到的逾期罚息--直租
/**
* 汽车类传统-直租
*/
cves.CreateVoucher(FlowUnid, "PZ2019072300000135",userid);// 提前结清-收到的逾期租金(传统)
cves.CreateVoucher(FlowUnid, "PZ2019072300000136",userid);// 提前结清-收到的逾期罚息(传统)
cves.CreateVoucher(FlowUnid, "PZ2019072300000137",userid);// 提前还款-收到的提前还款剩余本金及当月利息(传统)
cves.CreateVoucher(FlowUnid, "PZ2019072300000138",userid);// 提前结清-确认本金对应的税金(传统)
cves.CreateVoucher(FlowUnid, "PZ2019072300000139",userid);// 提前结清-确认当期利息收入(传统)
cves.CreateVoucher(FlowUnid, "PZ2019072300000140",userid);// 提前结清-确认的未到期利息收入(传统)
cves.CreateVoucher(FlowUnid, "PZ2019072300000141",userid);// 提前结清-调整未实现利息收入(传统)
cves.CreateVoucher(FlowUnid, "PZ2019072300000142",userid);// 提前结清-收到的项目违约金(传统)
cves.CreateVoucher(FlowUnid, "PZ2019072300000143",userid);// 提前结清-收到名义货价(传统)
cves.CreateVoucher(FlowUnid, "PZ2018101000000326");//收到的提前还款剩余本金--回租
cves.CreateVoucher(FlowUnid, "PZ2018101000000327");//收到的提前还款剩余本金--直租
cves.CreateVoucher(FlowUnid, "PZ2018101000000328");//收到的未到期利息--回租
cves.CreateVoucher(FlowUnid, "PZ2018101000000329");//收到的未到期利息--直租
cves.CreateVoucher(FlowUnid, "PZ2018101000000330");//收到的项目违约金--回租
cves.CreateVoucher(FlowUnid, "PZ2018101000000331");//收到的项目违约金--直租
cves.CreateVoucher(FlowUnid, "PZ2018101000000332");//收到的违约手续费--回租
cves.CreateVoucher(FlowUnid, "PZ2018101000000333");//收到的违约手续费--直租
cves.CreateVoucher(FlowUnid, "PZ2018101000000334");//收到名义货价--回租
cves.CreateVoucher(FlowUnid, "PZ2018101000000335");//收到名义货价--直租
// 传统-----------------------------------------------------------------------------------------------
cves.CreateVoucher(FlowUnid, "PZ2018101000000304");//收到的逾期租金--回租
cves.CreateVoucher(FlowUnid, "PZ2018101000000305");//收到的逾期租金--直租
cves.CreateVoucher(FlowUnid, "PZ2018101000000306");//收到的逾期罚息--回租
cves.CreateVoucher(FlowUnid, "PZ2018101000000307");//收到的逾期罚息--直租
cves.CreateVoucher(FlowUnid, "PZ2018101000000308");//收到的提前还款剩余本金--回租
cves.CreateVoucher(FlowUnid, "PZ2018101000000309");//收到的提前还款剩余本金--直租
cves.CreateVoucher(FlowUnid, "PZ2018101000000310");//收到的未到期利息--回租
cves.CreateVoucher(FlowUnid, "PZ2018101000000311");//收到的未到期利息--直租
cves.CreateVoucher(FlowUnid, "PZ2018101000000312");//收到的项目违约金--回租
cves.CreateVoucher(FlowUnid, "PZ2018101000000313");//收到的项目违约金--直租
cves.CreateVoucher(FlowUnid, "PZ2018101000000314");//收到的违约手续费--回租
cves.CreateVoucher(FlowUnid, "PZ2018101000000315");//收到的违约手续费--直租
cves.CreateVoucher(FlowUnid, "PZ2018101000000316");//收到名义货价--回租
cves.CreateVoucher(FlowUnid, "PZ2018101000000317");//收到名义货价--直租
return "true";
}
}

View File

@ -15,12 +15,23 @@ public class ContractOnhireChangeForTradition extends BaseBussiness {
String FlowUnid=this.getAttribute("FlowUnid").toString();
CreateVoucherContractChangeForTradition cvco=new CreateVoucherContractChangeForTradition();
/**
* 传统-回租
*/
cvco.CreateVoucher(FlowUnid, "PZ2018100900000269"); //合同变更-调整未实现利息收入(传统)
/**
* 传统-直租
*/
cvco.CreateVoucher(FlowUnid, "PZ2019071800000058"); //合同变更-调整未实现利息收入(传统)
cvco.CreateVoucher(FlowUnid, "PZ2018100900000269"); //合同变更-调整未实现利息收入--回租
//cvco.CreateVoucher(FlowUnid, "PZ2018100900000270"); //合同变更-调整未实现利息收入--直租
//cvco.CreateVoucher(FlowUnid, "PZ2018100900000271"); //合同变更-调整利息的税--回租
//cvco.CreateVoucher(FlowUnid, "PZ2018100900000272"); //合同变更-调整利息的税--直租
/**
* 汽车类传统-回租
*/
cvco.CreateVoucher(FlowUnid, "PZ2019072200000105"); //合同变更-调整未实现利息收入(汽车类传统)
/**
* 汽车类传统-直租
*/
cvco.CreateVoucher(FlowUnid, "PZ2019072300000133"); //合同变更-调整未实现利息收入(汽车类传统)
return "true";
}

View File

@ -13,36 +13,31 @@ public class ContractOnhireVoucher extends BaseBussiness {
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, "PZ2018080300000068",Sqlca);// 确认GPS收入 --直租
/**
* 回租
*/
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, "PZ2018070900000003",userid);// 收取首付款-回租
//cvld.CreateVoucher(FlowUnid, "PZ2018080200000065",Sqlca);// 收取首付款-直租
cvld.CreateVoucher(FlowUnid, "PZ2018070900000002",userid);// 购置融资租赁资产-
cvld.CreateVoucher(FlowUnid, "PZ2018073100000062",userid);// 购置融资租赁资产---第一车贷
//cvld.CreateVoucher(FlowUnid, "PZ2018122000000010");// 购置融资租赁资产-
//cvld.CreateVoucher(FlowUnid, "PZ2018072400000060");// 购置融资租赁资产-
cvld.CreateVoucher(FlowUnid, "PZ2018071000000005",userid);// 合同起租一次性确认收入-回租
//cvld.CreateVoucher(FlowUnid, "PZ2018080300000069");// 合同起租一次性确认收入-直租
cvld.CreateVoucher(FlowUnid, "PZ2018071000000006",userid);// 合同起租按月分摊收入--回租
//cvld.CreateVoucher(FlowUnid, "PZ2018080300000071");// 合同起租按月分摊收入--直租
cvld.CreateVoucher(FlowUnid, "PZ2018071000000004",userid);// 收取客户保证金--回租
//cvld.CreateVoucher(FlowUnid, "PZ2018080300000070");// 收取客户保证金--直租
cvld.CreateVoucher(FlowUnid, "PZ2018071000000007",userid);// 收取客户手续费一次性确认收入--回租
//cvld.CreateVoucher(FlowUnid, "PZ2018080300000072");// 收取客户手续费一次性确认收入--直租
cvld.CreateVoucher(FlowUnid, "PZ2018071000000009",userid);// 收取客户手续费按月分摊收入--回租
//cvld.CreateVoucher(FlowUnid, "PZ2018080300000073");// 收取客户手续费按月分摊收入--直租
/**
* 直租
*/
cvld.CreateVoucher(FlowUnid, "PZ2019070100000001",userid);// 确认GPS收入 --直租
cvld.CreateVoucher(FlowUnid, "PZ2019070100000002",userid);// 收取首付款-直租
cvld.CreateVoucher(FlowUnid, "PZ2019070100000003",userid);// 购置融资租赁资产-直租
cvld.CreateVoucher(FlowUnid, "PZ2019070100000004",userid);// 合同起租-直租
cvld.CreateVoucher(FlowUnid, "PZ2019070100000005",userid);// 收取客户手续费一次性确认收入--直租
cvld.CreateVoucher(FlowUnid, "PZ2019070100000006",userid);// 收取客户手续费按月分摊收入--直租
//String a = ProductParamUtil.getProductParameterValue(dataList.get(i).get("PRODUCT_ID"), "PRD0315", "DISCOUNT", "isBalance");
return "true";
}
}

View File

@ -13,13 +13,25 @@ public class ContractOnhireVoucherTradition extends BaseBussiness {
this.initBussinessParam(Sqlca);
String FlowUnid=this.getAttribute("FlowUnid").toString();
String userid = this.getAttribute("CurUserID").toString();
CreateVoucherOnhireTradition cvot=new CreateVoucherOnhireTradition();
// 传统
cvot.CreateVoucher(FlowUnid, "PZ2018092500000170",userid); //客户支付的应收账款总金额 --回租
//cvot.CreateVoucher(FlowUnid, "PZ2018092800000247"); //客户支付的应收账款总金额 --直租
// 汽车类传统
//cvot.CreateVoucher(FlowUnid, "PZ2018092500000202"); //客户支付的应收账款总金额 --回租
//cvot.CreateVoucher(FlowUnid, "PZ2018092800000248"); //客户支付的应收账款总金额 --直租
/**
* 传统-回租
*/
cvot.CreateVoucher(FlowUnid, "PZ2018092500000170",userid); //起租-客户支付的应收账款总金额(传统)
/**
* 传统-直租
*/
cvot.CreateVoucher(FlowUnid, "PZ2019071800000042",userid); //起租-合同起租(传统)
/**
* 汽车类传统-回租
*/
cvot.CreateVoucher(FlowUnid, "PZ2019072000000082",userid); //起租-客户支付的应收账款总金额(汽车类传统)
/**
* 汽车类传统-直租
*/
cvot.CreateVoucher(FlowUnid, "PZ2019072200000118",userid); //起租-合同起租(汽车类传统)
return "true";
}
}

View File

@ -15,11 +15,26 @@ public class ContractPranayamaForTradition extends BaseBussiness {
String FlowUnid=this.getAttribute("FlowUnid").toString();
CreateVoucherContractChangeForTradition cvco=new CreateVoucherContractChangeForTradition();
cvco.CreateVoucher(FlowUnid, "PZ2018100900000288"); // 调息流程-调整未实现利息收入--回租
//cvco.CreateVoucher(FlowUnid, "PZ2018100900000289"); // 调息流程-调整未实现利息收入--直租
/**
* 传统-回租
*/
cvco.CreateVoucher(FlowUnid, "PZ2018100900000288"); // 调息-调整未实现利息收入(传统)
/**
* 传统-直租
*/
cvco.CreateVoucher(FlowUnid, "PZ2019071800000057"); // 调息-调整未实现利息收入(传统)
/**
* 汽车类传统-回租
*/
cvco.CreateVoucher(FlowUnid, "PZ2019072200000104"); // 调息-调整未实现利息收入(汽车类传统)
/**
* 汽车类传统-直租
*/
cvco.CreateVoucher(FlowUnid, "PZ2019072300000134"); // 调息-调整未实现利息收入(汽车类传统)
//cvco.CreateVoucher(FlowUnid, "PZ2018100900000290"); // 调息流程-调整利息的税--回租
//cvco.CreateVoucher(FlowUnid, "PZ2018100900000291"); // 调息流程-调整利息的税--直租
return "true";
}

View File

@ -14,10 +14,12 @@ public class CreateVoucherDepositDeduction extends BaseBussiness {
this.initBussinessParam(Sqlca);
String FlowUnid=this.getAttribute("FlowUnid").toString();
String userid = this.getAttribute("CurUserID").toString();
CreateVoucherDepositDeductionToMoney cvdd=new CreateVoucherDepositDeductionToMoney();
cvdd.CreateVoucher(FlowUnid, "PZ2018072100000053",userid);//±£Ö¤½ðµÖ¿Û--»Ø×â
//cvdd.CreateVoucher(FlowUnid, "PZ2018112300000003");//±£Ö¤½ðµÖ¿Û--»Ø×â
cvdd.CreateVoucher(FlowUnid, "PZ2019070100000026",userid);//保证金抵扣--直租
cvdd.CreateVoucher(FlowUnid, "PZ2019070100000027",userid);//确认未实现利息收入-抵扣租金利息--直租
return "true";
}
}

View File

@ -3,6 +3,7 @@ package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle;
import com.amarsoft.awe.util.Transaction;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherCustCautionMoneyIncome;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherEbankMoney;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRentIncome;
/**
* 网银收款流程结束后生成相应的凭证
@ -15,32 +16,36 @@ public class IncomeVoucher extends BaseBussiness {
this.initBussinessParam(Sqlca);
String FlowUnid=this.getAttribute("FlowUnid").toString();
String userid = this.getAttribute("CurUserID").toString();
/**
* 汽车网银回款-资金部分
*/
CreateVoucherCustCautionMoneyIncome cvci=new CreateVoucherCustCautionMoneyIncome();
// 汽车回租
cvci.CreateVoucher(FlowUnid, "PZ2018072100000026", "feetype30",userid);//收到的违约金/罚款 --回租
// cvci.CreateVoucher(FlowUnid, "PZ2018080400000083", "feetype30");//收到的违约金/罚款--直租
cvci.CreateVoucher(FlowUnid, "PZ2018072100000031", "feetype4",userid); //收到名义货价 --
cvci.CreateVoucher(FlowUnid, "PZ2018072100000031", "feetype4",userid);//回款-收到名义货价--回租
//cvci.CreateVoucher(FlowUnid, "PZ2018080400000087", "feetype4");//回款-收到名义货价--直租
//cvci.CreateVoucher(FlowUnid, "PZ2018071100000012", "feetype2");//收到客户保证金 --回租
//cvci.CreateVoucher(FlowUnid, "PZ2018080400000078", "feetype2");//收到客户保证金 --直租
//cvci.CreateVoucher(FlowUnid, "PZ2018072100000023", "feetype1");//确认收到手续费按月分摊收入--回租
//cvci.CreateVoucher(FlowUnid, "PZ2018080400000080", "feetype1");//确认收到手续费按月分摊收入--直租
//cvci.CreateVoucher(FlowUnid, "PZ2018071100000014", "feetype1");//确认收到手续费一次性确认收入--直租
//cvci.CreateVoucher(FlowUnid, "PZ2018080400000079", "feetype1");//确认收到手续费一次性确认收入--直租
//cvci.CreateVoucher(FlowUnid, "PZ2018072100000028", "feetype27");//收到的贴息--回租
//cvci.CreateVoucher(FlowUnid, "PZ2018080400000085", "feetype27");//收到的贴息--直租
//cvci.CreateVoucher(FlowUnid, "PZ2018080400000103", "feetype27");//确认贴息收入--直租
// 汽车直租
cvci.CreateVoucher(FlowUnid, "PZ2019070100000015", "feetype30",userid);//收到的违约金/罚款 --回租
cvci.CreateVoucher(FlowUnid, "PZ2019070100000019", "feetype4",userid); //收到名义货价 --直租
/**
* 汽车网银回款-租金部分
*/
CreateVoucherRentIncome cvri=new CreateVoucherRentIncome();
// 汽车回租
cvri.CreateVoucher(FlowUnid,"PZ2018072100000024",userid);//回款-收到的租金(网银)--当月(回租)
cvri.CreateVoucher(FlowUnid,"PZ2018080400000081",userid);//回款-收到的租金(网银)--跨月(回租)
cvri.CreateVoucher(FlowUnid,"PZ2018072100000025",userid);//回款-收到的逾期利息(网银)--(回租)
// 汽车直租
cvri.CreateVoucher(FlowUnid,"PZ2019070100000016",userid);//回款-收到的租金(网银)--当月(直租)
cvri.CreateVoucher(FlowUnid,"PZ2019070100000017",userid);//回款-收到的租金(网银)--跨月(直租)
cvri.CreateVoucher(FlowUnid,"PZ2019070100000014",userid);//回款-收到的逾期利息(网银)--(直租)
CreateVoucherEbankMoney cvem = new CreateVoucherEbankMoney();
cvem.CreateVoucher(FlowUnid, "PZ2019070100000018", userid,Sqlca);// 回款-多余回款分解
return "true";
}

View File

@ -1,7 +1,9 @@
package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle;
import com.amarsoft.awe.util.Transaction;
import com.itextpdf.text.log.SysoCounter;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherEbankMoney;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherIncomeForTradition;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRentIncomeTradition;
/**
@ -15,30 +17,74 @@ public class IncomeVoucherForTradition extends BaseBussiness {
this.initBussinessParam(Sqlca);
String FlowUnid=this.getAttribute("FlowUnid").toString();
String userid = this.getAttribute("CurUserID").toString();
CreateVoucherIncomeForTradition cvci=new CreateVoucherIncomeForTradition();
// 汽车类传统
//cvci.CreateVoucher(FlowUnid, "PZ2018092500000205", "feetype30");//回款-收到的违约金/罚款--回租
//cvci.CreateVoucher(FlowUnid, "PZ2018100900000292", "feetype30");//回款-收到的违约金/罚款--直租
//cvci.CreateVoucher(FlowUnid, "PZ2018092500000206", "feetype4"); //回款-收到名义货价--回租
//cvci.CreateVoucher(FlowUnid, "PZ2018100900000293", "feetype4"); //回款-收到名义货价--直租
/**
* 传统-回租
*/
cvci.CreateVoucher(FlowUnid, "PZ2018092500000173", "feetype30",userid);//回款-收到的违约金(传统)
cvci.CreateVoucher(FlowUnid, "PZ2018092500000174", "feetype4",userid); //回款-收到名义货价(传统)
// 传统
cvci.CreateVoucher(FlowUnid, "PZ2018092500000173", "feetype30");//回款-收到的违约金/罚款--回租
//cvci.CreateVoucher(FlowUnid, "PZ2018100900000294", "feetype30");//回款-收到的违约金/罚款--直租
/**
* 传统-直租
*/
cvci.CreateVoucher(FlowUnid, "PZ2019071800000043", "feetype30",userid);//回款-收到的违约金(传统)
cvci.CreateVoucher(FlowUnid, "PZ2019071800000044", "feetype4",userid); //回款-收到名义货价(传统)
cvci.CreateVoucher(FlowUnid, "PZ2018092500000174", "feetype4"); //回款-收到名义货价--回租
//cvci.CreateVoucher(FlowUnid, "PZ2018100900000295", "feetype4"); //回款-收到名义货价--直租
/**
* 汽车类传统-回租
*/
cvci.CreateVoucher(FlowUnid, "PZ2019072000000088", "feetype30",userid);//回款-收到的违约金(汽车类传统)
cvci.CreateVoucher(FlowUnid, "PZ2019072000000089", "feetype4",userid); //回款-收到名义货价(汽车类传统)
/**
* 汽车类传统-直租
*/
cvci.CreateVoucher(FlowUnid, "PZ2019072200000124", "feetype30",userid);//回款-收到的违约金(汽车类传统)
cvci.CreateVoucher(FlowUnid, "PZ2019072200000125", "feetype4",userid); //回款-收到名义货价(汽车类传统)
CreateVoucherRentIncomeTradition cvrit = new CreateVoucherRentIncomeTradition();
cvrit.CreateVoucher(FlowUnid, "PZ2018100900000298", userid);// 回款-收到的租金-月付(当月)
cvrit.CreateVoucher(FlowUnid, "PZ2018092500000171", userid);// 回款-收到的租金-月付(跨月)
/**
* 传统-回租
*/
cvrit.CreateVoucher(FlowUnid, "PZ2018100900000298", userid);// 回款-收到的租金-月付(传统)(当月)
cvrit.CreateVoucher(FlowUnid, "PZ2018092500000171", userid);// 回款-收到的租金-月付(传统)(跨月)
cvrit.CreateVoucher(FlowUnid, "PZ2019022500000012", userid);// 回款-收到的租金-季付(传统)(当月)
cvrit.CreateVoucher(FlowUnid, "PZ2019022500000011", userid);// 回款-收到的租金-季付(传统)(跨月)
cvrit.CreateVoucher(FlowUnid, "PZ2018092500000172", userid);// 回款-收到的逾期利息(传统)
cvrit.CreateVoucher(FlowUnid, "PZ2019022500000012", userid);// 回款-收到的租金-季付(当月)
cvrit.CreateVoucher(FlowUnid, "PZ2019022500000011", userid);// 回款-收到的租金-季付(跨月)
/**
* 传统-直租
*/
cvrit.CreateVoucher(FlowUnid, "PZ2019071800000045", userid);// 回款-收到的租金-月付(传统)(当月)
cvrit.CreateVoucher(FlowUnid, "PZ2019071800000046", userid);// 回款-收到的租金-月付(传统)(跨月)
cvrit.CreateVoucher(FlowUnid, "PZ2019071800000047", userid);// 回款-收到的租金-季付(传统)(当月)
cvrit.CreateVoucher(FlowUnid, "PZ2019071800000048", userid);// 回款-收到的租金-季付(传统)(跨月)
cvrit.CreateVoucher(FlowUnid, "PZ2019071800000049", userid);// 回款-收到的逾期利息(传统)
cvrit.CreateVoucher(FlowUnid, "PZ2018092500000172", userid);// 回款-收到的逾期利息
/**
* 汽车类传统-回租
*/
cvrit.CreateVoucher(FlowUnid, "PZ2019072000000083", userid);// 回款-收到的租金-月付(汽车类传统)(当月)
cvrit.CreateVoucher(FlowUnid, "PZ2019072000000084", userid);// 回款-收到的租金-月付(汽车类传统)(跨月)
cvrit.CreateVoucher(FlowUnid, "PZ2019072000000085", userid);// 回款-收到的租金-季付(汽车类传统)(当月)
cvrit.CreateVoucher(FlowUnid, "PZ2019072000000086", userid);// 回款-收到的租金-季付(汽车类传统)(跨月)
cvrit.CreateVoucher(FlowUnid, "PZ2019072000000087", userid);// 回款-收到的逾期利息(汽车类传统)
/**
* 汽车类传统-直租
*/
cvrit.CreateVoucher(FlowUnid, "PZ2019072200000119", userid);// 回款-收到的租金-月付(汽车类传统)(当月)
cvrit.CreateVoucher(FlowUnid, "PZ2019072200000120", userid);// 回款-收到的租金-月付(汽车类传统)(跨月)
cvrit.CreateVoucher(FlowUnid, "PZ2019072200000121", userid);// 回款-收到的租金-季付(汽车类传统)(当月)
cvrit.CreateVoucher(FlowUnid, "PZ2019072200000122", userid);// 回款-收到的租金-季付(汽车类传统)(跨月)
cvrit.CreateVoucher(FlowUnid, "PZ2019072200000123", userid);// 回款-收到的逾期利息(汽车类传统)
/**
* 将多余还款分解
*/
CreateVoucherEbankMoney cvem = new CreateVoucherEbankMoney();
cvem.CreateVoucher(FlowUnid, "PZ2019073000000146", userid,Sqlca);// 回款-多余回款分解
return "true";
}

View File

@ -6,6 +6,7 @@ import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherContractTerminate;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherCustCautionMoneyIncome;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherCustomerRentOrFee;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherDistCautionMoneyRe;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherEbankMoney;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherInsuranceSettlement;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRedRentIncome;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRentIncome;
@ -19,16 +20,29 @@ public class RedIncomeVoucher extends BaseBussiness {
this.initBussinessParam(Sqlca);
String FlowUnid=this.getAttribute("FlowUnid").toString();
String userid = this.getAttribute("CurUserID").toString();
CreateVoucherRedRentIncome cvri=new CreateVoucherRedRentIncome();
cvri.CreateVoucher(FlowUnid, "PZ2018072100000038",userid);//网银回款反冲--收到的逾期利息--回租
cvri.CreateVoucher(FlowUnid, "PZ2018072100000039",userid);//网银回款反冲-收到的违约金/罚款--回租
cvri.CreateVoucher(FlowUnid, "PZ2018072100000037",userid);//网银回款反冲--收到的租金--回租
cvri.CreateVoucher(FlowUnid, "PZ2018072100000043",userid); //网银回款反冲-收到名义货价--回租
/**
* 汽车回租
*/
cvri.CreateVoucher(FlowUnid, "PZ2018072100000038",userid);//网银回款反冲-收到的逾期利息
cvri.CreateVoucher(FlowUnid, "PZ2018072100000039",userid);//网银回款反冲-收到的违约金/罚款
cvri.CreateVoucher(FlowUnid, "PZ2018072100000037",userid);//网银回款反冲-收到的租金
cvri.CreateVoucher(FlowUnid, "PZ2018072100000043",userid);//网银回款反冲-收到名义货价
/**
* 汽车直租
*/
cvri.CreateVoucher(FlowUnid, "PZ2019070100000023",userid);//网银回款反冲-收到的租金
cvri.CreateVoucher(FlowUnid, "PZ2019070100000020",userid);//网银回款反冲-收到的逾期利息
cvri.CreateVoucher(FlowUnid, "PZ2019070100000021",userid);//网银回款反冲-收到的违约金/罚款
cvri.CreateVoucher(FlowUnid, "PZ2019070100000025",userid);//网银回款反冲-收到名义货价
/**
* 将多余还款分解
*/
CreateVoucherEbankMoney cvem = new CreateVoucherEbankMoney();
cvem.CreateVoucher(FlowUnid, "PZ2019070100000024", userid,Sqlca);// 回款-多余回款分解
return "true";
}
}

View File

@ -2,6 +2,7 @@ package com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle;
import com.amarsoft.awe.util.Transaction;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherEbankMoney;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRedDashedIncomeCarTradition;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRedDashedIncomeTradition;
import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRedRentIncome;
@ -17,32 +18,79 @@ public class RedIncomeVoucherForTradition extends BaseBussiness {
this.initBussinessParam(Sqlca);
String FlowUnid=this.getAttribute("FlowUnid").toString();
String userid = this.getAttribute("CurUserID").toString();
CreateVoucherRedDashedIncomeTradition cvrdit=new CreateVoucherRedDashedIncomeTradition();
cvrdit.CreateVoucher(FlowUnid, "PZ2018092500000175", "feetype2");// 收到客户记录保证金--回租
//cvrdit.CreateVoucher(FlowUnid, "PZ2018100900000257", "feetype2");// 收到客户记录保证金--直租
cvrdit.CreateVoucher(FlowUnid, "PZ2018092500000176", "feetype1");// 收到客户手续费--回租
//cvrdit.CreateVoucher(FlowUnid, "PZ2018100900000258", "feetype1");// 收到客户手续费--直租
cvrdit.CreateVoucher(FlowUnid, "PZ2018092500000177", "feetype5");// 收到客户预付款(首付)--回租
//cvrdit.CreateVoucher(FlowUnid, "PZ2018100900000259", "feetype5");// 收到客户预付款(首付)--直租
/**
* 传统-回租
*/
cvrdit.CreateVoucher(FlowUnid, "PZ2018092500000175", "feetype2",userid); // 回款反冲-收到客户保证金(传统)
cvrdit.CreateVoucher(FlowUnid, "PZ2018092500000176", "feetype1",userid); // 回款反冲-收到客户手续费(传统)
cvrdit.CreateVoucher(FlowUnid, "PZ2018092500000177", "feetype5",userid); // 回款反冲-收到客户预付款(传统)
cvrdit.CreateVoucher(FlowUnid, "PZ2018092500000181", "feetype30",userid);// 回款反冲-收到的违约金(传统)
cvrdit.CreateVoucher(FlowUnid, "PZ2018092500000182", "feetype4",userid); // 回款反冲-收到名义货价(传统)
/**
* 传统-直租
*/
cvrdit.CreateVoucher(FlowUnid, "PZ2019071800000050", "feetype30",userid);// 回款反冲-收到的违约金(传统)
cvrdit.CreateVoucher(FlowUnid, "PZ2019071800000051", "feetype4",userid); // 回款反冲-收到名义货价(传统)
cvrdit.CreateVoucher(FlowUnid, "PZ2018092500000181", "feetype30");// 收到的违约金/罚款--回租
//cvrdit.CreateVoucher(FlowUnid, "PZ2018100900000261", "feetype30");// 收到的违约金/罚款--直租
/**
* 汽车类传统-回租
*/
cvrdit.CreateVoucher(FlowUnid, "PZ2019072000000090", "feetype2",userid); // 回款反冲-收到客户保证金(汽车类传统)
cvrdit.CreateVoucher(FlowUnid, "PZ2019072000000091", "feetype1",userid); // 回款反冲-收到客户手续费(汽车类传统)
cvrdit.CreateVoucher(FlowUnid, "PZ2019072000000092", "feetype5",userid); // 回款反冲-收到客户预付款(汽车类传统)
cvrdit.CreateVoucher(FlowUnid, "PZ2019072000000093", "feetype30",userid);// 回款反冲-收到的违约金(汽车类传统)
cvrdit.CreateVoucher(FlowUnid, "PZ2019072000000094", "feetype4",userid); // 回款反冲-收到名义货价(汽车类传统)
cvrdit.CreateVoucher(FlowUnid, "PZ2018092500000182", "feetype4");// 收到名义货价--回租
//cvrdit.CreateVoucher(FlowUnid, "PZ2018100900000262", "feetype4");// 收到名义货价--直租
/**
* 汽车类传统-直租
*/
cvrdit.CreateVoucher(FlowUnid, "PZ2019072200000131", "feetype30",userid);// 回款反冲-收到的违约金(传统)
cvrdit.CreateVoucher(FlowUnid, "PZ2019072200000132", "feetype4",userid); // 回款反冲-收到名义货价(传统)
CreateVoucherRedRentIncomeTradition cvrict=new CreateVoucherRedRentIncomeTradition();
cvrict.CreateVoucher(FlowUnid, "PZ2018092500000179");//收到的租金-月付-3--回租
cvrict.CreateVoucher(FlowUnid, "PZ2018100900000263");//收到的租金-月付-6--回租
/**
* 传统-回租
*/
cvrict.CreateVoucher(FlowUnid, "PZ2018092500000179",userid);// 回款反冲-收到的租金-月付(传统)(跨月)
cvrict.CreateVoucher(FlowUnid, "PZ2018100900000263",userid);// 回款反冲-收到的租金-月付(传统)(当月)
cvrict.CreateVoucher(FlowUnid, "PZ2018092500000178",userid);// 回款反冲-收到的租金-季付(传统)(跨月)
cvrict.CreateVoucher(FlowUnid, "PZ2018100900000260",userid);// 回款反冲-收到的租金-季付(传统)(当月)
cvrict.CreateVoucher(FlowUnid, "PZ2018092500000180",userid);// 回款反冲-收到的逾期利息 (传统)
/**
* 传统-直租
*/
cvrict.CreateVoucher(FlowUnid, "PZ2019071800000052",userid);// 回款反冲-收到的租金-月付(传统)(当月)
cvrict.CreateVoucher(FlowUnid, "PZ2019071800000053",userid);// 回款反冲-收到的租金-月付(传统)(跨月)
cvrict.CreateVoucher(FlowUnid, "PZ2019071800000054",userid);// 回款反冲-收到的租金-季付(传统)(当月)
cvrict.CreateVoucher(FlowUnid, "PZ2019071800000055",userid);// 回款反冲-收到的租金-季付(传统)(跨月)
cvrict.CreateVoucher(FlowUnid, "PZ2019071800000056",userid);// 回款反冲-收到的逾期利息(传统)
cvrict.CreateVoucher(FlowUnid, "PZ2018092500000178");//收到的租金-季付-3--回租
cvrict.CreateVoucher(FlowUnid, "PZ2018100900000260");//收到的租金-季付-6--回租
/**
* 汽车类传统-回租
*/
cvrict.CreateVoucher(FlowUnid, "PZ2019072000000095",userid);// 回款反冲-收到的租金-月付(传统)(当月)
cvrict.CreateVoucher(FlowUnid, "PZ2019072000000096",userid);// 回款反冲-收到的租金-月付(传统)(跨月)
cvrict.CreateVoucher(FlowUnid, "PZ2019072000000097",userid);// 回款反冲-收到的租金-季付(传统)(当月)
cvrict.CreateVoucher(FlowUnid, "PZ2019072000000098",userid);// 回款反冲-收到的租金-季付(传统)(跨月)
cvrict.CreateVoucher(FlowUnid, "PZ2019072000000099",userid);// 回款反冲-收到的逾期利息 (传统)
cvrict.CreateVoucher(FlowUnid, "PZ2018092500000180");//收到逾期利息--回租
//cvrict.CreateVoucher(FlowUnid, "PZ2018100900000264");//收到逾期利息--直租
/**
* 汽车类传统-直租
*/
cvrict.CreateVoucher(FlowUnid, "PZ2019072200000126",userid);// 回款反冲-收到的租金-月付(传统)(当月)
cvrict.CreateVoucher(FlowUnid, "PZ2019072200000127",userid);// 回款反冲-收到的租金-月付(传统)(跨月)
cvrict.CreateVoucher(FlowUnid, "PZ2019072200000128",userid);// 回款反冲-收到的租金-季付(传统)(当月)
cvrict.CreateVoucher(FlowUnid, "PZ2019072200000129",userid);// 回款反冲-收到的租金-季付(传统)(跨月)
cvrict.CreateVoucher(FlowUnid, "PZ2019072200000130",userid);// 回款反冲-收到的逾期利息(传统)
/**
* 将多余还款分解
*/
CreateVoucherEbankMoney cvem = new CreateVoucherEbankMoney();
cvem.CreateVoucher(FlowUnid, "PZ2019073000000147", userid,Sqlca);// 回款-多余回款分解
return "true";
}
}

View File

@ -27,8 +27,10 @@ public class UpdateStartDateforHireDate extends BaseBussiness {
String CONTRACT_ID=dataList.get(0).get("CONTRACT_ID");
String FACT_DATE=dataList.get(0).get("FACT_DATE");
// 通过合同id将实收日期update为商务条件表起租日
String updSql="UPDATE LC_CALC_CONDITION SET START_DATE='"+FACT_DATE+"' WHERE CONTRACT_ID='"+CONTRACT_ID+"'";
Sqlca.executeSQL(updSql);
String updSql1="UPDATE LC_CALC_CONDITION_TEMP SET START_DATE='"+FACT_DATE+"' WHERE CONTRACT_ID='"+CONTRACT_ID+"'";
String updSql2="UPDATE LC_CALC_CONDITION SET START_DATE='"+FACT_DATE+"' WHERE CONTRACT_ID='"+CONTRACT_ID+"'";
Sqlca.executeSQL(updSql1);
Sqlca.executeSQL(updSql2);
Sqlca.commit();
return "true";
}

View File

@ -17,31 +17,21 @@ public class VoucherDepositDeductionForTradition extends BaseBussiness {
String FlowUnid=this.getAttribute("FlowUnid").toString();
CreateVoucherDepositDeductionForTradition cvdd=new CreateVoucherDepositDeductionForTradition();
// 汽车类传统
//cvdd.CreateVoucher(FlowUnid, "PZ2018092500000217");//保证金抵扣租金 --回租
//cvdd.CreateVoucher(FlowUnid, "PZ2018101000000336");//保证金抵扣租金--直租
/**
* 传统回租
*/
cvdd.CreateVoucher(FlowUnid, "PZ2018092500000185");// 保证金抵扣-保证金抵扣租金(传统)
//cvdd.CreateVoucher(FlowUnid, "PZ2018092500000186");// 保证金抵扣-保证金抵扣违约金(传统)
cvdd.CreateVoucher(FlowUnid, "PZ2018092500000187");// 保证金抵扣-保证金抵扣罚金(传统)
//cvdd.CreateVoucher(FlowUnid, "PZ2018092500000188");// 保证金抵扣-保证金抵扣名义货价(传统)
//cvdd.CreateVoucher(FlowUnid, "PZ2018092500000218");//保证金抵扣违约金 --回租
//cvdd.CreateVoucher(FlowUnid, "");//保证金抵扣违约金 --直租
//cvdd.CreateVoucher(FlowUnid, "PZ2018092500000219");//保证金抵扣罚金 --回租
//cvdd.CreateVoucher(FlowUnid, "PZ2018101000000337");//保证金抵扣罚金 --直租
//cvdd.CreateVoucher(FlowUnid, "PZ2018092500000220");//保证金抵扣名义货价 --回租
//cvdd.CreateVoucher(FlowUnid, "");//保证金抵扣名义货价--直租
// 传统
cvdd.CreateVoucher(FlowUnid, "PZ2018092500000185");//保证金抵扣租金 --回租
//cvdd.CreateVoucher(FlowUnid, "PZ2018101000000338");//保证金抵扣租金--直租
//cvdd.CreateVoucher(FlowUnid, "PZ2018092500000186");//保证金抵扣违约金 --回租
//cvdd.CreateVoucher(FlowUnid, "");//保证金抵扣违约金 --直租
cvdd.CreateVoucher(FlowUnid, "PZ2018092500000187");//保证金抵扣罚金 --回租
//cvdd.CreateVoucher(FlowUnid, "PZ2018101000000339");//保证金抵扣罚金--直租
//cvdd.CreateVoucher(FlowUnid, "PZ2018092500000188");//保证金抵扣名义货价 --回租
//cvdd.CreateVoucher(FlowUnid, "");//保证金抵扣名义货价--直租
/**
* 汽车类传统回租
*/
cvdd.CreateVoucher(FlowUnid, "PZ2019072200000100");// 保证金抵扣-保证金抵扣租金(汽车类传统)
//cvdd.CreateVoucher(FlowUnid, "PZ2019072200000101");// 保证金抵扣-保证金抵扣违约金(汽车类传统)
cvdd.CreateVoucher(FlowUnid, "PZ2019072200000102");// 保证金抵扣-保证金抵扣罚金(汽车类传统传统)
//cvdd.CreateVoucher(FlowUnid, "PZ2019072200000103");// 保证金抵扣-保证金抵扣名义货价(汽车类传统)
return "true";
}

View File

@ -20,157 +20,151 @@ import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
public class CreateVoucherMonthSettlement{
public class CreateVoucherMonthSettlement {
public void CreateVoucher(String voucherNo) {
Transaction Sqlca =null;
try{
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
Map<String,String> map=new HashMap<String, String>();
Map<String,String> param=new HashMap<String, String>();
// 定义全局变量
String MONEY=null;
String MONEYNOTAX=null;
String TAX=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 CARID=null;
String CARMODEL=null;
String CUSTID=null;
String CUSTNAME=null;
String CUSTOMERTYPE=null;
String BUSINESSTYPE=null;
String TAX_NUM=null;
String F58=null;
param.clear();
String sql="";
String moneyType="MONEY";// 取值类型
String modular="";// v8表互斥名称
String businessType="";// 业务类型
// 汽车类
if("PZ2018071200000017".equals(voucherNo)) { moneyType="FEE_NOTAX"; modular="月结-确认手续费";businessType=" LPI.BUSINESSTYPE='1' ";}//月结-确认手续费
if("PZ2018071200000016".equals(voucherNo)) { moneyType="MONEY";modular="月结-确认未实现利息收入";businessType=" LPI.BUSINESSTYPE='1' ";}//月结-确认未实现利息收入
if("PZ2018072100000048".equals(voucherNo)) { moneyType="DISCOUNT_NOTAX";modular="月结-确认贴息收入";businessType=" LPI.BUSINESSTYPE='1' ";}//月结-确认贴息收入
/*// 传统
if("PZ2018092500000183".equals(voucherNo)||"PZ2018100900000280".equals(voucherNo)) { moneyType="MONEYNOTAX";modular="日结--确认未实现利息收入(传统)";businessType=" LPI.BUSINESSTYPE='2' AND ";}//日结-确认未实现利息收入
if("PZ2018092500000184".equals(voucherNo)||"PZ2018100900000281".equals(voucherNo)) { moneyType="TAX";modular="日结--确认租金利息税金(传统)";businessType=" LPI.BUSINESSTYPE='2' AND ";}//日结-确认租金利息税金
if("PZ2018100900000282".equals(voucherNo)||"PZ2018100900000283".equals(voucherNo)) { moneyType="MONEYNOTAX";modular="月结--确认未实现利息收入(传统)";businessType=" LPI.BUSINESSTYPE='2' AND ";}//月结-确认未实现利息收入
// 汽车传统
if("PZ2018092500000215".equals(voucherNo)||"PZ2018100900000275".equals(voucherNo)) { moneyType="MONEYNOTAX";modular="日结--确认未实现利息收入(汽车传统)";businessType=" LPI.BUSINESSTYPE='3' AND ";}//日结-确认未实现利息收入
if("PZ2018092500000216".equals(voucherNo)||"PZ2018100900000277".equals(voucherNo)) { moneyType="TAX";modular="日结--确认租金利息税金(汽车传统)";businessType=" LPI.BUSINESSTYPE='3' AND ";}//日结-确认租金利息税金
if("PZ2018100900000278".equals(voucherNo)||"PZ2018100900000279".equals(voucherNo)) { moneyType="MONEYNOTAX";modular="月结--确认未实现利息收入(汽车传统)";businessType=" LPI.BUSINESSTYPE='3' AND ";}//月结-确认未实现利息收入
*/
// 月结利息
if("PZ2018071200000016".equals(voucherNo)) {
// sql="SELECT CRM.ID,CRM.INTEREST_TAX AS MONEY,ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=CRM.CONTRACT_ID AND LRP.PLAN_LIST=CRM.rent_list LEFT JOIN LC_RENT_INCOME LRI ON LRI.CONTRACT_ID=LRP.CONTRACT_ID AND LRI.PLAN_LIST=LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE='1' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(SYSDATE(), '%Y/%m') AND DATEDIFF(SYSDATE(),LRP.PLAN_DATE)>3 AND (IFNULL(LRP.INTEREST,0)-IFNULL(LRI.INTEREST,0))<>0 AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%"+modular+"%')";
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,CRM.ID,CRM.INTEREST_TAX AS MONEY,ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.rent_list LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,SUM(INTEREST) AS INTEREST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID,PLAN_LIST)LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRI2 ON LRI2.CONTRACT_ID = lci.id LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(SYSDATE(), '%Y/%m') AND (IFNULL(LRP.INTEREST, 0) - IFNULL(LRI.INTEREST, 0)) <> 0 AND (CAST(CRM.RENT_LIST AS SIGNED) - CAST(IFNULL(LRI2.PLAN_LIST, 0) AS SIGNED)) <= 2 AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%"+modular+"%') ";
// 手续费(按月分摊)
}else if("PZ2018071200000017".equals(voucherNo)){
sql="SELECT CRM.ID,CRM.INTEREST AS MONEY,ROUND(CRM.INTEREST / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST - ROUND(CRM.INTEREST / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,CRM.FEE AS FEEMONEY,IFNULL((CRM.FEE - ROUND(CRM.FEE / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE))),0) AS FEE_NOTAX,CRM.DISCOUNT AS DISCOUNT,IFNULL((CRM.DISCOUNT - ROUND(CRM.DISCOUNT / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE))),0) AS DISCOUNT_NOTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=CRM.CONTRACT_ID AND LRP.PLAN_LIST=CRM.RENT_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON CRM.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE='1' AND lul.IS_MAIN='Y' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(SYSDATE(), '%Y/%m') AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020' AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%"+modular+"%') ";
}else {
sql="SELECT CRM.ID,CRM.INTEREST AS MONEY,ROUND(CRM.INTEREST / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST - ROUND(CRM.INTEREST / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,CRM.FEE AS FEEMONEY,IFNULL((CRM.FEE - ROUND(CRM.FEE / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE))),0) AS FEE_NOTAX,IFNULL(CRM.DISCOUNT,0) AS DISCOUNT_NOTAX,IFNULL(CRM.DISCOUNT,0) - ROUND(IFNULL(CRM.DISCOUNT,0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS DISCOUNT_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.RENT_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON CRM.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(SYSDATE(), '%Y/%m') AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%"+modular+"%') ";
}
/*//租金的利息税金
if("PZ2018072100000055".equals(voucherNo)){
sql="SELECT LRP.ID,LRP.INTEREST-ROUND(LRP.INTEREST/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEY,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,LCI.ID AS CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_RENT_PLAN LRP LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 DATE_FORMAT(SYSDATE(),'%Y/%m/%d')=DATE_FORMAT(LRP.PLAN_DATE,'%Y/%m/%d') AND LRP.ID NOT IN(SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%日结-确认租金利息税金%')";
}
//租金的税金
if("PZ2018080200000063".equals(voucherNo)){
sql="SELECT LRP.ID,LRP.RENT-ROUND(LRP.RENT/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEY,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,LCI.ID AS CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_RENT_PLAN LRP LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.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 DATE_FORMAT(SYSDATE(),'%Y/%m/%d')=DATE_FORMAT(LRP.PLAN_DATE,'%Y/%m/%d') AND LRP.ID NOT IN(SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%日结-确认租金税金%')";
}*/
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
Transaction Sqlca = null;
try {
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
Map<String, String> map = new HashMap<String, String>();
Map<String, String> param = new HashMap<String, String>();
// 定义全局变量
String MONEY = null;
String MONEYNOTAX = null;
String TAX = null;
String CORPUS_TAX = null;
String CORPUS_ADD_INTEREST_TAX = 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 CARID = null;
String CARMODEL = null;
String CUSTID = null;
String CUSTNAME = null;
String CUSTOMERTYPE = null;
String BUSINESSTYPE = null;
String TAX_NUM = null;
String F58 = null;
param.clear();
String sql = "";
String moneyType = "MONEY";// 取值类型
String modular = ""; // v8表互斥名称
String businessType = "";// 业务类型
// 月结-确认未实现利息收入
if ("PZ2018071200000016".equals(voucherNo) || "PZ2019070100000028".equals(voucherNo)) {
moneyType = "MONEY";
}
// 月结-确认手续费
if ("PZ2018071200000017".equals(voucherNo) || "PZ2019070100000029".equals(voucherNo)) {
moneyType = "FEE_NOTAX";
}
// 月结-确认贴息收入
if ("PZ2018072100000048".equals(voucherNo)) {
moneyType = "DISCOUNT_NOTAX";
}
CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl();
String VOUCHER_TYPE="1";// 凭证分类 金蝶
String userid ="yuejie";
for (int i=0;i<dataList.size();i++){
MONEY=dataList.get(i).get(moneyType).toString();
//FEEMONEY=dataList.get(i).get(FEEMONEY).toString();
if("".equals(MONEY)||MONEY==null) MONEY="0.00";
double mon=Double.parseDouble(MONEY);
if(mon>0){
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX");
TAX=dataList.get(i).get("TAX");
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE").toString();
FACT_DATE =dataList.get(i).get("FACT_DATE").toString();
CONTRACT_ID=dataList.get(i).get("CONTRACT_ID").toString();
CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER").toString();
PROJECT_NAME=dataList.get(i).get("PROJECT_NAME").toString();
leas_form=dataList.get(i).get("LEAS_FORM").toString();
DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");
DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");
CARID=dataList.get(i).get("CARID");
CARMODEL=dataList.get(i).get("MODEL");
CUSTID=dataList.get(i).get("CUSTOMERID");
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
F58=dataList.get(i).get("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);
// 月结-确认未实现利息收入
if ("PZ2018071200000016".equals(voucherNo) || "PZ2019070100000028".equals(voucherNo)) {
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,CRM.ID,CRM.INTEREST_TAX AS MONEY,ROUND(CRM.INTEREST_TAX / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,(IFNULL(LRP.CORPUS,0) - ROUND(IFNULL(LRP.CORPUS,0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRP.CORPUS,0)-ROUND(IFNULL(LRP.CORPUS,0)/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(IFNULL(CRM.INTEREST_TAX,0)-ROUND(IFNULL(CRM.INTEREST_TAX,0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.rent_list LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,SUM(INTEREST) AS INTEREST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID,PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRI2 ON LRI2.CONTRACT_ID = lci.id LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(NOW(), '%Y/%m') AND (IFNULL(LRP.INTEREST, 0) - IFNULL(LRI.INTEREST, 0)) <> 0 AND (CAST(CRM.RENT_LIST AS SIGNED) - CAST(IFNULL(LRI2.PLAN_LIST, 0) AS SIGNED)) <= 2 AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%月结-确认未实现利息收入%') ";
// 月结-确认手续费
} else if ("PZ2018071200000017".equals(voucherNo) || "PZ2019070100000029".equals(voucherNo)) {
sql = "SELECT CRM.ID,CRM.INTEREST AS MONEY,ROUND(CRM.INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST - ROUND(CRM.INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,CRM.FEE AS FEEMONEY,IFNULL((CRM.FEE - ROUND(CRM.FEE / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE))),0) AS FEE_NOTAX,CRM.DISCOUNT AS DISCOUNT,IFNULL((CRM.DISCOUNT - ROUND(CRM.DISCOUNT / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE))),0) AS DISCOUNT_NOTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.RENT_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON CRM.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(NOW(), '%Y/%m') AND lcct.HANDLING_CHARGE_MONEY_TYPE = '0020' AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%月结-确认手续费%')";
// 月结-确认贴息收入
} else if ("PZ2018072100000048".equals(voucherNo)) {
sql = "SELECT CRM.ID,CRM.INTEREST AS MONEY,ROUND(CRM.INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST - ROUND(CRM.INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,CRM.FEE AS FEEMONEY,IFNULL((CRM.FEE - ROUND(CRM.FEE / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE))),0) AS FEE_NOTAX,IFNULL(CRM.DISCOUNT, 0) AS DISCOUNT_NOTAX,IFNULL(CRM.DISCOUNT, 0) - ROUND(IFNULL(CRM.DISCOUNT, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS DISCOUNT_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.RENT_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON CRM.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND IFNULL(CRM.DISCOUNT, 0)>0 AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(NOW(), '%Y/%m') AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%月结-确认贴息收入%') ";
}
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl();
String VOUCHER_TYPE = "1";// 凭证分类 金蝶
String userid = "yuejie";
for (int i = 0; i < dataList.size(); i++) {
MONEY = dataList.get(i).get(moneyType);
if ("".equals(MONEY) || MONEY == null)MONEY = "0.00";
double mon = Double.parseDouble(MONEY);
if (mon > 0) {
MONEYNOTAX = dataList.get(i).get("MONEYNOTAX");
TAX = dataList.get(i).get("TAX");
CORPUS_TAX = dataList.get(i).get("CORPUS_TAX");
CORPUS_ADD_INTEREST_TAX = dataList.get(i).get("CORPUS_ADD_INTEREST_TAX");
ACCOUNT_DATE = dataList.get(i).get("ACCOUNT_DATE").toString();
FACT_DATE = dataList.get(i).get("FACT_DATE").toString();
CONTRACT_ID = dataList.get(i).get("CONTRACT_ID").toString();
CONTRACT_NUMBER = dataList.get(i).get("CONTRACT_NUMBER").toString();
PROJECT_NAME = dataList.get(i).get("PROJECT_NAME").toString();
leas_form = dataList.get(i).get("LEAS_FORM").toString();
DISTRIBUTOR_ID = dataList.get(i).get("DISTRIBUTOR_ID");
DISTRIBUTOR_NAME = dataList.get(i).get("DISTRIBUTOR_NAME");
CARID = dataList.get(i).get("CARID");
CARMODEL = dataList.get(i).get("MODEL");
CUSTID = dataList.get(i).get("CUSTOMERID");
CUSTNAME = dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE");
F58 = dataList.get(i).get("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", TAX);
param.put("CORPUS_TAX",CORPUS_TAX);
param.put("CORPUS_ADD_INTEREST_TAX",CORPUS_ADD_INTEREST_TAX);
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("CARID", CARID);
param.put("CARMODEL", CARMODEL);
param.put("CUSTID", CUSTID);
param.put("CUSTNAME", CUSTNAME);
param.put("CUSTOMERTYPE", CUSTOMERTYPE);
param.put("BUSINESSTYPE", BUSINESSTYPE);
param.put("VOUCHERNO", voucherNo);
param.put("F58", F58);
if (TAX_CODES != null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
param.put("BUSINESSTYPE", "0604"); // 主营类型
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);
}
}
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
param.put("TAX",TAX);
//param.put("FACT_MONEY",FEEMONEY);
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("CARID",CARID);
param.put("CARMODEL",CARMODEL);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("VOUCHERNO",voucherNo);
param.put("F58",F58);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
if (Sqlca != null) {
Sqlca.commit();
}
param.put("BUSINESSTYPE", "0604"); // 主营类型
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);
}
}
if(Sqlca!=null){
Sqlca.commit();
}}
}catch (Exception e){
}
} catch (Exception e) {
e.printStackTrace();
}finally{
if(Sqlca!=null){
try {
} finally {
if (Sqlca != null) {
try {
Sqlca.disConnect();
} catch (JBOException e) {
e.printStackTrace();
}
Sqlca = null;
}
Sqlca = null;
}
}
}
}

View File

@ -34,6 +34,8 @@ public class CreateVoucherMonthSettlementForTradition {
String MONEY = null;
String MONEYNOTAX = null;
String TAX = null;
String CORPUS_TAX = null;
String CORPUS_ADD_INTEREST_TAX = null;
String ACCOUNT_DATE = null;
String FACT_DATE = null;
String CONTRACT_ID = null;
@ -55,14 +57,24 @@ public class CreateVoucherMonthSettlementForTradition {
* 传统
*/
// 月结--确认未实现利息收入-月付(传统)
if ("PZ2018092500000183".equals(voucherNo)) {
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,CRM.ID,CASE WHEN (CL.CUST_NAME IS NOT NULL OR CL.CUST_NAME != '') THEN CRM.INTEREST_TAX WHEN (CL.CUST_NAME IS NULL OR CL.CUST_NAME ='') AND (CAST(CRM.RENT_LIST AS SIGNED) - CAST(IFNULL(LRI2.PLAN_LIST, 0) AS SIGNED)) <= 2 THEN CRM.INTEREST_TAX ELSE 0 END AS MONEY,ROUND(CRM.INTEREST_TAX / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.rent_list LEFT JOIN LC_RENT_INCOME LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRI2 ON LRI2.CONTRACT_ID = lci.id LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN CUSTOMER_LIST CL ON (CL.CUST_NAME= DI.DISTRIBUTOR_CODING OR CL.CUST_NAME=CIF.CUSTOMER_NUM) WHERE LPI.BUSINESSTYPE = '2' AND lul.IS_MAIN = 'Y' AND LCCT.INCOME_NUMBER_YEAR='income_1' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(SYSDATE(), '%Y/%m') AND (IFNULL(LRP.INTEREST, 0) - IFNULL(LRI.INTEREST, 0)) <> 0 AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%确认未实现利息收入-月付%') ";
}
if ("PZ2018092500000183".equals(voucherNo) || "PZ2019071800000069".equals(voucherNo)) {
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,CRM.ID,CASE WHEN (CL.CUST_NAME IS NOT NULL OR CL.CUST_NAME != '') THEN CRM.INTEREST_TAX WHEN (CL.CUST_NAME IS NULL OR CL.CUST_NAME = '') AND (CAST(CRM.RENT_LIST AS SIGNED) - CAST(IFNULL(LRI2.PLAN_LIST, 0) AS SIGNED)) <= 2 THEN CRM.INTEREST_TAX ELSE 0 END AS MONEY,ROUND(CRM.INTEREST_TAX / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,(IFNULL(LRP.CORPUS,0)-ROUND(IFNULL(LRP.CORPUS,0)/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRP.CORPUS,0)-ROUND(IFNULL(LRP.CORPUS,0)/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(IFNULL(CRM.INTEREST_TAX,0)-ROUND(IFNULL(CRM.INTEREST_TAX,0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.rent_list LEFT JOIN LC_RENT_INCOME LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRI2 ON LRI2.CONTRACT_ID = lci.id LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN CUSTOMER_LIST CL ON (CL.CUST_NAME = DI.DISTRIBUTOR_CODING OR CL.CUST_NAME = CIF.CUSTOMER_NUM) WHERE LPI.BUSINESSTYPE = '2' AND lul.IS_MAIN = 'Y' AND LCCT.INCOME_NUMBER_YEAR = 'income_1' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(NOW(), '%Y/%m') AND (IFNULL(LRP.INTEREST, 0) - IFNULL(LRI.INTEREST, 0)) <> 0 AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%确认未实现利息收入-月付%') ";
// 月结--确认未实现利息收入-季付(传统)
if ("PZ2018092500000184".equals(voucherNo)) {
}else if ("PZ2018092500000184".equals(voucherNo) || "PZ2019071800000070".equals(voucherNo)) {
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,CRM.ID,CASE WHEN (CL.CUST_NAME IS NOT NULL OR CL.CUST_NAME != '') THEN CRM.INTEREST_TAX WHEN CRM.RENT_LIST = 1 AND (CL.CUST_NAME IS NULL OR CL.CUST_NAME = '') THEN CRM.INTEREST_TAX WHEN CRM.RENT_LIST != 1 AND (CL.CUST_NAME IS NULL OR CL.CUST_NAME = '') AND (CRM.RENT_LIST - LRI2.PLAN_LIST = 1) AND ((TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(LRI2.HIRE_DATE, '%Y-%m-%d'))= 1) OR (TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(LRI2.HIRE_DATE, '%Y-%m-%d'))= 0)) THEN CRM.INTEREST_TAX WHEN CRM.RENT_LIST != 1 AND (CL.CUST_NAME IS NULL OR CL.CUST_NAME = '') AND (CRM.RENT_LIST - LRI2.PLAN_LIST = 1) AND (TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(LRI2.HIRE_DATE, '%Y-%m-%d'))= 2) AND (TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(NOW(), '%Y-%m-%d'))= 2) THEN ROUND(CRM.INTEREST_TAX * 2, 2) WHEN CRM.RENT_LIST != 1 AND (CL.CUST_NAME IS NULL OR CL.CUST_NAME = '') AND (CRM.RENT_LIST-LRI2.PLAN_LIST<=1) AND ((TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(NOW(), '%Y-%m-%d'))= 3) OR (TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(NOW(), '%Y-%m-%d'))= 0)) THEN CRM.INTEREST_TAX ELSE 0 END AS MONEY,ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.rent_list LEFT JOIN LC_RENT_INCOME LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,MAX(PLAN_LIST) AS PLAN_LIST,MAX(HIRE_DATE) AS HIRE_DATE FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRI2 ON LRI2.CONTRACT_ID = lci.id LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,MAX(PLAN_DATE) AS PLAN_DATE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID,PLAN_LIST) LRP2 ON LRP2.CONTRACT_ID = LRI2.CONTRACT_ID AND LRP2.PLAN_LIST = LRI2.PLAN_LIST LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN CUSTOMER_LIST CL ON (CL.CUST_ID = DI.DISTRIBUTOR_CODING OR CL.CUST_ID = CIF.CUSTOMER_NUM) WHERE LPI.BUSINESSTYPE = '2' AND lul.IS_MAIN = 'Y' AND LCCT.INCOME_NUMBER_YEAR = 'income_3' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(NOW(), '%Y/%m') AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%确认未实现利息收入-季付%');";
}
/**
* 汽车类传统
*/
// 月结--确认未实现利息收入-月付(传统)
if ("PZ2019072200000106".equals(voucherNo) || "PZ2019072300000144".equals(voucherNo)) {
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,CRM.ID,CASE WHEN (CL.CUST_NAME IS NOT NULL OR CL.CUST_NAME != '') THEN CRM.INTEREST_TAX WHEN (CL.CUST_NAME IS NULL OR CL.CUST_NAME = '') AND (CAST(CRM.RENT_LIST AS SIGNED) - CAST(IFNULL(LRI2.PLAN_LIST, 0) AS SIGNED)) <= 2 THEN CRM.INTEREST_TAX ELSE 0 END AS MONEY,ROUND(CRM.INTEREST_TAX / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,(IFNULL(LRP.CORPUS,0)-ROUND(IFNULL(LRP.CORPUS,0)/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRP.CORPUS,0)-ROUND(IFNULL(LRP.CORPUS,0)/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(IFNULL(CRM.INTEREST_TAX,0)-ROUND(IFNULL(CRM.INTEREST_TAX,0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.rent_list LEFT JOIN LC_RENT_INCOME LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRI2 ON LRI2.CONTRACT_ID = lci.id LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN CUSTOMER_LIST CL ON (CL.CUST_NAME = DI.DISTRIBUTOR_CODING OR CL.CUST_NAME = CIF.CUSTOMER_NUM) WHERE LPI.BUSINESSTYPE = '3' AND lul.IS_MAIN = 'Y' AND LCCT.INCOME_NUMBER_YEAR = 'income_1' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(NOW(), '%Y/%m') AND (IFNULL(LRP.INTEREST, 0) - IFNULL(LRI.INTEREST, 0)) <> 0 AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%确认未实现利息收入-月付%') ";
// 月结--确认未实现利息收入-季付(传统)
}else if ("PZ2019072200000107".equals(voucherNo) || "PZ2019072300000145".equals(voucherNo)) {
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,CRM.ID,CASE WHEN (CL.CUST_NAME IS NOT NULL OR CL.CUST_NAME != '') THEN CRM.INTEREST_TAX WHEN CRM.RENT_LIST = 1 AND (CL.CUST_NAME IS NULL OR CL.CUST_NAME = '') THEN CRM.INTEREST_TAX WHEN CRM.RENT_LIST != 1 AND (CL.CUST_NAME IS NULL OR CL.CUST_NAME = '') AND (CRM.RENT_LIST - LRI2.PLAN_LIST = 1) AND ((TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(LRI2.HIRE_DATE, '%Y-%m-%d'))= 1) OR (TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(LRI2.HIRE_DATE, '%Y-%m-%d'))= 0)) THEN CRM.INTEREST_TAX WHEN CRM.RENT_LIST != 1 AND (CL.CUST_NAME IS NULL OR CL.CUST_NAME = '') AND (CRM.RENT_LIST - LRI2.PLAN_LIST = 1) AND (TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(LRI2.HIRE_DATE, '%Y-%m-%d'))= 2) AND (TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(NOW(), '%Y-%m-%d'))= 2) THEN ROUND(CRM.INTEREST_TAX * 2, 2) WHEN CRM.RENT_LIST != 1 AND (CL.CUST_NAME IS NULL OR CL.CUST_NAME = '') AND (CRM.RENT_LIST-LRI2.PLAN_LIST<=1) AND ((TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(NOW(), '%Y-%m-%d'))= 3) OR (TIMESTAMPDIFF(MONTH,DATE_FORMAT(LRP2.PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(NOW(), '%Y-%m-%d'))= 0)) THEN CRM.INTEREST_TAX ELSE 0 END AS MONEY,ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.rent_list LEFT JOIN LC_RENT_INCOME LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,MAX(PLAN_LIST) AS PLAN_LIST,MAX(HIRE_DATE) AS HIRE_DATE FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRI2 ON LRI2.CONTRACT_ID = lci.id LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,MAX(PLAN_DATE) AS PLAN_DATE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID,PLAN_LIST) LRP2 ON LRP2.CONTRACT_ID = LRI2.CONTRACT_ID AND LRP2.PLAN_LIST = LRI2.PLAN_LIST LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN CUSTOMER_LIST CL ON (CL.CUST_ID = DI.DISTRIBUTOR_CODING OR CL.CUST_ID = CIF.CUSTOMER_NUM) WHERE LPI.BUSINESSTYPE = '3' AND lul.IS_MAIN = 'Y' AND LCCT.INCOME_NUMBER_YEAR = 'income_3' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(NOW(), '%Y/%m') AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%确认未实现利息收入-季付%');";
}
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl();
@ -74,6 +86,8 @@ public class CreateVoucherMonthSettlementForTradition {
if (mon > 0) {
MONEYNOTAX = dataList.get(i).get("MONEYNOTAX");
TAX = dataList.get(i).get("TAX");
CORPUS_TAX = dataList.get(i).get("CORPUS_TAX");
CORPUS_ADD_INTEREST_TAX = dataList.get(i).get("CORPUS_ADD_INTEREST_TAX");
ACCOUNT_DATE = dataList.get(i).get("ACCOUNT_DATE").toString();
FACT_DATE = dataList.get(i).get("FACT_DATE").toString();
CONTRACT_ID = dataList.get(i).get("CONTRACT_ID").toString();
@ -99,7 +113,8 @@ public class CreateVoucherMonthSettlementForTradition {
param.put("FACT_MONEY", MONEY);
param.put("INTERESTNOTAX", MONEYNOTAX);
param.put("TAX", TAX);
// param.put("FACT_MONEY",FEEMONEY);
param.put("CORPUS_TAX",CORPUS_TAX);
param.put("CORPUS_ADD_INTEREST_TAX",CORPUS_ADD_INTEREST_TAX);
param.put("ACCOUNT_DATE", ACCOUNT_DATE);
param.put("FACT_DATE", FACT_DATE);
param.put("CONTRACT_ID", CONTRACT_ID);

View File

@ -26,7 +26,9 @@ public class CreateVoucherOnhireTradition extends BaseBussiness{
Map<String,String> map=new HashMap<String, String>();
Map<String,String> param=new HashMap<String, String>();
// 定义全局对象
String OTHERSMONEY=null; // 车款-首付款+其他
String OTHERSMONEY=null; // 车款-首付款+其他
String OTHERSMONEY_NOTAX=null; // 车款-首付款+其他(不含税)
String OTHERSMONEY_TAX=null; // 车款-首付款+其他(税金)
String INTEREST=null; // 利息
String ACCOUNT_DATE=null; // 会计日期
String FACT_DATE=null; // 实际付款日期
@ -43,10 +45,10 @@ public class CreateVoucherOnhireTradition extends BaseBussiness{
String sql="";
//客户支付的应收账款总金额 --回租
if("PZ2018092500000170".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LCCT.EQUIP_AMT,0) - IFNULL(LCCT.FIRST_PAYMENT,0) + IFNULL(LCCT.OTHER_MONEY,0) AS MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,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,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID,CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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 = '2' AND lul.IS_MAIN = 'Y' AND LCCT.FLOWUNID = :FLOWUNID ";
}else {
sql="SELECT IFNULL((LCCT.EQUIP_AMT - LCCT.FIRST_PAYMENT + LCCT.INSURANCE_PREMIUM + LCCT.OTHER_MONEY),0) AS OTHERSMONEY,IFNULL((LCCT.EQUIP_AMT - LCCT.FIRST_PAYMENT),0) AS EQUIP_SUBFIRST,IFNULL((LCCT.INSURANCE_PREMIUM + LCCT.OTHER_MONEY),0) AS INSURANCE_OTHER,IFNULL(LRPT.INTEREST,0) AS INTEREST,IFNULL(ROUND(LRPT.INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2),0) AS INTERESTNOTAX,IFNULL((LRPT.INTEREST - ROUND(LRPT.INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)),0) AS 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,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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 = '3' AND lul.IS_MAIN='Y' AND LCCT.FLOWUNID = :FLOWUNID ";
if("PZ2018092500000170".equals(VOUCHERNO) || "PZ2019071800000042".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.OTHER_MONEY, 0) AS MONEY,ROUND((IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.OTHER_MONEY, 0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) AS MONEY_NOTAX,((IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.OTHER_MONEY, 0))-ROUND((IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.OTHER_MONEY, 0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS MONEY_TAX,IFNULL(LRPT.INTEREST, 0) AS INTEREST,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,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID,CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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 = '2' AND lul.IS_MAIN = 'Y' AND LCCT.FLOWUNID = :FLOWUNID ";
}else if("PZ2019072000000082".equals(VOUCHERNO) || "PZ2019072200000118".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.OTHER_MONEY, 0) AS MONEY,ROUND((IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.OTHER_MONEY, 0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) AS MONEY_NOTAX,((IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.OTHER_MONEY, 0))-ROUND((IFNULL(LCCT.EQUIP_AMT, 0) - IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.OTHER_MONEY, 0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS MONEY_TAX,IFNULL(LRPT.INTEREST, 0) AS INTEREST,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,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID,CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.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 = '3' AND lul.IS_MAIN = 'Y' AND LCCT.FLOWUNID = :FLOWUNID ";
}
param.clear();
@ -63,6 +65,8 @@ public class CreateVoucherOnhireTradition extends BaseBussiness{
for (int i=0;i<dataList.size();i++){
OTHERSMONEY=dataList.get(i).get("MONEY");// 车款-首付款+保险+其他
OTHERSMONEY_NOTAX=dataList.get(i).get("MONEY_NOTAX");// 车款-首付款+保险+其他
OTHERSMONEY_TAX=dataList.get(i).get("MONEY_TAX");// 车款-首付款+保险+其他
INTEREST=dataList.get(i).get("INTEREST");// 利息
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE");// 会计日期
FACT_DATE=dataList.get(i).get("FACT_DATE");// 实际付款日期
@ -79,6 +83,8 @@ public class CreateVoucherOnhireTradition extends BaseBussiness{
// 将数据封装到定义好的map集合中
param.put("EQUIP_PREMIUM_OTHER_SUBFIRST",OTHERSMONEY);
param.put("INTERESTNOTAX",OTHERSMONEY_NOTAX);
param.put("TAX",OTHERSMONEY_TAX);
param.put("INTEREST",INTEREST);
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
@ -93,14 +99,8 @@ public class CreateVoucherOnhireTradition extends BaseBussiness{
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("VOUCHERNO",VOUCHERNO);
// 判断传统类型
if("2".equals(BUSINESSTYPE)){
param.put("CASHFLOW", "");// 现金流项目
param.put("BUSINESSTYPE", "0604");// 主营类型
}
param.put("FlowUnid", FlowUnid);
map.clear();
map.put("PROJ_TYPE", LEAS_FORM);
map.put("VOUCHER_NO", VOUCHERNO);

View File

@ -36,10 +36,10 @@ public class CreateVoucherRedCompensatory {
// 代偿反冲-收到的租金
if("PZ2019071500000030".equals(VOUCHERNO)){
sql="SELECT -V8.MONEY AS MONEY,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRP.CONTRACT_ID,V8.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID,V8.DISTRIBUTOR_NAME,LRP.PLAN_LIST,LRP.ID AS F58 FROM (SELECT SUM(F7) AS MONEY,MAX(F58) AS F58,MAX(F65) AS DISTRIBUTOR_CODING,MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到代偿的租金%' AND F58='"+LRP_ID+"' AND F59=1 GROUP BY F3)V8 LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID=V8.F58 LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID WHERE LCI.BUSINESSTYPE='1' AND IFNULL(V8.MONEY,0)>0 AND V8.F58 NOT IN(SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%代偿反冲-收到的租金%' GROUP BY F58) ";
sql="SELECT -V8.MONEY AS MONEY,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRP.CONTRACT_ID,V8.DISTRIBUTOR_CODING AS DISTRIBUTOR_ID,V8.DISTRIBUTOR_NAME,LRP.PLAN_LIST,LRP.ID AS F58 FROM (SELECT SUM(F7) AS MONEY,MAX(F58) AS F58,MAX(F65) AS DISTRIBUTOR_CODING,MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%收到代偿的租金%' AND F58='"+LRP_ID+"' GROUP BY F3)V8 LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID=V8.F58 LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID WHERE LCI.BUSINESSTYPE='1' AND IFNULL(V8.MONEY,0)>0 AND V8.F58 NOT IN(SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%代偿反冲-收到的租金%' GROUP BY F58) ";
// 代偿反冲-收到的逾期利息
}else if("PZ2019071500000031".equals(VOUCHERNO)){
sql="SELECT -V8.MONEY AS MONEY,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRP.CONTRACT_ID,V8.DISTRIBUTOR_CODING,V8.DISTRIBUTOR_NAME,LRP.PLAN_LIST,LRP.ID AS F58 FROM (SELECT SUM(F7) AS MONEY,MAX(F58) AS F58,MAX(F65) AS DISTRIBUTOR_CODING,MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%代偿逾期利息%' AND F58='"+LRP_ID+"' AND F59=1 GROUP BY F3)V8 LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID=V8.F58 LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID WHERE LCI.BUSINESSTYPE='1' AND IFNULL(V8.MONEY,0)>0 AND V8.F58 NOT IN(SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%代偿反冲-收到的逾期利息%' GROUP BY F58) ";
sql="SELECT -V8.MONEY AS MONEY,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRP.CONTRACT_ID,V8.DISTRIBUTOR_CODING,V8.DISTRIBUTOR_NAME,LRP.PLAN_LIST,LRP.ID AS F58 FROM (SELECT SUM(F7) AS MONEY,MAX(F58) AS F58,MAX(F65) AS DISTRIBUTOR_CODING,MAX(F61) AS DISTRIBUTOR_NAME FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%代偿逾期利息%' AND F58='"+LRP_ID+"' GROUP BY F3)V8 LEFT JOIN LC_RENT_PLAN LRP ON LRP.ID=V8.F58 LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRP.CONTRACT_ID WHERE LCI.BUSINESSTYPE='1' AND IFNULL(V8.MONEY,0)>0 AND V8.F58 NOT IN(SELECT F58 FROM VOUCHER_V8 WHERE MODULE_NAME LIKE '%代偿反冲-收到的逾期利息%' GROUP BY F58) ";
}
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, null);

View File

@ -20,7 +20,7 @@ import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
*/
public class CreateVoucherRedDashedIncomeTradition extends BaseBussiness {
public String CreateVoucher(String FlowUnid, String VOUCHERNO, String FeeType) throws Exception {
public String CreateVoucher(String FlowUnid, String VOUCHERNO, String FeeType, String userid) throws Exception {
Transaction Sqlca = null;
Map<String, String> map = new HashMap<String, String>();
@ -50,27 +50,27 @@ public class CreateVoucherRedDashedIncomeTradition extends BaseBussiness {
map.put("FlowUnid", FlowUnid);
map.put("FEE_TYPE", FeeType);
if("PZ2018092500000175".equals(VOUCHERNO) || "PZ2018092500000177".equals(VOUCHERNO)) {
if("PZ2018092500000175".equals(VOUCHERNO) || "PZ2018092500000177".equals(VOUCHERNO) || "PZ2019072000000090".equals(VOUCHERNO) || "PZ2019072000000092".equals(VOUCHERNO)) {
TaxType="本金";
}else if("PZ2018092500000176".equals(VOUCHERNO)) {
}else if("PZ2018092500000176".equals(VOUCHERNO) || "PZ2019072000000091".equals(VOUCHERNO)) {
TaxType="手续费";
}else if("PZ2018092500000181".equals(VOUCHERNO)) {
}else if("PZ2018092500000181".equals(VOUCHERNO) || "PZ2019071800000050".equals(VOUCHERNO) || "PZ2019072000000093".equals(VOUCHERNO) || "PZ2019072200000131".equals(VOUCHERNO)) {
TaxType="违约金";
}else if("PZ2018092500000182".equals(VOUCHERNO)) {
}else if("PZ2018092500000182".equals(VOUCHERNO) || "PZ2019071800000051".equals(VOUCHERNO) || "PZ2019072000000094".equals(VOUCHERNO) || "PZ2019072200000132".equals(VOUCHERNO)) {
TaxType="留购价";
}
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'"+TaxType+"',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+TaxType+"',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+TaxType+"',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,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
/*// GPS²»²ÎÈÚ
if("PZ2018092500000178".equals(VOUCHERNO) || "PZ2018100900000260".equals(VOUCHERNO)) {
sql+=" AND LCCT.GPS_FEE_FINA='finatype01'";
}*/
// ´«Í³
if("PZ2018092500000175".equals(VOUCHERNO) || "PZ2018092500000176".equals(VOUCHERNO) || "PZ2018092500000177".equals(VOUCHERNO) || "PZ2018092500000181".equals(VOUCHERNO) || "PZ2018092500000182".equals(VOUCHERNO) || "PZ2019071800000050".equals(VOUCHERNO) || "PZ2019071800000051".equals(VOUCHERNO)){
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'"+TaxType+"',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+TaxType+"',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+TaxType+"',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,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
// Æû³µÀഫͳ
}else if("PZ2019072000000090".equals(VOUCHERNO) || "PZ2019072000000091".equals(VOUCHERNO) || "PZ2019072000000092".equals(VOUCHERNO) || "PZ2019072000000093".equals(VOUCHERNO) || "PZ2019072000000094".equals(VOUCHERNO) || "PZ2019072200000131".equals(VOUCHERNO) || "PZ2019072200000132".equals(VOUCHERNO)){
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'"+TaxType+"',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+TaxType+"',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+TaxType+"',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,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '3' AND lul.IS_MAIN='Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
}
// 查询sql, 将结果集封装到list集合中
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl();
String VOUCHER_TYPE = "1";// 凭证分类 金蝶
String userid = "admin";
//遍历获取结果集, 将结果写入map中
for (int i = 0; i < dataList.size(); i++) {
MONEY = dataList.get(i).get("MONEY").toString();
@ -122,15 +122,15 @@ public class CreateVoucherRedDashedIncomeTradition extends BaseBussiness {
}
//收到客户手续费--回租
if("PZ2018092500000176".equals(VOUCHERNO)) {
if("PZ2018092500000176".equals(VOUCHERNO) || "PZ2019072000000091".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0604");// 主营类型
}
//收到名义货价--回租
if("PZ2018092500000182".equals(VOUCHERNO)) {
if("PZ2018092500000182".equals(VOUCHERNO) || "PZ2019071800000051".equals(VOUCHERNO) || "PZ2019072000000094".equals(VOUCHERNO) || "PZ2019072200000132".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0605");// 主营类型
}
//收到的违约金/罚款--回租
if("PZ2018092500000181".equals(VOUCHERNO)) {
if("PZ2018092500000181".equals(VOUCHERNO) || "PZ2019071800000050".equals(VOUCHERNO) || "PZ2019072000000093".equals(VOUCHERNO) || "PZ2019072200000131".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0602");// 主营类型
}
param.put("CASHFLOW", "");// 现金流项目

View File

@ -29,6 +29,8 @@ public class CreateVoucherRedRentIncome {
String MONEYTAX=null;
String RENTMONEY=null;
String CORPUS=null;
String CORPUS_TAX=null;
String CORPUS_ADD_INTEREST_TAX=null;
String INTEREST=null;
String ACCOUNT_DATE=null;
String FACT_DATE=null;
@ -42,6 +44,7 @@ public class CreateVoucherRedRentIncome {
String CUSTNAME=null;
String CUSTOMERTYPE=null;
String BUSINESSTYPE=null;
String PLAN_LIST=null;
String TAX_NUM=null;
String sql="";
@ -50,17 +53,18 @@ public class CreateVoucherRedRentIncome {
map.put("FLOWUNID", FlowUnid);
// 收到的租金
if("PZ2018072100000037".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'租金',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,CASE WHEN MONTH(NOW())=MONTH(LRP.PLAN_DATE) THEN ROUND(IFNULL(LRIT.INTEREST, 0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)ELSE '0' END AS MONEYNOTAX,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN (IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) ELSE '0' END AS MONEYTAX,LRIT.RENT AS RENTMONEY,LRIT.CORPUS AS CORPUS,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN LRIT.INTEREST ELSE '0' END AS INTEREST,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 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND lrp.plan_list=lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LRIT.FLOWUNID = :FLOWUNID ";
if("PZ2018072100000037".equals(VOUCHERNO) || "PZ2019070100000023".equals(VOUCHERNO)){
//sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'租金',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,CASE WHEN MONTH(NOW())=MONTH(LRP.PLAN_DATE) THEN ROUND(IFNULL(LRIT.INTEREST, 0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)ELSE '0' END AS MONEYNOTAX,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN (IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) ELSE '0' END AS MONEYTAX,LRIT.RENT AS RENTMONEY,LRIT.CORPUS AS CORPUS,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN LRIT.INTEREST ELSE '0' END AS INTEREST,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,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND lrp.plan_list=lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LRIT.FLOWUNID = :FLOWUNID ";
sql = "SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) ELSE '0' END AS MONEYNOTAX,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN (IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) ELSE '0' END AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN (IFNULL(LRIT.CORPUS,0)-ROUND(IFNULL(LRIT.CORPUS,0)/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) ELSE '0' END AS CORPUS_TAX,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN ((IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) ELSE '0' END AS CORPUS_ADD_INTEREST_TAX,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN LRIT.INTEREST ELSE '0' END AS INTEREST,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,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN = 'Y' AND LRIT.RENT<0 AND LRIT.FLOWUNID = :FLOWUNID ";
// 收到的逾期利息
}else if("PZ2018072100000038".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'逾期利息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRIT.PENALTY,0) AS MONEY,ROUND(IFNULL(LRIT.PENALTY,0)/getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.PENALTY,0)-ROUND(IFNULL(LRIT.PENALTY,0)/getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) 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 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LRIT.FLOWUNID=:FLOWUNID ";
}else if("PZ2018072100000038".equals(VOUCHERNO) || "PZ2019070100000020".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'逾期利息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRIT.PENALTY,0) AS MONEY,ROUND(IFNULL(LRIT.PENALTY,0)/getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.PENALTY,0)-ROUND(IFNULL(LRIT.PENALTY,0)/getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) 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,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN = 'Y' AND IFNULL(LRIT.PENALTY, 0)<0 AND LRIT.FLOWUNID=:FLOWUNID ";
// 收到的违约金/罚款
}else if("PZ2018072100000039".equals(VOUCHERNO)) {
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'违约金',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LFIT.FACT_MONEY,0)-ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2)) 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 FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LFIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 FEE_TYPE='feetype30' AND LFIT.FLOWUNID=:FLOWUNID ";
}else if("PZ2018072100000039".equals(VOUCHERNO) || "PZ2019070100000021".equals(VOUCHERNO)) {
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'违约金',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LFIT.FACT_MONEY,0)-ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2)) 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 FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LFIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN = 'Y' AND FEE_TYPE='feetype30' AND IFNULL(LFIT.FACT_MONEY, 0)<0 AND LFIT.FLOWUNID=:FLOWUNID ";
// 收到的名义货架
}else if("PZ2018072100000043".equals(VOUCHERNO)) {
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'留购价',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LFIT.FACT_MONEY,0)-ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2)) 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 FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LFIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 FEE_TYPE='feetype4' AND LFIT.FLOWUNID=:FLOWUNID ";
}else if("PZ2018072100000043".equals(VOUCHERNO) || "PZ2019070100000025".equals(VOUCHERNO)) {
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'留购价',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LFIT.FACT_MONEY,0)-ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2)) 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 FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LFIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN = 'Y' AND FEE_TYPE='feetype4' AND IFNULL(LFIT.FACT_MONEY, 0)<0 AND LFIT.FLOWUNID=:FLOWUNID ";
}
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
@ -68,26 +72,29 @@ public class CreateVoucherRedRentIncome {
String VOUCHER_TYPE="1";// 凭证分类 金蝶
for (int i=0;i<dataList.size();i++){
MONEY=dataList.get(i).get("MONEY").toString();
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX").toString();
MONEYTAX=dataList.get(i).get("MONEYTAX").toString();
if("PZ2018072100000037".equals(VOUCHERNO)) {
RENTMONEY=dataList.get(i).get("RENTMONEY").toString();
CORPUS=dataList.get(i).get("CORPUS").toString();
INTEREST=dataList.get(i).get("INTEREST").toString();
MONEY=dataList.get(i).get("MONEY");
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX");
MONEYTAX=dataList.get(i).get("MONEYTAX");
if("PZ2018072100000037".equals(VOUCHERNO) || "PZ2019070100000023".equals(VOUCHERNO)) {
RENTMONEY=dataList.get(i).get("RENTMONEY");
CORPUS=dataList.get(i).get("CORPUS");
CORPUS_TAX=dataList.get(i).get("CORPUS_TAX");
CORPUS_ADD_INTEREST_TAX=dataList.get(i).get("CORPUS_ADD_INTEREST_TAX");
INTEREST=dataList.get(i).get("INTEREST");
}
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE").toString();
FACT_DATE =dataList.get(i).get("FACT_DATE").toString();
CONTRACT_ID=dataList.get(i).get("CONTRACT_ID").toString();
CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER").toString();
PROJECT_NAME=dataList.get(i).get("PROJECT_NAME").toString();
leas_form=dataList.get(i).get("LEAS_FORM").toString();
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");
CUSTID=dataList.get(i).get("CUSTOMERID");
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
PLAN_LIST=dataList.get(i).get("PLAN_LIST");
TAX_NUM=dataList.get(i).get("TAX_NUM");
// 通过税率获取编码
BizObject TAX_CODES=null;
@ -98,9 +105,11 @@ public class CreateVoucherRedRentIncome {
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
param.put("TAX",MONEYTAX);
if("PZ2018072100000037".equals(VOUCHERNO)) {
if("PZ2018072100000037".equals(VOUCHERNO) || "PZ2019070100000023".equals(VOUCHERNO)) {
param.put("RENTMONEY",RENTMONEY);
param.put("CORPUS",CORPUS);
param.put("CORPUS_TAX",CORPUS_TAX);
param.put("CORPUS_ADD_INTEREST_TAX",CORPUS_ADD_INTEREST_TAX);
param.put("INTEREST",INTEREST);
}
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
@ -115,25 +124,26 @@ public class CreateVoucherRedRentIncome {
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("PLAN_LIST",PLAN_LIST);
param.put("VOUCHERNO",VOUCHERNO);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
if("1".equals(BUSINESSTYPE)){
if("PZ2018072100000037".equals(VOUCHERNO)) {
if("PZ2018072100000037".equals(VOUCHERNO) || "PZ2019070100000023".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0604");// 主营类型
}
// 收到的逾期利息
if("PZ2018072100000038".equals(VOUCHERNO)) {
if("PZ2018072100000038".equals(VOUCHERNO) || "PZ2019070100000020".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0603");// 主营类型
}
// 收到的违约金
if("PZ2018072100000039".equals(VOUCHERNO)) {
if("PZ2018072100000039".equals(VOUCHERNO) || "PZ2019070100000021".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0602");// 主营类型
}
// 收到名义货价
if("PZ2018072100000043".equals(VOUCHERNO)) {
if("PZ2018072100000043".equals(VOUCHERNO) || "PZ2019070100000025".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0605");// 主营类型
}
param.put("CASHFLOW", "");// 现金流项目

View File

@ -20,10 +20,9 @@ import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
*/
public class CreateVoucherRedRentIncomeTradition {
public void CreateVoucher(String FlowUnid,String VOUCHERNO){
public void CreateVoucher(String FlowUnid,String VOUCHERNO,String userid) throws Exception {
Transaction Sqlca =null;
try{
Map<String,String> map=new HashMap<String, String>();
Map<String,String> param=new HashMap<String, String>();
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
@ -32,6 +31,8 @@ public class CreateVoucherRedRentIncomeTradition {
String MONEYTAX=null;
String RENT=null;
String CORPUS=null;
String CORPUS_TAX=null;
String CORPUS_ADD_INTEREST_TAX=null;
String ACCOUNT_DATE=null;
String FACT_DATE=null;
String CONTRACT_ID=null;
@ -48,41 +49,66 @@ public class CreateVoucherRedRentIncomeTradition {
String BUSINESSTYPE=null;
String ACC_NUM=null;
String TAX_NUM=null;
String PLAN_LIST=null;
String sql="";
param.clear();
map.clear();
map.put("FLOWUNID", FlowUnid);
// 收到的租金-月付-3--回租
if("PZ2018092500000179".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST,0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENT,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR ='income_1' AND DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') <DATE_FORMAT(NOW(),'%Y-%m') ";
// 收到的租金-月付-6--回租
}else if("PZ2018100900000263".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST,0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENT,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR ='income_1' AND DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m') ";
// 收到的租金-季付-3--回租
}else if("PZ2018092500000178".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST,0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENT,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR ='income_3' AND DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') < DATE_FORMAT(NOW(),'%Y-%m') ";
// 收到的租金-季付-6--回租
}else if("PZ2018100900000260".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST,0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENT,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR ='income_3' AND DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m') ";
// 收到逾期利息--回租
}else if("PZ2018092500000180".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'逾期利息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LrIT.penalty, 0) AS MONEY,IFNULL(ROUND(LrIT.penalty / getTax (LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(LrIT.penalty - ROUND(LrIT.penalty / 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,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LrIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LrIT.OWN_NUMBER FROM LC_rent_INCOME_temp LrIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LrIT.FLOWUNID = :FLOWUNID ";
/**
* 传统
*/
// 收到的租金-月付-跨月
if("PZ2018092500000179".equals(VOUCHERNO) || "PZ2019071800000053".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENT,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) + IFNULL(LRIT.INTEREST, 0)) - ROUND((IFNULL(LRIT.CORPUS, 0) + IFNULL(LRIT.INTEREST, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND LRP.PLAN_LIST = LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN = 'Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR = 'income_1' AND IFNULL(LRIT.RENT, 0)<0 AND DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m') < DATE_FORMAT(NOW(), '%Y-%m') ";
// 收到的租金-月付-当月
}else if("PZ2018100900000263".equals(VOUCHERNO) || "PZ2019071800000052".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENT,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND LRP.PLAN_LIST = LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN = 'Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR = 'income_1' AND IFNULL(LRIT.RENT, 0)<0 AND DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m') ";
// 收到的租金-季付-跨月
}else if("PZ2018092500000178".equals(VOUCHERNO) || "PZ2019071800000055".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENT,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) + IFNULL(LRIT.INTEREST, 0)) - ROUND((IFNULL(LRIT.CORPUS, 0) + IFNULL(LRIT.INTEREST, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND LRP.PLAN_LIST = LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN = 'Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR = 'income_3' AND IFNULL(LRIT.RENT, 0)<0 AND DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m') < DATE_FORMAT(NOW(), '%Y-%m') ";
// 收到的租金-季付-当月
}else if("PZ2018100900000260".equals(VOUCHERNO) || "PZ2019071800000054".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENT,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND LRP.PLAN_LIST = LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN = 'Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR = 'income_3' AND IFNULL(LRIT.RENT, 0)<0 AND DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m') ";
// 收到逾期利息
}else if("PZ2018092500000180".equals(VOUCHERNO) || "PZ2019071800000056".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LrIT.penalty, 0) AS MONEY,IFNULL(ROUND(LrIT.penalty / getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(LrIT.penalty - ROUND(LrIT.penalty / 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,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LrIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LrIT.OWN_NUMBER,LRIT.PLAN_LIST FROM LC_rent_INCOME_temp LrIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND LRP.PLAN_LIST = LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN = 'Y' AND IFNULL(LrIT.penalty, 0)<0 AND LrIT.FLOWUNID = :FLOWUNID ";
}
/**
* 汽车类传统
*/
// 收到的租金-月付-跨月
if("PZ2019072000000096".equals(VOUCHERNO) || "PZ2019072200000127".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENT,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) + IFNULL(LRIT.INTEREST, 0)) - ROUND((IFNULL(LRIT.CORPUS, 0) + IFNULL(LRIT.INTEREST, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND LRP.PLAN_LIST = LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '3' AND lul.IS_MAIN = 'Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR = 'income_1' AND IFNULL(LRIT.RENT, 0)<0 AND DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m') < DATE_FORMAT(NOW(), '%Y-%m') ";
// 收到的租金-月付-当月
}else if("PZ2019072000000095".equals(VOUCHERNO) || "PZ2019072200000126".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENT,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND LRP.PLAN_LIST = LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '3' AND lul.IS_MAIN = 'Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR = 'income_1' AND IFNULL(LRIT.RENT, 0)<0 AND DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m') ";
// 收到的租金-季付-跨月
}else if("PZ2019072000000098".equals(VOUCHERNO) || "PZ2019072200000129".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENT,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) + IFNULL(LRIT.INTEREST, 0)) - ROUND((IFNULL(LRIT.CORPUS, 0) + IFNULL(LRIT.INTEREST, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND LRP.PLAN_LIST = LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '3' AND lul.IS_MAIN = 'Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR = 'income_3' AND IFNULL(LRIT.RENT, 0)<0 AND DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m') < DATE_FORMAT(NOW(), '%Y-%m') ";
// 收到的租金-季付-当月
}else if("PZ2019072000000097".equals(VOUCHERNO) || "PZ2019072200000128".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENT,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND LRP.PLAN_LIST = LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '3' AND lul.IS_MAIN = 'Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR = 'income_3' AND IFNULL(LRIT.RENT, 0)<0 AND DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m') ";
// 收到逾期利息
}else if("PZ2019072000000099".equals(VOUCHERNO) || "PZ2019072200000130".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LrIT.penalty, 0) AS MONEY,IFNULL(ROUND(LrIT.penalty / getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(LrIT.penalty - ROUND(LrIT.penalty / 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,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LrIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LrIT.OWN_NUMBER,LRIT.PLAN_LIST FROM LC_rent_INCOME_temp LrIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND LRP.PLAN_LIST = LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '3' AND lul.IS_MAIN = 'Y' AND IFNULL(LrIT.penalty, 0)<0 AND LrIT.FLOWUNID = :FLOWUNID ";
}
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl();
String VOUCHER_TYPE="1";// 凭证分类 金蝶
String userid ="admin";
for (int i=0;i<dataList.size();i++){
MONEY=dataList.get(i).get("MONEY").toString();
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX").toString();
MONEYTAX=dataList.get(i).get("MONEYTAX").toString();
RENT=dataList.get(i).get("RENT").toString();
CORPUS=dataList.get(i).get("CORPUS").toString();
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE").toString();
FACT_DATE =dataList.get(i).get("FACT_DATE").toString();
MONEY=dataList.get(i).get("MONEY");
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX");
MONEYTAX=dataList.get(i).get("MONEYTAX");
RENT=dataList.get(i).get("RENT");
CORPUS=dataList.get(i).get("CORPUS");
CORPUS_TAX=dataList.get(i).get("CORPUS_TAX");
CORPUS_ADD_INTEREST_TAX=dataList.get(i).get("CORPUS_ADD_INTEREST_TAX");
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");
@ -96,6 +122,7 @@ public class CreateVoucherRedRentIncomeTradition {
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
ACC_NUM=dataList.get(i).get("OWN_NUMBER");
PLAN_LIST=dataList.get(i).get("PLAN_LIST");
TAX_NUM=dataList.get(i).get("TAX_NUM");
// 通过税率获取编码
BizObject TAX_CODES=null;
@ -103,11 +130,13 @@ public class CreateVoucherRedRentIncomeTradition {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("INTEREST",MONEY);
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
param.put("TAX",MONEYTAX);
param.put("RENT",RENT);
param.put("CORPUS",CORPUS);
param.put("CORPUS_TAX",CORPUS_TAX);
param.put("CORPUS_ADD_INTEREST_TAX",CORPUS_ADD_INTEREST_TAX);
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
@ -123,14 +152,18 @@ public class CreateVoucherRedRentIncomeTradition {
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("ACC_NUMBER",ACC_NUM);
param.put("PLAN_LIST",PLAN_LIST);
param.put("VOUCHERNO",VOUCHERNO);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
if("PZ2018100900000263".equals(VOUCHERNO)) {
if("PZ2018100900000263".equals(VOUCHERNO) || "PZ2019071800000052".equals(VOUCHERNO) || "PZ2019072000000095".equals(VOUCHERNO) || "PZ2019072200000126".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0604");// 主营类型
}
if("PZ2018092500000180".equals(VOUCHERNO) || "PZ2019071800000056".equals(VOUCHERNO) || "PZ2019072000000099".equals(VOUCHERNO) || "PZ2019072200000130".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0603");// 主营类型
}
param.put("CASHFLOW", "");// 现金流项目
map.clear();
@ -146,18 +179,5 @@ public class CreateVoucherRedRentIncomeTradition {
if(Sqlca!=null){
Sqlca.commit();
}
}catch (Exception e){
e.printStackTrace();
}finally{
if(Sqlca!=null){
try {
Sqlca.disConnect();
} catch (JBOException e) {
e.printStackTrace();
}
Sqlca = null;
}
}
}
}

View File

@ -27,7 +27,8 @@ public class CreateVoucherRentIncome {
String MONEYTAX=null;
String RENTMONEY=null;
String CORPUS=null;
String INTEREST=null;
String CORPUS_TAX=null;
String CORPUS_ADD_INTEREST_TAX=null;
String ACCOUNT_DATE=null;
String FACT_DATE=null;
String CONTRACT_ID=null;
@ -41,25 +42,30 @@ public class CreateVoucherRentIncome {
String CUSTOMERTYPE=null;
String BUSINESSTYPE=null;
String TAX_NUM=null;
String PLAN_LIST=null;
String F58=null;
String sql="";
param.clear();
map.clear();
map.put("FLOWUNID", flowunid);
// 回款-收到的租金(网银)--当月(回租)
if("PZ2018072100000024".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) /getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENTMONEY,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE !='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE !='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%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 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN='Y' AND IFNULL(LRIT.INTEREST, 0) > 0 AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LRIT.FLOWUNID = :FLOWUNID ";
// 回款-收到的租金(网银)--跨月(回租)
}else if("PZ2018080400000081".equals(VOUCHERNO)){
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) /getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENTMONEY,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE !='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE !='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%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 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN='Y' AND IFNULL(LRIT.INTEREST, 0) > 0 AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LRIT.FLOWUNID = :FLOWUNID ";
// 回款-收到的逾期利息(网银)--(回租)
}else if("PZ2018072100000025".equals(VOUCHERNO)) {
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.PENALTY, 0) AS MONEY,ROUND(IFNULL(LRIT.PENALTY, 0) / getTax (LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.PENALTY, 0) - ROUND(IFNULL(LRIT.PENALTY, 0) / getTax (LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE !='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE !='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%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 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN='Y' AND IFNULL(LRIT.PENALTY, 0) > 0 AND LRIT.FLOWUNID = :FLOWUNID ";
// 回款-收到的租金(网银)--当月
if("PZ2018072100000024".equals(VOUCHERNO) || "PZ2019070100000016".equals(VOUCHERNO)){
// sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) /getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENTMONEY,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE !='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE !='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%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 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN='Y' AND IFNULL(LRIT.INTEREST, 0) > 0 AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LRIT.FLOWUNID = :FLOWUNID ";
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0)-ROUND(IFNULL(LRIT.CORPUS, 0)/getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST,LRP.ID AS F58 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN = 'Y' AND IFNULL(LRIT.RENT, 0) > 0 AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LRIT.FLOWUNID = :FLOWUNID ";
// 回款-收到的租金(网银)--跨月
}else if("PZ2018080400000081".equals(VOUCHERNO) || "PZ2019070100000017".equals(VOUCHERNO)){
// sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) /getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENTMONEY,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE !='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE !='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%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 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN='Y' AND IFNULL(LRIT.INTEREST, 0) > 0 AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LRIT.FLOWUNID = :FLOWUNID ";
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) /getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENTMONEY,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE !='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE !='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%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,LRIT.PLAN_LIST,LRP.ID AS F58 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN='Y' AND IFNULL(LRIT.RENT, 0) > 0 AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LRIT.FLOWUNID = :FLOWUNID ";
// 回款-收到的逾期利息(网银)
}else if("PZ2018072100000025".equals(VOUCHERNO) || "PZ2019070100000014".equals(VOUCHERNO)) {
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.PENALTY, 0) AS MONEY,ROUND(IFNULL(LRIT.PENALTY, 0) / getTax (LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.PENALTY, 0) - ROUND(IFNULL(LRIT.PENALTY, 0) / getTax (LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE !='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE !='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%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,LRIT.PLAN_LIST,LRP.ID AS F58 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRP.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 LUL.IS_MAIN='Y' AND IFNULL(LRIT.PENALTY, 0) > 0 AND LRIT.FLOWUNID = :FLOWUNID ";
}
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl();
CreateVoucherRedCompensatory cvrc = new CreateVoucherRedCompensatory();
String VOUCHER_TYPE="1";// 凭证分类 金蝶
for (int i=0;i<dataList.size();i++){
@ -68,6 +74,8 @@ public class CreateVoucherRentIncome {
MONEYTAX=dataList.get(i).get("MONEYTAX");
RENTMONEY=dataList.get(i).get("RENTMONEY");
CORPUS=dataList.get(i).get("CORPUS");
CORPUS_TAX=dataList.get(i).get("CORPUS_TAX");
CORPUS_ADD_INTEREST_TAX=dataList.get(i).get("CORPUS_ADD_INTEREST_TAX");
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE");
FACT_DATE =dataList.get(i).get("FACT_DATE");
CONTRACT_ID=dataList.get(i).get("CONTRACT_ID");
@ -81,6 +89,8 @@ public class CreateVoucherRentIncome {
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
TAX_NUM=dataList.get(i).get("TAX_NUM");
PLAN_LIST=dataList.get(i).get("PLAN_LIST");
F58=dataList.get(i).get("F58");
// 通过税率获取编码
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
@ -92,6 +102,8 @@ public class CreateVoucherRentIncome {
param.put("TAX",MONEYTAX);
param.put("RENTMONEY",RENTMONEY);
param.put("CORPUS",CORPUS);
param.put("CORPUS_TAX",CORPUS_TAX);
param.put("CORPUS_ADD_INTEREST_TAX",CORPUS_ADD_INTEREST_TAX);
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
@ -102,6 +114,8 @@ public class CreateVoucherRentIncome {
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("PLAN_LIST",PLAN_LIST);
param.put("F58",F58);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("VOUCHERNO",VOUCHERNO);
@ -110,11 +124,11 @@ public class CreateVoucherRentIncome {
}
if("1".equals(BUSINESSTYPE)){
if("PZ2018072100000024".equals(VOUCHERNO)) {
if("PZ2018072100000024".equals(VOUCHERNO) || "PZ2019070100000016".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0604");// 主营类型
}
// 收到的逾期利息
if("PZ2018072100000025".equals(VOUCHERNO)) {
if("PZ2018072100000025".equals(VOUCHERNO) || "PZ2019070100000014".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0603");// 主营类型
}
param.put("CASHFLOW", "");// 现金流项目
@ -127,9 +141,14 @@ public class CreateVoucherRentIncome {
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);
/**
* 收取租金时, 如果已经经销商代偿, 生成反冲代偿平和智能
*/
// 判断当期是否已生成经销商代偿凭证, 如已生成, 反冲
cvrc.CreateVoucher("PZ2019071500000030", userid,F58);// 代偿反冲-收到的租金
cvrc.CreateVoucher("PZ2019071500000031", userid,F58);// 代偿反冲-收到的逾期利息
}
}
if(Sqlca!=null){
Sqlca.commit();

View File

@ -27,7 +27,8 @@ public class CreateVoucherRentIncomeTradition {
String MONEYTAX=null;
String RENTMONEY=null;
String CORPUS=null;
String INTEREST=null;
String CORPUS_TAX=null;
String CORPUS_ADD_INTEREST_TAX=null;
String ACCOUNT_DATE=null;
String FACT_DATE=null;
String CONTRACT_ID=null;
@ -40,6 +41,7 @@ public class CreateVoucherRentIncomeTradition {
String CUSTNAME=null;
String CUSTOMERTYPE=null;
String BUSINESSTYPE=null;
String PLAN_LIST=null;
String TAX_NUM=null;
String sql="";
@ -47,26 +49,46 @@ public class CreateVoucherRentIncomeTradition {
map.clear();
map.put("FLOWUNID", flowunid);
/**
* 传统
*/
// 回款-收到的租金-月付(当月)
if("PZ2018100900000298".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND LUL.IS_MAIN = 'Y' AND DATE_FORMAT(NOW(),'%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LCCT.INCOME_NUMBER_YEAR='income_1' AND LRIT.FLOWUNID = :FLOWUNID ";
}
if("PZ2018100900000298".equals(VOUCHERNO) || "PZ2019071800000045".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0)-ROUND(IFNULL(LRIT.CORPUS, 0)/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND LUL.IS_MAIN = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LCCT.INCOME_NUMBER_YEAR = 'income_1' AND IFNULL(LRIT.RENT, 0)>0 AND LRIT.FLOWUNID = :FLOWUNID ";
// 回款-收到的租金-月付(跨月)
if("PZ2018092500000171".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND LUL.IS_MAIN = 'Y' AND DATE_FORMAT(NOW(),'%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LCCT.INCOME_NUMBER_YEAR='income_1' AND LRIT.FLOWUNID = :FLOWUNID ";
}else if("PZ2018092500000171".equals(VOUCHERNO) || "PZ2019071800000046".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0)-ROUND(IFNULL(LRIT.CORPUS, 0)/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0)+IFNULL(LRIT.INTEREST, 0))-ROUND((IFNULL(LRIT.CORPUS, 0)+IFNULL(LRIT.INTEREST, 0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND LUL.IS_MAIN = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LCCT.INCOME_NUMBER_YEAR = 'income_1' AND IFNULL(LRIT.RENT, 0)>0 AND LRIT.FLOWUNID = :FLOWUNID ";
// 回款-收到的租金-季付(当月)
}else if("PZ2019022500000012".equals(VOUCHERNO) || "PZ2019071800000047".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0)-ROUND(IFNULL(LRIT.CORPUS, 0)/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND LUL.IS_MAIN = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LCCT.INCOME_NUMBER_YEAR = 'income_3' AND IFNULL(LRIT.RENT, 0)>0 AND LRIT.FLOWUNID = :FLOWUNID ";
// 回款-收到的租金-季付(跨月)
}else if("PZ2019022500000011".equals(VOUCHERNO) || "PZ2019071800000048".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0)-ROUND(IFNULL(LRIT.CORPUS, 0)/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0)+IFNULL(LRIT.INTEREST, 0))-ROUND((IFNULL(LRIT.CORPUS, 0)+IFNULL(LRIT.INTEREST, 0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND LUL.IS_MAIN = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LCCT.INCOME_NUMBER_YEAR = 'income_3' AND IFNULL(LRIT.RENT, 0)>0 AND LRIT.FLOWUNID = :FLOWUNID ";
// 回款-收到的逾期利息
}else if("PZ2018092500000172".equals(VOUCHERNO) || "PZ2019071800000049".equals(VOUCHERNO)) {
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.PENALTY, 0) AS MONEY,ROUND(IFNULL(LRIT.PENALTY, 0) / getTax (LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.PENALTY, 0) - ROUND(IFNULL(LRIT.PENALTY, 0) / getTax (LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE !='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE !='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%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,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND LUL.IS_MAIN='Y' AND IFNULL(LRIT.PENALTY, 0)>0 AND LRIT.FLOWUNID = :FLOWUNID ";
}
// 回款-收到的租金-季付(当月)
if("PZ2019022500000012".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND LUL.IS_MAIN = 'Y' AND DATE_FORMAT(NOW(),'%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LCCT.INCOME_NUMBER_YEAR='income_3' AND LRIT.FLOWUNID = :FLOWUNID ";
}
// 回款-收到的租金-季付(跨月)
if("PZ2019022500000011".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND LUL.IS_MAIN = 'Y' AND DATE_FORMAT(NOW(),'%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LCCT.INCOME_NUMBER_YEAR='income_3' AND LRIT.FLOWUNID = :FLOWUNID ";
}
// 回款-收到的逾期利息
if("PZ2018092500000172".equals(VOUCHERNO)) {
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.PENALTY, 0) AS MONEY,ROUND(IFNULL(LRIT.PENALTY, 0) / getTax (LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.PENALTY, 0) - ROUND(IFNULL(LRIT.PENALTY, 0) / getTax (LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE !='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE !='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%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 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '2' AND LUL.IS_MAIN='Y' AND LRIT.FLOWUNID = :FLOWUNID ";
/**
* 汽车类传统
*/
// 回款-收到的租金-月付(当月)
if("PZ2019072000000083".equals(VOUCHERNO) || "PZ2019072200000119".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0)-ROUND(IFNULL(LRIT.CORPUS, 0)/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '3' AND LUL.IS_MAIN = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LCCT.INCOME_NUMBER_YEAR = 'income_1' AND IFNULL(LRIT.RENT, 0)>0 AND LRIT.FLOWUNID = :FLOWUNID ";
// 回款-收到的租金-月付(跨月)
}else if("PZ2019072000000084".equals(VOUCHERNO) || "PZ2019072200000120".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0)-ROUND(IFNULL(LRIT.CORPUS, 0)/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0)+IFNULL(LRIT.INTEREST, 0))-ROUND((IFNULL(LRIT.CORPUS, 0)+IFNULL(LRIT.INTEREST, 0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '3' AND LUL.IS_MAIN = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LCCT.INCOME_NUMBER_YEAR = 'income_1' AND IFNULL(LRIT.RENT, 0)>0 AND LRIT.FLOWUNID = :FLOWUNID ";
// 回款-收到的租金-季付(当月)
}else if("PZ2019072000000085".equals(VOUCHERNO) || "PZ2019072200000121".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0)-ROUND(IFNULL(LRIT.CORPUS, 0)/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '3' AND LUL.IS_MAIN = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LCCT.INCOME_NUMBER_YEAR = 'income_3' AND IFNULL(LRIT.RENT, 0)>0 AND LRIT.FLOWUNID = :FLOWUNID ";
// 回款-收到的租金-季付(跨月)
}else if("PZ2019072000000086".equals(VOUCHERNO) || "PZ2019072200000122".equals(VOUCHERNO)){
sql="SELECT ROUND((getTax (lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0)-ROUND(IFNULL(LRIT.CORPUS, 0)/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0)+IFNULL(LRIT.INTEREST, 0))-ROUND((IFNULL(LRIT.CORPUS, 0)+IFNULL(LRIT.INTEREST, 0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '3' AND LUL.IS_MAIN = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LCCT.INCOME_NUMBER_YEAR = 'income_3' AND IFNULL(LRIT.RENT, 0)>0 AND LRIT.FLOWUNID = :FLOWUNID ";
// 回款-收到的逾期利息
}else if("PZ2019072000000087".equals(VOUCHERNO) || "PZ2019072200000123".equals(VOUCHERNO)) {
sql= "SELECT ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.PENALTY, 0) AS MONEY,ROUND(IFNULL(LRIT.PENALTY, 0) / getTax (LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.PENALTY, 0) - ROUND(IFNULL(LRIT.PENALTY, 0) / getTax (LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE !='') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE !='') THEN LRIT.HIRE_DATE ELSE NOW() END, '%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,LRIT.PLAN_LIST FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.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 = '3' AND LUL.IS_MAIN='Y' AND IFNULL(LRIT.PENALTY, 0)>0 AND LRIT.FLOWUNID = :FLOWUNID ";
}
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl();
@ -74,76 +96,76 @@ public class CreateVoucherRentIncomeTradition {
for (int i=0;i<dataList.size();i++){
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");
RENTMONEY=dataList.get(i).get("RENTMONEY");
CORPUS=dataList.get(i).get("CORPUS");
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");
CUSTID=dataList.get(i).get("CUSTOMERID");
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
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("RENT",RENTMONEY);
param.put("CORPUS",CORPUS);
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
param.put("PROJECT_NAME",PROJECT_NAME);
param.put("LEAS_FORM",leas_form);
param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID);
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("VOUCHERNO",VOUCHERNO);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
if("2".equals(BUSINESSTYPE)){
if("PZ2018100900000298".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0604");// 主营类型
}
// 收到的逾期利息
if("PZ2018092500000172".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0603");// 主营类型
}
param.put("CASHFLOW", "");// 现金流项目
}
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);
}
}
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX");
MONEYTAX=dataList.get(i).get("MONEYTAX");
RENTMONEY=dataList.get(i).get("RENTMONEY");
CORPUS=dataList.get(i).get("CORPUS");
CORPUS_TAX=dataList.get(i).get("CORPUS_TAX");
CORPUS_ADD_INTEREST_TAX=dataList.get(i).get("CORPUS_ADD_INTEREST_TAX");
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");
CUSTID=dataList.get(i).get("CUSTOMERID");
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
PLAN_LIST=dataList.get(i).get("PLAN_LIST");
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("RENT",RENTMONEY);
param.put("CORPUS",CORPUS);
param.put("CORPUS_TAX",CORPUS_TAX);
param.put("CORPUS_ADD_INTEREST_TAX",CORPUS_ADD_INTEREST_TAX);
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
param.put("PROJECT_NAME",PROJECT_NAME);
param.put("LEAS_FORM",leas_form);
param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID);
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("PLAN_LIST",PLAN_LIST);
param.put("VOUCHERNO",VOUCHERNO);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
if("PZ2018100900000298".equals(VOUCHERNO) || "PZ2019071800000045".equals(VOUCHERNO) || "PZ2019072000000083".equals(VOUCHERNO) || "PZ2019072200000119".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0604");// 主营类型
}
// 收到的逾期利息
if("PZ2018092500000172".equals(VOUCHERNO) || "PZ2019071800000049".equals(VOUCHERNO) || "PZ2019072000000087".equals(VOUCHERNO) || "PZ2019072200000123".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0603");// 主营类型
}
param.put("CASHFLOW", "");// 现金流项目
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);
}
}
}
if(Sqlca!=null){
Sqlca.commit();
}

View File

@ -14,16 +14,18 @@ import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.flow.baseBussion.BaseBussiness;
import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl;
/**
* 起租前网银核销
*/
public class CreateVoucherToBeforeOnhire extends BaseBussiness {
public String CreateVoucher(String FlowUnid, String VOUCHERNO, String FeeType,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());
CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl();
String VOUCHER_TYPE = "1";// 凭证分类 金蝶
String MONEY = null;
String MONEYNOTAX = null;
String MONEYTAX = null;
@ -56,20 +58,23 @@ public class CreateVoucherToBeforeOnhire extends BaseBussiness {
tax_type="本金";
}
// 传统
if("PZ2018092500000156".equals(VOUCHERNO) || "PZ2018092500000157".equals(VOUCHERNO) || "PZ2018092500000158".equals(VOUCHERNO)) {
if("PZ2018092500000156".equals(VOUCHERNO) || "PZ2018092500000157".equals(VOUCHERNO) || "PZ2018092500000158".equals(VOUCHERNO) || "PZ2019071800000032".equals(VOUCHERNO) || "PZ2019071800000033".equals(VOUCHERNO) || "PZ2019071800000034".equals(VOUCHERNO) || "PZ2019071800000035".equals(VOUCHERNO)) {
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,LFIT.FACT_MONEY AS MONEY,ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE),2) AS MONEYNOTAX,(LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LFIT.ACCOUNTING_DATE IS NOT NULL OR LFIT.ACCOUNTING_DATE <> '') THEN LFIT.ACCOUNTING_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LFIT.FACT_DATE IS NOT NULL OR LFIT.FACT_DATE <> '') THEN LFIT.FACT_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LFIT.FEE_TYPE = :FEE_TYPE AND LPI.BUSINESSTYPE='2' AND lul.IS_MAIN='Y' AND LFIT.FLOWUNID = :FLOWUNID ";
}else {// 汽车类传统
sql = "SELECT LFIT.FACT_MONEY AS MONEY,ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE),2) AS MONEYNOTAX,(LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LFIT.ACCOUNTING_DATE IS NOT NULL OR LFIT.ACCOUNTING_DATE <> '') THEN LFIT.ACCOUNTING_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LFIT.FACT_DATE IS NOT NULL OR LFIT.FACT_DATE <> '') THEN LFIT.FACT_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LFIT.FEE_TYPE = :FEE_TYPE AND LPI.BUSINESSTYPE='3' AND lul.IS_MAIN='Y' AND LFIT.FLOWUNID = :FLOWUNID ";
// 汽车类传统
}else if("PZ2019072000000074".equals(VOUCHERNO) || "PZ2019072000000075".equals(VOUCHERNO) || "PZ2019072000000076".equals(VOUCHERNO) || "PZ2019072200000108".equals(VOUCHERNO) || "PZ2019072200000109".equals(VOUCHERNO) || "PZ2019072200000110".equals(VOUCHERNO) || "PZ2019072200000111".equals(VOUCHERNO)) {
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,LFIT.FACT_MONEY AS MONEY,ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE),2) AS MONEYNOTAX,(LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LFIT.ACCOUNTING_DATE IS NOT NULL OR LFIT.ACCOUNTING_DATE <> '') THEN LFIT.ACCOUNTING_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LFIT.FACT_DATE IS NOT NULL OR LFIT.FACT_DATE <> '') THEN LFIT.FACT_DATE ELSE SYSDATE() END, '%Y/%m/%d') AS FACT_DATE,LFIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LFIT.FEE_TYPE = :FEE_TYPE AND LPI.BUSINESSTYPE='3' AND lul.IS_MAIN='Y' AND LFIT.FLOWUNID = :FLOWUNID ";
}
// 如果是GPS凭证, 判断是否参融
if("feetype24".equals(FeeType)) {
sql +=" AND LCCT.GPS_FEE_FINA='finatype01'";
// 手续费判断一次性还是按月
if("PZ2019071800000033".equals(VOUCHERNO) || "PZ2019072200000109".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("PZ2019071800000034".equals(VOUCHERNO) || "PZ2019072200000110".equals(VOUCHERNO)){
sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020' ";
}
// 查询sql, 将结果集封装到list集合中
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl();
String VOUCHER_TYPE = "1";// 凭证分类 金蝶
if(userid==null || "".equals(userid)) {
userid="admin";
}
@ -80,14 +85,14 @@ public class CreateVoucherToBeforeOnhire extends BaseBussiness {
double mon = Double.parseDouble(MONEY);
// 判断有金额, 封装值到map中
if (Math.abs(mon) > 0) {
MONEYNOTAX = dataList.get(i).get("MONEYNOTAX").toString();
MONEYTAX = dataList.get(i).get("MONEYTAX").toString();
ACCOUNT_DATE = dataList.get(i).get("ACCOUNT_DATE").toString();
FACT_DATE = dataList.get(i).get("FACT_DATE").toString();
CONTRACT_ID = dataList.get(i).get("CONTRACT_ID").toString();
CONTRACT_NUMBER = dataList.get(i).get("CONTRACT_NUMBER").toString();
PROJECT_NAME = dataList.get(i).get("PROJECT_NAME").toString();
LEAS_FORM = dataList.get(i).get("LEAS_FORM").toString();
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");
CUSTOMERID = dataList.get(i).get("CUSTOMERID");
@ -122,22 +127,11 @@ public class CreateVoucherToBeforeOnhire extends BaseBussiness {
param.put("VOUCHERNO", VOUCHERNO);
// 传统类型
if("2".equals(BUSINESSTYPE)){
// 收到客户手续费
if("PZ2018092500000157".equals(VOUCHERNO)){
param.put("CASHFLOW", "");// 现金流项目
param.put("BUSINESSTYPE", "0604");// 主营类型
}
}else if("3".equals(BUSINESSTYPE)){
// 融资租赁资产
param.put("LEASFORMASSET", "04");
// 部门,业务二部
param.put("DEPT", "01");
// 汽车类传统融资租赁收入
param.put("LEASINCOMEFORM", "05");
}
// 收到客户手续费
if("PZ2019071800000033".equals(VOUCHERNO) || "PZ2019071800000034".equals(VOUCHERNO) || "PZ2019072000000075".equals(VOUCHERNO) || "PZ2019072200000109".equals(VOUCHERNO) || "PZ2019072200000110".equals(VOUCHERNO)){
param.put("CASHFLOW", "");// 现金流项目
param.put("BUSINESSTYPE", "0604");// 主营类型
}
param.put("FlowUnid", FlowUnid);
map.clear();

View File

@ -1,8 +1,10 @@
package com.tenwa.voucher.CreateVoucherProcess;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.amarsoft.awe.util.SqlObject;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
@ -56,11 +58,12 @@ public class InsertVoucherRentIncome {
* 将数据插入中间表的SQL
*/
// 未逾期及逾期未过月(卡扣及经销商代偿)
String sql1="INSERT INTO lv_rent_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lrp.id,lri.HIRE_DATE,lri.RENT,lri.CORPUS,lri.INTEREST,0.00,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID,lri.ACCOUNTING_DATE,lrp.COLLECT_STATUS FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id = lri.contract_id AND lrp.plan_list = lri.plan_list LEFT JOIN lb_contract_info lci ON lci.id = lrp.contract_id LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id WHERE lrp.collect_status IN ('手工收款', '批量收款','代偿') AND lri.rent > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income) AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main = 'Y') ";
//String sql1="INSERT INTO lv_rent_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lrp.id,lri.HIRE_DATE,lri.RENT,lri.CORPUS,lri.INTEREST,0.00,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID,lri.ACCOUNTING_DATE,lrp.COLLECT_STATUS FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id = lri.contract_id AND lrp.plan_list = lri.plan_list LEFT JOIN lb_contract_info lci ON lci.id = lrp.contract_id LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id WHERE lrp.collect_status IN ('手工收款', '批量收款','代偿') AND lri.rent > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income) AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main = 'Y') ";
String sql1="INSERT INTO lv_rent_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lrp.id,lri.HIRE_DATE,lrp.plan_list,lri.RENT,lri.CORPUS,lri.INTEREST,0.00,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID,lri.ACCOUNTING_DATE,lrp.COLLECT_STATUS,LCI.BUSINESSTYPE,LCI.LEAS_FORM FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id = lri.contract_id AND lrp.plan_list = lri.plan_list LEFT JOIN lb_contract_info lci ON lci.id = lrp.contract_id LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id WHERE lrp.collect_status IN ('手工收款', '批量收款','代偿') AND lri.rent > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income) AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main = 'Y') ";
// 逾期过月(卡扣及经销商代偿)
String sql2="INSERT INTO lv_rent_income2 (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lrp.id,lri.HIRE_DATE,lri.RENT,lri.CORPUS,lri.INTEREST,0.00,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID,lri.ACCOUNTING_DATE,lrp.COLLECT_STATUS FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id = lri.contract_id AND lrp.plan_list = lri.plan_list LEFT JOIN lb_contract_info lci ON lci.id = lrp.contract_id LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id WHERE lrp.collect_status IN ('手工收款', '批量收款','代偿') AND lri.rent > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income) AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main = 'Y')";
String sql2="INSERT INTO lv_rent_income2 (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lrp.id,lri.HIRE_DATE,lrp.plan_list,lri.RENT,lri.CORPUS,lri.INTEREST,0.00,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID,lri.ACCOUNTING_DATE,lrp.COLLECT_STATUS,LCI.BUSINESSTYPE,LCI.LEAS_FORM FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id = lri.contract_id AND lrp.plan_list = lri.plan_list LEFT JOIN lb_contract_info lci ON lci.id = lrp.contract_id LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id WHERE lrp.collect_status IN ('手工收款', '批量收款','代偿') AND lri.rent > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income) AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main = 'Y')";
// 逾期利息(卡扣及经销商代偿)
String sql3="INSERT INTO lv_penalty_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lrp.id,lri.HIRE_DATE,0.00,0.00,0.00,lri.PENALTY,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID,lri.ACCOUNTING_DATE,lrp.COLLECT_STATUS FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id = lri.contract_id AND lrp.plan_list = lri.plan_list LEFT JOIN lb_contract_info lci ON lci.id = lrp.contract_id LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id WHERE lrp.collect_status IN ('手工收款', '批量收款','代偿') AND lri.penalty > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_penalty_income) AND lul.is_main = 'Y') ";
String sql3="INSERT INTO lv_penalty_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lrp.id,lri.HIRE_DATE,lrp.plan_list,0.00,0.00,0.00,lri.PENALTY,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID,lri.ACCOUNTING_DATE,lrp.COLLECT_STATUS,LCI.BUSINESSTYPE,LCI.LEAS_FORM FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id = lri.contract_id AND lrp.plan_list = lri.plan_list LEFT JOIN lb_contract_info lci ON lci.id = lrp.contract_id LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id WHERE lrp.collect_status IN ('手工收款', '批量收款','代偿') AND lri.penalty > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_penalty_income) AND lul.is_main = 'Y') ";
/**
* 根据查询语句判断, 有值才执行插入SQL
@ -92,6 +95,7 @@ public class InsertVoucherRentIncome {
public void CreateVoucher() throws Exception{
Transaction Sqlca =null;
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
CreateVoucherRedCompensatory cvrc = new CreateVoucherRedCompensatory();
Map<String,String> map=new HashMap<String,String>();
int a=0;
@ -104,71 +108,187 @@ public class InsertVoucherRentIncome {
* 查询中间表, 判断是否有数据需要执行
*/
/**
* voucher_v8表凭证名称待变更
* 汽车回租
*/
// 当月的租金(卡扣)
String sql1="SELECT lvri.RENT FROM lv_rent_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status IN ('手工收款', '批量收款') AND lvri.rent > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 当月的租金(经销商代偿)
String sql11="SELECT lvri.RENT FROM lv_rent_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='代偿' AND lvri.rent > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 本月以前的租金(卡扣)
String sql2="SELECT lvri.RENT FROM lv_rent_income2 lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status IN ('手工收款', '批量收款') AND lvri.rent > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 本月以前的租金(经销商代偿)
String sql22="SELECT lvri.RENT FROM lv_rent_income2 lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='代偿' AND lvri.rent > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 逾期利息(卡扣)
String sql3="SELECT lvri.PENALTY FROM lv_penalty_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status IN ('手工收款', '批量收款') AND lvri.PENALTY > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%收到的逾期利息(卡扣)%' AND f58 IS NOT NULL) ";
// 逾期利息(经销商代偿)
String sql33="SELECT lvri.PENALTY FROM lv_penalty_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='代偿' AND lvri.PENALTY > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%代偿逾期利息%' AND f58 IS NOT NULL) ";
List<Map<String,String>> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sql1, null);
List<Map<String,String>> dataList11=DataOperatorUtil.getDataBySql(Sqlca, sql11, null);
List<Map<String,String>> dataList2=DataOperatorUtil.getDataBySql(Sqlca, sql2, null);
List<Map<String,String>> dataList22=DataOperatorUtil.getDataBySql(Sqlca, sql22, null);
List<Map<String,String>> dataList3=DataOperatorUtil.getDataBySql(Sqlca, sql3, null);
List<Map<String,String>> dataList33=DataOperatorUtil.getDataBySql(Sqlca, sql33, null);
// 当月的租金(卡扣)-(汽车回租)
String sqlqh1="SELECT lvri.RENT,lvri.income_id AS F58 FROM lv_rent_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status IN ('手工收款', '批量收款') AND lvri.rent > 0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 当月的租金(经销商代偿)-(汽车回租)
String sqlqh11="SELECT lvri.RENT FROM lv_rent_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='代偿' AND lvri.rent > 0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 本月以前的租金(卡扣)-(汽车回租)
String sqlqh2="SELECT lvri.RENT,lvri.income_id AS F58 FROM lv_rent_income2 lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status IN ('手工收款', '批量收款') AND lvri.rent > 0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 本月以前的租金(经销商代偿)-(汽车回租)
String sqlqh22="SELECT lvri.RENT FROM lv_rent_income2 lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='代偿' AND lvri.rent > 0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 逾期利息(卡扣)-(汽车回租)
String sqlqh3="SELECT lvri.PENALTY,lvri.income_id AS F58 FROM lv_penalty_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status IN ('手工收款', '批量收款') AND lvri.PENALTY > 0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%收到的逾期利息(卡扣)%' AND f58 IS NOT NULL) ";
// 逾期利息(经销商代偿)-(汽车回租)
String sqlqh33="SELECT lvri.PENALTY FROM lv_penalty_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='代偿' AND lvri.PENALTY > 0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='02' AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%代偿逾期利息%' AND f58 IS NOT NULL) ";
/**
* 汽车
* 汽车直租
*/
// 收到的租金--卡扣-当月的(汽车)
String sql_where1 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,f2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent WHEN LV.sort_number = '2' THEN LVRI.INTEREST ELSE 0.00 END f7,CASE WHEN lv.sort_number = '3' THEN lvri.corpus WHEN lv.sort_number = '4' THEN lvri.interest WHEN lv.sort_number = '5' THEN ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2) WHEN lv.sort_number = '6' THEN (lvri.interest - ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2)) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' WHEN lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' WHEN lv.sort_number = '6' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '6' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2018082100000142')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '1' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND lvri.collect_status IN ('手工收款', '批量收款') ORDER BY lvri.voucher_f3 ";
// 收到的租金--经销商代偿-当月的(汽车)
String sql_where11 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,f2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN ( lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到代偿的租金' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent WHEN LV.sort_number = '2' THEN LVRI.INTEREST ELSE 0.00 END f7,CASE WHEN lv.sort_number = '3' THEN lvri.corpus WHEN lv.sort_number = '4' THEN lvri.interest WHEN lv.sort_number = '5' THEN ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2) WHEN lv.sort_number = '6' THEN (lvri.interest - ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2)) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '6' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '6' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '6' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2019053000000001')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '1' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND lvri.collect_status ='代偿' ORDER BY lvri.voucher_f3 ";
// 收到的租金--卡扣-跨月的(汽车)
String sql_where2 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,F2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent ELSE 0.00 END f7,CASE WHEN lv.sort_number = '2' THEN lvri.corpus WHEN lv.sort_number = '3' THEN lvri.interest ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' ELSE lvri.cust_id END AS f65,'' AS f73,'' AS f74,'' AS f75,'' AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income2 lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2018082100000143')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND lvri.collect_status IN ('手工收款', '批量收款') ORDER BY lvri.voucher_f3 ";
// 收到的租金--经销商代偿-跨月的(汽车)
String sql_where22 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,F2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到代偿的租金' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent ELSE 0.00 END f7,CASE WHEN lv.sort_number = '2' THEN lvri.corpus WHEN lv.sort_number = '3' THEN lvri.interest ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING ELSE lvri.cust_id END AS f65,'' AS f73,'' AS f74,'' AS f75,'' AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income2 lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2019053000000002')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND lvri.collect_status ='代偿' ORDER BY lvri.voucher_f3 ";
//收到的逾期利息--卡扣
String sql_where3 = "INSERT INTO voucher_v8 ( id, evidence_message, periodyear, f15, f2, f3, f5, f6, f7, f8, f12, f1, f49, f50, f51, f52, f59, f60, f61, f62, f65, f73, f74, f75,f76, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE AS f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到的逾期利息' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number = '2' THEN ROUND(lvri.penalty / getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2) WHEN lv.sort_number = '3' THEN lvri.penalty - (ROUND(lvri.penalty /getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2)) ELSE 0.00 END AS f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '2' THEN lci.contract_number ELSE '' END AS f60,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '3' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.subjects_code FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.loan_subject WHERE lvc.voucher_no IN ('PZ2018082100000144')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%收到的逾期利息(卡扣)%' AND f58 IS NOT NULL) AND lvri.penalty > 0 AND lvri.collect_status IN ('手工收款', '批量收款') ORDER BY lvri.voucher_f3 ";
//收到的逾期利息--经销商代偿
String sql_where33 = "INSERT INTO voucher_v8 ( id, evidence_message, periodyear, f15, f2, f3, f5, f6, f7, f8, f12, f1, f49, f50, f51, f52, f59, f60, f61, f62, f65, f73, f74, f75,f76, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE AS f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'代偿逾期利息' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number = '2' THEN ROUND(lvri.penalty / getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2) WHEN lv.sort_number = '3' THEN lvri.penalty - (ROUND(lvri.penalty /getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2)) ELSE 0.00 END AS f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '2' THEN lci.contract_number ELSE '' END AS f60,CASE WHEN lv.sort_number = '3' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '3' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING ELSE lvri.CUST_ID END AS f65,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '3' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.subjects_code FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.loan_subject WHERE lvc.voucher_no IN ('PZ2019053000000003')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%代偿逾期利息%' AND f58 IS NOT NULL) AND lvri.penalty > 0 AND lvri.collect_status ='代偿' ORDER BY lvri.voucher_f3 ";
// 当月的租金(卡扣)-(汽车直租)
String sqlqz1="SELECT lvri.RENT,lvri.income_id AS F58 FROM lv_rent_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status IN ('手工收款', '批量收款') AND lvri.rent > 0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='01' AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 当月的租金(经销商代偿)-(汽车直租)
String sqlqz11="SELECT lvri.RENT FROM lv_rent_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='代偿' AND lvri.rent > 0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='01' AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 本月以前的租金(卡扣)-(汽车直租)
String sqlqz2="SELECT lvri.RENT,lvri.income_id AS F58 FROM lv_rent_income2 lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status IN ('手工收款', '批量收款') AND lvri.rent > 0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='01' AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 本月以前的租金(经销商代偿)-(汽车直租)
String sqlqz22="SELECT lvri.RENT FROM lv_rent_income2 lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='代偿' AND lvri.rent > 0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='01' AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 逾期利息(卡扣)-(汽车直租)
String sqlqz3="SELECT lvri.PENALTY,lvri.income_id AS F58 FROM lv_penalty_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status IN ('手工收款', '批量收款') AND lvri.PENALTY > 0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='01' AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%收到的逾期利息(卡扣)%' AND f58 IS NOT NULL) ";
// 逾期利息(经销商代偿)-(汽车直租)
String sqlqz33="SELECT lvri.PENALTY FROM lv_penalty_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='代偿' AND lvri.PENALTY > 0 AND LVRI.BUSINESSTYPE='1' AND LVRI.LEAS_FORM='01' AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%代偿逾期利息%' AND f58 IS NOT NULL) ";
/**
* 汽车回租
*/
List<Map<String,String>> dataListqh1=DataOperatorUtil.getDataBySql(Sqlca, sqlqh1, null);
List<Map<String,String>> dataListqh11=DataOperatorUtil.getDataBySql(Sqlca, sqlqh11, null);
List<Map<String,String>> dataListqh2=DataOperatorUtil.getDataBySql(Sqlca, sqlqh2, null);
List<Map<String,String>> dataListqh22=DataOperatorUtil.getDataBySql(Sqlca, sqlqh22, null);
List<Map<String,String>> dataListqh3=DataOperatorUtil.getDataBySql(Sqlca, sqlqh3, null);
List<Map<String,String>> dataListqh33=DataOperatorUtil.getDataBySql(Sqlca, sqlqh33, null);
/**
* 汽车直租
*/
List<Map<String,String>> dataListqz1= DataOperatorUtil.getDataBySql(Sqlca, sqlqz1, null);
List<Map<String,String>> dataListqz11=DataOperatorUtil.getDataBySql(Sqlca, sqlqz11, null);
List<Map<String,String>> dataListqz2= DataOperatorUtil.getDataBySql(Sqlca, sqlqz2, null);
List<Map<String,String>> dataListqz22=DataOperatorUtil.getDataBySql(Sqlca, sqlqz22, null);
List<Map<String,String>> dataListqz3= DataOperatorUtil.getDataBySql(Sqlca, sqlqz3, null);
List<Map<String,String>> dataListqz33=DataOperatorUtil.getDataBySql(Sqlca, sqlqz33, null);
/**
* 汽车类-回租
*/
// 收到的租金--卡扣-当月的-(汽车回租)
String sql_whereqh1 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,f2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-',LVRI.PLAN_LIST) ELSE '收到的租金' END AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent WHEN LV.sort_number = '2' THEN LVRI.INTEREST ELSE 0.00 END f7,CASE WHEN lv.sort_number = '3' THEN lvri.corpus WHEN lv.sort_number = '4' THEN lvri.interest WHEN lv.sort_number = '5' THEN ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2) WHEN lv.sort_number = '6' THEN (lvri.interest - ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2)) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' WHEN lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' WHEN lv.sort_number = '6' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '6' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2018082100000142')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '1' AND LCI.LEAS_FORM='02' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND lvri.collect_status IN ('手工收款', '批量收款') ORDER BY lvri.voucher_f3 ";
// 收到的租金--经销商代偿-当月的-(汽车回租)
String sql_whereqh11 ="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,f2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN ( lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到代偿的租金-',LVRI.PLAN_LIST) ELSE '收到代偿的租金' END AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent WHEN LV.sort_number = '2' THEN LVRI.INTEREST ELSE 0.00 END f7,CASE WHEN lv.sort_number = '3' THEN lvri.corpus WHEN lv.sort_number = '4' THEN lvri.interest WHEN lv.sort_number = '5' THEN ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2) WHEN lv.sort_number = '6' THEN (lvri.interest - ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2)) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '6' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '6' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '6' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2019053000000001')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '1' AND LCI.LEAS_FORM='02' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND lvri.collect_status ='代偿' ORDER BY lvri.voucher_f3 ";
// 收到的租金--卡扣-跨月的-(汽车回租)
String sql_whereqh2 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,F2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-',LVRI.PLAN_LIST) ELSE '收到的租金' END AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent ELSE 0.00 END f7,CASE WHEN lv.sort_number = '2' THEN lvri.corpus WHEN lv.sort_number = '3' THEN lvri.interest ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' ELSE lvri.cust_id END AS f65,'' AS f73,'' AS f74,'' AS f75,'' AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income2 lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2018082100000143')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND LCI.LEAS_FORM='02' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND lvri.collect_status IN ('手工收款', '批量收款') ORDER BY lvri.voucher_f3 ";
// 收到的租金--经销商代偿-跨月的-(汽车回租)
String sql_whereqh22 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,F2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到代偿的租金-',LVRI.PLAN_LIST) ELSE '收到代偿的租金' END AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent ELSE 0.00 END f7,CASE WHEN lv.sort_number = '2' THEN lvri.corpus WHEN lv.sort_number = '3' THEN lvri.interest ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING ELSE lvri.cust_id END AS f65,'' AS f73,'' AS f74,'' AS f75,'' AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income2 lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2019053000000002')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND LCI.LEAS_FORM='02' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND lvri.collect_status ='代偿' ORDER BY lvri.voucher_f3 ";
//收到的逾期利息--卡扣-(汽车回租)
String sql_whereqh3 = "INSERT INTO voucher_v8 ( id, evidence_message, periodyear, f15, f2, f3, f5, f6, f7, f8, f12, f1, f49, f50, f51, f52, f59, f60, f61, f62, f65, f73, f74, f75,f76, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE AS f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到的逾期利息' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number = '2' THEN ROUND(lvri.penalty / getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2) WHEN lv.sort_number = '3' THEN lvri.penalty - (ROUND(lvri.penalty /getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2)) ELSE 0.00 END AS f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '2' THEN lci.contract_number ELSE '' END AS f60,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '3' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.subjects_code FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.loan_subject WHERE lvc.voucher_no IN ('PZ2018082100000144')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND LCI.LEAS_FORM='02' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%收到的逾期利息(卡扣)%' AND f58 IS NOT NULL) AND lvri.penalty > 0 AND lvri.collect_status IN ('手工收款', '批量收款') ORDER BY lvri.voucher_f3 ";
//收到的逾期利息--经销商代偿-(汽车回租)
String sql_whereqh33 = "INSERT INTO voucher_v8 ( id, evidence_message, periodyear, f15, f2, f3, f5, f6, f7, f8, f12, f1, f49, f50, f51, f52, f59, f60, f61, f62, f65, f73, f74, f75,f76, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE AS f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'代偿逾期利息' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number = '2' THEN ROUND(lvri.penalty / getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2) WHEN lv.sort_number = '3' THEN lvri.penalty - (ROUND(lvri.penalty /getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2)) ELSE 0.00 END AS f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '2' THEN lci.contract_number ELSE '' END AS f60,CASE WHEN lv.sort_number = '3' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '3' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING ELSE lvri.CUST_ID END AS f65,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '3' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.subjects_code FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.loan_subject WHERE lvc.voucher_no IN ('PZ2019053000000003')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND LCI.LEAS_FORM='02' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%代偿逾期利息%' AND f58 IS NOT NULL) AND lvri.penalty > 0 AND lvri.collect_status ='代偿' ORDER BY lvri.voucher_f3 ";
/**
* 汽车类-直租
*/
// 收到的租金--卡扣-当月的-(汽车直租)
String sql_whereqz1 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,f2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-',LVRI.PLAN_LIST) ELSE '收到的租金' END AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN LV.sort_number = '1' THEN LVRI.RENT WHEN LV.sort_number = '2' THEN LVRI.INTEREST WHEN LV.sort_number = '3' THEN (LVRI.CORPUS-ROUND(LVRI.CORPUS / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) ELSE 0.00 END f7,CASE WHEN lv.sort_number = '4' THEN lvri.corpus WHEN lv.sort_number = '5' THEN lvri.interest WHEN lv.sort_number = '6' THEN ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2) WHEN lv.sort_number = '7' THEN ((LVRI.CORPUS - ROUND(LVRI.CORPUS /getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(lvri.interest - ROUND(lvri.interest /getTax(LCI.LEAS_FORM,'利息',LCCT.START_DATE),2))) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '7' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' WHEN lv.sort_number = '7' THEN '' ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' WHEN lv.sort_number = '7' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '6' THEN '0604' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '7' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2019070100000008')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '1' AND LCI.LEAS_FORM = '01' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND lvri.collect_status IN ('手工收款', '批量收款') ORDER BY lvri.voucher_f3 ";
// 收到的租金--经销商代偿-当月的-(汽车直租)
String sql_whereqz11 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,f2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到代偿的租金-',LVRI.PLAN_LIST) ELSE '收到代偿的租金' END AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN LV.sort_number = '1' THEN LVRI.RENT WHEN LV.sort_number = '2' THEN LVRI.INTEREST WHEN LV.sort_number = '3' THEN (LVRI.CORPUS-ROUND(LVRI.CORPUS/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) ELSE 0.00 END f7,CASE WHEN lv.sort_number = '4' THEN lvri.corpus WHEN lv.sort_number = '5' THEN lvri.interest WHEN lv.sort_number = '6' THEN ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2) WHEN lv.sort_number = '7' THEN ((LVRI.CORPUS - ROUND(LVRI.CORPUS /getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2))+(lvri.interest - ROUND(lvri.interest /getTax(LCI.LEAS_FORM,'利息',LCCT.START_DATE),2))) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '7' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '7' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '7' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '6' THEN '0604' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '7' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2019070100000012')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '1' AND LCI.LEAS_FORM = '01' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND lvri.collect_status = '代偿' ORDER BY lvri.voucher_f3 ";
// 收到的租金--卡扣-跨月的-(汽车直租)
String sql_whereqz2 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,F2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到的租金-',LVRI.PLAN_LIST) ELSE '收到的租金' END AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent ELSE 0.00 END f7,CASE WHEN lv.sort_number = '2' THEN lvri.corpus WHEN lv.sort_number = '3' THEN lvri.interest ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' ELSE lvri.cust_id END AS f65,'' AS f73,'' AS f74,'' AS f75,'' AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income2 lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2019070100000009')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND LCI.LEAS_FORM = '01' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND lvri.collect_status IN ('手工收款', '批量收款') ORDER BY lvri.voucher_f3 ";
// 收到的租金--经销商代偿-跨月的-(汽车直租)
String sql_whereqz22 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,F2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,CASE WHEN LVRI.PLAN_LIST IS NOT NULL THEN CONCAT('收到代偿的租金-',LVRI.PLAN_LIST) ELSE '收到代偿的租金' END AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent ELSE 0.00 END f7,CASE WHEN lv.sort_number = '2' THEN lvri.corpus WHEN lv.sort_number = '3' THEN lvri.interest ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING ELSE lvri.cust_id END AS f65,'' AS f73,'' AS f74,'' AS f75,'' AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income2 lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2019070100000013')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND LCI.LEAS_FORM = '01' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND lvri.collect_status = '代偿' ORDER BY lvri.voucher_f3 ";
//收到的逾期利息--卡扣-(汽车直租)
String sql_whereqz3 = "INSERT INTO voucher_v8 ( id, evidence_message, periodyear, f15, f2, f3, f5, f6, f7, f8, f12, f1, f49, f50, f51, f52, f59, f60, f61, f62, f65, f73, f74, f75,f76, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 )SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE AS f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到的逾期利息' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number = '2' THEN ROUND(lvri.penalty / getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2) WHEN lv.sort_number = '3' THEN lvri.penalty - (ROUND(lvri.penalty / getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2)) ELSE 0.00 END AS f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '2' THEN lci.contract_number ELSE '' END AS f60,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '3' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.subjects_code FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.loan_subject WHERE lvc.voucher_no IN ('PZ2019070100000007')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND LCI.LEAS_FORM = '01' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%收到的逾期利息(卡扣)%' AND f58 IS NOT NULL) AND lvri.penalty > 0 AND lvri.collect_status IN ('手工收款', '批量收款') ORDER BY lvri.voucher_f3 ";
//收到的逾期利息--经销商代偿-(汽车直租)
String sql_whereqz33 = "INSERT INTO voucher_v8 ( id, evidence_message, periodyear, f15, f2, f3, f5, f6, f7, f8, f12, f1, f49, f50, f51, f52, f59, f60, f61, f62, f65, f73, f74, f75,f76, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE AS f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'代偿逾期利息' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number = '2' THEN ROUND(lvri.penalty / getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2) WHEN lv.sort_number = '3' THEN lvri.penalty - (ROUND(lvri.penalty / getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2)) ELSE 0.00 END AS f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '2' THEN lci.contract_number ELSE '' END AS f60,CASE WHEN lv.sort_number = '3' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '3' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING ELSE lvri.CUST_ID END AS f65,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '3' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.subjects_code FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.loan_subject WHERE lvc.voucher_no IN ('PZ2019070100000011')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND LCI.LEAS_FORM = '01' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%代偿逾期利息%' AND f58 IS NOT NULL) AND lvri.penalty > 0 AND lvri.collect_status = '代偿' ORDER BY lvri.voucher_f3 ";
/**
* 根据查询语句判断, 有值才执行插入SQL
*/
if(dataList1 != null && !dataList1.isEmpty()) {
SqlObject sqls1 = new SqlObject(sql_where1);
a=Sqlca.executeSQL(sqls1);
/**
* 汽车回租
*/
if(dataListqh1 != null && !dataListqh1.isEmpty()) {
SqlObject sqlsqh1 = new SqlObject(sql_whereqh1);
a=Sqlca.executeSQL(sqlsqh1);
}
if(dataList11 != null && !dataList11.isEmpty()) {
SqlObject sqls11 = new SqlObject(sql_where11);
b=Sqlca.executeSQL(sqls11);
if(dataListqh11 != null && !dataListqh11.isEmpty()) {
SqlObject sqlsqh11 = new SqlObject(sql_whereqh11);
b=Sqlca.executeSQL(sqlsqh11);
}
if(dataList2 != null && !dataList2.isEmpty()) {
SqlObject sqls2 = new SqlObject(sql_where2);
c=Sqlca.executeSQL(sqls2);
if(dataListqh2 != null && !dataListqh2.isEmpty()) {
SqlObject sqlsqh2 = new SqlObject(sql_whereqh2);
c=Sqlca.executeSQL(sqlsqh2);
}
if(dataList22 != null && !dataList22.isEmpty()) {
SqlObject sqls22 = new SqlObject(sql_where22);
d=Sqlca.executeSQL(sqls22);
if(dataListqh22 != null && !dataListqh22.isEmpty()) {
SqlObject sqlsqh22 = new SqlObject(sql_whereqh22);
d=Sqlca.executeSQL(sqlsqh22);
}
if(dataList3 != null && !dataList3.isEmpty()) {
SqlObject sqls3 = new SqlObject(sql_where3);
e=Sqlca.executeSQL(sqls3);
if(dataListqh3 != null && !dataListqh3.isEmpty()) {
SqlObject sqlsqh3 = new SqlObject(sql_whereqh3);
e=Sqlca.executeSQL(sqlsqh3);
}
if(dataList33 != null && !dataList33.isEmpty()) {
SqlObject sqls33 = new SqlObject(sql_where33);
f=Sqlca.executeSQL(sqls33);
if(dataListqh33 != null && !dataListqh33.isEmpty()) {
SqlObject sqlsqh33 = new SqlObject(sql_whereqh33);
f=Sqlca.executeSQL(sqlsqh33);
}
/**
* 汽车直租
*/
if(dataListqz1 != null && !dataListqz1.isEmpty()) {
SqlObject sqlsqz1 = new SqlObject(sql_whereqz1);
a=Sqlca.executeSQL(sqlsqz1);
}
if(dataListqz11 != null && !dataListqz11.isEmpty()) {
SqlObject sqlsqz11 = new SqlObject(sql_whereqz11);
b=Sqlca.executeSQL(sqlsqz11);
}
if(dataListqz2 != null && !dataListqz2.isEmpty()) {
SqlObject sqlsqz2 = new SqlObject(sql_whereqz2);
c=Sqlca.executeSQL(sqlsqz2);
}
if(dataListqz22 != null && !dataListqz22.isEmpty()) {
SqlObject sqlsqz22 = new SqlObject(sql_whereqz22);
d=Sqlca.executeSQL(sqlsqz22);
}
if(dataListqz3 != null && !dataListqz3.isEmpty()) {
SqlObject sqlsqz3 = new SqlObject(sql_whereqz3);
e=Sqlca.executeSQL(sqlsqz3);
}
if(dataListqz33 != null && !dataListqz33.isEmpty()) {
SqlObject sqlsqz33 = new SqlObject(sql_whereqz33);
f=Sqlca.executeSQL(sqlsqz33);
}
Sqlca.commit();
/**
* 收取租金时, 如果已经经销商代偿, 生成反冲代偿凭证; 将租金id存入集合, 遍历结合, 通过id生成凭证
*/
List<String> list = new ArrayList<String>();
for (Map<String, String> map1 : dataListqh1) {
if(!list.contains(map1.get("F58"))){
list.add(map1.get("F58"));
}
}
for (Map<String, String> map2 : dataListqh2) {
if(!list.contains(map2.get("F58"))){
list.add(map2.get("F58"));
}
}
for (Map<String, String> map3 : dataListqh3) {
if(!list.contains(map3.get("F58"))){
list.add(map3.get("F58"));
}
}
for (Map<String, String> map1 : dataListqz1) {
if(!list.contains(map1.get("F58"))){
list.add(map1.get("F58"));
}
}
for (Map<String, String> map2 : dataListqz2) {
if(!list.contains(map2.get("F58"))){
list.add(map2.get("F58"));
}
}
for (Map<String, String> map3 : dataListqz3) {
if(!list.contains(map3.get("F58"))){
list.add(map3.get("F58"));
}
}
for (String F58 : list) {
// 判断当期是否已生成经销商代偿凭证, 如已生成, 反冲
cvrc.CreateVoucher("PZ2019071500000030", "admin",F58);// 代偿反冲-收到的租金
cvrc.CreateVoucher("PZ2019071500000031", "admin",F58);// 代偿反冲-收到的逾期利息
}
if(Sqlca!=null){
Sqlca.disConnect();
}

View File

@ -0,0 +1,19 @@
package com.tenwa.voucher.CreateVoucherProcess.VoucherGetMoneyForTradition;
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;
/**
* »ñÈ¡FACT_MONEY
*/
public class ContractGetMoneyToCorpusAddInterestTAX implements VoucherJavaParamService{
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);
returnValue.put("MONEY",param.get("CORPUS_ADD_INTEREST_TAX"));
return returnValue;
}
}

View File

@ -0,0 +1,19 @@
package com.tenwa.voucher.CreateVoucherProcess.VoucherGetMoneyForTradition;
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;
/**
* »ñÈ¡FACT_MONEY
*/
public class ContractGetMoneyToCorpusTAX implements VoucherJavaParamService{
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);
returnValue.put("MONEY",param.get("CORPUS_TAX"));
return returnValue;
}
}

View File

@ -254,7 +254,7 @@ public class CreateVoucherServiceImpl {
/**
* 传统实际付款银行客户获取
*/
if("PZ2018092500000159".equals(VOUCHERNO) || "PZ2018092500000169".equals(VOUCHERNO)) {
if("PZ2018092500000159".equals(VOUCHERNO) || "PZ2018092500000169".equals(VOUCHERNO) || "PZ2019071800000036".equals(VOUCHERNO) || "PZ2019071800000037".equals(VOUCHERNO) || "PZ2019072000000077".equals(VOUCHERNO) || "PZ2019072000000081".equals(VOUCHERNO) || "PZ2019072200000112".equals(VOUCHERNO) || "PZ2019072200000117".equals(VOUCHERNO)) {
if("100208".equals(SUBJECT_CODE)) {
BizObject OWN = JBOFactory.createBizObjectQuery(OWN_ACCOUNT.CLASS_NAME,"ACC_NUMBER=:ACC_NUMBER").setParameter("ACC_NUMBER", param.get("ACC_NUMBER")).getSingleResult(false);
String acc_title = OWN.getAttribute("acc_title").getString();
@ -265,7 +265,7 @@ public class CreateVoucherServiceImpl {
/**
* 网银存款转预收银行科目及卡扣汇总凭证
*/
if("PZ2018121800000005".equals(VOUCHERNO) || "PZ2018081600000120".equals(VOUCHERNO) || "PZ2018092500000155".equals(VOUCHERNO) || "PZ2018080400000091".equals(VOUCHERNO)) {
if("PZ2018121800000005".equals(VOUCHERNO) || "PZ2018081600000120".equals(VOUCHERNO) || "PZ2018092500000155".equals(VOUCHERNO) || "PZ2018080400000091".equals(VOUCHERNO) || "PZ2019072000000071".equals(VOUCHERNO) || "PZ2019072000000072".equals(VOUCHERNO) || "PZ2019072000000073".equals(VOUCHERNO)) {
if("1".equals(SORT_NUMBER)) {
String EBANK_SUBJECTS = param.get("EBANK_SUBJECTS");
sub=JBOFactory.createBizObjectQuery(LV_STACTS_CONFIG.CLASS_NAME,"SUBJECTS_CODE=:EBANK_SUBJECTS").setParameter("EBANK_SUBJECTS", EBANK_SUBJECTS).getSingleResult(false);
@ -352,8 +352,8 @@ public class CreateVoucherServiceImpl {
subData.put("F7", dataTemp.get("MONEY"));//借方金额
subData.put("F8", "0");//贷方金额
subData.put("ENTRYDC", "1");
//凭证信息像是经销商名称
/*if("PZ2018070900000003".equals(VOUCHERNO) || "PZ2018071000000007".equals(VOUCHERNO) || "PZ2018071000000009".equals(VOUCHERNO)) {
//凭证信息客户编码及名称是经销商
/*if("PZ2018092500000185".equals(VOUCHERNO) || "PZ2018092500000187".equals(VOUCHERNO) || "PZ2019072200000100".equals(VOUCHERNO) || "PZ2019072200000102".equals(VOUCHERNO)) {
subData.put("CUSTID",dataTemp.get("DISTRIBUTOR_ID"));//经销商id
subData.put("CUSTNAME",dataTemp.get("DISTRIBUTOR_NAME"));//经销商名称
}else */
@ -367,23 +367,27 @@ public class CreateVoucherServiceImpl {
subData.put("CUSTID","APZL00000000DC");//虚拟客户
subData.put("CUSTNAME","汽车C端待查客户");//虚拟客户
// 起租前网银回款
}else if("PZ2018092500000156".equals(VOUCHERNO) || "PZ2018092500000157".equals(VOUCHERNO) || "PZ2018092500000158".equals(VOUCHERNO)) {
}else if("PZ2018092500000156".equals(VOUCHERNO) || "PZ2018092500000157".equals(VOUCHERNO) || "PZ2018092500000158".equals(VOUCHERNO) || "PZ2019071800000032".equals(VOUCHERNO) || "PZ2019071800000033".equals(VOUCHERNO) || "PZ2019071800000034".equals(VOUCHERNO) || "PZ2019071800000035".equals(VOUCHERNO) || "PZ2019072000000074".equals(VOUCHERNO) || "PZ2019072000000075".equals(VOUCHERNO) || "PZ2019072000000076".equals(VOUCHERNO) || "PZ2019072200000108".equals(VOUCHERNO) || "PZ2019072200000109".equals(VOUCHERNO) || "PZ2019072200000110".equals(VOUCHERNO) || "PZ2019072200000111".equals(VOUCHERNO)) {
subData.put("CUSTID","APZL00000000CT");//虚拟客户
subData.put("CUSTNAME","传统B端待查客户");//虚拟客户
// 传统-回款-资金
}else if("PZ2018092500000173".equals(VOUCHERNO) || "PZ2018092500000174".equals(VOUCHERNO) ) {
}else if("PZ2018092500000173".equals(VOUCHERNO) || "PZ2018092500000174".equals(VOUCHERNO) || "PZ2019071800000043".equals(VOUCHERNO) || "PZ2019071800000044".equals(VOUCHERNO) || "PZ2019072000000088".equals(VOUCHERNO) || "PZ2019072000000089".equals(VOUCHERNO) || "PZ2019072200000124".equals(VOUCHERNO) || "PZ2019072200000125".equals(VOUCHERNO) || "PZ2019073000000146".equals(VOUCHERNO) || "PZ2019073000000147".equals(VOUCHERNO)) {
subData.put("CUSTID","APZL00000000CT");//虚拟客户
subData.put("CUSTNAME","传统B端待查客户");//虚拟客户
// 传统-回款-租金
}else if("PZ2018092500000171".equals(VOUCHERNO) || "PZ2019022500000011".equals(VOUCHERNO) || "PZ2018092500000172".equals(VOUCHERNO)) {
}else if("PZ2018092500000171".equals(VOUCHERNO) || "PZ2019022500000011".equals(VOUCHERNO) || "PZ2018092500000172".equals(VOUCHERNO) || "PZ2019071800000046".equals(VOUCHERNO) || "PZ2019071800000048".equals(VOUCHERNO) || "PZ2019071800000049".equals(VOUCHERNO) || "PZ2019072000000084".equals(VOUCHERNO) || "PZ2019072000000086".equals(VOUCHERNO) || "PZ2019072000000087".equals(VOUCHERNO) || "PZ2019072200000120".equals(VOUCHERNO) || "PZ2019072200000122".equals(VOUCHERNO) || "PZ2019072200000123".equals(VOUCHERNO)) {
subData.put("CUSTID","APZL00000000CT");//虚拟客户
subData.put("CUSTNAME","传统B端待查客户");//虚拟客户
// 传统资金红冲
}else if("PZ2018092500000175".equals(VOUCHERNO) || "PZ2018092500000176".equals(VOUCHERNO) || "PZ2018092500000177".equals(VOUCHERNO) || "PZ2018092500000181".equals(VOUCHERNO) || "PZ2018092500000182".equals(VOUCHERNO)) {
}else if("PZ2018092500000175".equals(VOUCHERNO) || "PZ2018092500000176".equals(VOUCHERNO) || "PZ2018092500000177".equals(VOUCHERNO) || "PZ2018092500000181".equals(VOUCHERNO) || "PZ2018092500000182".equals(VOUCHERNO) || "PZ2019071800000050".equals(VOUCHERNO) || "PZ2019071800000051".equals(VOUCHERNO) || "PZ2019072000000090".equals(VOUCHERNO) || "PZ2019072000000091".equals(VOUCHERNO) || "PZ2019072000000092".equals(VOUCHERNO) || "PZ2019072000000093".equals(VOUCHERNO) || "PZ2019072000000094".equals(VOUCHERNO) || "PZ2019072200000131".equals(VOUCHERNO) || "PZ2019072200000132".equals(VOUCHERNO)) {
subData.put("CUSTID","APZL00000000CT");//虚拟客户
subData.put("CUSTNAME","传统B端待查客户");//虚拟客户
// 传统租金红冲
}else if("PZ2018092500000179".equals(VOUCHERNO) || "PZ2018100900000263".equals(VOUCHERNO) || "PZ2018092500000178".equals(VOUCHERNO) || "PZ2018100900000260".equals(VOUCHERNO) || "PZ2018092500000180".equals(VOUCHERNO)) {
}else if("PZ2018092500000179".equals(VOUCHERNO) || "PZ2018092500000178".equals(VOUCHERNO) || "PZ2018100900000260".equals(VOUCHERNO) || "PZ2018092500000180".equals(VOUCHERNO) || "PZ2019071800000053".equals(VOUCHERNO) || "PZ2019071800000055".equals(VOUCHERNO) || "PZ2019071800000056".equals(VOUCHERNO) || "PZ2019072000000096".equals(VOUCHERNO) || "PZ2019072000000098".equals(VOUCHERNO) || "PZ2019072000000099".equals(VOUCHERNO) || "PZ2019072200000127".equals(VOUCHERNO) || "PZ2019072200000129".equals(VOUCHERNO) || "PZ2019072200000130".equals(VOUCHERNO)) {
subData.put("CUSTID","APZL00000000CT");//虚拟客户
subData.put("CUSTNAME","传统B端待查客户");//虚拟客户
// 传统提前结清
}else if("PZ2019071800000060".equals(VOUCHERNO) || "PZ2019071800000061".equals(VOUCHERNO) || "PZ2019071800000066".equals(VOUCHERNO) || "PZ2019071800000067".equals(VOUCHERNO) || "PZ2019072300000135".equals(VOUCHERNO) || "PZ2019072300000136".equals(VOUCHERNO)) {
subData.put("CUSTID","APZL00000000CT");//虚拟客户
subData.put("CUSTNAME","传统B端待查客户");//虚拟客户
}
@ -397,11 +401,11 @@ public class CreateVoucherServiceImpl {
subData.put("F8",dataTemp.get("MONEY"));//贷方金额
subData.put("ENTRYDC", "-1");
//凭证信息是经销商名称
if("PZ2018081600000120".equals(VOUCHERNO) || "PZ2018080400000091".equals(VOUCHERNO)){
if("PZ2018081600000120".equals(VOUCHERNO) || "PZ2018121800000005".equals(VOUCHERNO) || "PZ2018080400000091".equals(VOUCHERNO)){
subData.put("CUSTID","APZL00000000DC"); // 虚拟客户
subData.put("CUSTNAME","汽车C端待查客户"); // 虚拟客户
// 传统-网银导入
}else if("PZ2018092500000155".equals(VOUCHERNO)) {
}else if("PZ2018092500000155".equals(VOUCHERNO) || "PZ2019072000000071".equals(VOUCHERNO) || "PZ2019072000000072".equals(VOUCHERNO) || "PZ2019072000000073".equals(VOUCHERNO)) {
subData.put("CUSTID","APZL00000000CT");
subData.put("CUSTNAME","传统B端待查客户");
}
@ -424,9 +428,10 @@ public class CreateVoucherServiceImpl {
}
// 获取直租/回租类型
String LEAS_FORM = param.get("LEAS_FORM");
// 起租, 购置融资租赁资产带经销商编码
/*if("PZ2018070900000002".equals(VOUCHERNO)) {
if("3".equals(SORT_NUMBER)) {
/*// 需要带经销商编码的在此匹配
if("PZ2018092500000156".equals(VOUCHERNO) || "PZ2019072000000074".equals(VOUCHERNO) || "PZ2018092500000164".equals(VOUCHERNO) || "PZ2019072000000079".equals(VOUCHERNO) || "PZ2019072200000108".equals(VOUCHERNO) || "PZ2019072200000114".equals(VOUCHERNO)) {
if("2".equals(SORT_NUMBER)) {
subData.put("CUSTID",dataTemp.get("DISTRIBUTOR_ID"));//经销商id
subData.put("CUSTNAME",dataTemp.get("DISTRIBUTOR_NAME"));//经销商名称
}
@ -481,14 +486,23 @@ public class CreateVoucherServiceImpl {
}
/**
* 网银回款收到的租金预收科目设置自定义值(传统-)
* 网银回款收到的租金预收科目设置自定义值(传统-)
*/
if("PZ2018100900000298".equals(VOUCHERNO) || "PZ2019022500000012".equals(VOUCHERNO)) {
if("PZ2018100900000298".equals(VOUCHERNO) || "PZ2019022500000012".equals(VOUCHERNO) || "PZ2019071800000045".equals(VOUCHERNO) || "PZ2019071800000047".equals(VOUCHERNO) || "PZ2018100900000263".equals(VOUCHERNO) || "PZ2019072000000083".equals(VOUCHERNO) || "PZ2019072000000085".equals(VOUCHERNO) || "PZ2019072000000095".equals(VOUCHERNO) || "PZ2019072000000097".equals(VOUCHERNO) || "PZ2019072200000126".equals(VOUCHERNO) || "PZ2019072200000128".equals(VOUCHERNO) || "PZ2018100900000260".equals(VOUCHERNO) || "PZ2019071800000052".equals(VOUCHERNO) || "PZ2019071800000054".equals(VOUCHERNO) || "PZ2019072200000119".equals(VOUCHERNO) || "PZ2019072200000121".equals(VOUCHERNO)) {
if("1".equals(SORT_NUMBER)) {
subData.put("CUSTID","APZL00000000CT");//虚拟客户
subData.put("CUSTNAME","传统B端待查客户");//虚拟客户
}
}
/**
* 传统提前结清
*/
if("PZ2019071800000062".equals(VOUCHERNO)) {
if("2".equals(SORT_NUMBER)) {
subData.put("CUSTID","APZL00000000CT");//虚拟客户
subData.put("CUSTNAME","传统B端待查客户");//虚拟客户
}
}
subData.put("SORT_NUMBER", SORT_NUMBER);
list.add(subData);

View File

@ -472,7 +472,7 @@ public class VoucherToNCforAssistContract implements Job{
}
/**
* NC传输xml, 获取NC回执xml信息, 根据回执信息更改状态
* NC传输xml, 获取NC回执xml信息, 根据回执信息更改状态
*/
public static void InterActionToNC(Transaction Sqlca,String inputURL,String type,String batch,int count,List<String> batchList) throws Exception {
String updSql=""; // 更新历史记录
@ -495,6 +495,9 @@ public class VoucherToNCforAssistContract implements Job{
connection.setDoOutput(true);
connection.setRequestProperty("Content-type", "text/xml");
connection.setRequestMethod("POST");
//connection.setConnectTimeout(1*1);
//connection.setConnectTimeout(600000);
//connection.setReadTimeout(600000);
/**
* 读取本方生成的xml, 传输到NC
@ -512,6 +515,7 @@ public class VoucherToNCforAssistContract implements Job{
/**
* 获取NC回执信息
*/
System.out.println("-------------开始获取回执信息--------------");
InputStream inputStream = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(inputStream,"UTF-8");
BufferedReader bufreader = new BufferedReader(isr);
@ -521,6 +525,7 @@ public class VoucherToNCforAssistContract implements Job{
xmlString+=b;
xmlString+="\r\n";
}
System.out.println("-------------获取回执信息完成--------------");
System.out.println(xmlString);
bufreader.close();
/**
@ -584,6 +589,7 @@ public class VoucherToNCforAssistContract implements Job{
resultdescription = el.getStringValue();
}
}
/**
* 根据回执信息, 变更明细表记录
*/
@ -636,7 +642,7 @@ public class VoucherToNCforAssistContract implements Job{
logger.info("本批次包含失败数据 !");
}
}
System.out.println("--------------传输完成-------------");
// 状态为Y表示, 本次导入全部成功
}else if(resSuc.equals("Y")){
logger.info("导入成功");
@ -659,6 +665,7 @@ public class VoucherToNCforAssistContract implements Job{
Sqlca.executeSQL(updateSql);
}
}
System.out.println("--------------传输完成-------------");
}else{
logger.info("出现未知错误");
}

View File

@ -605,7 +605,7 @@ public class VoucherToNCforCustomer implements Job{
}
/**
* NC传输xml, 获取NC回执xml信息, 根据回执信息更改状态
* NC传输xml, 获取NC回执xml信息, 根据回执信息更改状态
*/
public static void InterActionToNC(Transaction Sqlca,String inputURL,String type,String batch,int count,List<String> batchList) throws Exception {
String updSql=""; // 更新历史记录
@ -628,6 +628,9 @@ public class VoucherToNCforCustomer implements Job{
connection.setDoOutput(true);
connection.setRequestProperty("Content-type", "text/xml");
connection.setRequestMethod("POST");
//connection.setConnectTimeout(1*1);
//connection.setConnectTimeout(600000);
//connection.setReadTimeout(600000);
/**
* 读取本方生成的xml, 传输到NC
@ -645,6 +648,7 @@ public class VoucherToNCforCustomer implements Job{
/**
* 获取NC回执信息
*/
System.out.println("-------------开始获取回执信息--------------");
InputStream inputStream = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(inputStream,"UTF-8");
BufferedReader bufreader = new BufferedReader(isr);
@ -654,6 +658,7 @@ public class VoucherToNCforCustomer implements Job{
xmlString+=b;
xmlString+="\r\n";
}
System.out.println("-------------获取回执信息完成--------------");
System.out.println(xmlString);
bufreader.close();
/**
@ -770,7 +775,7 @@ public class VoucherToNCforCustomer implements Job{
logger.info("本批次包含失败数据 !");
}
}
System.out.println("--------------传输完成-------------");
// 状态为Y表示, 本次导入全部成功
}else if(resSuc.equals("Y")){
logger.info("导入成功");
@ -793,6 +798,7 @@ public class VoucherToNCforCustomer implements Job{
Sqlca.executeSQL(updateSql);
}
}
System.out.println("--------------传输完成-------------");
}else{
logger.info("出现未知错误");
}

View File

@ -157,7 +157,7 @@ public class VoucherToNCforDistributor implements Job{
List<String> batchList= new ArrayList<String>();
// 获取未传输及以前传输失败的数据
String sql="SELECT id,DISTRIBUTOR_NAME,DISTRIBUTOR_CODING,DISTRIBUTOR_ADDRESS,FACT_ADDR,PROVINCES,POSTCODE,REGISTERED_ADDR,BUSINESS_SCOPE,SUBSIDIARY_COMPANY,TYPE,BUSINESS_LICENSE_NO,DISTRIBUTOR_STATUS,E_MAIL,FAX_NUMBER,REGISTERED_ASSET,DISTRIBUTORER,MBAFC_EARLYDISBURSEMENT_TYPE,URL FROM DISTRIBUTOR_INFO WHERE (DISTRIBUTOR_CODING NOT IN(SELECT TABLE_NUM FROM NCXML_DETAIL_RECORDS WHERE FLAG ='1' AND XML_TYPE='"+type+"') and DISTRIBUTOR_CODING not in(SELECT cust_id FROM customer_list)) and DISTRIBUTOR_STATUS='distributor_status04' ";
String sql="SELECT id,DISTRIBUTOR_NAME,DISTRIBUTOR_CODING,DISTRIBUTOR_ADDRESS,FACT_ADDR,PROVINCES,POSTCODE,REGISTERED_ADDR,BUSINESS_SCOPE,SUBSIDIARY_COMPANY,TYPE,BUSINESS_LICENSE_NO,DISTRIBUTOR_STATUS,E_MAIL,FAX_NUMBER,REGISTERED_ASSET,DISTRIBUTORER,MBAFC_EARLYDISBURSEMENT_TYPE,URL FROM DISTRIBUTOR_INFO WHERE (DISTRIBUTOR_CODING NOT IN(SELECT TABLE_NUM FROM NCXML_DETAIL_RECORDS WHERE FLAG ='1' AND XML_TYPE='"+type+"') and DISTRIBUTOR_CODING not in(SELECT cust_id FROM customer_list)) and DISTRIBUTOR_STATUS IN('distributor_status04','distributor_status09','distributor_status10') ";
List<Map<String, String>> rs = DataOperatorUtil.getDataBySql(Sqlca,sql,null);
if(rs !=null && rs.size()>0) {
// 设置xml标签头
@ -499,7 +499,7 @@ public class VoucherToNCforDistributor implements Job{
// 记录历史批次号
List<String> batchList= new ArrayList<String>();
// 获取未传输及以前传输失败的数据
String sql="SELECT id,DISTRIBUTOR_NAME,DISTRIBUTOR_CODING,DISTRIBUTOR_ADDRESS,FACT_ADDR,PROVINCES,POSTCODE,REGISTERED_ADDR,BUSINESS_SCOPE,SUBSIDIARY_COMPANY,TYPE,BUSINESS_LICENSE_NO,DISTRIBUTOR_STATUS,E_MAIL,FAX_NUMBER,REGISTERED_ASSET,DISTRIBUTORER,MBAFC_EARLYDISBURSEMENT_TYPE,URL FROM DISTRIBUTOR_INFO WHERE (DISTRIBUTOR_CODING NOT IN(SELECT TABLE_NUM FROM NCXML_DETAIL_RECORDS WHERE FLAG ='1' AND XML_TYPE='"+type+"') and DISTRIBUTOR_CODING not in(SELECT cust_id FROM customer_list)) and DISTRIBUTOR_STATUS='distributor_status04' ";
String sql="SELECT id,DISTRIBUTOR_NAME,DISTRIBUTOR_CODING,DISTRIBUTOR_ADDRESS,FACT_ADDR,PROVINCES,POSTCODE,REGISTERED_ADDR,BUSINESS_SCOPE,SUBSIDIARY_COMPANY,TYPE,BUSINESS_LICENSE_NO,DISTRIBUTOR_STATUS,E_MAIL,FAX_NUMBER,REGISTERED_ASSET,DISTRIBUTORER,MBAFC_EARLYDISBURSEMENT_TYPE,URL FROM DISTRIBUTOR_INFO WHERE (DISTRIBUTOR_CODING NOT IN(SELECT TABLE_NUM FROM NCXML_DETAIL_RECORDS WHERE FLAG ='1' AND XML_TYPE='"+type+"') and DISTRIBUTOR_CODING not in(SELECT cust_id FROM customer_list)) and DISTRIBUTOR_STATUS IN('distributor_status04','distributor_status09','distributor_status10') ";
List<Map<String, String>> rs = DataOperatorUtil.getDataBySql(Sqlca,sql,null);
if(rs !=null && rs.size()>0) {
// 设置xml标签头
@ -748,7 +748,7 @@ public class VoucherToNCforDistributor implements Job{
}
/**
* NC传输xml, 获取NC回执xml信息, 根据回执信息更改状态
* NC传输xml, 获取NC回执xml信息, 根据回执信息更改状态
*/
public static void InterActionToNC(Transaction Sqlca,String inputURL,String type,String batch,int count,List<String> batchList) throws Exception {
String updSql=""; // 更新历史记录
@ -771,6 +771,9 @@ public class VoucherToNCforDistributor implements Job{
connection.setDoOutput(true);
connection.setRequestProperty("Content-type", "text/xml");
connection.setRequestMethod("POST");
//connection.setConnectTimeout(1*1);
//connection.setConnectTimeout(600000);
//connection.setReadTimeout(600000);
/**
* 读取本方生成的xml, 传输到NC
@ -788,6 +791,7 @@ public class VoucherToNCforDistributor implements Job{
/**
* 获取NC回执信息
*/
System.out.println("-------------开始获取回执信息--------------");
InputStream inputStream = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(inputStream,"UTF-8");
BufferedReader bufreader = new BufferedReader(isr);
@ -797,6 +801,7 @@ public class VoucherToNCforDistributor implements Job{
xmlString+=b;
xmlString+="\r\n";
}
System.out.println("-------------获取回执信息完成--------------");
System.out.println(xmlString);
bufreader.close();
/**
@ -913,7 +918,7 @@ public class VoucherToNCforDistributor implements Job{
logger.info("本批次包含失败数据 !");
}
}
System.out.println("--------------传输完成-------------");
// 状态为Y表示, 本次导入全部成功
}else if(resSuc.equals("Y")){
logger.info("导入成功");
@ -936,6 +941,7 @@ public class VoucherToNCforDistributor implements Job{
Sqlca.executeSQL(updateSql);
}
}
System.out.println("--------------传输完成-------------");
}else{
logger.info("出现未知错误");
}

View File

@ -185,10 +185,12 @@ public class VoucherToNCforVoucherPZ implements Job{
// v8视图总数据量/ xml中生成的总条数
int a = list.size();
// 设置当前xml生成的条数
int b=1000;
int b=100;
// 获取生成xml文件的数量, 最大循环值=c+1
int c = (int)(a / b);
for (int i = 0; i <=c && a>0; i++) {
for (int i = 0; i <=c && a>0; i++) {
// 用于文件名凭借
year_month_day = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
// 批次号
batch="";
// 记录当前批次传输总量
@ -209,7 +211,7 @@ public class VoucherToNCforVoucherPZ implements Job{
root.addAttribute("replace", replace);
root.addAttribute("roottag", "");
root.addAttribute("sender", sender);
for (int x = i * b; x < (i + 1) * b && x < a; x++) { // 决定当前xml生成的数据量
for (int x = i * b; x < (i + 1) * b && x < a; x++) { // 决定当前xml生成的数据量
// 获取凭证编号
String F3=list.get(x).get("f3");
String F60=list.get(x).get("f60");
@ -609,7 +611,7 @@ public class VoucherToNCforVoucherPZ implements Job{
}
/**
* NC传输xml, 获取NC回执xml信息, 根据回执信息更改状态
* NC传输xml, 获取NC回执xml信息, 根据回执信息更改状态
*/
public static void InterActionToNC(Transaction Sqlca,String inputURL,String type,String batch,int count,List<String> batchList) throws Exception {
String updSql=""; // 更新历史记录
@ -632,6 +634,9 @@ public class VoucherToNCforVoucherPZ implements Job{
connection.setDoOutput(true);
connection.setRequestProperty("Content-type", "text/xml");
connection.setRequestMethod("POST");
//connection.setConnectTimeout(1*1);
//connection.setConnectTimeout(600000);
//connection.setReadTimeout(600000);
/**
* 读取本方生成的xml, 传输到NC
@ -649,6 +654,7 @@ public class VoucherToNCforVoucherPZ implements Job{
/**
* 获取NC回执信息
*/
System.out.println("-------------开始获取回执信息--------------");
InputStream inputStream = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(inputStream,"UTF-8");
BufferedReader bufreader = new BufferedReader(isr);
@ -658,6 +664,7 @@ public class VoucherToNCforVoucherPZ implements Job{
xmlString+=b;
xmlString+="\r\n";
}
System.out.println("-------------获取回执信息完成--------------");
System.out.println(xmlString);
bufreader.close();
/**
@ -774,7 +781,7 @@ public class VoucherToNCforVoucherPZ implements Job{
logger.info("本批次包含失败数据 !");
}
}
System.out.println("--------------传输完成-------------");
// 状态为Y表示, 本次导入全部成功
}else if(resSuc.equals("Y")){
logger.info("导入成功");
@ -797,6 +804,7 @@ public class VoucherToNCforVoucherPZ implements Job{
Sqlca.executeSQL(updateSql);
}
}
System.out.println("--------------传输完成-------------");
}else{
logger.info("出现未知错误");
}

View File

@ -60,7 +60,8 @@ public class VoucherToV8Impl implements VoucherService {
private static final String Return_surplus_income="合同到期申请-将多余还款确认为收入";
private static final String Return_surplus_send="合同到期申请-将多余还款退回";
private static final String ebank_income="回款-银行存款转预收";// 汽车网银导入
private static final String Eband_Returned_Money="网银回款(传统)";// 传统网银导入
private static final String Eband_Returned_Money="回款-银行存款转预收-传统";// 传统网银导入
private static final String Eband_Returned_Money2="回款-银行存款转预收-汽车类传统";// 汽车类传统网银导入
private static final String cardRentMoney="回款-租金回款到账";// 传统网银导入
public String saveMessage(List<Map<String,String>> list,Map<String,String> param,BizObject user,JBOTransaction tx) throws Exception{
@ -91,15 +92,15 @@ public class VoucherToV8Impl implements VoucherService {
String contracid=list.get(i).get("CONTRACT_ID");//合同号
String modularNumber=param.get("MODULAR_NUMBER");//凭证模板名称
//网银导入代收租金 的凭证不需要合同号
if(!Return_Dealer_Margin.equals(modularNumber)&&!Receive_Dealer_Margin.equals(modularNumber)&&!moduleName_value.equals(modularNumber) && !Eband_Returned_Money.equals(modularNumber) && !SPECIAL_MODULENAME.equals(modularNumber)
/*//网银导入代收租金 的凭证不需要合同号
if(!Return_Dealer_Margin.equals(modularNumber)&&!Receive_Dealer_Margin.equals(modularNumber)&&!moduleName_value.equals(modularNumber) && !Eband_Returned_Money.equals(modularNumber) && !Eband_Returned_Money2.equals(modularNumber) && !SPECIAL_MODULENAME.equals(modularNumber)
&& !Return_surplus_income.equals(modularNumber) && !Return_surplus_send.equals(modularNumber) && !ebank_income.equals(modularNumber) && !cardRentMoney.equals(modularNumber) && Tools.isNullOrEmpty(contracid)){
log.error("合同号为空,无法构建对应的凭证信息!");
return null;
}
//检查合同ID是否是正确的
if(!Return_Dealer_Margin.equals(modularNumber)&&!Receive_Dealer_Margin.equals(modularNumber)&&!moduleName_value.equals(modularNumber) && !Eband_Returned_Money.equals(modularNumber) && !SPECIAL_MODULENAME.equals(modularNumber)
if(!Return_Dealer_Margin.equals(modularNumber)&&!Receive_Dealer_Margin.equals(modularNumber)&&!moduleName_value.equals(modularNumber) && !Eband_Returned_Money.equals(modularNumber) && !Eband_Returned_Money2.equals(modularNumber) && !SPECIAL_MODULENAME.equals(modularNumber)
&& !Return_surplus_income.equals(modularNumber) && !Return_surplus_send.equals(modularNumber) && !ebank_income.equals(modularNumber) && !cardRentMoney.equals(modularNumber)){
BizObject contract=JBOFactory.createBizObjectQuery(LB_CONTRACT_INFO.CLASS_NAME, "id=:id").setParameter("id", contracid).getSingleResult(false);
if(contract==null){
@ -112,7 +113,7 @@ public class VoucherToV8Impl implements VoucherService {
d.put("dept_name", org.getAttribute("orgname").getString());
}
}
}
}*/
v8.setAttributesValue(list.get(i));
@ -127,6 +128,7 @@ public class VoucherToV8Impl implements VoucherService {
}
d.put("F12", user.getAttribute("username").getString());//制单人
d.put("F57", param.get("EBANK_SN"));
d.put("F58", param.get("F58"));
d.put("F59", list.get(i).get("SORT_NUMBER"));
d.put("F60",list.get(i).get("CONTRACT_NUMBER"));

View File

@ -146,13 +146,20 @@ public class EbankUse {
if("传统".equals(BUSINESS_TYPE)) {
voucherNo="PZ2018092500000155";
}else if("汽车类传统".equals(BUSINESS_TYPE)) {
voucherNo="PZ2018092500000155";
voucherNo="PZ2019072000000071";
}
// 如果金额小于0, 则为反冲凭证
Map<String, String> map = new HashMap<String, String>();
if(Double.parseDouble(fact_money)<0) {
voucherNo="PZ2018121800000005";
// 判断是汽车类还是传统类, 如果是传统, 则生成传统的分录
if("传统".equals(BUSINESS_TYPE)) {
voucherNo="PZ2019072000000072";
}else if("汽车类传统".equals(BUSINESS_TYPE)) {
voucherNo="PZ2019072000000073";
}else{
voucherNo="PZ2018121800000005";
}
}
param.put("FACT_MONEY", fact_money);
@ -259,13 +266,20 @@ public class EbankUse {
if("传统".equals(BUSINESS_TYPE)) {
voucherNo="PZ2018092500000155";
}else if("汽车类传统".equals(BUSINESS_TYPE)) {
voucherNo="PZ2018092500000155";
voucherNo="PZ2019072000000071";
}
// 如果金额小于0, 则为反冲凭证
Map<String, String> map = new HashMap<String, String>();
if(Double.parseDouble(fact_money)<0) {
voucherNo="PZ2018121800000005";
// 判断是汽车类还是传统类, 如果是传统, 则生成传统的分录
if("传统".equals(BUSINESS_TYPE)) {
voucherNo="PZ2019072000000072";
}else if("汽车类传统".equals(BUSINESS_TYPE)) {
voucherNo="PZ2019072000000073";
}else{
voucherNo="PZ2018121800000005";
}
}
param.put("FACT_MONEY", fact_money);
@ -326,6 +340,7 @@ public class EbankUse {
Map<String, String> map = new HashMap<String, String>();
Map<String, String> param = new HashMap<String, String>();
double mon =0;
// 获取页面传入参数
String VOUCHERNO = this.getVOUCHERNO();
@ -333,7 +348,7 @@ public class EbankUse {
// 通过传入id查询所需数据
map.put("ID", ID);
String sql1 = "SELECT ROUND((getTax ('02', '本金', NOW()) - 1) * 100,0) AS TAX_NUM,LE.MAYOPE_MONEY AS MONEY,ROUND(LE.MAYOPE_MONEY / getTax ('02', '本金', NOW()),2) AS MONEYNOTAX,LE.MAYOPE_MONEY - ROUND(LE.MAYOPE_MONEY / getTax ('02', '本金', NOW()),2) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LE.OWNACC_NUMBER AS ACC_NUMBER,LE.EBANK_SN,CI.CUSTOMER_NUM AS CUSTOMERID,CI.CUSTOMERNAME,LCI.ID AS CONTRACT_ID,LCI.CONTRACT_NUMBER FROM LC_EBANK LE LEFT JOIN (SELECT EBANK_NUMBER,MAX(CONTRACT_ID) AS CONTRACT_ID FROM LC_RENT_INCOME GROUP BY EBANK_NUMBER)LRI ON LRI.EBANK_NUMBER=LE.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRI.CONTRACT_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID=LCI.ID LEFT JOIN CUSTOMER_INFO CI ON CI.CUSTOMERID = LUL.CUSTOMER_ID WHERE LE.ID = :ID AND LUL.IS_MAIN='Y'";
String sql1 = "SELECT ROUND((getTax(LCI.LEAS_FORM,'租金', LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,LE.MAYOPE_MONEY AS MONEY,ROUND(LE.MAYOPE_MONEY / getTax(LCI.LEAS_FORM,'租金', LCCT.START_DATE),2) AS MONEYNOTAX,LE.MAYOPE_MONEY - ROUND(LE.MAYOPE_MONEY / getTax(LCI.LEAS_FORM,'租金', LCCT.START_DATE),2) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LE.OWNACC_NUMBER AS ACC_NUMBER,LE.EBANK_SN,CI.CUSTOMER_NUM AS CUSTOMERID,CI.CUSTOMERNAME,LCI.ID AS CONTRACT_ID,LCI.CONTRACT_NUMBER FROM LC_EBANK LE LEFT JOIN (SELECT EBANK_NUMBER,MAX(CONTRACT_ID) AS CONTRACT_ID FROM LC_RENT_INCOME GROUP BY EBANK_NUMBER) LRI ON LRI.EBANK_NUMBER = LE.ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRI.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CI ON CI.CUSTOMERID = LUL.CUSTOMER_ID WHERE LE.ID = :ID AND LUL.IS_MAIN = 'Y' ";
List<Map<String, String>>dataList = DataOperatorUtil.getDataBySql(Sqlca, sql1, map);
// 获取所需数据
@ -346,7 +361,7 @@ public class EbankUse {
for (Map<String, String> jbo : dataList) {
String MONEY = jbo.get("MONEY").toString();
if ("".equals(MONEY) || MONEY == null)MONEY = "0.00";
double mon = Double.parseDouble(MONEY);
mon = Double.parseDouble(MONEY);
if (mon > 0) {
String MONEYNOTAX = jbo.get("MONEYNOTAX").toString();
String TAX = jbo.get("TAX").toString();
@ -397,20 +412,26 @@ public class EbankUse {
}
}
// 获取参数, 按需修改数据
String SUMMARY = this.getSUMMARY();
// 执行确认收入时, 可核销金额转入已核销金额
if("PZ2018072100000052".equals(VOUCHERNO)) {
String sql2="UPDATE LC_EBANK SET HAD_MONEY=(MAYOPE_MONEY+HAD_MONEY),MAYOPE_MONEY='0.00',SUMMARY=CASE WHEN (SUMMARY IS NULL OR SUMMARY ='') THEN '"+SUMMARY+"' ELSE CONCAT_WS(',',SUMMARY,'"+ SUMMARY + "') END WHERE ID='" + ID + "'";
SqlObject s2= new SqlObject(sql2);
Sqlca.executeSQL(s2);
}else if("PZ2018072100000051".equals(VOUCHERNO)) {// 执行确认退回时, 可核销金额转入非业务金额
String sql3="UPDATE LC_EBANK SET NOWITH_MONEY=(MAYOPE_MONEY+NOWITH_MONEY),MAYOPE_MONEY='0.00',SUMMARY=CASE WHEN (SUMMARY IS NULL OR SUMMARY ='') THEN '"+SUMMARY+"' ELSE CONCAT_WS(',',SUMMARY,'"+ SUMMARY + "') END WHERE ID='" + ID + "'";
SqlObject s3= new SqlObject(sql3);
Sqlca.executeSQL(s3);
}
Sqlca.commit();
if(dataList==null || dataList.isEmpty()){
sMessage = "false1";// 网银未使用
}else if((dataList!=null || !dataList.isEmpty()) && mon==0){
sMessage = "false2";// 可核销金额为0
}else if((dataList!=null || !dataList.isEmpty()) && mon>0){
// 获取参数, 按需修改数据
String SUMMARY = this.getSUMMARY();
// 执行确认收入时, 可核销金额转入已核销金额
if("PZ2018072100000052".equals(VOUCHERNO)) {
String sql2="UPDATE LC_EBANK SET HAD_MONEY=(MAYOPE_MONEY+HAD_MONEY),MAYOPE_MONEY='0.00',SUMMARY=CASE WHEN (SUMMARY IS NULL OR SUMMARY ='') THEN '"+SUMMARY+"' ELSE CONCAT_WS(',',SUMMARY,'"+ SUMMARY + "') END WHERE ID='" + ID + "'";
SqlObject s2= new SqlObject(sql2);
Sqlca.executeSQL(s2);
}else if("PZ2018072100000051".equals(VOUCHERNO)) {// 执行确认退回时, 可核销金额转入非业务金额
String sql3="UPDATE LC_EBANK SET NOWITH_MONEY=(MAYOPE_MONEY+NOWITH_MONEY),MAYOPE_MONEY='0.00',SUMMARY=CASE WHEN (SUMMARY IS NULL OR SUMMARY ='') THEN '"+SUMMARY+"' ELSE CONCAT_WS(',',SUMMARY,'"+ SUMMARY + "') END WHERE ID='" + ID + "'";
SqlObject s3= new SqlObject(sql3);
Sqlca.executeSQL(s3);
}
sMessage = "true";
}
Sqlca.commit();
} catch (Exception e) {
try {
sMessage="false";

View File

@ -30,44 +30,49 @@ public class CreateVoucherMonthSettlementMission implements Job {
Sqlca.commit();
CreateVoucherMonthSettlement vouchermanage=new CreateVoucherMonthSettlement();
vouchermanage.CreateVoucher("PZ2018071200000017");//月结手续费(按月分摊)--回租
//vouchermanage.CreateVoucher("PZ2018080400000104");//月结手续费(按月分摊)--直租
vouchermanage.CreateVoucher("PZ2018072100000048");//月结-确认贴息收入--回租
//vouchermanage.CreateVoucher("PZ2018080400000103");//月结-确认贴息收入--直租
vouchermanage.CreateVoucher("PZ2018071200000016");//月结-确认未实现利息收入--回租
//vouchermanage.CreateVoucher("PZ2018080400000102");//月结-确认未实现利息收入--直租
//vouchermanage.CreateVoucher("PZ2018072100000055");//日结税金--回租
//vouchermanage.CreateVoucher("PZ2018080200000063");//日结税金--直租
/**
* 汽车-回租
*/
vouchermanage.CreateVoucher("PZ2018071200000016");//月结-确认未实现利息收入
vouchermanage.CreateVoucher("PZ2018071200000017");//月结手续费(按月分摊)
vouchermanage.CreateVoucher("PZ2018072100000048");//月结-确认贴息收入
/**
* 传统月结凭证
* */
* 汽车-直租
*/
vouchermanage.CreateVoucher("PZ2019070100000028");//月结-确认未实现利息收入
vouchermanage.CreateVoucher("PZ2019070100000029");//月结手续费(按月分摊)
CreateVoucherMonthSettlementForTradition cmsft = new CreateVoucherMonthSettlementForTradition();
cmsft.CreateVoucher("PZ2018092500000183");//月结-确认未实现利息收入-月付--回租
//vouchermanage.CreateVoucher("PZ2018100900000280");//日结-确认未实现利息收入--直租
/**
* 传统-回租
*/
cmsft.CreateVoucher("PZ2018092500000183");//月结-确认未实现利息收入-月付(传统)
cmsft.CreateVoucher("PZ2018092500000184");//月结-确认未实现利息收入-季付(传统)
/**
* 传统-直租
*/
cmsft.CreateVoucher("PZ2019071800000069");//月结-确认未实现利息收入-月付(传统)
cmsft.CreateVoucher("PZ2019071800000070");//月结-确认未实现利息收入-季付(传统)
cmsft.CreateVoucher("PZ2018092500000184");//月结-确认未实现利息收入-季付--回租
//vouchermanage.CreateVoucher("PZ2018100900000281");//日结-确认租金利息税金--直租
//vouchermanage.CreateVoucher("PZ2018100900000282");//月结-确认未实现利息收入--回租
//vouchermanage.CreateVoucher("PZ2018100900000283");//月结-确认未实现利息收入--直租
// 汽车类传统类日结-月结
/*vouchermanage.CreateVoucher("PZ2018092500000215");//日结-确认未实现利息收入--回租
vouchermanage.CreateVoucher("PZ2018100900000275");//日结-确认未实现利息收入--直租
vouchermanage.CreateVoucher("PZ2018092500000216");//日结-确认租金利息税金--回租
vouchermanage.CreateVoucher("PZ2018100900000277");//日结-确认租金利息税金--直租
vouchermanage.CreateVoucher("PZ2018100900000278");//月结-确认未实现利息收入--回租
vouchermanage.CreateVoucher("PZ2018100900000279");//月结-确认未实现利息收入--直租
*/
/**
* 汽车类传统-回租
*/
cmsft.CreateVoucher("PZ2019072200000106");//月结-确认未实现利息收入-月付(汽车类传统)
cmsft.CreateVoucher("PZ2019072200000107");//月结-确认未实现利息收入-季付(汽车类传统)
/**
* 汽车类传统-直租
*/
cmsft.CreateVoucher("PZ2019072300000144");//月结-确认未实现利息收入-月付(汽车类传统)
cmsft.CreateVoucher("PZ2019072300000145");//月结-确认未实现利息收入-季付(汽车类传统)
String startime2 = StringFunction.getTodayNow();
System.out.println("==================================已完成====================================");
System.out.println("==================================已完成====================================");
System.out.println("==================================已完成====================================");
System.out.println("==================================已完成====================================");
System.out.println("=================================="+startime+"===="+startime2+"====================================");
QuartzUtil.insertLog(startime,"com.tenwa.lease.app.quartzmession.CreateVoucherMonthSettlementMission", "success", "³É¹¦", curUserId);
} catch (Exception e) {
try {