回滚 + 租金方式 只读

This commit is contained in:
liujiaji 2018-10-16 10:55:54 +08:00
parent e44e4b6c5f
commit 264b0c95d2

View File

@ -8,6 +8,7 @@ import java.util.Map.Entry;
import java.util.Vector;
import jbo.com.tenwa.lease.comm.CONFIGURATE;
import jbo.prd.BUSINESS_TYPE;
import jbo.sys.CODE_LIBRARY;
import apx.com.amarsoft.als.apzl.apply.business.loan.product.ProductBaseLoanTools;
@ -49,6 +50,24 @@ public class ProductCondition {
return sb.toString();
}
public String getProductRulesBusiness(ASObjectModel doTemp,String productId,Vector<ValidateRule> vali) throws Exception{
doTemp.setDefaultValue("LEASE_AMT_DATE", DateUtil.getToday());
StringBuilder sb=new StringBuilder();
sb.append("{");
sb.append("'fund':"+getProductFundRules(doTemp, productId,vali));//资金配置项
sb.append(",'grace':"+this.getProductGraceRules(doTemp, productId, vali));//宽限期
sb.append(",'method':"+this.getProductSettleRulesBusiness(doTemp, productId));//计算方式
sb.append("}");
setRentOrRate(doTemp, productId);//租金推算方法
this.getOtherRule(doTemp, productId);//其它配置
this.getProductPenaRules(doTemp, productId);//罚息
this.getProductAdjustRules(doTemp, productId);//调息
this.getGrossRules(doTemp, productId);//
//this.setDateRule(doTemp, productId);//日期
this.getCautionRatio(doTemp, productId);//保证金比例
return sb.toString();
}
public String getProductRulesApp(List<Map<String, Object>> appList,String productId,Vector<ValidateRule> vali) throws Exception{
ProductBaseLoanTools.addAppList(appList, "LEASE_AMT_DATE", "coldefaultvalue", DateUtil.getToday());
StringBuilder sb=new StringBuilder();
@ -569,9 +588,16 @@ public class ProductCondition {
doTemp.setColumnAttribute("FREE_DEFA_INTER_DAY","colreadonly", "1");
}
}*/
BizObject bo1 = JBOFactory.createBizObjectQuery(BUSINESS_TYPE.CLASS_NAME,"typeno=:productId")
.setParameter("productId",productId).getSingleResult(false);
String attribute2=(bo1==null)?"":bo1.getAttribute("ATTRIBUTE2").getString();
BizObject bo = JBOFactory.createBizObjectQuery(CONFIGURATE.CLASS_NAME,"ATTR_ID=:attrId")
.setParameter("attrId","免罚息天数配置").getSingleResult(false);
String day = (bo==null)?"":bo.getAttribute("ATTR_VALUE").getString();
String day="0";
if(attribute2!=""&&"car_product".equals(attribute2)){
day = (bo==null)?"":bo.getAttribute("ATTR_VALUE").getString();
}
doTemp.setDefaultValue("FREE_DEFA_INTER_DAY", day);
if(map.containsKey("PENALTY_RATE_DAY")){//罚息日利率
@ -727,6 +753,68 @@ public class ProductCondition {
return "{"+sJson+"}";
}
/**
* 设置计算方式
* @param doTemp
* @param productId
* @return
* @throws Exception
*/
public String getProductSettleRulesBusiness(ASObjectModel doTemp,String productId) throws Exception{
//租金计算方式
Map<String,Map<String,String>> map=ProductParamUtil.getProductComponentType(productId, "PRD0301");
//分段
Map<String,Map<String,String>> submap=ProductParamUtil.getProductComponentType(productId, "PRD0321");
String s="";
String sJson="";
for(Map.Entry<String,Map<String,String>> entry:map.entrySet()){
if(s.length()>0)s+=",";
s+="'"+entry.getKey()+"'";
if(sJson.length()>0)sJson+=",";
sJson+="'"+entry.getKey()+"':"+FileOperatorUtil.getMapToJsonStr(entry.getValue());
if(entry.getKey().equals( doTemp.getColumnAttribute("SETTLE_METHOD", "coldefaultvalue"))){
Map<String,String> values=entry.getValue();
if(values.containsKey("HolidayAdjust")){
doTemp.setDefaultValue("PLAN_DATE_HOILDAY", values.get("HolidayAdjust"));
}
if(values.containsKey("InterestHolidayAdjust")){
doTemp.setDefaultValue("INTEREST_DATE_HOLIDAY", values.get("InterestHolidayAdjust"));
}
if(values.containsKey("RATE")){
doTemp.setDefaultValue("RATE", values.get("RATE"));
}
if(values.containsKey("AdditionalRate")){
doTemp.setDefaultValue("ADDITIONAL_RATE", values.get("AdditionalRate"));
}
if(values.containsKey("InterestDayType")){
doTemp.setDefaultValue("INTEREST_DAY_TYPE", values.get("InterestDayType"));
}
}
}
if(submap.containsKey("ISSUBSECTION")){
if(s.length()>0)s+=",";
s+="'even_subsection'";
}
/*if(s.indexOf("even_rent") != -1) {
s = "'even_rent'";
} else if(s.indexOf("even_corpus") != -1) {
s = "'even_corpus'";
} else {
s = "'even_interest'";
}*/
// doTemp.setReadOnly("SETTLE_METHOD", true);
doTemp.setColumnAttribute("SETTLE_METHOD","coleditsource","jbo.sys.CODE_LIBRARY,itemno,itemname,codeno='settle_method' and itemno in ("+s+") order by sortno");
doTemp.setDefaultValue("SETTLE_METHOD", s.replaceAll("'", ""));
return "{"+sJson+"}";
}
public String getProductSettleRulesApp(List<Map<String, Object>> appList,String productId) throws Exception{
//租金计算方式