parent
8a121b9d39
commit
6244d89644
|
@ -12,7 +12,7 @@ class RatingUtils(object):
|
|||
@staticmethod
|
||||
def get_current_year():
|
||||
"""获取当前年度"""
|
||||
current_year = time.strftime("%Y", time.localtime()) + "年"
|
||||
current_year = time.strftime("%Y", time.localtime())
|
||||
return current_year
|
||||
|
||||
@staticmethod
|
||||
|
@ -57,13 +57,39 @@ class CheckCCRatingInCurrentYear(DataProcess):
|
|||
|
||||
def extract(self):
|
||||
|
||||
input_data = DB_TFSE.find_single_data(
|
||||
"综信评价数据",
|
||||
"填报数据",
|
||||
{"企业ID": self.target.cid, "评价年度": RatingUtils.get_current_year()},
|
||||
["评价ID", "企业名称", "评价年度", "行业选择", "经营问卷", "财务填报"]
|
||||
# 检查cid是否正确
|
||||
cid = DB_TFSE.find_single_column(
|
||||
"企业数据",
|
||||
"企业数据_更新汇总",
|
||||
{"企业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):
|
||||
pass
|
||||
|
||||
|
@ -77,7 +103,6 @@ class ProcessNewCCRatingRecord(DataProcess):
|
|||
pass
|
||||
|
||||
def transform(self):
|
||||
|
||||
self.target.rid = RatingUtils.gen_new_rid()
|
||||
self.target.project = '综合信用评价'
|
||||
self.target.methods = '企业申报'
|
||||
|
@ -91,7 +116,6 @@ class ProcessNewCCRatingRecord(DataProcess):
|
|||
self.target.finish_date = None
|
||||
|
||||
def load(self):
|
||||
|
||||
DB_TFSE.insert_single_data(
|
||||
'企业数据',
|
||||
'评价记录',
|
||||
|
@ -101,8 +125,23 @@ class ProcessNewCCRatingRecord(DataProcess):
|
|||
|
||||
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(
|
||||
instance=self,
|
||||
title="新增评价记录",
|
||||
|
@ -112,6 +151,7 @@ class RatingRecordDataJob(RatingRecord):
|
|||
)
|
||||
|
||||
data_job.processes = [
|
||||
CheckCCRatingInCurrentYear,
|
||||
ProcessNewCCRatingRecord
|
||||
]
|
||||
|
||||
|
|
|
@ -72,8 +72,13 @@ class DataJob(SpecObject):
|
|||
try:
|
||||
process_instance = process(target=self.instance)
|
||||
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:
|
||||
template = "数据处理流程异常, 报错函数->{}, 异常类型->{}, 错误描述->{}, 异常追溯->{}; "
|
||||
template = "数据处理流程异常, 报错流程->{}, 异常类型->{}, 错误描述->{}, 异常追溯->{}; "
|
||||
error_detail = template.format(process.__name__, type(e).__name__, e.__str__(), traceback.format_exc())
|
||||
self.status = "异常"
|
||||
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.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'])
|
||||
@verify_token
|
||||
def create_route():
|
||||
|
|
Loading…
Reference in New Issue