guarantee-admin-api-v0.2/Modules/Rating/RatingImpl.py

70 lines
2.3 KiB
Python
Raw Normal View History

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()
)