package com.sunxung.factoring.component.constance;

import java.math.BigDecimal;

/**
 * 项目打分模型
 */
public class ProjectScoringModel {

    /**
     * 项目地点 权重体系
     */
    public static final BigDecimal PROJECT_ADDRESS_RATIO = new BigDecimal("0.05");
    /**
     * 项目地点 标准分
     */
    public static final BigDecimal PROJECT_ADDRESS_STANDARD = new BigDecimal("100");

    /**
     * 项目周期 权重体系
     */
    public static final BigDecimal PROJECT_CYCLE_RATIO = new BigDecimal("0.05");
    /**
     * 项目地点 标准分 前期
     */
    public static final BigDecimal PROJECT_CYCLE_STANDARD_A = new BigDecimal("100");
    /**
     * 项目地点 标准分 中期
     */
    public static final BigDecimal PROJECT_CYCLE_STANDARD_B = new BigDecimal("80");
    /**
     * 项目地点 标准分 后期
     */
    public static final BigDecimal PROJECT_CYCLE_STANDARD_C = new BigDecimal("0");
    /**
     * 项目地点 标准分 长期
     */
    public static final BigDecimal PROJECT_CYCLE_STANDARD_D = new BigDecimal("50");

    /**
     * 项目性质 权重体系
     */
    public static final BigDecimal PROJECT_NATURE_RATIO = new BigDecimal("0.1");
    /**
     * 项目性质 标准分 基建：公路、铁路、桥梁和各类工业及民用建筑等工程的新建、改建、扩建、恢复工程，以及机器设备、车辆船舶的购置安装及与之有关的项目。
     */
    public static final BigDecimal PROJECT_NATURE_STANDARD_A = new BigDecimal("100");
    /**
     * 项目性质 标准分 公共服务设施：教育、科技、文化、卫生、体育等公共事业设施相关项目。
     */
    public static final BigDecimal PROJECT_NATURE_STANDARD_B = new BigDecimal("80");
    /**
     * 项目性质 标准分 公共租赁住房（廉租、公祖）、保障房（安置房）、经适房、共有产权房。
     */
    public static final BigDecimal PROJECT_NATURE_STANDARD_C = new BigDecimal("60");
    /**
     * 项目性质 标准分 商业房地产
     */
    public static final BigDecimal PROJECT_NATURE_STANDARD_D = new BigDecimal("0");
    /**
     * 项目性质 标准分 其他
     */
    public static final BigDecimal PROJECT_NATURE_STANDARD_E = new BigDecimal("50");

    /**
     * 资金来源及占比 权重体系
     */
    public static final BigDecimal FUND_RATIO = new BigDecimal("0.05");
    /**
     * 资金来源及占比 标准分 财政资金+专项资金>=80%
     */
    public static final BigDecimal FUND_STANDARD_A = new BigDecimal("100");
    /**
     * 资金来源及占比 标准分 50%<财政资金+专项资金<80%
     */
    public static final BigDecimal FUND_STANDARD_B = new BigDecimal("90");
    /**
     * 资金来源及占比 标准分 财政资金+专项资金<=50%
     */
    public static final BigDecimal FUND_STANDARD_C = new BigDecimal("80");

    /**
     * 企业成立年限权重体系
     */
    public static final BigDecimal START_DATE_RATIO = new BigDecimal("0.05");
    /**
     * 企业成立年限标准分 事业单位
     */
    public static final BigDecimal START_DATE_STANDARD_A = new BigDecimal("100");
    /**
     * 企业成立年限标准分 为项目成立的公司
     */
    public static final BigDecimal START_DATE_STANDARD_B = new BigDecimal("100");
    /**
     * 企业成立年限标准分 ≥2年
     */
    public static final BigDecimal START_DATE_STANDARD_C = new BigDecimal("100");
    /**
     * 企业成立年限标准分 非为项目成立的公司且<2年
     */
    public static final String START_DATE_STANDARD_D = "不准入";

    /**
     * 注册地址 权重体系
     */
    public static final BigDecimal REGISTERED_ADDRESS_RATIO = new BigDecimal("0.05");
    /**
     * 注册地址 标准分
     */
    public static final BigDecimal REGISTERED_ADDRESS_TANDARD = new BigDecimal("100");

