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": "创建日期" }