修改灵活产品税率取值和JBO实体类
This commit is contained in:
parent
7a5bf4d0b3
commit
8ea505e74b
@ -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" );
|
||||
// 运营费用
|
||||
|
||||
@ -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";
|
||||
}
|
||||
@ -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";
|
||||
}
|
||||
@ -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";
|
||||
}
|
||||
@ -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";
|
||||
}
|
||||
@ -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";
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user