    /**
     * 实际经营地址 权重体系
     */
    public static final BigDecimal BUSINESS_ADDRESS_RATIO = new BigDecimal("0.05");
    /**
     * 实际经营地址 标准分
     */
    public static final BigDecimal BUSINESS_ADDRESS_TANDARD = new BigDecimal("100");

    /**
     * 注册资本 权重体系
     */
    public static final BigDecimal REGISTERED_CAPITAL_RATIO = new BigDecimal("0.1");
    /**
     * 注册资本标准分1  0-2000万元（不含）
     */
    public static final BigDecimal REGISTERED_CAPITAL_STANDARD_ONE = BigDecimal.ZERO;;
    /**
     * 注册资本标准分2  2000万元-10亿元（不含）或事业单位或为项目成立的公司
     */
    public static final BigDecimal REGISTERED_CAPITAL_STANDARD_TWO = new BigDecimal("80");
    /**
     * 注册资本标准分3  10亿元—50亿元（不含）
     */
    public static final BigDecimal REGISTERED_CAPITAL_STANDARD_THREE = new BigDecimal("90");
    /**
     * 注册资本标准分3  50亿元以上
     */
    public static final BigDecimal REGISTERED_CAPITAL_STANDARD_FORE = new BigDecimal("100");
    /**
     * 注册资本标准分3  事业单位
     */
    public static final BigDecimal REGISTERED_CAPITAL_STANDARD_FIVE = new BigDecimal("80");

    /**
     * 企业性质 权重体系
     */
    public static final BigDecimal ENTERPRISE_NATURE_RATIO = new BigDecimal("0.1");
    /**
     * 企业性质标准分1 事业单位
     */
    public static final BigDecimal ENTERPRISE_NATURE_STANDARD_ONE = new BigDecimal("100");
    /**
     * 企业性质标准分2  建筑类央企系
     */
    public static final BigDecimal ENTERPRISE_NATURE_STANDARD_TWO = new BigDecimal("100");
    /**
     * 企业性质标准分3  省属建筑类国企系
     */
    public static final BigDecimal ENTERPRISE_NATURE_STANDARD_THREE = new BigDecimal("80");
    /**
     * 企业性质标准分4 市属建筑类国企系
     */
    public static final BigDecimal ENTERPRISE_NATURE_STANDARD_FORE = new BigDecimal("60");
    /**
     * 企业性质标准分5 非建筑类央企系
     */
    public static final BigDecimal ENTERPRISE_NATURE_STANDARD_FIVE = new BigDecimal("100");
    /**
     * 企业性质标准分6 非建筑类省属国企系
     */
    public static final BigDecimal ENTERPRISE_NATURE_STANDARD_SIX = new BigDecimal("80");
    /**
     * 企业性质标准分7 非建筑类市属国企系
     */
    public static final BigDecimal ENTERPRISE_NATURE_STANDARD_SEVEN = new BigDecimal("60");
    /**
     * 企业性质标准分8 民营上市公司
     */
    public static final BigDecimal ENTERPRISE_NATURE_STANDARD_EIGHT = new BigDecimal("60");
    /**
     * 企业性质标准分9 民营非上市公司
     */
    public static final BigDecimal ENTERPRISE_NATURE_STANDARD_NINE = new BigDecimal("40");

    /**
     * 控股比例 权重体系
     */
    public static final BigDecimal HOLDING_RATIO = new BigDecimal("0.05");
    /**
     * 控股比例 标准分1 控股比例＜51%
     */
    public static final String HOLDING_RATIO_STANDARD_ONE = "不准入";
    /**
     * 控股比例 标准分2 51%≤控股比例≤67%
     */
    public static final BigDecimal HOLDING_RATIO_STANDARD_TWO = new BigDecimal("80");
    /**
     * 控股比例 标准分3 控股比例>67%
     */
    public static final BigDecimal HOLDING_RATIO_STANDARD_THREE = new BigDecimal("100");
    /**
     * 控股比例 标准分4 民营主板、科创板上市公司
     */
    public static final BigDecimal HOLDING_RATIO_STANDARD_FORE = new BigDecimal("100");
    /**
     * 控股比例 标准分5 事业单位
     */
    public static final BigDecimal HOLDING_RATIO_STANDARD_FIVE = new BigDecimal("100");

