parent
8a121b9d39
commit
6244d89644
|
@ -12,7 +12,7 @@ class RatingUtils(object):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_current_year():
|
def get_current_year():
|
||||||
"""获取当前年度"""
|
"""获取当前年度"""
|
||||||
current_year = time.strftime("%Y", time.localtime()) + "年"
|
current_year = time.strftime("%Y", time.localtime())
|
||||||
return current_year
|
return current_year
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
@ -57,13 +57,39 @@ class CheckCCRatingInCurrentYear(DataProcess):
|
||||||
|
|
||||||
def extract(self):
|
def extract(self):
|
||||||
|
|
||||||
input_data = DB_TFSE.find_single_data(
|
# 检查cid是否正确
|
||||||
"综信评价数据",
|
cid = DB_TFSE.find_single_column(
|
||||||
"填报数据",
|
"企业数据",
|
||||||
{"企业ID": self.target.cid, "评价年度": RatingUtils.get_current_year()},
|
"企业数据_更新汇总",
|
||||||
["评价ID", "企业名称", "评价年度", "行业选择", "经营问卷", "财务填报"]
|
{"企业ID": self.target.cid},
|
||||||
|
"企业ID"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
assert cid, "不存在该企业ID: {}".format(self.target.cid)
|
||||||
|
|
||||||
|
# 判断本年度是否有评价记录
|
||||||
|
current_year = RatingUtils.get_current_year()
|
||||||
|
gte_time = current_year + '-01-01 00:00:00'
|
||||||
|
lte_time = current_year + '-12-31 23:59:59'
|
||||||
|
|
||||||
|
record = DB_TFSE.find_data_with_aggregate(
|
||||||
|
"企业数据",
|
||||||
|
"评价记录",
|
||||||
|
[
|
||||||
|
{'$match': {
|
||||||
|
'企业ID': self.target.cid,
|
||||||
|
'评价项目': '综合信用评价',
|
||||||
|
'开始填报时间': {'$gte': gte_time, '$lte': lte_time}
|
||||||
|
}},
|
||||||
|
{'$project': {
|
||||||
|
'_id': 0,
|
||||||
|
'评价ID': 1
|
||||||
|
}}
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
assert not record, "已有评价记录"
|
||||||
|
|
||||||
def transform(self):
|
def transform(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -77,7 +103,6 @@ class ProcessNewCCRatingRecord(DataProcess):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def transform(self):
|
def transform(self):
|
||||||
|
|
||||||
self.target.rid = RatingUtils.gen_new_rid()
|
self.target.rid = RatingUtils.gen_new_rid()
|
||||||
self.target.project = '综合信用评价'
|
self.target.project = '综合信用评价'
|
||||||
self.target.methods = '企业申报'
|
self.target.methods = '企业申报'
|
||||||
|
@ -91,7 +116,6 @@ class ProcessNewCCRatingRecord(DataProcess):
|
||||||
self.target.finish_date = None
|
self.target.finish_date = None
|
||||||
|
|
||||||
def load(self):
|
def load(self):
|
||||||
|
|
||||||
DB_TFSE.insert_single_data(
|
DB_TFSE.insert_single_data(
|
||||||
'企业数据',
|
'企业数据',
|
||||||
'评价记录',
|
'评价记录',
|
||||||
|
@ -101,8 +125,23 @@ class ProcessNewCCRatingRecord(DataProcess):
|
||||||
|
|
||||||
class RatingRecordDataJob(RatingRecord):
|
class RatingRecordDataJob(RatingRecord):
|
||||||
|
|
||||||
def create(self):
|
def check(self):
|
||||||
|
|
||||||
|
data_job = DataJob(
|
||||||
|
instance=self,
|
||||||
|
title="检查评价记录",
|
||||||
|
job_type="处理准备",
|
||||||
|
status="正常",
|
||||||
|
detail="企业ID->{}; 企业名称->{}; ".format(self.cid, self.company)
|
||||||
|
)
|
||||||
|
|
||||||
|
data_job.processes = [
|
||||||
|
CheckCCRatingInCurrentYear,
|
||||||
|
]
|
||||||
|
|
||||||
|
data_job.start()
|
||||||
|
|
||||||
|
def create(self):
|
||||||
data_job = DataJob(
|
data_job = DataJob(
|
||||||
instance=self,
|
instance=self,
|
||||||
title="新增评价记录",
|
title="新增评价记录",
|
||||||
|
@ -112,6 +151,7 @@ class RatingRecordDataJob(RatingRecord):
|
||||||
)
|
)
|
||||||
|
|
||||||
data_job.processes = [
|
data_job.processes = [
|
||||||
|
CheckCCRatingInCurrentYear,
|
||||||
ProcessNewCCRatingRecord
|
ProcessNewCCRatingRecord
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -72,8 +72,13 @@ class DataJob(SpecObject):
|
||||||
try:
|
try:
|
||||||
process_instance = process(target=self.instance)
|
process_instance = process(target=self.instance)
|
||||||
process_instance.start()
|
process_instance.start()
|
||||||
|
except AssertionError as e:
|
||||||
|
append_detail = '{}; '.format(e.__str__())
|
||||||
|
self.detail = self.detail + append_detail
|
||||||
|
self.__save_data_job_log()
|
||||||
|
raise APIReturnError(error_info=e.__str__(), status_code=202)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
template = "数据处理流程异常, 报错函数->{}, 异常类型->{}, 错误描述->{}, 异常追溯->{}; "
|
template = "数据处理流程异常, 报错流程->{}, 异常类型->{}, 错误描述->{}, 异常追溯->{}; "
|
||||||
error_detail = template.format(process.__name__, type(e).__name__, e.__str__(), traceback.format_exc())
|
error_detail = template.format(process.__name__, type(e).__name__, e.__str__(), traceback.format_exc())
|
||||||
self.status = "异常"
|
self.status = "异常"
|
||||||
self.detail = self.detail + error_detail
|
self.detail = self.detail + error_detail
|
||||||
|
|
|
@ -13,6 +13,28 @@ from Implements.Im1_CompanyData.C0_RatingRecordDataJob import RatingRecordDataJo
|
||||||
rating_records_route = Blueprint('rating_records', __name__)
|
rating_records_route = Blueprint('rating_records', __name__)
|
||||||
|
|
||||||
|
|
||||||
|
@rating_records_route.route('/check', methods=['GET'])
|
||||||
|
@verify_token
|
||||||
|
def check_route():
|
||||||
|
"""检查评价记录"""
|
||||||
|
|
||||||
|
try:
|
||||||
|
|
||||||
|
args = request.args
|
||||||
|
RouteUtil.require_params_check(args, ['cid', 'company_name'])
|
||||||
|
|
||||||
|
data_job = RatingRecordDataJob()
|
||||||
|
data_job.cid, data_job.company = args['cid'], args['company_name']
|
||||||
|
data_job.check()
|
||||||
|
|
||||||
|
return {"info": "没有评价记录"}, 200
|
||||||
|
|
||||||
|
except APIReturnError as e:
|
||||||
|
return {"info": e.error_info}, e.status_code
|
||||||
|
except ReturnConditionCheckFailed as e:
|
||||||
|
return {"info": e.failed_info}, e.status_code
|
||||||
|
|
||||||
|
|
||||||
@rating_records_route.route('/create', methods=['GET'])
|
@rating_records_route.route('/create', methods=['GET'])
|
||||||
@verify_token
|
@verify_token
|
||||||
def create_route():
|
def create_route():
|
||||||
|
|
Loading…
Reference in New Issue