2022-05-27 14:45:15 +08:00
|
|
|
from DBHelper.MongoHelperInstance import DB_GUA
|
2022-05-26 17:15:30 +08:00
|
|
|
from Modules.Rating.RatingObjects import RatingRecord
|
2022-05-27 14:45:15 +08:00
|
|
|
from Modules.Rating.RatingUtils import RatingUtils
|
2022-05-26 17:15:30 +08:00
|
|
|
|
|
|
|
|
|
|
|
class RatingRecordImpl(object):
|
|
|
|
|
2022-05-27 14:45:15 +08:00
|
|
|
@staticmethod
|
|
|
|
def before_create(**kwargs):
|
|
|
|
"""新建评级前检查"""
|
|
|
|
cid = kwargs["cid"]
|
|
|
|
RatingUtils.check_cid_legal(kwargs["cid"])
|
|
|
|
rid = RatingUtils.in_progress_rating(cid)
|
2022-05-26 17:15:30 +08:00
|
|
|
|
2022-05-27 14:45:15 +08:00
|
|
|
if rid:
|
|
|
|
item = DB_GUA.find_single_data(
|
|
|
|
"评级数据",
|
|
|
|
"评级记录",
|
|
|
|
{"评级ID": rid},
|
|
|
|
["企业名称", "报告期"]
|
|
|
|
)
|
|
|
|
return_data = dict()
|
|
|
|
return_data["企业名称"] = item["企业名称"]
|
|
|
|
return_data["评级年度"] = RatingUtils.trans_report_date_to_rank_year(item["报告期"])
|
|
|
|
else:
|
|
|
|
items = DB_GUA.find_all_data_with_single_sort(
|
|
|
|
"企业数据",
|
|
|
|
"财务数据",
|
|
|
|
{"企业ID": cid},
|
|
|
|
["企业名称", "报告期"],
|
|
|
|
{"报告期": -1}
|
|
|
|
)
|
|
|
|
return_data = dict()
|
|
|
|
return_data["企业名称"] = items[0]["企业名称"]
|
|
|
|
return_data["评级年度"] = RatingUtils.trans_report_date_to_rank_year([item["报告期"] for item in items])
|
|
|
|
|
|
|
|
return return_data
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def create(**kwargs):
|
|
|
|
"""新建评级"""
|
|
|
|
|
|
|
|
cid = kwargs["cid"]
|
|
|
|
report_date = kwargs["report_date"]
|
2022-05-26 17:15:30 +08:00
|
|
|
|
2022-05-27 14:45:15 +08:00
|
|
|
rid = RatingUtils.in_progress_rating(cid)
|
2022-05-26 17:15:30 +08:00
|
|
|
|
2022-05-27 14:45:15 +08:00
|
|
|
assert rid, "切换到正在进行的评级"
|
|
|
|
|
|
|
|
business_info = DB_GUA.find_single_data(
|
|
|
|
"企业数据",
|
|
|
|
"工商信息",
|
|
|
|
{"企业ID": cid}
|
|
|
|
["企业名称", "所在省份", "所在城市"]
|
|
|
|
)
|
|
|
|
|
|
|
|
rating_record = RatingRecord()
|
|
|
|
rating_record.rid = RatingUtils.make_new_rid()
|
|
|
|
rating_record.report_date = report_date
|
|
|
|
rating_record.status = "进行"
|
|
|
|
rating_record.cid = cid
|
|
|
|
rating_record.company_name = business_info["企业名称"]
|
|
|
|
rating_record.province_and_city = business_info["所在省份"] + business_info["所在城市"]
|
2022-05-26 17:15:30 +08:00
|
|
|
|
2022-05-27 14:45:15 +08:00
|
|
|
DB_GUA.insert_single_data(
|
|
|
|
"评级数据",
|
|
|
|
"评级记录",
|
|
|
|
rating_record.fields_toggle()
|
|
|
|
)
|