69 lines
2.2 KiB
Python
69 lines
2.2 KiB
Python
from DBHelper.MongoHelperInstance import DB_GUA
|
|
from Modules.Rating.RatingObjects import RatingRecord
|
|
from Modules.Rating.RatingUtils import RatingUtils
|
|
|
|
|
|
class RatingRecordImpl(object):
|
|
|
|
@staticmethod
|
|
def before_create(**kwargs):
|
|
"""新建评级前检查"""
|
|
cid = kwargs["cid"]
|
|
RatingUtils.check_cid_legal(kwargs["cid"])
|
|
rid = RatingUtils.in_progress_rating(cid)
|
|
|
|
if rid:
|
|
item = DB_GUA.find_single_data(
|
|
"评级数据",
|
|
"评级记录",
|
|
{"评级ID": rid},
|
|
["企业名称", "报告期"]
|
|
)
|
|
return_data = dict()
|
|
return_data["企业名称"] = item["企业名称"]
|
|
return_data["报告期"] = item["报告期"]
|
|
else:
|
|
items = DB_GUA.find_all_data_with_single_sort(
|
|
"企业数据",
|
|
"财务数据",
|
|
{"企业ID": cid},
|
|
["企业名称", "报告期"],
|
|
{"报告期": -1}
|
|
)
|
|
return_data = dict()
|
|
return_data["企业名称"] = items[0]["企业名称"]
|
|
return_data["报告期"] = [item["报告期"] for item in items]
|
|
|
|
return return_data
|
|
|
|
@staticmethod
|
|
def create(**kwargs):
|
|
"""新建评级"""
|
|
|
|
cid = kwargs["cid"]
|
|
report_date = kwargs["report_date"]
|
|
|
|
rid = RatingUtils.in_progress_rating(cid)
|
|
assert not 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["所在城市"]
|
|
|
|
DB_GUA.insert_single_data(
|
|
"评级数据",
|
|
"评级记录",
|
|
rating_record.fields_toggle()
|
|
)
|