diff --git a/WebContent/Tenwa/Lease/App/Interface/Ebank/LCEbankList.jsp b/WebContent/Tenwa/Lease/App/Interface/Ebank/LCEbankList.jsp index a6a8160ef..217b0753c 100644 --- a/WebContent/Tenwa/Lease/App/Interface/Ebank/LCEbankList.jsp +++ b/WebContent/Tenwa/Lease/App/Interface/Ebank/LCEbankList.jsp @@ -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, 无法确认退回 !"); } } diff --git a/WebContent/Tenwa/Lease/Flow/CollectionAudit/VERIFICATIONSPARE.jsp b/WebContent/Tenwa/Lease/Flow/CollectionAudit/VERIFICATIONSPARE.jsp index c3e10c7f3..dcf486ec1 100644 --- a/WebContent/Tenwa/Lease/Flow/CollectionAudit/VERIFICATIONSPARE.jsp +++ b/WebContent/Tenwa/Lease/Flow/CollectionAudit/VERIFICATIONSPARE.jsp @@ -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); } } diff --git a/config/vouchers.properties b/config/vouchers.properties index c5af99ed7..9af84163a 100644 --- a/config/vouchers.properties +++ b/config/vouchers.properties @@ -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\\ diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java index 4b125f45f..c1e4eb19e 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java @@ -30,11 +30,16 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{ Map map=new HashMap(); Map param=new HashMap(); // 定义全局对象 - 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 {// 集团外 diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForTradition.java index 72ae3582c..41c707ee3 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForTradition.java @@ -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> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); @@ -53,56 +55,47 @@ public class CreateVoucherContractChangeForTradition { String userid ="admin"; for (int i=0;i0){ - 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(); } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherCustCautionMoneyIncome.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherCustCautionMoneyIncome.java index 6a6aa3d7d..8b99d014c 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherCustCautionMoneyIncome.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherCustCautionMoneyIncome.java @@ -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> 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", ""); // 主营类型 diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherDepositDeductionForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherDepositDeductionForTradition.java index bd6fe1a31..fdc77dcfa 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherDepositDeductionForTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherDepositDeductionForTradition.java @@ -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(); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherDepositDeductionToMoney.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherDepositDeductionToMoney.java index ce3846afd..c11c49e31 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherDepositDeductionToMoney.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherDepositDeductionToMoney.java @@ -23,10 +23,13 @@ public class CreateVoucherDepositDeductionToMoney extends BaseBussiness { Map map = new HashMap(); Map param = new HashMap(); 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> 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); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlementForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlementForTradition.java index 59579a082..e21e9c283 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlementForTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlementForTradition.java @@ -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 map=new HashMap(); Map param=new HashMap(); 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> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); + CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl(); String VOUCHER_TYPE="1";// 凭证分类 金蝶 - String userid ="admin"; + for (int i=0;i0){ - 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; } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEbankMoney.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEbankMoney.java index 896f18614..16ebaf138 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEbankMoney.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEbankMoney.java @@ -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(); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherHandlingMoney.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherHandlingMoney.java index 457ab2a53..43f1ef655 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherHandlingMoney.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherHandlingMoney.java @@ -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'"; } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherIncomeForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherIncomeForTradition.java index 61cea3d24..503941e50 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherIncomeForTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherIncomeForTradition.java @@ -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 map = new HashMap(); @@ -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> 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");// 主营类型 } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java index 6134af46f..c37317d0f 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java @@ -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 "; diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractActualPaymentTraditionVoucher.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractActualPaymentTraditionVoucher.java index 49844fac9..2d1abd65d 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractActualPaymentTraditionVoucher.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractActualPaymentTraditionVoucher.java @@ -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"; } } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractBeforeOnhireToVoucher.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractBeforeOnhireToVoucher.java index e4b10b997..0e1b16f19 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractBeforeOnhireToVoucher.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractBeforeOnhireToVoucher.java @@ -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"; } } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractEarlySettlementSQForCarTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractEarlySettlementSQForCarTradition.java index 2ddcf1d57..3491d2303 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractEarlySettlementSQForCarTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractEarlySettlementSQForCarTradition.java @@ -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"; } } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireChangeForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireChangeForTradition.java index b03f372d4..fd65448f4 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireChangeForTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireChangeForTradition.java @@ -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"; } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucher.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucher.java index 4af26f31b..8137b1ffd 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucher.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucher.java @@ -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"; } } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucherTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucherTradition.java index b6f7ff32a..babd948b2 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucherTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucherTradition.java @@ -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"; } } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractPranayamaForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractPranayamaForTradition.java index ca8c22469..97c8dd0a1 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractPranayamaForTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractPranayamaForTradition.java @@ -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"; } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/CreateVoucherDepositDeduction.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/CreateVoucherDepositDeduction.java index 1dc4c1277..48d72701b 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/CreateVoucherDepositDeduction.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/CreateVoucherDepositDeduction.java @@ -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"; } - } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucher.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucher.java index b9365b191..e14a9e873 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucher.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucher.java @@ -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"; } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucherForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucherForTradition.java index 47242983a..56b1d8e79 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucherForTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucherForTradition.java @@ -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"; } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/RedIncomeVoucher.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/RedIncomeVoucher.java index 89f7567c8..5de15a790 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/RedIncomeVoucher.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/RedIncomeVoucher.java @@ -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"; } } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/RedIncomeVoucherForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/RedIncomeVoucherForTradition.java index 38c116fbe..c05b73b0b 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/RedIncomeVoucherForTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/RedIncomeVoucherForTradition.java @@ -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"; } } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/UpdateStartDateforHireDate.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/UpdateStartDateforHireDate.java index 9b73f1eb5..0ed346e3f 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/UpdateStartDateforHireDate.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/UpdateStartDateforHireDate.java @@ -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"; } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/VoucherDepositDeductionForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/VoucherDepositDeductionForTradition.java index cd775629a..dce247241 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/VoucherDepositDeductionForTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/VoucherDepositDeductionForTradition.java @@ -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"; } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlement.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlement.java index 94d65b2c2..99ba2fd59 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlement.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlement.java @@ -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 map=new HashMap(); - Map param=new HashMap(); - // 定义全局变量 - 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> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); + Transaction Sqlca = null; + try { + Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); + Map map = new HashMap(); + Map param = new HashMap(); + // 定义全局变量 + 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;i0){ - 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> 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; + } } } } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlementForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlementForTradition.java index 299d0e007..094946f0e 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlementForTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlementForTradition.java @@ -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> 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); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherOnhireTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherOnhireTradition.java index b4c3ba19b..b1c67b12e 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherOnhireTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherOnhireTradition.java @@ -26,7 +26,9 @@ public class CreateVoucherOnhireTradition extends BaseBussiness{ Map map=new HashMap(); Map param=new HashMap(); // 定义全局对象 - 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;i0 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> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, null); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedDashedIncomeTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedDashedIncomeTradition.java index b7e7269e1..9931759b3 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedDashedIncomeTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedDashedIncomeTradition.java @@ -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 map = new HashMap(); @@ -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> 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", "");// 现金流项目 diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedRentIncome.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedRentIncome.java index cb5544482..129db5e79 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedRentIncome.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedRentIncome.java @@ -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> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); @@ -68,26 +72,29 @@ public class CreateVoucherRedRentIncome { String VOUCHER_TYPE="1";// 凭证分类 金蝶 for (int i=0;i map=new HashMap(); Map param=new HashMap(); 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') > dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl(); String VOUCHER_TYPE="1";// 凭证分类 金蝶 - String userid ="admin"; for (int i=0;i> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl(); + CreateVoucherRedCompensatory cvrc = new CreateVoucherRedCompensatory(); String VOUCHER_TYPE="1";// 凭证分类 金蝶 for (int i=0;i> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); CreateVoucherServiceImpl vs=new CreateVoucherServiceImpl(); @@ -74,76 +96,76 @@ public class CreateVoucherRentIncomeTradition { for (int i=0;i0){ - 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(); } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherToBeforeOnhire.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherToBeforeOnhire.java index bb5f79218..59c785b0e 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherToBeforeOnhire.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherToBeforeOnhire.java @@ -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 map = new HashMap(); Map param = new HashMap(); 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> 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(); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java index 17cb5d368..ce251496e 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java @@ -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 map=new HashMap(); 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> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sql1, null); - List> dataList11=DataOperatorUtil.getDataBySql(Sqlca, sql11, null); - List> dataList2=DataOperatorUtil.getDataBySql(Sqlca, sql2, null); - List> dataList22=DataOperatorUtil.getDataBySql(Sqlca, sql22, null); - List> dataList3=DataOperatorUtil.getDataBySql(Sqlca, sql3, null); - List> 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> dataListqh1=DataOperatorUtil.getDataBySql(Sqlca, sqlqh1, null); + List> dataListqh11=DataOperatorUtil.getDataBySql(Sqlca, sqlqh11, null); + List> dataListqh2=DataOperatorUtil.getDataBySql(Sqlca, sqlqh2, null); + List> dataListqh22=DataOperatorUtil.getDataBySql(Sqlca, sqlqh22, null); + List> dataListqh3=DataOperatorUtil.getDataBySql(Sqlca, sqlqh3, null); + List> dataListqh33=DataOperatorUtil.getDataBySql(Sqlca, sqlqh33, null); + /** + * 汽车直租 + */ + List> dataListqz1= DataOperatorUtil.getDataBySql(Sqlca, sqlqz1, null); + List> dataListqz11=DataOperatorUtil.getDataBySql(Sqlca, sqlqz11, null); + List> dataListqz2= DataOperatorUtil.getDataBySql(Sqlca, sqlqz2, null); + List> dataListqz22=DataOperatorUtil.getDataBySql(Sqlca, sqlqz22, null); + List> dataListqz3= DataOperatorUtil.getDataBySql(Sqlca, sqlqz3, null); + List> 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 list = new ArrayList(); + for (Map map1 : dataListqh1) { + if(!list.contains(map1.get("F58"))){ + list.add(map1.get("F58")); + } + } + for (Map map2 : dataListqh2) { + if(!list.contains(map2.get("F58"))){ + list.add(map2.get("F58")); + } + } + for (Map map3 : dataListqh3) { + if(!list.contains(map3.get("F58"))){ + list.add(map3.get("F58")); + } + } + for (Map map1 : dataListqz1) { + if(!list.contains(map1.get("F58"))){ + list.add(map1.get("F58")); + } + } + for (Map map2 : dataListqz2) { + if(!list.contains(map2.get("F58"))){ + list.add(map2.get("F58")); + } + } + for (Map 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(); } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/VoucherGetMoneyForTradition/ContractGetMoneyToCorpusAddInterestTAX.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/VoucherGetMoneyForTradition/ContractGetMoneyToCorpusAddInterestTAX.java new file mode 100644 index 000000000..2f53db805 --- /dev/null +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/VoucherGetMoneyForTradition/ContractGetMoneyToCorpusAddInterestTAX.java @@ -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 getJavaParam(JBOTransaction tx,Map param,Map subData) throws BusinessException { + MapreturnValue=new HashMap(); + returnValue.putAll(param); + returnValue.put("MONEY",param.get("CORPUS_ADD_INTEREST_TAX")); + return returnValue; + } +} diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/VoucherGetMoneyForTradition/ContractGetMoneyToCorpusTAX.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/VoucherGetMoneyForTradition/ContractGetMoneyToCorpusTAX.java new file mode 100644 index 000000000..817b44c3c --- /dev/null +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/VoucherGetMoneyForTradition/ContractGetMoneyToCorpusTAX.java @@ -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 getJavaParam(JBOTransaction tx,Map param,Map subData) throws BusinessException { + MapreturnValue=new HashMap(); + returnValue.putAll(param); + returnValue.put("MONEY",param.get("CORPUS_TAX")); + return returnValue; + } +} diff --git a/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java b/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java index 7428564be..43d219a69 100644 --- a/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java +++ b/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java @@ -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); diff --git a/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforAssistContract.java b/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforAssistContract.java index cfcb0beb4..40daf161f 100644 --- a/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforAssistContract.java +++ b/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforAssistContract.java @@ -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 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("出现未知错误"); } diff --git a/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforCustomer.java b/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforCustomer.java index 5550b1778..7eaf7828f 100644 --- a/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforCustomer.java +++ b/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforCustomer.java @@ -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 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("出现未知错误"); } diff --git a/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforDistributor.java b/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforDistributor.java index 33785e0d5..a7a04c3d8 100644 --- a/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforDistributor.java +++ b/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforDistributor.java @@ -157,7 +157,7 @@ public class VoucherToNCforDistributor implements Job{ List batchList= new ArrayList(); // 获取未传输及以前传输失败的数据 - 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> rs = DataOperatorUtil.getDataBySql(Sqlca,sql,null); if(rs !=null && rs.size()>0) { // 设置xml标签头 @@ -499,7 +499,7 @@ public class VoucherToNCforDistributor implements Job{ // 记录历史批次号 List batchList= new ArrayList(); // 获取未传输及以前传输失败的数据 - 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> 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 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("出现未知错误"); } diff --git a/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforVoucherPZ.java b/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforVoucherPZ.java index 8258cade8..94b81e1ad 100644 --- a/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforVoucherPZ.java +++ b/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforVoucherPZ.java @@ -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 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("出现未知错误"); } diff --git a/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java b/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java index f9f921b6c..c6697ea17 100644 --- a/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java +++ b/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java @@ -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> list,Map 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")); diff --git a/src_tenwa/com/tenwa/lease/app/ebank/EbankUse.java b/src_tenwa/com/tenwa/lease/app/ebank/EbankUse.java index fd6244bd7..9047a63cd 100644 --- a/src_tenwa/com/tenwa/lease/app/ebank/EbankUse.java +++ b/src_tenwa/com/tenwa/lease/app/ebank/EbankUse.java @@ -146,13 +146,20 @@ public class EbankUse { if("传统".equals(BUSINESS_TYPE)) { voucherNo="PZ2018092500000155"; }else if("汽车类传统".equals(BUSINESS_TYPE)) { - voucherNo="PZ2018092500000155"; + voucherNo="PZ2019072000000071"; } // 如果金额小于0, 则为反冲凭证 Map map = new HashMap(); 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 map = new HashMap(); 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 map = new HashMap(); Map param = new HashMap(); + 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>dataList = DataOperatorUtil.getDataBySql(Sqlca, sql1, map); // 获取所需数据 @@ -346,7 +361,7 @@ public class EbankUse { for (Map 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"; diff --git a/src_tenwa/com/tenwa/lease/app/quartzmession/CreateVoucherMonthSettlementMission.java b/src_tenwa/com/tenwa/lease/app/quartzmession/CreateVoucherMonthSettlementMission.java index 5dfb0d166..5e621bf87 100644 --- a/src_tenwa/com/tenwa/lease/app/quartzmession/CreateVoucherMonthSettlementMission.java +++ b/src_tenwa/com/tenwa/lease/app/quartzmession/CreateVoucherMonthSettlementMission.java @@ -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 {