This commit is contained in:
王思川 2022-11-19 16:48:49 +08:00
parent eecb94cde0
commit 57e39ca6b2
3 changed files with 39 additions and 2 deletions

View File

@ -0,0 +1,9 @@
from sqlalchemy import or_
from sqlalchemy.orm import Session
from App.Model.RatingFlowModel import RatingFlowParticipant
def list_users_rating_flows(db: Session, user_id):
items = db.query(RatingFlowParticipant).filter_by(user_id=user_id).all()
return items

View File

@ -1,8 +1,9 @@
from fastapi import APIRouter, Depends, HTTPException, Header from fastapi import APIRouter, Depends, HTTPException, Header
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from App.Crud import RatingFlowCrud as Crud from App.Crud import RatingFlowCrud as Crud, RatingFlowParticipantCrud
from App.Schemas import RatingFlowSchema from App.Schemas import RatingFlowSchema
from Utils.AccessControl.AccessUtil import rbac
from Utils.Authentication.TokenUtil import decode_token from Utils.Authentication.TokenUtil import decode_token
from Utils.Common.RegisterUtils import request_to_get, request_to_post from Utils.Common.RegisterUtils import request_to_get, request_to_post
from Utils.DataBase.MongoHelperUtils import get_mongodb, MongoHelper from Utils.DataBase.MongoHelperUtils import get_mongodb, MongoHelper
@ -10,7 +11,8 @@ from Utils.DataBase.SqlAlchemyUtils import get_db
router = APIRouter( router = APIRouter(
prefix="/api/rating_flow" prefix="/api/rating_flow",
dependencies=[Depends(rbac)]
) )
@ -68,6 +70,27 @@ def func(schema: RatingFlowSchema.SaveRatingFlowNodeReqBody, db: Session = Depen
return nodes return nodes
@router.post("/list", summary="当前用户的评级流程", tags=["评级流程"])
def func(token: str = Header(...), db: Session = Depends(get_db)):
decoded_info = decode_token(token=token)
user_info = decoded_info.get("user_info")
user_id = user_info.get("uid")
items = RatingFlowParticipantCrud.list_users_rating_flows(db=db, user_id=user_id)
_list = []
for item in items:
rating_flow = {
"测评ID": item.id,
"测评企业": item.rating_flow.company,
"测评模型": item.rating_flow.scorecard,
"测评状态": item.rating_flow.status.value
}
_list.append(rating_flow)
return _list
@router.post("/import/input_data", summary="导入填报数据", tags=["评级节点"]) @router.post("/import/input_data", summary="导入填报数据", tags=["评级节点"])
def func(schema: RatingFlowSchema.GetRatingDataReqBody, db: Session = Depends(get_db), def func(schema: RatingFlowSchema.GetRatingDataReqBody, db: Session = Depends(get_db),
mongodb: MongoHelper = Depends(get_mongodb)): mongodb: MongoHelper = Depends(get_mongodb)):

View File

@ -59,3 +59,8 @@ class GetRatingDataReqBody(BaseModel):
scorecard_id: str = None scorecard_id: str = None
report_date: list = None report_date: list = None
class ListRatingFlowsReqBody(BaseModel):
status: RatingFlowStatusEnum = None
page: int = 1
pagesize: int = 10