api-datamanager/Modules/Filters/FiltersObj.py

265 lines
6.1 KiB
Python

from Utils.ObjUtil import SpecObject
from Utils.ValidateUtil import ValidateAttr, Validate
data_range = {
"评级信息": [
"C1.1_主体信用评级",
"C1.2_债项信用评级",
"C1.3_ESG评级"
],
"企业指标": [
"C2.1_每股指标",
"C2.2_盈利能力",
"C2.3_收益质量",
"C2.4_现金流量",
"C2.5_资本结构",
"C2.6_偿债能力",
"C2.7_营运能力",
"C2.8_成长能力",
"C2.9_经营指标",
"C2.10_资质指标",
"C2.11_行业指标",
"C2.12_绿色指标",
"C2.13_司法指标",
"C2.14_合规指标",
"C2.15_舆情指标"
],
"基本信息": [
{
"C3.1_工商信息",
"C3.2_股东信息",
"C3.3_高管信息",
"C3.4_对外投资",
"C3.5_分支机构",
"C3.6_工商变更",
"C3.7_企业标签",
"C3.8_定性信息",
"C3.9_员工统计",
"C3.10_补充信息"
}
],
"资质信息": [
"C4.1_排行榜单",
"C4.2_科创认定",
"C4.3_荣誉奖项",
"C4.4_监管评级",
"C4.5_许可认证",
"C4.6_政策支持",
"C4.7_污染监测",
"C4.8_进出口信用",
"C4.9_双随机抽查"
],
"知识产权": [
"C5.1_商标信息",
"C5.2_专利信息",
"C5.3_软件著作权",
"C5.4_网站备案",
"C5.5_媒体账号"
],
"财务报表": [
"C6.1_资产负债表",
"C6.2_利润表",
"C6.3_现金流量表",
"C6.4_补充数据表"
],
"经营状况": [
"C7.1_采购数据",
"C7.2_销售数据",
"C7.3_排放数据"
],
"融资情况": [
"C8.1_银行借款",
"C8.2_债券融资",
"C8.3_股票融资",
"C8.4_授信额度"
],
"司法风险": [
"C9.1_开庭公告",
"C9.2_被执行人",
"C9.3_法院公告",
"C9.4_立案信息",
"C9.5_失信人",
"C9.6_法律诉讼",
"C9.7_送达公告",
"C9.8_破产重整",
"C9.9_限制消费令",
"C9.10_终本案件"
],
"经营风险": [
"C10.1_股权出质",
"C10.2_动产抵押",
"C10.3_土地抵押",
"C10.4_劳动仲裁",
"C10.5_产品召回",
"C10.6_提供担保",
"C10.7_获得担保"
],
"监管风险": [
"C11.1_经营异常",
"C11.2_行政处罚",
"C11.3_严重违法",
"C11.4_税收违法",
"C11.5_软件违规",
"C11.6_欠税公告"
],
"新闻公告": [
"C12.1_相关新闻",
"C12.2_公告信息",
"C12.3_企业研报"
]
}
data_base = [
"评级信息",
"企业指标",
"基本信息",
"资质信息",
"知识产权",
"财务报表",
"经营状况",
"融资情况",
"司法风险",
"经营风险",
"监管风险",
"新闻公告"
]
data_sheet = [
"主体信用评级",
"债项信用评级",
"ESG评级",
"每股指标",
"盈利能力",
"收益质量",
"现金流量",
"资本结构",
"偿债能力",
"营运能力",
"成长能力",
"经营指标",
"资质指标",
"行业指标",
"绿色指标",
"司法指标",
"合规指标",
"舆情指标",
"工商信息",
"股东信息",
"高管信息",
"对外投资",
"分支机构",
"工商变更",
"企业标签",
"定性信息",
"员工统计",
"补充信息"
"排行榜单",
"科创认定",
"荣誉奖项",
"监管评级",
"许可认证",
"政策支持",
"污染监测",
"进出口信用",
"双随机抽查",
"商标信息",
"专利信息",
"软件著作权",
"网站备案",
"媒体账号",
"资产负债表",
"利润表",
"现金流量表",
"补充数据表",
"采购数据",
"销售数据",
"排放数据",
"银行借款",
"债券融资",
"股票融资",
"授信额度",
"开庭公告",
"被执行人",
"法院公告",
"立案信息",
"失信人",
"法律诉讼",
"送达公告",
"破产重整",
"限制消费令",
"终本案件",
"股权出质",
"动产抵押",
"土地抵押",
"劳动仲裁",
"产品召回",
"提供担保",
"获得担保",
"经营异常",
"行政处罚",
"严重违法",
"税收违法",
"软件违规",
"欠税公告",
"相关新闻",
"公告信息",
"企业研报"
]
class SubFieldRange(SpecObject):
"""字段范围"""
value = ValidateAttr(field="value", type=str)
fields_map = {
"value": "子字段名称"
}
class FieldRange(SpecObject):
"""字段范围"""
value = ValidateAttr(field="value", type=str)
choices = ValidateAttr(field="choices", instance_list=SubFieldRange)
fields_map = {
"value": "字段名称",
"choices": "选择范围"
}
class DataSheetRange(SpecObject):
"""数据表范围"""
value = ValidateAttr(field="value", type=str, in_list=data_sheet)
choices = ValidateAttr(field="choices", instance_list=FieldRange)
fields_map = {
"value": "数据集名称",
"choices": "选择范围"
}
class DataBaseRange(SpecObject):
"""数据库范围"""
value = ValidateAttr(field="value", type=str, in_list=data_base)
choices = ValidateAttr(field="choices", instance_list=DataSheetRange)
fields_map = {
"value": "数据库名称",
"choices": "选择范围"
}
class FiltersObj(SpecObject):
"""筛选器"""
filter_id = ValidateAttr(field="filter_id", type=str)
filter_name = ValidateAttr(field="filter_name", type=str)
filter_range = ValidateAttr(field="filter_range", instance_list=DataBaseRange)
date = ValidateAttr(field="date", func=Validate.date_format)
fields_map = {
"filter_id": "筛选器ID",
"filter_name": "筛选器名称",
"filter_range": "筛选范围",
"date": "创建日期"
}