经销商五级分类优化

This commit is contained in:
tenwaPC 2019-08-12 10:42:05 +08:00
parent cf9e52d13e
commit b2f8d1e17d

View File

@ -114,7 +114,7 @@ public class CreateFiveGradeDataAction {
oldBo.setAttributeValue(LB_FIVEGRADEDETAILED_INFO.EXISTING_CUSTOMERS_NUM, Integer.parseInt(EXISTING_CUSTOMERS_NUM_NORMAL)+Integer.parseInt(EXISTING_CUSTOMERS_NUM_ATTENTION)+Integer.parseInt(EXISTING_CUSTOMERS_NUM_SUSPICIOUS)+Integer.parseInt(EXISTING_CUSTOMERS_NUM_LOSS)+Integer.parseInt(EXISTING_CUSTOMERS_NUM_SECONDARY));
oldBo.setAttributeValue(LB_FIVEGRADEDETAILED_INFO.TOTAL_OUTSTANDING_PRINCIPAL, new BigDecimal(TOTAL_OUTSTANDING_PRINCIPAL).setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString());
oldBo.setAttributeValue(LB_FIVEGRADEDETAILED_INFO.OVERDUERATE, new BigDecimal(ALL_TOTAL_OUTSTANDING_PRINCIPAL==0.0?0.0:TOTAL_OUTSTANDINGCUSTOMER_PRINCIPAL/ALL_TOTAL_OUTSTANDING_PRINCIPAL).setScale(6, BigDecimal.ROUND_HALF_UP).multiply(yibai).toPlainString()+"%");
oldBo.setAttributeValue(LB_FIVEGRADEDETAILED_INFO.BADNESSRATE, new BigDecimal(ALL_TOTAL_OUTSTANDING_PRINCIPAL==0.0?0.0:NOTBACK_PRINCIPAL_LOSS+NOTBACK_PRINCIPAL_SUSPICIOUS+NOTBACK_PRINCIPAL_SECONDARY/ALL_TOTAL_OUTSTANDING_PRINCIPAL).setScale(6, BigDecimal.ROUND_HALF_UP).multiply(yibai).toPlainString()+"%");
oldBo.setAttributeValue(LB_FIVEGRADEDETAILED_INFO.BADNESSRATE, new BigDecimal(ALL_TOTAL_OUTSTANDING_PRINCIPAL==0.0?0.0:(NOTBACK_PRINCIPAL_LOSS+NOTBACK_PRINCIPAL_SUSPICIOUS+NOTBACK_PRINCIPAL_SECONDARY)/ALL_TOTAL_OUTSTANDING_PRINCIPAL).setScale(6, BigDecimal.ROUND_HALF_UP).multiply(yibai).toPlainString()+"%");
oldBo.setAttributeValue(LB_FIVEGRADEDETAILED_INFO.EXISTING_CUSTOMERS_NUM_NORMAL, EXISTING_CUSTOMERS_NUM_NORMAL);
oldBo.setAttributeValue(LB_FIVEGRADEDETAILED_INFO.EXISTING_CUSTOMERS_NUM_ATTENTION, EXISTING_CUSTOMERS_NUM_ATTENTION);
@ -152,7 +152,7 @@ public class CreateFiveGradeDataAction {
newBo.setAttributeValue(LB_FIVEGRADEDETAILED_INFO.EXISTING_CUSTOMERS_NUM, Integer.parseInt(EXISTING_CUSTOMERS_NUM_NORMAL)+Integer.parseInt(EXISTING_CUSTOMERS_NUM_ATTENTION)+Integer.parseInt(EXISTING_CUSTOMERS_NUM_SUSPICIOUS)+Integer.parseInt(EXISTING_CUSTOMERS_NUM_LOSS)+Integer.parseInt(EXISTING_CUSTOMERS_NUM_SECONDARY));
newBo.setAttributeValue(LB_FIVEGRADEDETAILED_INFO.TOTAL_OUTSTANDING_PRINCIPAL, new BigDecimal(TOTAL_OUTSTANDING_PRINCIPAL).setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString());
newBo.setAttributeValue(LB_FIVEGRADEDETAILED_INFO.OVERDUERATE, new BigDecimal(ALL_TOTAL_OUTSTANDING_PRINCIPAL==0.0?0.0:TOTAL_OUTSTANDINGCUSTOMER_PRINCIPAL/ALL_TOTAL_OUTSTANDING_PRINCIPAL).setScale(6, BigDecimal.ROUND_HALF_UP).multiply(yibai).toPlainString()+"%");
newBo.setAttributeValue(LB_FIVEGRADEDETAILED_INFO.BADNESSRATE, new BigDecimal(ALL_TOTAL_OUTSTANDING_PRINCIPAL==0.0?0.0:NOTBACK_PRINCIPAL_LOSS+NOTBACK_PRINCIPAL_SUSPICIOUS+NOTBACK_PRINCIPAL_SECONDARY/ALL_TOTAL_OUTSTANDING_PRINCIPAL).setScale(6, BigDecimal.ROUND_HALF_UP).multiply(yibai).toPlainString()+"%");
newBo.setAttributeValue(LB_FIVEGRADEDETAILED_INFO.BADNESSRATE, new BigDecimal(ALL_TOTAL_OUTSTANDING_PRINCIPAL==0.0?0.0:(NOTBACK_PRINCIPAL_LOSS+NOTBACK_PRINCIPAL_SUSPICIOUS+NOTBACK_PRINCIPAL_SECONDARY)/ALL_TOTAL_OUTSTANDING_PRINCIPAL).setScale(6, BigDecimal.ROUND_HALF_UP).multiply(yibai).toPlainString()+"%");
newBo.setAttributeValue(LB_FIVEGRADEDETAILED_INFO.EXISTING_CUSTOMERS_NUM_NORMAL, EXISTING_CUSTOMERS_NUM_NORMAL);
newBo.setAttributeValue(LB_FIVEGRADEDETAILED_INFO.EXISTING_CUSTOMERS_NUM_ATTENTION, EXISTING_CUSTOMERS_NUM_ATTENTION);
@ -210,7 +210,7 @@ public class CreateFiveGradeDataAction {
}
private double calcAllOverDuePrincipal(Transaction tx) throws Exception{
double sumOverdueMoney = 0.00;
String sql = " SELECT sum(lrp.CORPUS - (nvl(lri.CORPUS + lri.CORPUS_ADJUST,0))) sumovermoney "
String sql = " SELECT sum(lrp.CORPUS - ifnull(lri.CORPUS,0) - ifnull(lri.CORPUS_ADJUST,0)) sumovermoney "
+ " FROM lc_rent_plan lrp "
+ " LEFT JOIN lc_rent_income lri ON lrp.PLAN_LIST = lri.PLAN_LIST and lri.CONTRACT_ID = lrp.CONTRACT_ID "
+ " left join lb_contract_info lci on lci.id = lrp.contract_id where lci.distributor_id is not null ";