changes 导入调整接口
This commit is contained in:
parent
72ac90cd20
commit
1526fecd14
|
@ -438,7 +438,7 @@ def func(rating_flow_id: str, db: Session = Depends(get_db), mongodb: MongoHelpe
|
|||
|
||||
|
||||
@router.get("/import/adjust_factors", summary="导入调整因素", tags=["评级节点"])
|
||||
def func(rating_flow_id: str, db: Session = Depends(get_db)):
|
||||
def func(rating_flow_id: str, 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:
|
||||
|
@ -456,6 +456,7 @@ def func(rating_flow_id: str, db: Session = Depends(get_db)):
|
|||
adjust_data = rank_table.get('评级调整')
|
||||
if not adjust_data:
|
||||
raise HTTPException(status_code=404, detail="Rating Adjustment Data Not Found")
|
||||
|
||||
adjustment = list()
|
||||
for item in adjust_data:
|
||||
insert = dict()
|
||||
|
@ -465,18 +466,34 @@ def func(rating_flow_id: str, db: Session = Depends(get_db)):
|
|||
insert['调整说明'] = None
|
||||
adjustment.append(insert)
|
||||
|
||||
return adjustment
|
||||
adjustment_data = {
|
||||
"ascp_score": None,
|
||||
"ascp_level": None,
|
||||
"adjustments": adjustment,
|
||||
}
|
||||
# 保存流程节点数据
|
||||
adjust_node = [node for node in rf_item.nodes if node.node_name == '个体信用状况']
|
||||
if not adjust_node:
|
||||
raise HTTPException(status_code=404, detail="AdjustNode Not Found")
|
||||
Crud.save_rating_flow_node(db=db, mongodb=mongodb, node_id=adjust_node[0].id, data=adjustment_data.copy())
|
||||
|
||||
return adjustment_data
|
||||
|
||||
|
||||
@router.post("/import/calculation_adjust", summary="计算调整因素得分", tags=["评级节点"])
|
||||
def func(schema: RatingFlowSchema.CalculationAdjustReqBody, db: Session = Depends(get_db),
|
||||
mongodb: MongoHelper = Depends(get_mongodb)):
|
||||
def func(rating_flow_id: str, db: Session = Depends(get_db), mongodb: MongoHelper = Depends(get_mongodb)):
|
||||
# 获取流程; rf_item: 流程对象
|
||||
rf_item = Crud.get_rating_flow(db=db, rating_flow_id=schema.rating_flow_id)
|
||||
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")
|
||||
# 查询节点保存的数据
|
||||
adjust_node = [node for node in rf_item.nodes if node.node_name == '个体信用状况']
|
||||
if not adjust_node:
|
||||
raise HTTPException(status_code=404, detail="AdjustNode Not Found")
|
||||
adjust_body = get_rating_node_data(db=db, mongodb=mongodb, _id=adjust_node[0].id)
|
||||
adjustment = adjust_body.get('adjustments')
|
||||
# 计算得分
|
||||
score = sum([item.get('调整分数') for item in schema.adjustment])
|
||||
score = sum([item.get('调整分数') for item in adjustment])
|
||||
# 获取上个节点的得分
|
||||
nodes_item = [node for node in rf_item.nodes if node.node_name == '基本信用状况']
|
||||
if not nodes_item:
|
||||
|
@ -503,15 +520,11 @@ def func(schema: RatingFlowSchema.CalculationAdjustReqBody, db: Session = Depend
|
|||
adjustment_data = {
|
||||
"ascp_score": ascp_score,
|
||||
"ascp_level": rank_level,
|
||||
"adjustments": schema.adjustment,
|
||||
"adjustments": adjustment,
|
||||
}
|
||||
|
||||
# 保存流程节点数据
|
||||
node_item = [node for node in rf_item.nodes if node.node_name == '个体信用状况']
|
||||
if not node_item:
|
||||
raise HTTPException(status_code=404, detail="RatingNode Not Found")
|
||||
node = node_item[0]
|
||||
Crud.save_rating_flow_node(db=db, mongodb=mongodb, node_id=node.id, data=adjustment_data.copy())
|
||||
Crud.save_rating_flow_node(db=db, mongodb=mongodb, node_id=adjust_node[0].id, data=adjustment_data.copy())
|
||||
|
||||
return adjustment_data
|
||||
|
||||
|
@ -519,6 +532,3 @@ def func(schema: RatingFlowSchema.CalculationAdjustReqBody, db: Session = Depend
|
|||
@router.get("/import/external_support", summary="导入外部支持", tags=["评级节点"])
|
||||
def func(province: str, region: str, db: Session = Depends(get_db)):
|
||||
return {"外部支持级别": "AAA", "最终调整级别": None, "调整说明": None}
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue