changes
This commit is contained in:
parent
afe82290b5
commit
1a7fae4799
|
@ -75,7 +75,7 @@ def save_rating_flow_node(node_id: str, data: dict, db: Session, mongodb: MongoH
|
|||
|
||||
# 保存新节点数据
|
||||
obj_id = mongodb.insert_data(dbname="打分评级流程", sheet=node_item.node_name, data=data)
|
||||
update_data = {"obj_id": obj_id, "status": True}
|
||||
update_data = {"obj_id": obj_id}
|
||||
db.query(RatingFlowNode).filter_by(id=node_id).update(update_data)
|
||||
db.commit()
|
||||
|
||||
|
|
|
@ -8,3 +8,14 @@ def get_rating_node_data(_id: str, db: Session, mongodb: MongoHelper):
|
|||
item = db.query(RatingFlowNode).filter_by(id=_id).first()
|
||||
content = mongodb.find_data_by_id(dbname="打分评级流程", sheet=item.node_name, _id=item.obj_id)
|
||||
return content
|
||||
|
||||
|
||||
def delete_rating_node_data(_id: str, db: Session, mongodb: MongoHelper):
|
||||
node_item = db.query(RatingFlowNode).filter_by(id=_id).first()
|
||||
if not node_item:
|
||||
return False
|
||||
if node_item.obj_id:
|
||||
mongodb.delete_data_by_id(dbname="打分评级流程", sheet=node_item.node_name, _id=node_item.obj_id)
|
||||
db.query(RatingFlowNode).filter_by(id=_id).update({"obj_id": None})
|
||||
db.commit()
|
||||
return True
|
||||
|
|
|
@ -5,7 +5,7 @@ from fastapi import APIRouter, Depends, HTTPException, Header
|
|||
from sqlalchemy.orm import Session
|
||||
|
||||
from App.Crud import RatingFlowCrud as Crud
|
||||
from App.Crud.RatingFlowNodeCrud import get_rating_node_data
|
||||
from App.Crud.RatingFlowNodeCrud import get_rating_node_data, delete_rating_node_data
|
||||
from App.Crud.RatingFlowParticipantCrud import list_users_rating_flows
|
||||
from App.Schemas import RatingFlowSchema
|
||||
from Utils.AccessControl.AccessUtil import rbac
|
||||
|
@ -127,12 +127,21 @@ def func(rating_flow_id: str, operation: str, db: Session = Depends(get_db)):
|
|||
|
||||
|
||||
@router.get("/import/input_data", summary="导入填报数据", tags=["评级节点"])
|
||||
def func(rating_flow_id: str, year: int, db: Session = Depends(get_db)):
|
||||
def func(rating_flow_id: str, year: int, db: Session = Depends(get_db), mongodb: MongoHelper = Depends(get_mongodb)):
|
||||
# 获取流程; rf_item: 流程对象
|
||||
rf_item = Crud.get_rating_flow(db=db, rating_flow_id=rating_flow_id)
|
||||
if not rf_item:
|
||||
raise HTTPException(status_code=404, detail="RatingFlow Not Found")
|
||||
|
||||
# 流程节点信息: nodes_item
|
||||
nodes_item = dict()
|
||||
for node in rf_item.nodes:
|
||||
nodes_item.update({node.node_name: node.id})
|
||||
|
||||
# 重置后续节点content数据
|
||||
for node_id in nodes_item.values():
|
||||
delete_rating_node_data(db=db, mongodb=mongodb, _id=node_id)
|
||||
|
||||
# 获取打分卡; scorecard: 打分卡
|
||||
scorecard = request_to_get(
|
||||
url='http://test.fecribd.com/api/model_store/scorecard/view?_id={}'.format(rf_item.scorecard_id)
|
||||
|
@ -190,10 +199,16 @@ def func(rating_flow_id: str, db: Session = Depends(get_db), mongodb: MongoHelpe
|
|||
if not rf_item:
|
||||
raise HTTPException(status_code=404, detail="RatingFlow Not Found")
|
||||
|
||||
# 获取填报数据; input_data: 填报数据对象
|
||||
# 流程节点信息: nodes_item
|
||||
nodes_item = dict()
|
||||
for node in rf_item.nodes:
|
||||
nodes_item.update({node.node_name: node.id})
|
||||
|
||||
# 重置后续节点content数据
|
||||
for node_id in list(nodes_item.values())[1:]:
|
||||
delete_rating_node_data(db=db, mongodb=mongodb, _id=node_id)
|
||||
|
||||
# 获取填报数据; input_data: 填报数据对象
|
||||
input_data = get_rating_node_data(db=db, mongodb=mongodb, _id=nodes_item.get("填报数据"))
|
||||
if not input_data:
|
||||
raise HTTPException(status_code=404, detail="InputData Not Found")
|
||||
|
@ -237,7 +252,7 @@ def func(rating_flow_id: str, db: Session = Depends(get_db), mongodb: MongoHelpe
|
|||
if not param_value:
|
||||
raise HTTPException(
|
||||
status_code=202,
|
||||
detail="参数数值缺失; 参数: {}; 加载路径: {}".format(
|
||||
detail="参数不能为空; 参数: {}; 加载路径: {}".format(
|
||||
param.get("参数"),
|
||||
param.get("加载路径").__str__().replace("year", fmt_year)
|
||||
)
|
||||
|
@ -444,6 +459,15 @@ def func(rating_flow_id: str, db: Session = Depends(get_db), mongodb: MongoHelpe
|
|||
if not rf_item:
|
||||
raise HTTPException(status_code=404, detail="RatingFlow Not Found")
|
||||
|
||||
# 流程节点信息: nodes_item
|
||||
nodes_item = dict()
|
||||
for node in rf_item.nodes:
|
||||
nodes_item.update({node.node_name: node.id})
|
||||
|
||||
# 重置后续节点content数据
|
||||
for node_id in list(nodes_item.values())[2:]:
|
||||
delete_rating_node_data(db=db, mongodb=mongodb, _id=node_id)
|
||||
|
||||
# 获取打分卡; scorecard: 打分卡
|
||||
scorecard = request_to_get(
|
||||
url='http://test.fecribd.com/api/model_store/scorecard/view?_id={}'.format(rf_item.scorecard_id)
|
||||
|
@ -535,6 +559,16 @@ def func(rating_flow_id: str, db: Session = Depends(get_db), mongodb: MongoHelpe
|
|||
rf_item = Crud.get_rating_flow(db=db, rating_flow_id=rating_flow_id)
|
||||
if not rf_item:
|
||||
raise HTTPException(status_code=404, detail="RatingFlow Not Found")
|
||||
|
||||
# 流程节点信息: nodes_item
|
||||
nodes_item = dict()
|
||||
for node in rf_item.nodes:
|
||||
nodes_item.update({node.node_name: node.id})
|
||||
|
||||
# 重置后续节点content数据
|
||||
for node_id in list(nodes_item.values())[3:]:
|
||||
delete_rating_node_data(db=db, mongodb=mongodb, _id=node_id)
|
||||
|
||||
# 查询节点保存的数据
|
||||
adjust_node = [node for node in rf_item.nodes if node.node_name == '个体信用状况']
|
||||
if not adjust_node:
|
||||
|
|
Loading…
Reference in New Issue