    /**
     * 股权层级 权重体系
     */
    public static final BigDecimal EQUITY_HIERARCHY_RATIO = new BigDecimal("0.05");
    /**
     * 股权层级标准分1 建筑类公司 本级
     */
    public static final BigDecimal EQUITY_HIERARCHY_STANDARD_ONE = new BigDecimal("100");
    /**
     * 股权层级标准分2 建筑类公司 一级子公司
     */
    public static final BigDecimal EQUITY_HIERARCHY_STANDARD_TWO = new BigDecimal("80");
    /**
     * 股权层级标准分3 建筑类公司 二级子公司
     */
    public static final BigDecimal EQUITY_HIERARCHY_STANDARD_THREE = new BigDecimal("60");
    /**
     * 股权层级标准分4 建筑类公司 二级子公司以下
     */
    public static final String EQUITY_HIERARCHY_STANDARD_FORE = "不准入";
    /**
     * 股权层级标准分5 非建筑类公司 本级、事业单位
     */
    public static final BigDecimal EQUITY_HIERARCHY_STANDARD_FIVE = new BigDecimal("100");
    /**
     * 股权层级标准分6 非建筑类公司 一级
     */
    public static final BigDecimal EQUITY_HIERARCHY_STANDARD_SIX = new BigDecimal("80");
    /**
     * 股权层级标准分7 非建筑类公司 二级
     */
    public static final BigDecimal EQUITY_HIERARCHY_STANDARD_SEVEN = new BigDecimal("70");
    /**
     * 股权层级标准分8 非建筑类公司 三级
     */
    public static final BigDecimal EQUITY_HIERARCHY_STANDARD_EIGHT = new BigDecimal("60");
    /**
     * 股权层级标准分9 非建筑类公司 三级以下
     */
    public static final String EQUITY_HIERARCHY_STANDARD_NINE = "不准入";
    /**
     * 股权层级标准分8 非建筑类公司 事业单位
     */
    public static final BigDecimal EQUITY_HIERARCHY_STANDARD_TEN = new BigDecimal("100");

    /**
     * 信用评级 权重体系
     */
    public static final BigDecimal CREDIT_RATING_RATIO = new BigDecimal("0.05");
    /**
     * 信用评级 标准分1 事业单位
     */
    public static final BigDecimal CREDIT_RATING_STANDARD_ONE = new BigDecimal("100");
    /**
     * 信用评级 标准分2 非事业单位 AAA级别（AAA-、AAA、AAA+）
     */
    public static final BigDecimal CREDIT_RATING_STANDARD_TWO = new BigDecimal("100");
    /**
     * 信用评级 标准分3 非事业单位 AA级别（AA-、AA、AA+）
     */
    public static final BigDecimal CREDIT_RATING_STANDARD_THREE = new BigDecimal("80");
    /**
     * 信用评级 标准分4 非事业单位 A级别（A-、A、A+）
     */
    public static final BigDecimal CREDIT_RATING_STANDARD_FORE = new BigDecimal("60");
    /**
     * 信用评级 标准分5 非事业单位 无级别
     */
    public static final BigDecimal CREDIT_RATING_STANDARD_FIVE = new BigDecimal("60");

