diff --git a/WebContent/Tenwa/Lease/voucher/TAX_CODE_LIST.jsp b/WebContent/Tenwa/Lease/voucher/TAX_CODE_LIST.jsp index aba7ce611..ce7807336 100644 --- a/WebContent/Tenwa/Lease/voucher/TAX_CODE_LIST.jsp +++ b/WebContent/Tenwa/Lease/voucher/TAX_CODE_LIST.jsp @@ -15,7 +15,7 @@ //0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标,CSS层叠样式 10、风格 String sButtons[][] = { {"true","All","Button","新增","新增","newRecord()","","","","btn_icon_add",""}, - {"true","","Button","详情","详情","viewAndEdit()","","","","btn_icon_detail",""}, + {"true","","Button","修改","修改","viewAndEdit()","","","","btn_icon_detail",""}, {"true","","Button","删除","删除","if(confirm('确实要删除吗?'))as_delete(0,'')","","","","btn_icon_delete",""}, }; diff --git a/WebContent/WEB-INF/etc/jbo/jbo_voucher.xml b/WebContent/WEB-INF/etc/jbo/jbo_voucher.xml index d5d59a744..a9a0949a7 100644 --- a/WebContent/WEB-INF/etc/jbo/jbo_voucher.xml +++ b/WebContent/WEB-INF/etc/jbo/jbo_voucher.xml @@ -228,6 +228,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src_core/com/tenwa/officetempalte/importcallback/impl/LCEbankCallBack.java b/src_core/com/tenwa/officetempalte/importcallback/impl/LCEbankCallBack.java index cfb038d3f..9d377018b 100644 --- a/src_core/com/tenwa/officetempalte/importcallback/impl/LCEbankCallBack.java +++ b/src_core/com/tenwa/officetempalte/importcallback/impl/LCEbankCallBack.java @@ -9,6 +9,7 @@ import java.util.Map; import jbo.app.tenwa.calc.LC_EBANK; import jbo.com.tenwa.entity.comm.own.OWN_ACCOUNT; +import jbo.voucher.LV_DEFAULT_ATTRIBUTE; import com.amarsoft.app.lc.util.DateAssistant; import com.amarsoft.are.jbo.BizObject; @@ -107,14 +108,14 @@ public class LCEbankCallBack extends BaseImportExcelCallBack { //检验网银编号不重复 String ebank_sn=importObject.getAttribute("ebank_sn").toString(); - //与已有的网银编号比较 + /*//与已有的网银编号比较 BizObjectManager bom=JBOFactory.getBizObjectManager(LC_EBANK.CLASS_NAME); tx.join(bom); String sql="select ebank_sn from O where ebank_sn='"+ebank_sn+"'"; List ebanklist=bom.createQuery(sql).getResultList(false); if(ebanklist.size()>0){ throw new BusinessException("网银编号不能重复"); - } + }*/ //检验本方帐户 String OWN_BANK=importObject.getAttribute("OWN_BANK").toString(); @@ -129,7 +130,7 @@ public class LCEbankCallBack extends BaseImportExcelCallBack { flag=true; } if(flag==false){ - throw new BusinessException("本方账户信息不匹配"); + throw new BusinessException("网银:"+ebank_sn+", 本方账户信息不匹配 !"); } } @@ -138,6 +139,10 @@ public class LCEbankCallBack extends BaseImportExcelCallBack { List ebankSns = new ArrayList(); boolean flag = false; String ebs = ""; + List list=JBOFactory.createBizObjectQuery(LC_EBANK.CLASS_NAME,null).getResultList(false); + for(int i=0;i> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForTradition.java index f37cfb788..72ae3582c 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractChangeForTradition.java @@ -42,7 +42,7 @@ public class CreateVoucherContractChangeForTradition { 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 LCCT.FLOWUNID = :FLOWUNID "; + 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 "; } //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 "; diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractTerminate.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractTerminate.java index 97a000d19..331dfae0c 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractTerminate.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherContractTerminate.java @@ -5,8 +5,10 @@ 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; @@ -39,6 +41,7 @@ public class CreateVoucherContractTerminate { String CUSTNAME=null; String CUSTOMERTYPE=null; String BUSINESSTYPE=null; + String TAX_NUM=null; // 金额类型 String date1=""; @@ -68,24 +71,24 @@ public class CreateVoucherContractTerminate { // 调整未实现利息收入 if("PZ2018072100000045".equals(VOUCHERNO)){ - sql="SELECT IFNULL(LRPT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRPT.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)) 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,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 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 = '1' AND LCRAT.FLOWUNID = :FLOWUNID "; + sql="SELECT IFNULL(LRPT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRPT.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)) 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,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 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 = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID "; // 收到的逾期租金 }else if("PZ2018081700000127".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') > dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map); CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl(); @@ -73,7 +76,12 @@ public class CreateVoucherDepositDeductionToMoney extends BaseBussiness { CUSTNAME = dataList.get(i).get("CUSTOMERNAME"); CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE"); BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE"); - + // 通过税率获取编码 + 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); @@ -93,6 +101,10 @@ public class CreateVoucherDepositDeductionToMoney extends BaseBussiness { param.put("CUSTOMERTYPE", CUSTOMERTYPE); param.put("BUSINESSTYPE", "0603"); param.put("FlowUnid", FlowUnid); + if(TAX_CODES!=null) { + param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); + } + map.clear(); map.put("PROJ_TYPE", leas_form); map.put("VOUCHER_NO", VOUCHERNO); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlementForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlementForTradition.java index 3adf026fc..59579a082 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlementForTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherEarlySettlementForTradition.java @@ -41,29 +41,29 @@ public class CreateVoucherEarlySettlementForTradition { 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 LFRA.FLOWUNID = :FLOWUNID "; + 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 LFRA.FLOWUNID = :FLOWUNID "; + 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 LFRA.FLOWUNID = :FLOWUNID "; + 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 LFRA.FLOWUNID = :FLOWUNID "; + 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 LFRA.FLOWUNID = :FLOWUNID "; + 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 LFRA.FLOWUNID = :FLOWUNID "; + 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 LFRA.FLOWUNID = :FLOWUNID "; + 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 LFRA.FLOWUNID = :FLOWUNID "; + 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 LFRA.FLOWUNID = :FLOWUNID "; + 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 LFRA.FLOWUNID = :FLOWUNID "; + 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 LFRA.FLOWUNID = :FLOWUNID "; + 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 LFRA.FLOWUNID = :FLOWUNID "; + 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)) {// 收到名义货价(传统) diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherForInterestSubsidyImport.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherForInterestSubsidyImport.java index 25c279cd5..a128d85a4 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherForInterestSubsidyImport.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherForInterestSubsidyImport.java @@ -6,7 +6,10 @@ 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.are.jbo.JBOTransaction; import com.amarsoft.awe.util.Transaction; import com.amarsoft.dict.als.cache.CacheLoaderFactory; @@ -53,11 +56,12 @@ public class CreateVoucherForInterestSubsidyImport { String CUSTNAME=null; String SUBJECTCODE=null; String ACC_NUMBER=null; + String TAX_NUM=null; String voucherNo = "PZ2018072100000028"; Map param = new HashMap(); // 获取新导入的贴息数据 - String sql = "SELECT IFNULL(LD.DISCOUNT_MONEY, 0) AS MONEY,IFNULL(ROUND(LD.DISCOUNT_MONEY/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LD.DISCOUNT_MONEY- ROUND(LD.DISCOUNT_MONEY/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LD.RECEIVED_DATE, '%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,LD.BANK_SUBJECT AS SUBJECTCODE,LD.ACC_NUMBER FROM LB_DISCOUNT LD LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.FRAME_NUMBER=LD.FRAME_NUMBER LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LEC.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LCCT.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 IS_VOUCHER IS NULL "; + String sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LD.DISCOUNT_MONEY, 0) AS MONEY,IFNULL(ROUND(LD.DISCOUNT_MONEY/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LD.DISCOUNT_MONEY- ROUND(LD.DISCOUNT_MONEY/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LD.RECEIVED_DATE, '%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,LD.BANK_SUBJECT AS SUBJECTCODE,LD.ACC_NUMBER FROM LB_DISCOUNT LD LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.FRAME_NUMBER=LD.FRAME_NUMBER LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LEC.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LCCT.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 IS_VOUCHER IS NULL AND lul.IS_MAIN='Y' "; // 查询sql, 将结果集封装到list集合中 List> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, null); CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl(); @@ -82,7 +86,12 @@ public class CreateVoucherForInterestSubsidyImport { CUSTNAME=dataList.get(i).get("CUSTOMERNAME"); SUBJECTCODE=dataList.get(i).get("SUBJECTCODE"); ACC_NUMBER=dataList.get(i).get("ACC_NUMBER"); - + // 通过税率获取编码 + 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); @@ -99,6 +108,10 @@ public class CreateVoucherForInterestSubsidyImport { param.put("SUBJECTCODE",SUBJECTCODE); param.put("ACC_NUMBER",ACC_NUMBER); param.put("VOUCHERNO",voucherNo); + if(TAX_CODES!=null) { + param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); + } + param.put("CASHFLOW", "11213");// 现金流项目 Map map = new HashMap(); @@ -133,11 +146,12 @@ public class CreateVoucherForInterestSubsidyImport { String CUSTNAME=null; String SUBJECTCODE=null; String ACC_NUMBER=null; + String TAX_NUM=null; String voucherNo = "PZ2018072100000041"; Map param = new HashMap(); // 获取新导入的贴息数据 - String sql = "SELECT -IFNULL(LD.DISCOUNT_MONEY, 0) AS MONEY,-IFNULL(ROUND(LD.DISCOUNT_MONEY / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2),0) AS MONEYNOTAX,-IFNULL((LD.DISCOUNT_MONEY - ROUND(LD.DISCOUNT_MONEY / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,LD.BANK_SUBJECT AS SUBJECTCODE,LD.ACC_NUMBER FROM LB_DISCOUNT LD LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.FRAME_NUMBER = LD.FRAME_NUMBER LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LEC.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LCCT.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 LD.ID=:ID"; + String sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,-IFNULL(LD.DISCOUNT_MONEY, 0) AS MONEY,-IFNULL(ROUND(LD.DISCOUNT_MONEY / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2),0) AS MONEYNOTAX,-IFNULL((LD.DISCOUNT_MONEY - ROUND(LD.DISCOUNT_MONEY / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,LD.BANK_SUBJECT AS SUBJECTCODE,LD.ACC_NUMBER FROM LB_DISCOUNT LD LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.FRAME_NUMBER = LD.FRAME_NUMBER LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LEC.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LCCT.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 AND lul.IS_MAIN='Y' LD.ID=:ID"; // 查询sql, 将结果集封装到list集合中 Mapmap1 = new HashMap(); map1.put("ID",id); @@ -165,6 +179,12 @@ public class CreateVoucherForInterestSubsidyImport { CUSTNAME=dataList.get(i).get("CUSTOMERNAME"); SUBJECTCODE=dataList.get(i).get("SUBJECTCODE"); ACC_NUMBER=dataList.get(i).get("ACC_NUMBER"); + 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); @@ -182,6 +202,9 @@ public class CreateVoucherForInterestSubsidyImport { param.put("SUBJECTCODE",SUBJECTCODE); param.put("ACC_NUMBER",ACC_NUMBER); param.put("VOUCHERNO",voucherNo); + if(TAX_CODES!=null) { + param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); + } param.put("CASHFLOW", "11213");// 现金流项目 Map map = new HashMap(); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherIncomeForTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherIncomeForTradition.java index b91ee7b6f..e274de100 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherIncomeForTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherIncomeForTradition.java @@ -5,8 +5,10 @@ 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; @@ -40,6 +42,7 @@ public class CreateVoucherIncomeForTradition extends BaseBussiness { String CUSTOMERTYPE = null; String BUSINESSTYPE = null; String ACC_NUM = null; + String TAX_NUM = null; String sql = ""; param.clear(); map.put("FlowUnid", FlowUnid); @@ -48,16 +51,16 @@ 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(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.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 LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID "; + 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(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.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)){ - 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(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.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 LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.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(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(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.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(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.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 LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID "; + 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(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.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)){ - 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(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.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 LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.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(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(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.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); @@ -88,7 +91,13 @@ public class CreateVoucherIncomeForTradition extends BaseBussiness { CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE"); BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE"); ACC_NUM = dataList.get(i).get("ACC_NUMBER"); - + 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); @@ -108,6 +117,9 @@ public class CreateVoucherIncomeForTradition extends BaseBussiness { param.put("BUSINESSTYPE", BUSINESSTYPE); param.put("ACC_NUMBER", ACC_NUM); param.put("VOUCHERNO", VOUCHERNO); + if(TAX_CODES!=null) { + param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); + } //回款-收到的违约金/罚款--回租 if("PZ2018092500000173".equals(VOUCHERNO)) { diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java index 0f53bae01..af9d1873c 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java @@ -6,6 +6,7 @@ import java.util.Map; import jbo.app.tenwa.customer.CUSTOMER_LIST; import jbo.voucher.LV_VOUCHER_CONFIG; +import jbo.voucher.TAX_CODE; import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.JBOFactory; @@ -22,7 +23,6 @@ public class CreateVoucherLoanDistributor { Map param=new HashMap(); Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); - String MONEY=null; String MONEYNOTAX=null; String MONEYTAX=null; @@ -49,6 +49,8 @@ public class CreateVoucherLoanDistributor { String ACC_NUMBER=null; String REQNBR=null; String TAX_TYPE=null; + String TAX_NUM=null; + String sql=""; String moneyDataSource=""; param.clear(); @@ -86,7 +88,7 @@ public class CreateVoucherLoanDistributor { sql="SELECT IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEY,IFNULL(LCCT.FIRST_PAYMENT, 0) AS MONEYNOTAX,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND PSL.operationType = 'DYCD' AND LFIT.FLOWUNID = :FLOWUNID "; //sql="SELECT IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEY,IFNULL(LCCT.FIRST_PAYMENT, 0) AS MONEYNOTAX,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID "; }else { - sql="SELECT IFNULL("+moneyDataSource+", 0) AS MONEY,IFNULL(ROUND("+moneyDataSource+"/getTax (lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL("+moneyDataSource+" - ROUND("+moneyDataSource+" / getTax (lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MIN(ACC_NUMBER) ACC_NUMBER,MIN(EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS= '05' AND lfit.FLOWUNID = :FLOWUNID "; + sql="SELECT ROUND((getTax(lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL("+moneyDataSource+", 0) AS MONEY,IFNULL(ROUND("+moneyDataSource+"/getTax (lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL("+moneyDataSource+" - ROUND("+moneyDataSource+" / getTax (lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MIN(ACC_NUMBER) ACC_NUMBER,MIN(EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS= '05' AND lfit.FLOWUNID = :FLOWUNID "; } //else if("PZ2018122000000010".equals(VOUCHERNO)){ @@ -173,6 +175,12 @@ public class CreateVoucherLoanDistributor { BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE"); ACC_NUMBER=dataList.get(i).get("ACC_NUMBER"); REQNBR=dataList.get(i).get("REQNBR"); + 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); @@ -200,6 +208,9 @@ public class CreateVoucherLoanDistributor { param.put("ACC_NUMBER",ACC_NUMBER); param.put("REQNBR",REQNBR); param.put("VOUCHERNO",VOUCHERNO); + if(TAX_CODES!=null) { + param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); + } } // 通过客户名称获取客户编码维护里面的数据, 如果有数据说明是集团内, 如果没有数据说明是集团外 BizObject cust_list1=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+DISTRIBUTOR_ID+"'").getSingleResult(false); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlement.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlement.java index ce0460b08..920b2434e 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlement.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlement.java @@ -9,9 +9,11 @@ import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import jbo.voucher.LV_VOUCHER_CONFIG; +import jbo.voucher.TAX_CODE; import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.JBOException; +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; @@ -43,6 +45,7 @@ public class CreateVoucherMonthSettlement{ String CUSTNAME=null; String CUSTOMERTYPE=null; String BUSINESSTYPE=null; + String TAX_NUM=null; String F58=null; param.clear(); String sql=""; @@ -67,12 +70,12 @@ public class CreateVoucherMonthSettlement{ // 月结利息 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 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 (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 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+"%') "; + 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 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 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 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+"%') "; + 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 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+"%') "; + 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+"%') "; } /*//租金的利息税金 @@ -112,29 +115,38 @@ public class CreateVoucherMonthSettlement{ CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE"); BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE"); F58=dataList.get(i).get("ID"); - - 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); - - param.put("BUSINESSTYPE", "0604"); // 主营类型 + 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("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()); + } + + param.put("BUSINESSTYPE", "0604"); // 主营类型 map.clear(); map.put("PROJ_TYPE", leas_form); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherOnhireTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherOnhireTradition.java index 4ab1dc0de..b4c3ba19b 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherOnhireTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherOnhireTradition.java @@ -46,7 +46,7 @@ public class CreateVoucherOnhireTradition extends BaseBussiness{ 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 LCCT.FLOWUNID = :FLOWUNID "; + 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 "; } param.clear(); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedDashedIncomeTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedDashedIncomeTradition.java index 64cfa7971..b7e7269e1 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedDashedIncomeTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedDashedIncomeTradition.java @@ -5,8 +5,10 @@ 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; @@ -41,6 +43,7 @@ public class CreateVoucherRedDashedIncomeTradition extends BaseBussiness { String CUSTOMERTYPE = null; String BUSINESSTYPE = null; String ACC_NUMBER = null; + String TAX_NUM = null; String TaxType=""; String sql = ""; param.clear(); @@ -57,7 +60,7 @@ public class CreateVoucherRedDashedIncomeTradition extends BaseBussiness { TaxType="留购价"; } - sql = "SELECT 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 LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID "; + 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)) { @@ -90,6 +93,12 @@ public class CreateVoucherRedDashedIncomeTradition extends BaseBussiness { CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE"); BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE"); ACC_NUMBER = dataList.get(i).get("ACC_NUMBER"); + 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); @@ -108,6 +117,9 @@ public class CreateVoucherRedDashedIncomeTradition extends BaseBussiness { param.put("BUSINESSTYPE", BUSINESSTYPE); param.put("ACC_NUMBER", ACC_NUMBER); param.put("VOUCHERNO", VOUCHERNO); + if(TAX_CODES!=null) { + param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); + } //收到客户手续费--回租 if("PZ2018092500000176".equals(VOUCHERNO)) { diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedRentIncome.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedRentIncome.java index 4b3741399..233c9b190 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedRentIncome.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedRentIncome.java @@ -5,9 +5,11 @@ 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.JBOException; +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; @@ -40,6 +42,7 @@ public class CreateVoucherRedRentIncome { String CUSTNAME=null; String CUSTOMERTYPE=null; String BUSINESSTYPE=null; + String TAX_NUM=null; String sql=""; param.clear(); @@ -48,16 +51,16 @@ public class CreateVoucherRedRentIncome { map.put("FLOWUNID", FlowUnid); // 收到的租金 if("PZ2018072100000037".equals(VOUCHERNO)){ - sql= "SELECT 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 "; + 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 "; // 收到的逾期利息 }else if("PZ2018072100000038".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,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 "; + 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("PZ2018072100000039".equals(VOUCHERNO)) { - sql="SELECT 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 "; + 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("PZ2018072100000043".equals(VOUCHERNO)) { - sql="SELECT 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 "; + 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 "; } List> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); @@ -85,6 +88,12 @@ public class CreateVoucherRedRentIncome { 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); @@ -106,6 +115,9 @@ public class CreateVoucherRedRentIncome { param.put("CUSTNAME",CUSTNAME); param.put("CUSTOMERTYPE",CUSTOMERTYPE); param.put("BUSINESSTYPE",BUSINESSTYPE); + if(TAX_CODES!=null) { + param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); + } if("1".equals(BUSINESSTYPE)){ if("PZ2018072100000037".equals(VOUCHERNO)) { diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedRentIncomeTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedRentIncomeTradition.java index 090098b92..f191c683e 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedRentIncomeTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherRedRentIncomeTradition.java @@ -5,9 +5,11 @@ 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.JBOException; +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; @@ -45,6 +47,7 @@ public class CreateVoucherRedRentIncomeTradition { String CUSTOMERTYPE=null; String BUSINESSTYPE=null; String ACC_NUM=null; + String TAX_NUM=null; String sql=""; param.clear(); map.clear(); @@ -52,19 +55,19 @@ public class CreateVoucherRedRentIncomeTradition { // 收到的租金-月付-3--回租 if("PZ2018092500000179".equals(VOUCHERNO)){ - sql= "SELECT 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 LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR ='income_1' AND DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') > dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map); @@ -93,6 +96,12 @@ public class CreateVoucherRedRentIncomeTradition { CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE"); BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE"); ACC_NUM=dataList.get(i).get("OWN_NUMBER"); + 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("INTEREST",MONEY); param.put("INTERESTNOTAX",MONEYNOTAX); @@ -115,6 +124,9 @@ public class CreateVoucherRedRentIncomeTradition { param.put("BUSINESSTYPE",BUSINESSTYPE); param.put("ACC_NUMBER",ACC_NUM); param.put("VOUCHERNO",VOUCHERNO); + if(TAX_CODES!=null) { + param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); + } if("PZ2018100900000263".equals(VOUCHERNO)) { param.put("BUSINESSTYPE", "0604");// 主营类型 diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherToBeforeOnhire.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherToBeforeOnhire.java index b35b3933e..9d1977e14 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherToBeforeOnhire.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherToBeforeOnhire.java @@ -5,8 +5,10 @@ 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; @@ -38,6 +40,7 @@ public class CreateVoucherToBeforeOnhire extends BaseBussiness { String CUSTOMERTYPE = null; String BUSINESSTYPE = null; String ACC_NUM = null; + String TAX_NUM = null; String tax_type=""; String sql = ""; param.clear(); @@ -54,7 +57,7 @@ public class CreateVoucherToBeforeOnhire extends BaseBussiness { } // 传统 if("PZ2018092500000156".equals(VOUCHERNO) || "PZ2018092500000157".equals(VOUCHERNO) || "PZ2018092500000158".equals(VOUCHERNO)) { - 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(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_union_lessee lul ON lul.contract_id = lci.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 "; + 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(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_union_lessee lul ON lul.contract_id = lci.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(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_union_lessee lul ON lul.contract_id = lci.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 "; } @@ -91,7 +94,12 @@ public class CreateVoucherToBeforeOnhire extends BaseBussiness { CUSTOMERNAME = dataList.get(i).get("CUSTOMERNAME"); CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE"); BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE"); - // ACC_NUM = dataList.get(i).get("ACC_NUMBER"); + 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); @@ -108,9 +116,10 @@ public class CreateVoucherToBeforeOnhire extends BaseBussiness { param.put("CUSTNAME", CUSTOMERNAME); param.put("CUSTOMERTYPE", CUSTOMERTYPE); param.put("BUSINESSTYPE", BUSINESSTYPE); - /*if(!"PZ2018092500000157".equals(VOUCHERNO) || !"PZ2018092600000245".equals(VOUCHERNO) || !"PZ2018092500000158".equals(VOUCHERNO) || !"PZ2018092600000246".equals(VOUCHERNO)) { - param.put("ACC_NUMBER", ACC_NUM); - }*/ + if(TAX_CODES!=null) { + param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); + } + param.put("VOUCHERNO", VOUCHERNO); // 传统类型 diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java index f3502bb42..4e05fab38 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java @@ -46,22 +46,21 @@ public class InsertVoucherRentIncome { map.put("VOUCHER_NO", VOUCHERNO); BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); if(vouch!=null){ - /** * 汽车类 */ //收到的租金--网银-未逾期及逾期未过月的--(汽车) if("PZ2018072100000024".equals(VOUCHERNO)){ - sql_where="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,f75,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') f1,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,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,'定时任务-每天生成租金实收凭证',DATE_FORMAT(SYSDATE(), '%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' WHEN lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' WHEN lv.sort_number = '6' THEN '' ELSE lvri.cust_id END,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END,'','已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2018072100000024')) 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; + sql_where="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(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') 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,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 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 f75,CASE WHEN lv.sort_number = '6' THEN 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' 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 ('PZ2018072100000024')) 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; } //收到的租金--网银-逾期过月--(汽车) if("PZ2018080400000081".equals(VOUCHERNO)){ - sql_where="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,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67 ) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') f1,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,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,'定时任务-每天生成租金实收凭证',DATE_FORMAT(SYSDATE(), '%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' ELSE lvri.cust_id END,'','','已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2018080400000081')) 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; + sql_where="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(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') 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,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 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 ('PZ2018080400000081')) 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; } //收到的逾期利息--网银 if("PZ2018072100000025".equals(VOUCHERNO)){ // sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') f1,lvri.voucher_f3,'收到的逾期利息',lv.LOAN_SUBJECT,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,'租息',LCI.INPUTTIME),2) WHEN lv.sort_number = '3' THEN lvri.penalty - (ROUND(lvri.penalty / getTax (LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2)) ELSE 0.00 END AS f8,'定时任务-每天生成租金实收凭证',DATE_FORMAT(SYSDATE(), '%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,lci.contract_number,CASE WHEN lv.loan_direction = '1' THEN '业务系统待查客户' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.loan_direction = '2' THEN '04' ELSE '' END,CASE WHEN lv.loan_direction = '1' THEN 'APZL00000000DC' ELSE lvri.cust_id END,CASE WHEN lv.loan_direction = '2' THEN '0603' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,CASE WHEN lv.sort_number = '2' THEN lci.leas_form ELSE '' END FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id WHERE lvc.voucher_no IN ('PZ2018072100000025','PZ2018080400000082'))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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; - sql_where="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,f75,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') f1,lv.subjects_code AS f2,lvri.voucher_f3,'收到的逾期利息',lv.LOAN_SUBJECT,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,'定时任务-每天生成租金实收凭证',DATE_FORMAT(SYSDATE(), '%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_id END,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END,'','已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2018072100000025')) 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; + sql_where="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(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') 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,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number 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 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 ('PZ2018072100000025')) 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; } /** @@ -69,25 +68,25 @@ public class InsertVoucherRentIncome { */ //收到的租金-月付--网银-未逾期及逾期未过月的(传统) if("PZ2018100900000298".equals(VOUCHERNO)){ - sql_where="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,f75,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') f1,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,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,'定时任务-每天生成租金实收凭证',DATE_FORMAT(SYSDATE(), '%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '传统B端待查客户' WHEN lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' WHEN lv.sort_number = '6' THEN '' ELSE lvri.cust_id END,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END,'','已完整',DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2018100900000298')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR='income_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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; + sql_where="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(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') 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,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 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 '传统B端待查客户' 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 'APZL00000000CT' 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 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 ('PZ2018100900000298')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR='income_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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BYlvri.voucher_f3 "; } //收到的租金-月付--网银-逾期过月(传统) if("PZ2018092500000171".equals(VOUCHERNO)){ - sql_where="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,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67 ) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') f1,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,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,'定时任务-每天生成租金实收凭证',DATE_FORMAT(SYSDATE(), '%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '传统B端待查客户' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' ELSE lvri.cust_id END,'','','已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2018092500000171')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR='income_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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; + sql_where="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(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') 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,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 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 '传统B端待查客户' ELSE lvri.cust_name END AS f61,lv.loan_subject AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' 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 ('PZ2018092500000171')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR='income_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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; } //收到的租金-季付--网银-未逾期及逾期未过月的(传统) if("PZ2019022500000012".equals(VOUCHERNO)){ - sql_where="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,f75,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') f1,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,CASE WHEN lv.sort_number = '1' THEN lvri.rent WHEN LV.sort_number = '2' THEN (LVRI.INTEREST -ROUND(LVRI.INTEREST /getTax(lci.leas_form,'租息',lcct.start_date),2))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 (LVRI.INTEREST -ROUND(LVRI.INTEREST /getTax(lci.leas_form,'租息',lcct.start_date),2)) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证',DATE_FORMAT(SYSDATE(), '%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '2' OR lv.sort_number = '5' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '传统B端待查客户' WHEN lv.sort_number = '5' THEN '' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' WHEN lv.sort_number = '5' THEN '' ELSE lvri.cust_id END,'','','已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2019022500000012')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR = 'income_3' 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; + sql_where="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(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') 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 - ROUND(LVRI.INTEREST / getTax (lci.leas_form,'租息',lcct.start_date),2)) 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 (LVRI.INTEREST - ROUND(LVRI.INTEREST / getTax (lci.leas_form,'租息',lcct.start_date),2)) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49, lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '2' OR lv.sort_number = '5' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN '传统B端待查客户' WHEN lv.sort_number = '5' THEN '' ELSE lvri.cust_name END AS f61,lv.loan_subject AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' WHEN lv.sort_number = '5' THEN '' ELSE lvri.cust_id END AS f65,'' AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '5' THEN 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 ('PZ2019022500000012')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR = 'income_3' 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; } //收到的租金-季付--网银-逾期过月(传统) if("PZ2019022500000011".equals(VOUCHERNO)){ - sql_where="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,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67 ) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') f1,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,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,'定时任务-每天生成租金实收凭证',DATE_FORMAT(SYSDATE(), '%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '传统B端待查客户' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' ELSE lvri.cust_id END,'','','已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2019022500000011')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR='income_3' 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; + sql_where="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(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') 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 AS f7,CASE WHEN lv.sort_number = '2' THEN lvri.corpus WHEN lv.sort_number = '3' THEN lvri.interest ELSE 0.00 END AS f8,'定时任务-每天生成租金实收凭证' AS f12,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 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 '传统B端待查客户' ELSE lvri.cust_name END AS f61,lv.loan_subject AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' 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 ('PZ2019022500000011')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR='income_3' 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; } //收到的逾期利息--网银(传统) if("PZ2018092500000172".equals(VOUCHERNO)){ - sql_where="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,f75,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') f1,lv.subjects_code AS f2,lvri.voucher_f3,'收到的逾期利息',lv.LOAN_SUBJECT,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,'定时任务-每天生成租金实收凭证',DATE_FORMAT(SYSDATE(), '%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '传统B端待查客户' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_id END,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END,'','已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2018092500000172')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '2' 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; + sql_where="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,f75,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') 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,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN '传统B端待查客户' 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 'APZL00000000CT' 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 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 ('PZ2018092500000172')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '2' 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 "; } /** @@ -126,33 +125,55 @@ public class InsertVoucherRentIncome { *f17也会存进表中 *查询sql 用逗号关联的方法,查询乘积条数 where 1=1 */ - public void initLVRentIncome() throws Exception{ + public void initLVRentIncome(){ Transaction Sqlca =null; try{ Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); // String sql="INSERT INTO lv_rent_income (SELECT REPLACE(UUID(),'-',''),CONCAT('k',getSerialNumber ()),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.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 FROM lc_rent_income lri 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 cif ON cif.customerid=lul.customer_id WHERE lri.rent>0 AND lri.id NOT IN (SELECT income_id FROM lv_rent_income))"; // 未逾期及逾期未过月 - String sql="INSERT INTO lv_rent_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.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 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 NOT IN('手工收款','批量收款','提前结清') OR (lrp.collect_status IS NULL OR lrp.collect_status='')) AND lri.rent > 0 AND lri.id NOT IN (SELECT income_id FROM lv_rent_income) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m'))"; + String sql1="INSERT INTO lv_rent_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.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 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 = '网银收款' OR (lrp.collect_status IS NULL OR lrp.collect_status = '')) AND lri.rent > 0 AND lri.id NOT IN (SELECT income_id FROM lv_rent_income) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main='Y')"; // 逾期过月 - String sq1="INSERT INTO lv_rent_income2 (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.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 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 NOT IN ('手工收款','批量收款','提前结清') OR (lrp.collect_status IS NULL OR lrp.collect_status = '' )) AND lri.rent > 0 AND lri.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m')) "; - String sql1="INSERT INTO lv_penalty_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.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 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 NOT IN ('手工收款','批量收款','提前结清') OR (lrp.collect_status IS NULL OR lrp.collect_status = '')) AND lri.penalty > 0 AND lri.id NOT IN (SELECT income_id FROM lv_penalty_income)) "; + String sql2="INSERT INTO lv_rent_income2 (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.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 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 ='网银收款' OR (lrp.collect_status IS NULL OR lrp.collect_status='')) AND lri.rent > 0 AND lri.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,lri.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 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 ='网银收款' OR (lrp.collect_status IS NULL OR lrp.collect_status = '')) AND lri.penalty > 0 AND lri.id NOT IN (SELECT income_id FROM lv_penalty_income) AND (lri.PENALTY!='0.00' AND lri.PENALTY IS NOT NULL) AND lul.is_main='Y') "; // String sql2="INSERT INTO lv_discount_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ()),cif.customer_num,cif.customername,lci.id,lci.contract_number,ld.ID,DATE_FORMAT(ld.inputtime, '%Y/%m/%d'),ld.discount_money,0.00,0.00,0.00,oac.acc_bank,oac.acc_name,oac.acc_number FROM lb_discount ld LEFT JOIN lb_contract_info lci ON lci.contract_no = ld.contract_no LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN (SELECT acc_bank,acc_name,acc_number FROM OWN_ACCOUNT WHERE account_type = 'in_account' AND state_ = '0010' LIMIT 0, 1) oac ON 1 = 1 WHERE ld.discount_money > 0 AND ld.id NOT IN (SELECT income_id FROM lv_discount_income)) "; - SqlObject as1 = new SqlObject(sq1); - SqlObject asql = new SqlObject(sql); - SqlObject asql1 = new SqlObject(sql1); - // SqlObject asql2 = new SqlObject(sql2); - Sqlca.executeSQL(as1); - Sqlca.executeSQL(asql); - Sqlca.executeSQL(asql1); - // Sqlca.executeSQL(asql2); + + // 用于判断当前数据是否是未逾期或者逾期未过月的, 决定是否执行sql1 + String sqls1="SELECT lri.rent 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 ='网银收款' OR (lrp.collect_status IS NULL OR lrp.collect_status='')) AND lri.rent > 0 AND lri.id NOT IN (SELECT income_id FROM lv_rent_income) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main='Y'"; + // 用于判断当前数据是否是逾期过月的, 决定是否执行sqls2 + String sqls2="SELECT lri.rent 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 ='网银收款' OR (lrp.collect_status IS NULL OR lrp.collect_status='')) AND lri.rent > 0 AND lri.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 sqls3="SELECT lri.rent 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 ='网银收款' OR (lrp.collect_status IS NULL OR lrp.collect_status = '')) AND lri.penalty > 0 AND lri.id NOT IN (SELECT income_id FROM lv_penalty_income) AND (lri.PENALTY!='0.00' AND lri.PENALTY IS NOT NULL) AND lul.is_main='Y'"; + List> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sqls1, null); + List> dataList2=DataOperatorUtil.getDataBySql(Sqlca, sqls2, null); + List> dataList3=DataOperatorUtil.getDataBySql(Sqlca, sqls3, null); + + if(dataList1 != null && !dataList1.isEmpty()) { + SqlObject sqlss1 = new SqlObject(sql1); + Sqlca.executeSQL(sqlss1); + }else if(dataList2 != null && !dataList2.isEmpty()) { + SqlObject sqlss2 = new SqlObject(sql2); + Sqlca.executeSQL(sqlss2); + }else if(dataList3 != null && !dataList3.isEmpty()) { + SqlObject sqlss3 = new SqlObject(sql3); + Sqlca.executeSQL(sqlss3); + } Sqlca.commit(); }catch(Exception e){ - Sqlca.rollback(); + try { + Sqlca.rollback(); + } catch (JBOException e1) { + e1.printStackTrace(); + } e.printStackTrace(); }finally{ if(Sqlca!=null){ - Sqlca.disConnect(); + try { + Sqlca.disConnect(); + } catch (JBOException e) { + e.printStackTrace(); + } Sqlca=null; } } diff --git a/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforVoucherPZ.java b/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforVoucherPZ.java index 5d2a40253..971f3d6f6 100644 --- a/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforVoucherPZ.java +++ b/src_core/com/tenwa/voucher/serviceImp/VoucherToNCforVoucherPZ.java @@ -210,11 +210,11 @@ public class VoucherToNCforVoucherPZ implements Job{ map.put("F3",F3); // 获取v8表借方数据 - String sql1 = "SELECT f5,f6,f7,f15,f59,f60,f65,f73,f74,f75 FROM VOUCHER_V8 WHERE F3=:F3 AND ENTRYDC='1'"; + String sql1 = "SELECT f5,f6,f7,f15,f59,f60,f65,f73,f74,f75,f76 FROM VOUCHER_V8 WHERE F3=:F3 AND ENTRYDC='1'"; List> v1 = DataOperatorUtil.getDataBySql(Sqlca,sql1,map); // 获取v8表贷方数据 - String sql2 = "SELECT f1,f5,f6,f8,f15,f51,f52,f59,f60,f65,f73,f74,f75 FROM VOUCHER_V8 WHERE F3=:F3 AND ENTRYDC='-1'"; + String sql2 = "SELECT f1,f5,f6,f8,f15,f51,f52,f59,f60,f65,f73,f74,f75,f76 FROM VOUCHER_V8 WHERE F3=:F3 AND ENTRYDC='-1'"; List> v2 = DataOperatorUtil.getDataBySql(Sqlca,sql2,map); // 获取v8表公共信息 @@ -356,7 +356,7 @@ public class VoucherToNCforVoucherPZ implements Job{ pk_Checkvalue3.setText((v8Lend.get("f73")==null)?"":v8Lend.get("f73")); } } - //现金流量项目辅助核算 + // 现金流量项目辅助核算 if(ids.contains("3f0177c4295d4ed99ef18adb37c3e79f")) { Element ass_item4 = ass1.addElement("item"); Element pk_Checktype4 = ass_item4.addElement("pk_Checktype"); @@ -364,7 +364,7 @@ public class VoucherToNCforVoucherPZ implements Job{ Element pk_Checkvalue4 = ass_item4.addElement("pk_Checkvalue"); pk_Checkvalue4.setText((v8Lend.get("f74")==null)?"":v8Lend.get("f74")); } - //银行账户辅助核算 + // 银行账户辅助核算 if(ids.contains("5d241cc0d2794ef7943df15c5f97976a")) { Element ass_item5 = ass1.addElement("item"); Element pk_Checktype5 = ass_item5.addElement("pk_Checktype"); @@ -372,6 +372,14 @@ public class VoucherToNCforVoucherPZ implements Job{ Element pk_Checkvalue5 = ass_item5.addElement("pk_Checkvalue"); pk_Checkvalue5.setText((v8Lend.get("f75")==null)?"":v8Lend.get("f75")); } + // 税率辅助核算 + if(ids.contains("26127f73553b45f5a23c60afdffb464e")) { + Element ass_item5 = ass1.addElement("item"); + Element pk_Checktype5 = ass_item5.addElement("pk_Checktype"); + pk_Checktype5.setText("税率"); + Element pk_Checkvalue5 = ass_item5.addElement("pk_Checkvalue"); + pk_Checkvalue5.setText((v8Lend.get("f76")==null)?"":v8Lend.get("f76")); + } Element cashFlow = item1.addElement("cashFlow"); Element cashFlow_item1 = cashFlow.addElement("item"); Element m_pk_currtype1 = cashFlow_item1.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String @@ -461,7 +469,7 @@ public class VoucherToNCforVoucherPZ implements Job{ Element pk_Checkvalue3 = ass_item3.addElement("pk_Checkvalue"); pk_Checkvalue3.setText((v8loan.get("f73")==null)?"":v8loan.get("f73")); } - //现金流量项目辅助核算 + // 现金流量项目辅助核算 if(ids.contains("3f0177c4295d4ed99ef18adb37c3e79f")) { Element ass_item4 = ass2.addElement("item"); Element pk_Checktype4 = ass_item4.addElement("pk_Checktype"); @@ -469,7 +477,7 @@ public class VoucherToNCforVoucherPZ implements Job{ Element pk_Checkvalue4 = ass_item4.addElement("pk_Checkvalue"); pk_Checkvalue4.setText((v8loan.get("f74")==null)?"":v8loan.get("f74")); } - //银行账户辅助核算 + // 银行账户辅助核算 if(ids.contains("5d241cc0d2794ef7943df15c5f97976a")) { Element ass_item5 = ass2.addElement("item"); Element pk_Checktype5 = ass_item5.addElement("pk_Checktype"); @@ -477,6 +485,15 @@ public class VoucherToNCforVoucherPZ implements Job{ Element pk_Checkvalue5 = ass_item5.addElement("pk_Checkvalue"); pk_Checkvalue5.setText((v8loan.get("f75")==null)?"":v8loan.get("f75")); } + // 税率辅助核算 + if(ids.contains("26127f73553b45f5a23c60afdffb464e")) { + Element ass_item5 = ass2.addElement("item"); + Element pk_Checktype5 = ass_item5.addElement("pk_Checktype"); + pk_Checktype5.setText("税率"); + Element pk_Checkvalue5 = ass_item5.addElement("pk_Checkvalue"); + pk_Checkvalue5.setText((v8loan.get("f76")==null)?"":v8loan.get("f76")); + } + Element item2_cashFlow = item2.addElement("cashFlow"); Element cashflowitem2 = item2_cashFlow.addElement("item"); Element m_pk_currtype2 = cashflowitem2.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String diff --git a/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java b/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java index 472ff4b46..675437d6e 100644 --- a/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java +++ b/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java @@ -138,7 +138,8 @@ public class VoucherToV8Impl implements VoucherService { d.put("F72",list.get(i).get("DISTRIBUTOR_ID")); d.put("F73",list.get(i).get("BUSINESSTYPE"));//主营类型 d.put("F74",list.get(i).get("CASHFLOW"));// 现金流项目 - d.put("F75",list.get(i).get("ACC_NUMBER")); + d.put("F75",list.get(i).get("ACC_NUMBER"));// 银行账号 + d.put("F76",list.get(i).get("TAX_CODE"));// 利率编码 d.put("inputuserid",user.getAttribute("userid").getString()); d.put("v8_status",status); diff --git a/src_tenwa/com/tenwa/httpclient/resources/VouchersPropertiesUtil.java b/src_tenwa/com/tenwa/httpclient/resources/VouchersPropertiesUtil.java index ac980a4a7..fdc02afb8 100644 --- a/src_tenwa/com/tenwa/httpclient/resources/VouchersPropertiesUtil.java +++ b/src_tenwa/com/tenwa/httpclient/resources/VouchersPropertiesUtil.java @@ -8,13 +8,21 @@ import java.util.concurrent.ConcurrentHashMap; import com.amarsoft.are.ARE; +/** + * 读取配置文件 + * @author xiezhiwen + * + */ public class VouchersPropertiesUtil { + // 定义全局map, 存储配置文件信息 private static Map attributes; public static void load() { attributes = new ConcurrentHashMap(); + // 创建Properties对象 Properties prop = new Properties(); try { + // 加载根路径配置文件; 本地:config, 服务器在classes路径下 prop.load(VouchersPropertiesUtil.class.getResourceAsStream("/vouchers.properties")); for(Entry entry : prop.entrySet()) { if(entry.getKey() == null || entry.getValue() == null) { diff --git a/src_tenwa/com/tenwa/lease/app/ebank/EbankUse.java b/src_tenwa/com/tenwa/lease/app/ebank/EbankUse.java index 6b6381a97..ba40f22b0 100644 --- a/src_tenwa/com/tenwa/lease/app/ebank/EbankUse.java +++ b/src_tenwa/com/tenwa/lease/app/ebank/EbankUse.java @@ -11,6 +11,7 @@ import jbo.sys.USER_INFO; import jbo.voucher.LV_STACTS_CONFIG; import jbo.voucher.LV_VOUCHER_CONFIG; import jbo.voucher.LV_VOUCHER_LOAN; +import jbo.voucher.TAX_CODE; import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.BizObjectManager; @@ -332,7 +333,7 @@ public class EbankUse { // 通过传入id查询所需数据 map.put("ID", ID); - String sql1 = "SELECT LE.MAYOPE_MONEY AS MONEY,ROUND(LE.MAYOPE_MONEY / 1.06, 2) AS MONEYNOTAX,LE.MAYOPE_MONEY - ROUND(LE.MAYOPE_MONEY / 1.06, 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 FROM LC_EBANK LE LEFT JOIN CUSTOMER_INFO CI ON CI.CUSTOMERID=LE.CUSTOMER_ID WHERE 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 FROM LC_EBANK LE LEFT JOIN CUSTOMER_INFO CI ON CI.CUSTOMERID = LE.CUSTOMER_ID WHERE ID = :ID "; List> dataList; dataList = DataOperatorUtil.getDataBySql(Sqlca, sql1, map); @@ -357,6 +358,13 @@ public class EbankUse { String EBANK_SN = jbo.get("EBANK_SN").toString(); String CUSTOMERID = jbo.get("CUSTOMERID"); String CUSTOMERNAME = jbo.get("CUSTOMERNAME"); + String TAX_NUM = jbo.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); + } + //NameManager.getCustomerName(CUSTOMERID); // 将数据封装如param中 param.put("FACT_MONEY", MONEY); @@ -369,8 +377,9 @@ public class EbankUse { param.put("CUSTID", CUSTOMERID); param.put("CUSTNAME", CUSTOMERNAME); param.put("VOUCHERNO", VOUCHERNO); - param.put("DEPT", "02"); // 部门 - + if(TAX_CODES!=null) { + param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString()); + } // 通过凭证编号获取对应编号的凭证信息 map.clear(); map.put("VOUCHER_NO", VOUCHERNO); diff --git a/src_tenwa/com/tenwa/lease/app/quartzmession/Checkfordeduction.java b/src_tenwa/com/tenwa/lease/app/quartzmession/Checkfordeduction.java index 8e2bdea57..501b4e370 100644 --- a/src_tenwa/com/tenwa/lease/app/quartzmession/Checkfordeduction.java +++ b/src_tenwa/com/tenwa/lease/app/quartzmession/Checkfordeduction.java @@ -1,6 +1,7 @@ package com.tenwa.lease.app.quartzmession; import java.util.HashMap; +import java.util.List; import java.util.Map; import javax.swing.JOptionPane; @@ -65,28 +66,28 @@ public class Checkfordeduction { for (String str : ids) { // 收到的租金--卡扣-未逾期及逾期未过月的(汽车) if ("PZ2018082100000142".equals(VOUCHERNO)) { - sql_where = "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,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3,'收到的租金',CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT,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,'"+user_name+"',lvri.ACCOUNTING_DATE,lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS cust_name,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_id END AS cust_id,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END,CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END,'已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') and lvri.income_id='"+str+"' ORDER BY lvri.voucher_f3 "; + sql_where = "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(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'),1,4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END 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,'"+user_name+"' AS f12,lvri.ACCOUNTING_DATE AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'),1,4) AS f51,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'),5,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' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS f61,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS f62,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END AS f73,CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END AS f75,CASE WHEN lv.sort_number = '6' THEN 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.income_id = '"+str+"' ORDER BY lvri.voucher_f3 "; } // 收到的租金--卡扣-逾期过月的(汽车) if ("PZ2018082100000143".equals(VOUCHERNO)) { - sql_where = "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,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3,'收到的租金',CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT,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,'"+user_name+"',lvri.ACCOUNTING_DATE,lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4),SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2),lv.sort_number,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '' ELSE lvri.cust_name END AS cust_name,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT,CASE WHEN lv.sort_number = '1' THEN '' ELSE lvri.cust_id END AS cust_id,'',CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.OWN_NUMBER ELSE '' END,'已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.income_id='"+str+"' ORDER BY lvri.voucher_f3 "; + sql_where = "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(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END 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,'"+user_name+"' AS f12,lvri.ACCOUNTING_DATE AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 5, 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 '' ELSE lvri.cust_name END AS f61,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS f62,CASE WHEN lv.sort_number = '1' THEN '' ELSE lvri.cust_id END AS f65,'' AS f73,CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.OWN_NUMBER ELSE '' END 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.income_id = '"+str+"' ORDER BY lvri.voucher_f3 "; } // 卡扣回款反冲-收到的租金--卡扣-未逾期及逾期未过月的(汽车) if ("PZ2018121800000009".equals(VOUCHERNO)) { - sql_where = "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, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id, '凭证输出' evidence_message, SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4 ) periodyear, lvri.ACCOUNTING_DATE f15, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.SUBJECTS_CODE END AS f2, lvri.voucher_f3, '收到的租金', CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT, 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, '"+user_name+"', lvri.ACCOUNTING_DATE, lv.OWNED_COMPANY, lv.OWNED_COMPANY, SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4 ), SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2 ), lv.sort_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS cust_name, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT, CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_id END AS cust_id, CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END, CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74, CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END, '已完整', DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'), '0', lv.modular_number, CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END, 'admin', lvri.income_id, lci.leas_form 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 ('PZ2018121800000009')) 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '' ) and lvri.income_id='"+str+"' ORDER BY lvri.voucher_f3 "; + sql_where = "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(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END 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,'"+user_name+"' AS f12,lvri.ACCOUNTING_DATE AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 5, 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' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS f61,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS f62,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END AS f73,CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END AS f75,CASE WHEN lv.sort_number = '6' THEN 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 ('PZ2018121800000009')) 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.income_id = '"+str+"' ORDER BY lvri.voucher_f3 "; } // 卡扣回款反冲-收到的租金--卡扣-逾期过月的(汽车) if ("PZ2018121800000007".equals(VOUCHERNO)) { - sql_where = "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, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id, '凭证输出' evidence_message, SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4 ) periodyear, lvri.ACCOUNTING_DATE f15, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.SUBJECTS_CODE END AS f2, lvri.voucher_f3, '收到的租金', CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT, 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, '"+user_name+"', lvri.ACCOUNTING_DATE, lv.OWNED_COMPANY, lv.OWNED_COMPANY, SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4 ), SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2 ), lv.sort_number, CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '' ELSE lvri.cust_name END AS cust_name, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT, CASE WHEN lv.sort_number = '1' THEN '' ELSE lvri.cust_id END AS cust_id, '', CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74, CASE WHEN lv.sort_number = '1' THEN lvri.OWN_NUMBER ELSE '' END, '已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'), '0', lv.modular_number, CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END, 'admin', lvri.income_id, lci.leas_form 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 ('PZ2018121800000007')) 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '' ) and lvri.income_id='"+str+"' ORDER BY lvri.voucher_f3 "; + sql_where = "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(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END 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,'"+user_name+"' AS f12,lvri.ACCOUNTING_DATE AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 5, 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 '' ELSE lvri.cust_name END AS f61,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS f62,CASE WHEN lv.sort_number = '1' THEN '' ELSE lvri.cust_id END AS f65,'' AS f73,CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.OWN_NUMBER ELSE '' END 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 ('PZ2018121800000007')) 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.income_id = '"+str+"' ORDER BY lvri.voucher_f3 "; } // 收到的逾期利息--卡扣 if ("PZ2018082100000144".equals(VOUCHERNO)) { - sql_where = "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, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id, '凭证输出' evidence_message, SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4 ) periodyear, lvri.ACCOUNTING_DATE f15, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.SUBJECTS_CODE END AS f2, lvri.voucher_f3, '收到的逾期利息', CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT, 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, '"+user_name+"', lvri.ACCOUNTING_DATE, lv.OWNED_COMPANY, lv.OWNED_COMPANY, SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4 ), SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2 ), lv.sort_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS cust_name, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT, CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_id END AS cust_id, CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END, CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74, CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END, '已完整', DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'), '0', lv.modular_number, CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END, 'admin', lvri.income_id, lci.leas_form 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '' ) and lvri.income_id='"+str+"' ORDER BY lvri.voucher_f3 "; + sql_where = "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(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3 AS f3,'收到的逾期利息' AS f5,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END 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,'"+user_name+"' AS f12,lvri.ACCOUNTING_DATE AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 5, 2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS f61,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS f62,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END AS f73,CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END AS f75,CASE WHEN lv.sort_number = '3' THEN 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.income_id = '"+str+"' ORDER BY lvri.voucher_f3 "; } // 卡扣回款反冲--逾期利息 if ("PZ2018121800000006".equals(VOUCHERNO)) { - sql_where = "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, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id, '凭证输出' evidence_message, SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4 ) periodyear, lvri.ACCOUNTING_DATE f15, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.SUBJECTS_CODE END AS f2, lvri.voucher_f3, '收到的逾期利息', CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT, 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, '"+user_name+"', lvri.ACCOUNTING_DATE, lv.OWNED_COMPANY, lv.OWNED_COMPANY, SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4 ), SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2 ), lv.sort_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS cust_name, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT, CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_id END AS cust_id, CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END, CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74, CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END, '已完整', DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'), '0', lv.modular_number, CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END, 'admin', lvri.income_id, lci.leas_form 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 ('PZ2018121800000006')) 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '' ) and lvri.income_id='"+str+"' ORDER BY lvri.voucher_f3 "; + sql_where = "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(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3 AS f3,'收到的逾期利息' AS f5,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END 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,'"+user_name+"' AS f12,lvri.ACCOUNTING_DATE AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 5, 2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS f61,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS f62,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END AS f73,CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END AS f75,CASE WHEN lv.sort_number = '3' THEN 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 ('PZ2018121800000006')) 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.income_id = '"+str+"' ORDER BY lvri.voucher_f3 "; } SqlObject asql = new SqlObject(sql_where); @@ -128,20 +129,32 @@ public class Checkfordeduction { String[] ids = id.split("@"); for (String str : ids) { // 未逾期及逾期未过月的租金 - String sql = "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 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.id = '"+ str + "' AND lrp.id NOT IN (SELECT INCOME_ID FROM lv_rent_income) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m')) "; + 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 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.id = '"+ str + "' AND lrp.id NOT IN (SELECT INCOME_ID FROM lv_rent_income) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main='Y') "; // 逾期过月的租金 - String sq1 = "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 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.id = '"+ str + "' 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')) "; + 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 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.id = '"+ str + "' 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_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 FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lri.contract_id = lrp.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.id ='"+ str + "' AND lrp.id NOT IN (SELECT INCOME_ID FROM lv_penalty_income)) "; + 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 FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lri.contract_id = lrp.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.id ='"+ str + "' AND lrp.id NOT IN (SELECT INCOME_ID FROM lv_penalty_income) AND (lri.PENALTY!='0.00' AND lri.PENALTY IS NOT NULL) AND lul.is_main='Y') "; // String sql2 = "INSERT INTO lv_discount_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ()),cif.customer_num,cif.customername,lci.id,lci.contract_number,ld.ID,DATE_FORMAT(ld.inputtime, '%Y/%m/%d'),ld.discount_money,0.00,0.00,0.00,oac.acc_bank,oac.acc_name,oac.acc_number FROM lb_discount ld LEFT JOIN lb_contract_info lci ON lci.contract_no = ld.contract_no LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN (SELECT acc_bank,acc_name,acc_number FROM OWN_ACCOUNT WHERE account_type = 'in_account' AND state_ = '0010' LIMIT 0, 1) oac ON 1 = 1 WHERE ld.id NOT IN (SELECT income_id FROM lv_discount_income)) "; - SqlObject as1 = new SqlObject(sq1); - SqlObject asql = new SqlObject(sql); - SqlObject asql1 = new SqlObject(sql1); - // SqlObject asql2 = new SqlObject(sql2); - Sqlca.executeSQL(as1); - Sqlca.executeSQL(asql); - Sqlca.executeSQL(asql1); - //Sqlca.executeSQL(asql2); + + // 用于判断当前数据是否是未逾期或者逾期未过月的, 决定是否执行sql1 + String sqls1="SELECT lri.rent 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.id = '"+ str + "' AND lrp.id NOT IN (SELECT INCOME_ID FROM lv_rent_income) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main='Y'"; + // 用于判断当前数据是否是逾期过月的, 决定是否执行sqls2 + String sqls2="SELECT lri.rent 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.id = '"+ str + "' 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 sqls3="SELECT lri.PENALTY FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lri.contract_id = lrp.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.id ='"+ str + "' AND lrp.id NOT IN (SELECT INCOME_ID FROM lv_penalty_income) AND (lri.PENALTY!='0.00' AND lri.PENALTY IS NOT NULL) AND lul.is_main='Y'"; + List> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sqls1, null); + List> dataList2=DataOperatorUtil.getDataBySql(Sqlca, sqls2, null); + List> dataList3=DataOperatorUtil.getDataBySql(Sqlca, sqls3, null); + if(dataList1 != null && !dataList1.isEmpty()) { + SqlObject sqlss1 = new SqlObject(sql1); + Sqlca.executeSQL(sqlss1); + }else if(dataList2 != null && !dataList2.isEmpty()) { + SqlObject sqlss2 = new SqlObject(sql2); + Sqlca.executeSQL(sqlss2); + }else if(dataList3 != null && !dataList3.isEmpty()) { + SqlObject sqlss3 = new SqlObject(sql3); + Sqlca.executeSQL(sqlss3); + } } // Sqlca.commit(); } catch (Exception e) {