111 lines
2.1 KiB
Python
111 lines
2.1 KiB
Python
from datetime import date
|
|
from enum import Enum, unique
|
|
from typing import List
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
@unique
|
|
class RatingFlowStatusEnum(Enum):
|
|
enum01 = "进行"
|
|
enum02 = "完成"
|
|
enum03 = "取消"
|
|
|
|
|
|
@unique
|
|
class RankLevelEnum(Enum):
|
|
enum01 = "AAA"
|
|
enum02 = "AA+"
|
|
enum03 = "AA"
|
|
enum04 = "AA-"
|
|
enum05 = "A+"
|
|
enum06 = "A"
|
|
enum07 = "A-"
|
|
enum08 = "BBB+"
|
|
enum09 = "BBB"
|
|
enum10 = "BBB-"
|
|
enum11 = "BB+"
|
|
enum12 = "BB"
|
|
enum13 = "BB-"
|
|
enum14 = "B+"
|
|
enum15 = "B"
|
|
enum16 = "B-"
|
|
enum17 = "CCC"
|
|
enum18 = "CC"
|
|
enum19 = "C"
|
|
enum20 = "-"
|
|
|
|
|
|
class CreateRatingFlowReqBody(BaseModel):
|
|
company: str = None
|
|
company_id: str = None
|
|
scorecard: str = None
|
|
scorecard_id: str = None
|
|
report_date: date = None
|
|
|
|
|
|
class Participant(BaseModel):
|
|
participant: str = None
|
|
user_id: str = None
|
|
|
|
|
|
class CreateRatingFlowReqBodys(BaseModel):
|
|
company: str = None
|
|
company_id: str = None
|
|
scorecard: str = None
|
|
scorecard_id: str = None
|
|
report_date: date = None
|
|
participant_list: List[Participant]
|
|
|
|
|
|
class AddParticipantReqBody(BaseModel):
|
|
rating_flow_id: str = None
|
|
participant_list: List[Participant]
|
|
|
|
|
|
class CreateParticipantReqBody(BaseModel):
|
|
participant: str = None
|
|
user_id: str = None
|
|
rating_process_id: str = None
|
|
|
|
|
|
class SaveRatingFlowNodeReqBody(BaseModel):
|
|
node_id: str = None
|
|
data: dict = {}
|
|
|
|
|
|
class GetRatingDataReqBody(BaseModel):
|
|
company_id: str = None
|
|
scorecard_id: str = None
|
|
report_date: list = None
|
|
|
|
|
|
class GetIndicatorReqBody(BaseModel):
|
|
scorecard_id: str = None
|
|
|
|
|
|
class ListRatingFlowsReqBody(BaseModel):
|
|
status: RatingFlowStatusEnum = None
|
|
page: int = 1
|
|
pagesize: int = 10
|
|
|
|
|
|
class GetRatingFlowNodeContentReqBody(BaseModel):
|
|
node_id: str = None
|
|
|
|
|
|
class CalculationAdjustReqBody(BaseModel):
|
|
rating_flow_id: str
|
|
adjustment: list
|
|
|
|
|
|
class ChangeStatusReqBody(BaseModel):
|
|
rating_flow_id: str
|
|
node_name: str
|
|
status: bool
|
|
|
|
|
|
class RatingFlowListReqBody(BaseModel):
|
|
page: int = 1
|
|
pagesize: int = 10
|