    /**
     * 企业负面清单 权重体系
     */
    public static final BigDecimal ENTERPRISE_RATIO = new BigDecimal("0.2");
    /**
     * 近一年股东或法人变更<2次 标准分
     */
    public static final BigDecimal CHANGE_COUNT_STANDARD = new BigDecimal("5");
    /**
     * 当前企业不存在失信被执行情况 标准分
     */
    public static final BigDecimal SHI_XIN_STANDARD = new BigDecimal("10");
    /**
     * 当前企业不存在限制高消费的情况 标准分
     */
    public static final BigDecimal ST_COUNT_STANDARD_ONE = new BigDecimal("5");
    /**
     * 当前法人不存在限制高消费的情况 标准分
     */
    public static final BigDecimal ST_COUNT_STANDARD_TWO = new BigDecimal("5");
    /**
     * 当前被执行金额≤注册资本的2% 标准分
     */
    public static final BigDecimal ZHI_XING_STANDARD_ONE = new BigDecimal("5");
    /**
     * 当前被执行频率月/5次及以下 标准分
     */
    public static final BigDecimal ZHI_XING_STANDARD_TWO = new BigDecimal("5");
    /**
     * 涉诉金额≤注册资本的10% 标准分
     */
    public static final BigDecimal INVOLVING_STANDARD_ONE = new BigDecimal("6");
    /**
     * 近一年涉诉数量≤100 标准分
     */
    public static final BigDecimal INVOLVING_STANDARD_TWO = new BigDecimal("3");
    /**
     * 不存在民间借贷被告记录 标准分
     */
    public static final BigDecimal INVOLVING_STANDARD_THREE = new BigDecimal("3");
    /**
     * 无金融类诉讼被告记录 标准分
     */
    public static final BigDecimal INVOLVING_STANDARD_FORE = new BigDecimal("6");
    /**
     * 无股权冻结 标准分
     */
    public static final BigDecimal INVOLVING_STANDARD_FIVE = new BigDecimal("3");
    /**
     * 无其他重大异常诉讼情况 标准分
     */
    public static final BigDecimal INVOLVING_STANDARD_SIX = new BigDecimal("3");
    /**
     * 无严重违法行为 标准分
     */
    public static final BigDecimal BUSINESS_ABNORMALITIES_STANDARD_ONE = new BigDecimal("5");
    /**
     * 无欠税公告 标准分
     */
    public static final BigDecimal BUSINESS_ABNORMALITIES_STANDARD_TWO = new BigDecimal("5");
    /**
     * 无税务违法 标准分
     */
    public static final BigDecimal BUSINESS_ABNORMALITIES_STANDARD_THREE = new BigDecimal("5");
    /**
     * 无黑名单信息 标准分
     */
    public static final BigDecimal BUSINESS_ABNORMALITIES_STANDARD_FORE = new BigDecimal("5");
    /**
     * 经营异常 标准分
     */
    public static final BigDecimal BUSINESS_ABNORMALITIES_STANDARD_FIVE = new BigDecimal("3");
    /**
     * 近一年行政处罚数量≤3 标准分
     */
    public static final BigDecimal ADMINISTRATIVE_PENALTY_STANDARD_ONE = new BigDecimal("5");
    /**
     * 行政处罚金额≤50万元 标准分
     */
    public static final BigDecimal ADMINISTRATIVE_PENALTY_STANDARD_TWO = new BigDecimal("5");
    /**
     * 环保处罚金额≤50万元 标准分
     */
    public static final BigDecimal ADMINISTRATIVE_PENALTY_STANDARD_THREE = new BigDecimal("3");
    /**
     * 近一年无负面新闻舆情 标准分
     */
    public static final BigDecimal NEWS_STANDARD_THREE = new BigDecimal("5");

    /**
     * 预估账期 权重体系
     */
    public static final BigDecimal ESTIMATED_ACCOUNTING_RATIO = new BigDecimal("0.05");
    /**
     * 预估账期 ≤3个月
     */
    public static final BigDecimal ESTIMATED_ACCOUNTING_STANDARD_A = new BigDecimal("100");
    /**
     * 预估账期 (3个月，6个月）
     */
    public static final BigDecimal ESTIMATED_ACCOUNTING_STANDARD_B = new BigDecimal("80");
    /**
     * 预估账期 【6个月，10个月）
     */
    public static final BigDecimal ESTIMATED_ACCOUNTING_STANDARD_C = new BigDecimal("60");
    /**
     * 预估账期 ≥10个月以上
     */
    public static final BigDecimal ESTIMATED_ACCOUNTING_STANDARD_D = new BigDecimal("40");

    /**
     * 准入
     */
    public static final String ADMITTED = "准入";
    /**
     * 不准入
     */
    public static final String NOT_ADMITTED = "不准入";

}
