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 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 Utils.AccessControl.AccessUtil import rbac
from Utils.Authentication.TokenUtil import decode_token
from Utils.Common.RegisterUtils import request_to_get, request_to_post
from Utils.DataBase.MongoHelperUtils import get_mongodb, MongoHelper
@ -10,7 +11,8 @@ from Utils.DataBase.SqlAlchemyUtils import get_db
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
@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=["评级节点"])
def func(schema: RatingFlowSchema.GetRatingDataReqBody, db: Session = Depends(get_db),
mongodb: MongoHelper = Depends(get_mongodb)):

View File

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