填报模块 升级至v0.21版本 进行中
This commit is contained in:
parent
ad94f919f5
commit
32b8808168
|
@ -0,0 +1,29 @@
|
|||
# 天府股交项目-应用端API接口
|
||||
版本信息: WideRating APP API TFSE v0.2x
|
||||
|
||||
## 命名备注
|
||||
|
||||
### 命名格式
|
||||
包括文件命名、对象命名、函数命名等格式规范
|
||||
|
||||
| 类型 | 方法 | 示例 |
|
||||
| ---- | ---- | ---- |
|
||||
| 对象 | 首字母大写 | Class User: |
|
||||
| 一般函数 | 小写字母加下划线 | def get_user_info(): |
|
||||
| 数据操作函数 | 大写字母加下划线 | def FIND_USER_DATA(): |
|
||||
|
||||
### 命名简写
|
||||
在保证代码可读性的前提下,为了让代码排版显得清爽,需要简写一些较长且常用的英文
|
||||
|
||||
| 简写 | 全写 | 中文 |
|
||||
| :----: | :----: | :----: |
|
||||
| cc | comprehensive_credit | 综合信用 |
|
||||
| impl | implement | 实施 |
|
||||
| CC | COMPREHENSIVE_CREDIT | 综合信用 |
|
||||
| REQ | REQUIREMENT | 要求 |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,10 +1,43 @@
|
|||
import pymongo
|
||||
|
||||
client = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'sromitdTW569kC#M', '116.63.130.34', 27018))
|
||||
client_admin = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'RYIHrqml#LSW6#!*', '116.63.130.34', 27020))
|
||||
DB_HOST = "116.63.130.34"
|
||||
DB_PASS = "UTlC9cCoglD1cI1*"
|
||||
DB_USER = "root"
|
||||
DB_PORT = "27021"
|
||||
client = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format(DB_USER, DB_PASS, DB_HOST, DB_PORT))
|
||||
|
||||
|
||||
def find_rating_records(param):
|
||||
def FIND_SINGLE_DATA_BY_REQ(param1, param2, param3):
|
||||
"""
|
||||
查询符合条件的第一条数据
|
||||
Parameters:
|
||||
param1: str 数据库
|
||||
param2: str 数据表
|
||||
param3: dict 查询条件
|
||||
Returns:
|
||||
record: 查询结果为空,返回False; 查询结果正常,返回查询结果的第一条数据;
|
||||
"""
|
||||
collection = client[param1][param2]
|
||||
record = list(collection.find(param3, {'_id': False}))
|
||||
return False if record == [] else record[0]
|
||||
|
||||
|
||||
def FIND_ALL_DATA_BY_REQ(param1, param2, param3):
|
||||
"""
|
||||
查询符合条件的所有数据
|
||||
Parameters:
|
||||
param1: str 数据库
|
||||
param2: str 数据表
|
||||
param3: dict 查询条件
|
||||
Returns:
|
||||
record: list 查询结果
|
||||
"""
|
||||
collection = client[param1][param2]
|
||||
record = list(collection.find(param3, {'_id': False}))
|
||||
return record
|
||||
|
||||
|
||||
def FIND_RATING_RECORDS(param):
|
||||
"""
|
||||
查询评价记录
|
||||
Parameters:
|
||||
|
@ -12,13 +45,13 @@ def find_rating_records(param):
|
|||
Returns:
|
||||
record: 查询结果
|
||||
"""
|
||||
collection = client['评价']['评价记录']
|
||||
collection = client['企业数据']['评价记录']
|
||||
data = collection.find(param, {'_id': False})
|
||||
record = list(data)
|
||||
return record
|
||||
|
||||
|
||||
def find_process_records(param1, param2):
|
||||
def FIND_CC_RATING_PROCESS_DATA(param1, param2):
|
||||
"""
|
||||
查询流程记录
|
||||
Parameters:
|
||||
|
@ -83,14 +116,14 @@ def insert_general_input(data):
|
|||
collection.insert_one(data)
|
||||
|
||||
|
||||
def update_general_input(rid, data):
|
||||
def UPDATE_COMPREHENSIVE_CREDIT_INPUT_DATA(rid, data):
|
||||
"""
|
||||
更新综合填报数据
|
||||
更新综合信用填报数据
|
||||
Parameters:
|
||||
rid: 评价ID
|
||||
data: 综合填报数据
|
||||
Returns:
|
||||
res: desc
|
||||
res: None
|
||||
"""
|
||||
collection = client['评价']['综合评价填报']
|
||||
collection.update_one({"评价ID": rid}, {"$set": data})
|
||||
|
|
|
@ -65,7 +65,7 @@ def gen_new_rid(param):
|
|||
# 生成新ID
|
||||
new_id = make_id(param)
|
||||
# 检查新ID是否存在,如果存在则继续生成新ID
|
||||
case = find_rating_records({"评价ID": new_id}) is []
|
||||
case = FIND_RATING_RECORDS({"评价ID": new_id}) is []
|
||||
while case:
|
||||
new_id = make_id(param)
|
||||
# 新ID可使用,返回新ID
|
||||
|
@ -102,7 +102,7 @@ def rating_records_by_cid(cid):
|
|||
certification_link = "/file/get_certification?file_id={}"
|
||||
esg_report_link = '/file/get_company_esg_report?file_id={}'
|
||||
esg_certification_link = "/file/get_esg_certification?file_id={}"
|
||||
records = find_rating_records({"企业ID": cid})
|
||||
records = FIND_ALL_DATA_BY_REQ("企业数据", "评价记录", {"企业ID": cid})
|
||||
for record in records:
|
||||
if records is not None:
|
||||
if record['评价项目'] == '综合信用评价':
|
||||
|
@ -120,31 +120,35 @@ def rating_records_by_cid(cid):
|
|||
return records
|
||||
|
||||
|
||||
def start_general_rating_script(cid):
|
||||
def start_cc_rating_impl(cid):
|
||||
"""
|
||||
开始进行综合评价的数据填报
|
||||
开始综合信用评价的数据填报
|
||||
Parameters:
|
||||
cid: 企业ID
|
||||
cid: str 企业ID
|
||||
Returns:
|
||||
record 填报信息
|
||||
record: dict 填报信息
|
||||
"""
|
||||
# 检查是否已认证
|
||||
# STEP_1
|
||||
# 检查企业是否已认证
|
||||
if not check_verified(cid):
|
||||
return "该企业未认证", {}
|
||||
|
||||
# 根据企业ID和当前年度查询是否存在当年的填报记录
|
||||
exist_input_form = find_rating_inputs({"企业ID": cid, "评价年度": get_current_year()})
|
||||
# STEP_2
|
||||
# 根据企业ID+当前年度,查询是否存在填报数据
|
||||
# exist_input_data: 已存在的填报数据
|
||||
# FIND_SINGLE_DATA_BY_REQ("企业数据", "评价记录", {"企业ID": cid, "评价项目": "综合信用评价", "": ""})
|
||||
exist_input_data = FIND_SINGLE_DATA_BY_REQ({"企业ID": cid, "评价年度": get_current_year()})
|
||||
|
||||
# 若存在填报记录,根据评价ID查询评价记录该评价是否完成
|
||||
if exist_input_form:
|
||||
if exist_input_data:
|
||||
# 已完成 本年度不能再填报
|
||||
if find_rating_records({"评价ID": exist_input_form[0]["评价ID"]})[0]['进行状态'] == "完成":
|
||||
if FIND_SINGLE_DATA_BY_REQ("企业数据", "评价记录", {"评价ID": exist_input_data[0]["评价ID"]})['进行状态'] == "完成":
|
||||
return "本年度已评价", {}
|
||||
# 未完成 返回已经填报保存的数据
|
||||
else:
|
||||
exist_input_form[0].pop('评价ID')
|
||||
exist_input_form[0].pop('企业ID')
|
||||
return "继续填报", exist_input_form[0]
|
||||
exist_input_data[0].pop('评价ID')
|
||||
exist_input_data[0].pop('企业ID')
|
||||
return "继续填报", exist_input_data[0]
|
||||
|
||||
# 不存在填报记录 新生成填报记录、评价记录 返回空填报记录对象
|
||||
else:
|
||||
|
@ -187,7 +191,7 @@ def start_general_rating_script(cid):
|
|||
|
||||
# 深拷贝新填报记录,不然保存后会生成_id
|
||||
return_input = copy.deepcopy(new_input)
|
||||
# 插入新填报记录``
|
||||
# 插入新填报记录
|
||||
insert_general_input(new_input)
|
||||
# 插入新评价记录
|
||||
insert_rating_records(rating)
|
||||
|
@ -206,20 +210,24 @@ def start_general_rating_script(cid):
|
|||
return "开始填报", return_input
|
||||
|
||||
|
||||
def save_general_input_form(cid, input_form):
|
||||
def save_comprehensive_credit_rating_input_form(cid, input_form):
|
||||
"""
|
||||
保存综合信用评价填报
|
||||
保存综合信用评价填报数据
|
||||
Parameters:
|
||||
cid: 企业ID
|
||||
input_form: 填报表单
|
||||
cid: str 企业ID
|
||||
input_form: dict 填报数据
|
||||
Returns:
|
||||
res: desc
|
||||
res: None
|
||||
"""
|
||||
# 保存填报数据
|
||||
rid = find_rating_records({"企业ID": cid, "进行状态": "进行"})[0]['评价ID']
|
||||
update_general_input(rid, input_form)
|
||||
# STEP_1
|
||||
# 根据企业ID查询正在进行中的评价服务,获取评价ID,即rid
|
||||
# 根据rid,更新填报数据
|
||||
rid = FIND_RATING_RECORDS({"企业ID": cid, "进行状态": "进行"})[0]['评价ID']
|
||||
UPDATE_COMPREHENSIVE_CREDIT_INPUT_DATA(rid, input_form)
|
||||
|
||||
# STEP_2
|
||||
# 查询评价流程
|
||||
records = find_process_records('综合评价流程', {"评价ID": rid})
|
||||
records = FIND_CC_RATING_PROCESS_DATA('综合评价流程', {"评价ID": rid})
|
||||
if records:
|
||||
record = records[0]
|
||||
if not record['评价流程']['问卷填报']:
|
||||
|
@ -275,7 +283,7 @@ def exec_general_rating_scripts(cid):
|
|||
-
|
||||
"""
|
||||
# pre
|
||||
record = find_rating_records({"企业ID": cid, "进行状态": "进行"})
|
||||
record = FIND_RATING_RECORDS({"企业ID": cid, "进行状态": "进行"})
|
||||
|
||||
if not record:
|
||||
return False, "没有正在进行的评价"
|
||||
|
|
|
@ -27,7 +27,7 @@ class InputForm:
|
|||
info 信息
|
||||
result 综合评价填报数据
|
||||
"""
|
||||
info, result = start_general_rating_script(self.cid)
|
||||
info, result = start_cc_rating_impl(self.cid)
|
||||
return info, result
|
||||
|
||||
def save_input_general(self, input_form):
|
||||
|
@ -38,7 +38,7 @@ class InputForm:
|
|||
Returns:
|
||||
res: desc
|
||||
"""
|
||||
save_general_input_form(self.cid, input_form)
|
||||
save_comprehensive_credit_rating_input_form(self.cid, input_form)
|
||||
return "保存成功"
|
||||
|
||||
def exec_general_rating(self):
|
||||
|
|
Loading…
Reference in New Issue