72 lines
2.1 KiB
Python
72 lines
2.1 KiB
Python
from typing import List, Optional
|
|
|
|
from pydantic import BaseModel, ConfigDict, Field
|
|
|
|
|
|
class StorageReleaseReviewListQuery(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
page: int = Field(1, ge=1)
|
|
pageSize: int = Field(10, ge=1, le=100)
|
|
keyword: Optional[str] = None
|
|
receptionSource: Optional[str] = None
|
|
reviewConclusion: Optional[str] = None
|
|
storageStatus: Optional[str] = None
|
|
|
|
|
|
class ReviewSubmitBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
reviewConclusion: str = Field(..., description="tg/btg")
|
|
reviewRemark: Optional[str] = None
|
|
reviewAttachments: Optional[str] = None
|
|
|
|
|
|
class BatchReviewBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
ids: List[str] = Field(..., min_length=1)
|
|
reviewConclusion: str = Field(..., description="tg/btg")
|
|
reviewRemark: Optional[str] = None
|
|
reviewAttachments: Optional[str] = None
|
|
|
|
|
|
class BatchStoreBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
ids: List[str] = Field(..., min_length=1)
|
|
|
|
|
|
class StorageReleaseReviewListItem(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
id: str
|
|
sampleCode: str
|
|
receptionSource: str
|
|
protocolId: Optional[str] = None
|
|
receptionId: Optional[str] = None
|
|
protocolNo: Optional[str] = None
|
|
sampleName: Optional[str] = None
|
|
reviewConclusion: Optional[str] = None
|
|
reviewRemark: Optional[str] = None
|
|
reviewAttachments: Optional[str] = None
|
|
reviewBy: Optional[str] = None
|
|
reviewByName: Optional[str] = None
|
|
reviewTime: Optional[str] = None
|
|
storageStatus: str
|
|
storageBy: Optional[str] = None
|
|
storageByName: Optional[str] = None
|
|
storageTime: Optional[str] = None
|
|
createTime: Optional[str] = None
|
|
|
|
|
|
class StorageReleaseReviewDetail(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
|
|
review: Optional[dict] = None
|
|
protocolInfo: Optional[dict] = None
|
|
transportInfo: Optional[dict] = None
|
|
receptionInfo: Optional[dict] = None
|
|
qcInfo: Optional[dict] = None
|
|
productionInfo: Optional[dict] = None
|