修改灵活产品税率取值和JBO实体类

This commit is contained in:
tangfutang 2021-01-11 16:32:21 +08:00
parent 7a5bf4d0b3
commit 8ea505e74b
6 changed files with 122 additions and 3 deletions

View File

@ -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<String, Map<String, String>> productRevenues = bean.getProductRevenues();
String roaMin = productRevenues.get( "StrategyROA" ).get( "StrategyROA-MIN" );
String roaMax = productRevenues.get( "StrategyROA" ).get( "StrategyROA-MAX" );
//修改计算中的税率取值
List<Map<String, String>> 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<Map<String, String>> 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<String> 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" );
// 运营费用

View File

@ -585,4 +585,24 @@ public interface LC_CALC_CONDITION{
* 联合方出资额比例 DOUBLE(22)<br>
*/
public static final String UNITE_MONEY_RATIO = "UNITE_MONEY_RATIO";
/**
* 运营费率 DOUBLE(22)<br>
*/
public static final String OPERATING_RATE = "OPERATING_RATE";
/**
* GPS差额 DOUBLE(22)<br>
*/
public static final String GPS_DIFFERENCE = "GPS_DIFFERENCE";
/**
* 风险计提比率 DOUBLE(22)<br>
*/
public static final String RISK_ACCRUAL_RATIO = "RISK_ACCRUAL_RATIO";
/**
* 战略系数 DOUBLE(22)<br>
*/
public static final String STRATEGIC_COEFFICIENT = "STRATEGIC_COEFFICIENT";
/**
* 战略ROA DOUBLE(22)<br>
*/
public static final String STRATEGY_ROA = "STRATEGY_ROA";
}

View File

@ -585,4 +585,24 @@ public interface LC_CALC_CONDITION_HIS{
* 联合方出资额比例 DOUBLE(22)<br>
*/
public static final String UNITE_MONEY_RATIO = "UNITE_MONEY_RATIO";
/**
* 运营费率 DOUBLE(22)<br>
*/
public static final String OPERATING_RATE = "OPERATING_RATE";
/**
* GPS差额 DOUBLE(22)<br>
*/
public static final String GPS_DIFFERENCE = "GPS_DIFFERENCE";
/**
* 风险计提比率 DOUBLE(22)<br>
*/
public static final String RISK_ACCRUAL_RATIO = "RISK_ACCRUAL_RATIO";
/**
* 战略系数 DOUBLE(22)<br>
*/
public static final String STRATEGIC_COEFFICIENT = "STRATEGIC_COEFFICIENT";
/**
* 战略ROA DOUBLE(22)<br>
*/
public static final String STRATEGY_ROA = "STRATEGY_ROA";
}

View File

@ -585,4 +585,24 @@ public interface LC_CALC_CONDITION_TEMP{
* 联合方出资额支出 DOUBLE(22)<br>
*/
public static final String UNITE_MONEY_OUT = "UNITE_MONEY_OUT";
/**
* 运营费率 DOUBLE(22)<br>
*/
public static final String OPERATING_RATE = "OPERATING_RATE";
/**
* GPS差额 DOUBLE(22)<br>
*/
public static final String GPS_DIFFERENCE = "GPS_DIFFERENCE";
/**
* 风险计提比率 DOUBLE(22)<br>
*/
public static final String RISK_ACCRUAL_RATIO = "RISK_ACCRUAL_RATIO";
/**
* 战略系数 DOUBLE(22)<br>
*/
public static final String STRATEGIC_COEFFICIENT = "STRATEGIC_COEFFICIENT";
/**
* 战略ROA DOUBLE(22)<br>
*/
public static final String STRATEGY_ROA = "STRATEGY_ROA";
}

View File

@ -589,4 +589,24 @@ public interface LC_CONTRACT_CONDITION{
* 联合方出资额比例 DOUBLE(22)<br>
*/
public static final String UNITE_MONEY_RATIO = "UNITE_MONEY_RATIO";
/**
* 运营费率 DOUBLE(22)<br>
*/
public static final String OPERATING_RATE = "OPERATING_RATE";
/**
* GPS差额 DOUBLE(22)<br>
*/
public static final String GPS_DIFFERENCE = "GPS_DIFFERENCE";
/**
* 风险计提比率 DOUBLE(22)<br>
*/
public static final String RISK_ACCRUAL_RATIO = "RISK_ACCRUAL_RATIO";
/**
* 战略系数 DOUBLE(22)<br>
*/
public static final String STRATEGIC_COEFFICIENT = "STRATEGIC_COEFFICIENT";
/**
* 战略ROA DOUBLE(22)<br>
*/
public static final String STRATEGY_ROA = "STRATEGY_ROA";
}

View File

@ -589,4 +589,24 @@ public interface LC_PROJ_CONDITION{
* 联合方出资额比例 DOUBLE(22)<br>
*/
public static final String UNITE_MONEY_RATIO = "UNITE_MONEY_RATIO";
/**
* 运营费率 DOUBLE(22)<br>
*/
public static final String OPERATING_RATE = "OPERATING_RATE";
/**
* GPS差额 DOUBLE(22)<br>
*/
public static final String GPS_DIFFERENCE = "GPS_DIFFERENCE";
/**
* 风险计提比率 DOUBLE(22)<br>
*/
public static final String RISK_ACCRUAL_RATIO = "RISK_ACCRUAL_RATIO";
/**
* 战略系数 DOUBLE(22)<br>
*/
public static final String STRATEGIC_COEFFICIENT = "STRATEGIC_COEFFICIENT";
/**
* 战略ROA DOUBLE(22)<br>
*/
public static final String STRATEGY_ROA = "STRATEGY_ROA";
}