From 8ea505e74b8a64bda6ff3ada0dfa5a9f9db89170 Mon Sep 17 00:00:00 2001 From: tangfutang Date: Mon, 11 Jan 2021 16:32:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=81=B5=E6=B4=BB=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E7=A8=8E=E7=8E=87=E5=8F=96=E5=80=BC=E5=92=8CJBO?= =?UTF-8?q?=E5=AE=9E=E4=BD=93=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tenwa/reckon/help/ConditionHelper.java | 25 ++++++++++++++++--- .../jbo/app/tenwa/calc/LC_CALC_CONDITION.java | 20 +++++++++++++++ .../app/tenwa/calc/LC_CALC_CONDITION_HIS.java | 20 +++++++++++++++ .../tenwa/calc/LC_CALC_CONDITION_TEMP.java | 20 +++++++++++++++ .../app/tenwa/calc/LC_CONTRACT_CONDITION.java | 20 +++++++++++++++ .../jbo/app/tenwa/calc/LC_PROJ_CONDITION.java | 20 +++++++++++++++ 6 files changed, 122 insertions(+), 3 deletions(-) diff --git a/calc/com/tenwa/reckon/help/ConditionHelper.java b/calc/com/tenwa/reckon/help/ConditionHelper.java index 888572c48..42204f2f7 100644 --- a/calc/com/tenwa/reckon/help/ConditionHelper.java +++ b/calc/com/tenwa/reckon/help/ConditionHelper.java @@ -13,6 +13,7 @@ import com.amarsoft.are.jbo.BizObjectManager; import com.amarsoft.are.jbo.JBOFactory; import com.amarsoft.are.jbo.JBOTransaction; import com.amarsoft.are.util.json.JSONObject; +import com.amarsoft.awe.util.SqlObject; import com.tenwa.comm.exception.BusinessException; import com.tenwa.comm.util.jboutil.DataOperatorUtil; import com.tenwa.reckon.bean.ConditionBean; @@ -89,8 +90,26 @@ public class ConditionHelper { Map> productRevenues = bean.getProductRevenues(); String roaMin = productRevenues.get( "StrategyROA" ).get( "StrategyROA-MIN" ); String roaMax = productRevenues.get( "StrategyROA" ).get( "StrategyROA-MAX" ); + //修改计算中的税率取值 + List> pslData = DataOperatorUtil.getDataBySql("select leasform from prd_specific_library where productid='"+bean.getProductId()+"'"); + BigDecimal interestRate =null; // 利息税率 + BigDecimal handRate =null; //手续费税率 + BigDecimal gpsInstallFee =null;//GPS税率 + BigDecimal rentRate =null;// 租金税率 + if( pslData!=null && pslData.size()>0){ + String leasform = pslData.get(0).get("leasform"); + List> rateData = DataOperatorUtil.getDataBySql("select t.INTEREST_RATE,t.HAND_RATE,t.gps_install_fee,t.rent from (select INTEREST_RATE,HAND_RATE,gps_install_fee,rent,CONTRACT_DATE from TAX_INFO where CONTRACT_DATE<= DATE_FORMAT(NOW(),'%Y/%m/%d') and BEFORE_AFTER='after' and lease_form='"+leasform+"' union all select INTEREST_RATE,HAND_RATE,gps_install_fee,rent,CONTRACT_DATE from TAX_INFO where CONTRACT_DATE>=DATE_FORMAT(NOW(),'%Y/%m/%d') and BEFORE_AFTER='before' and lease_form='"+leasform+"' ) t order by t.CONTRACT_DATE desc limit 1"); + if( rateData!=null && rateData.size()>0 ){ + interestRate =new BigDecimal ( rateData.get(0).get("INTEREST_RATE") ).divide(new BigDecimal("100")) ; + handRate =new BigDecimal (rateData.get(0).get("HAND_RATE") ).divide(new BigDecimal("100")) ;; + gpsInstallFee =new BigDecimal (rateData.get(0).get("gps_install_fee") ).divide(new BigDecimal("100")) ; + rentRate =new BigDecimal ( rateData.get(0).get("rent") ).divide(new BigDecimal("100")) ; + }else{ + throw new BusinessException( "未配置对应税率!" ); + } + } // 1 + 税差 - BigDecimal tax = BigDecimal.ONE.add( new BigDecimal( cb.getRate() ) ); +// BigDecimal tax = BigDecimal.ONE.add( new BigDecimal( cb.getRate() ) ); // 利息和 List interestBusinessList = rentPlan.getInterestBusinessList(); BigDecimal allInterest = BigDecimal.ZERO; @@ -102,13 +121,13 @@ public class ConditionHelper { // GPS差额 BigDecimal gpsDifference = new BigDecimal( cb.getGPSDifference() ); // 收入 - BigDecimal in = allInterest.divide( tax, 2, 4 ).add( handlingChargeMoney.divide( tax, 2, 4 ) ).add( gpsDifference.divide( tax, 2, 4 ) ); + BigDecimal in = allInterest.divide( interestRate , 2, 4 ).add( handlingChargeMoney.divide( handRate, 2, 4 ) ).add( gpsDifference.divide( gpsInstallFee, 2, 4 ) ); // 租赁年限 int leaseTerm = cb.getLeaseTerm(); // 融资额 BigDecimal cleanLeaseMoney = new BigDecimal( cb.getCleanLeaseMoney() ); // 成本 - BigDecimal cost = cleanLeaseMoney.add( new BigDecimal( cb.getCautionMoney() ).multiply( new BigDecimal( leaseTerm ) ) ).divide( tax, 2, 4 ); + BigDecimal cost = cleanLeaseMoney.add( new BigDecimal( cb.getCautionMoney() ).multiply( new BigDecimal( leaseTerm ) ) ).divide( rentRate, 2, 4 ); // 运营费率 String operatingRate = productRevenues.get( "OperatingRate" ).get( "OperatingRate" ); // 运营费用 diff --git a/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION.java b/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION.java index e67700eb2..a910933f4 100644 --- a/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION.java +++ b/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION.java @@ -585,4 +585,24 @@ public interface LC_CALC_CONDITION{ * 联合方出资额比例 DOUBLE(22)
*/ public static final String UNITE_MONEY_RATIO = "UNITE_MONEY_RATIO"; + /** + * 运营费率 DOUBLE(22)
+ */ + public static final String OPERATING_RATE = "OPERATING_RATE"; + /** + * GPS差额 DOUBLE(22)
+ */ + public static final String GPS_DIFFERENCE = "GPS_DIFFERENCE"; + /** + * 风险计提比率 DOUBLE(22)
+ */ + public static final String RISK_ACCRUAL_RATIO = "RISK_ACCRUAL_RATIO"; + /** + * 战略系数 DOUBLE(22)
+ */ + public static final String STRATEGIC_COEFFICIENT = "STRATEGIC_COEFFICIENT"; + /** + * 战略ROA DOUBLE(22)
+ */ + public static final String STRATEGY_ROA = "STRATEGY_ROA"; } \ No newline at end of file diff --git a/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_HIS.java b/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_HIS.java index d214dd2e7..6acadcee5 100644 --- a/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_HIS.java +++ b/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_HIS.java @@ -585,4 +585,24 @@ public interface LC_CALC_CONDITION_HIS{ * 联合方出资额比例 DOUBLE(22)
*/ public static final String UNITE_MONEY_RATIO = "UNITE_MONEY_RATIO"; + /** + * 运营费率 DOUBLE(22)
+ */ + public static final String OPERATING_RATE = "OPERATING_RATE"; + /** + * GPS差额 DOUBLE(22)
+ */ + public static final String GPS_DIFFERENCE = "GPS_DIFFERENCE"; + /** + * 风险计提比率 DOUBLE(22)
+ */ + public static final String RISK_ACCRUAL_RATIO = "RISK_ACCRUAL_RATIO"; + /** + * 战略系数 DOUBLE(22)
+ */ + public static final String STRATEGIC_COEFFICIENT = "STRATEGIC_COEFFICIENT"; + /** + * 战略ROA DOUBLE(22)
+ */ + public static final String STRATEGY_ROA = "STRATEGY_ROA"; } \ No newline at end of file diff --git a/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_TEMP.java b/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_TEMP.java index b78c7b724..e134955e0 100644 --- a/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_TEMP.java +++ b/src_jbo/jbo/app/tenwa/calc/LC_CALC_CONDITION_TEMP.java @@ -585,4 +585,24 @@ public interface LC_CALC_CONDITION_TEMP{ * 联合方出资额支出 DOUBLE(22)
*/ public static final String UNITE_MONEY_OUT = "UNITE_MONEY_OUT"; + /** + * 运营费率 DOUBLE(22)
+ */ + public static final String OPERATING_RATE = "OPERATING_RATE"; + /** + * GPS差额 DOUBLE(22)
+ */ + public static final String GPS_DIFFERENCE = "GPS_DIFFERENCE"; + /** + * 风险计提比率 DOUBLE(22)
+ */ + public static final String RISK_ACCRUAL_RATIO = "RISK_ACCRUAL_RATIO"; + /** + * 战略系数 DOUBLE(22)
+ */ + public static final String STRATEGIC_COEFFICIENT = "STRATEGIC_COEFFICIENT"; + /** + * 战略ROA DOUBLE(22)
+ */ + public static final String STRATEGY_ROA = "STRATEGY_ROA"; } \ No newline at end of file diff --git a/src_jbo/jbo/app/tenwa/calc/LC_CONTRACT_CONDITION.java b/src_jbo/jbo/app/tenwa/calc/LC_CONTRACT_CONDITION.java index cdd9ab136..e562aa6d9 100644 --- a/src_jbo/jbo/app/tenwa/calc/LC_CONTRACT_CONDITION.java +++ b/src_jbo/jbo/app/tenwa/calc/LC_CONTRACT_CONDITION.java @@ -589,4 +589,24 @@ public interface LC_CONTRACT_CONDITION{ * 联合方出资额比例 DOUBLE(22)
*/ public static final String UNITE_MONEY_RATIO = "UNITE_MONEY_RATIO"; + /** + * 运营费率 DOUBLE(22)
+ */ + public static final String OPERATING_RATE = "OPERATING_RATE"; + /** + * GPS差额 DOUBLE(22)
+ */ + public static final String GPS_DIFFERENCE = "GPS_DIFFERENCE"; + /** + * 风险计提比率 DOUBLE(22)
+ */ + public static final String RISK_ACCRUAL_RATIO = "RISK_ACCRUAL_RATIO"; + /** + * 战略系数 DOUBLE(22)
+ */ + public static final String STRATEGIC_COEFFICIENT = "STRATEGIC_COEFFICIENT"; + /** + * 战略ROA DOUBLE(22)
+ */ + public static final String STRATEGY_ROA = "STRATEGY_ROA"; } \ No newline at end of file diff --git a/src_jbo/jbo/app/tenwa/calc/LC_PROJ_CONDITION.java b/src_jbo/jbo/app/tenwa/calc/LC_PROJ_CONDITION.java index e0a48a3ff..56f95c3cf 100644 --- a/src_jbo/jbo/app/tenwa/calc/LC_PROJ_CONDITION.java +++ b/src_jbo/jbo/app/tenwa/calc/LC_PROJ_CONDITION.java @@ -589,4 +589,24 @@ public interface LC_PROJ_CONDITION{ * 联合方出资额比例 DOUBLE(22)
*/ public static final String UNITE_MONEY_RATIO = "UNITE_MONEY_RATIO"; + /** + * 运营费率 DOUBLE(22)
+ */ + public static final String OPERATING_RATE = "OPERATING_RATE"; + /** + * GPS差额 DOUBLE(22)
+ */ + public static final String GPS_DIFFERENCE = "GPS_DIFFERENCE"; + /** + * 风险计提比率 DOUBLE(22)
+ */ + public static final String RISK_ACCRUAL_RATIO = "RISK_ACCRUAL_RATIO"; + /** + * 战略系数 DOUBLE(22)
+ */ + public static final String STRATEGIC_COEFFICIENT = "STRATEGIC_COEFFICIENT"; + /** + * 战略ROA DOUBLE(22)
+ */ + public static final String STRATEGY_ROA = "STRATEGY_ROA"; } \ No newline at end of file