修复:收紧托盘业务包数校验
This commit is contained in:
@@ -309,7 +309,7 @@ class PalletModel(BaseModel):
|
||||
pallet_id: int = Field(gt=0, description='托盘ID')
|
||||
pallet_code: str = Field(min_length=1, max_length=64, pattern=r'\S', description='托盘编号')
|
||||
qr_token: str = Field(min_length=1, max_length=128, pattern=r'\S', description='二维码固定标识')
|
||||
capacity_packages: int = Field(gt=0, description='容量包数')
|
||||
capacity_packages: int = Field(strict=True, gt=0, description='容量包数')
|
||||
asset_status: Literal['0', '1'] = Field(description='资产状态(0正常 1停用)')
|
||||
remark: str | None = Field(default=None, max_length=500, description='备注')
|
||||
create_by: str | None = Field(default=None, max_length=64, description='创建者')
|
||||
|
||||
@@ -213,7 +213,7 @@ class FillingModel(BaseModel):
|
||||
strain_name_snapshot: str = Field(min_length=1, max_length=100, pattern=r'\S', description='菌种名称快照')
|
||||
batch_no: str = Field(min_length=1, max_length=64, pattern=r'\S', description='生产批次')
|
||||
package_spec: str = Field(min_length=1, max_length=64, pattern=r'\S', description='包装规格')
|
||||
initial_packages: int = Field(ge=0, description='初始包数')
|
||||
initial_packages: int = Field(strict=True, gt=0, description='初始包数')
|
||||
active_slot: Literal['ACTIVE'] | None = Field(default=None, description='活动装填槽')
|
||||
closed_at: datetime | None = Field(default=None, description='装填周期关闭时间')
|
||||
idempotency_key: str = Field(min_length=1, max_length=64, pattern=r'\S', description='幂等键')
|
||||
@@ -236,7 +236,7 @@ class ShipmentItemModel(BaseModel):
|
||||
shipment_id: int = Field(gt=0, description='发货单ID')
|
||||
pallet_id: int = Field(gt=0, description='托盘ID')
|
||||
active_filling_id: int | None = Field(default=None, gt=0, description='确认时活动装填记录ID')
|
||||
package_qty: int | None = Field(default=None, ge=0, description='确认时包数快照')
|
||||
package_qty: int | None = Field(default=None, strict=True, gt=0, description='确认时包数快照')
|
||||
create_by: str | None = Field(default=None, max_length=64, description='创建者')
|
||||
create_time: datetime | None = Field(default=None, description='创建时间')
|
||||
|
||||
@@ -274,8 +274,8 @@ class UsageModel(BaseModel):
|
||||
active_filling_id: int = Field(gt=0, description='活动装填记录ID')
|
||||
site_id: int = Field(gt=0, description='现场ID')
|
||||
line_id: int = Field(gt=0, description='产线ID')
|
||||
used_packages: int = Field(ge=0, description='本次使用包数')
|
||||
remaining_packages_after: int = Field(ge=0, description='使用后剩余包数')
|
||||
used_packages: int = Field(strict=True, gt=0, description='本次使用包数')
|
||||
remaining_packages_after: int = Field(strict=True, ge=0, description='使用后剩余包数')
|
||||
idempotency_key: str = Field(min_length=1, max_length=64, pattern=r'\S', description='幂等键')
|
||||
request_hash: str = Field(min_length=1, max_length=64, pattern=r'\S', description='请求摘要')
|
||||
operator_id: int = Field(gt=0, description='操作人ID')
|
||||
@@ -291,7 +291,7 @@ class ReturnItemModel(BaseModel):
|
||||
return_id: int = Field(gt=0, description='退回单ID')
|
||||
pallet_id: int = Field(gt=0, description='托盘ID')
|
||||
active_filling_id_snapshot: int | None = Field(default=None, gt=0, description='申请时活动装填记录快照')
|
||||
remaining_packages_snapshot: int = Field(ge=0, description='申请时剩余包数快照')
|
||||
remaining_packages_snapshot: int = Field(strict=True, ge=0, description='申请时剩余包数快照')
|
||||
create_by: str | None = Field(default=None, max_length=64, description='创建者')
|
||||
create_time: datetime | None = Field(default=None, description='创建时间')
|
||||
|
||||
@@ -458,6 +458,6 @@ class PalletScanResponseModel(BaseModel):
|
||||
strain_name: str | None = Field(default=None, max_length=100, description='菌种名称')
|
||||
batch_no: str | None = Field(default=None, max_length=64, description='生产批次')
|
||||
package_spec: str | None = Field(default=None, max_length=64, description='包装规格')
|
||||
capacity_packages: int = Field(gt=0, description='容量包数')
|
||||
remaining_packages: int = Field(ge=0, description='当前剩余包数')
|
||||
capacity_packages: int = Field(strict=True, gt=0, description='容量包数')
|
||||
remaining_packages: int = Field(strict=True, ge=0, description='当前剩余包数')
|
||||
allowed_actions: list[NonBlankAction] = Field(description='当前接口允许的业务动作')
|
||||
|
||||
@@ -42,8 +42,8 @@ class PalletInventoryReportModel(BaseModel):
|
||||
strain_code: str | None = Field(default=None, max_length=64, description='当前菌种编码快照')
|
||||
strain_name: str | None = Field(default=None, max_length=100, description='当前菌种名称快照')
|
||||
batch_no: str | None = Field(default=None, max_length=64, description='当前生产批次')
|
||||
initial_packages: int | None = Field(default=None, ge=0, description='初始包数')
|
||||
remaining_packages: int = Field(ge=0, description='当前剩余包数')
|
||||
initial_packages: int | None = Field(default=None, strict=True, gt=0, description='初始包数')
|
||||
remaining_packages: int = Field(strict=True, ge=0, description='当前剩余包数')
|
||||
updated_at: datetime = Field(description='库存更新时间')
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ class FillingReportModel(BaseModel):
|
||||
strain_name_snapshot: str = Field(min_length=1, max_length=100, pattern=r'\S', description='菌种名称快照')
|
||||
batch_no: str = Field(min_length=1, max_length=64, pattern=r'\S', description='生产批次')
|
||||
package_spec: str = Field(min_length=1, max_length=64, pattern=r'\S', description='包装规格')
|
||||
initial_packages: int = Field(ge=0, description='初始包数')
|
||||
initial_packages: int = Field(strict=True, gt=0, description='初始包数')
|
||||
operator_id: int = Field(gt=0, description='操作人ID')
|
||||
operator_name: str | None = Field(default=None, max_length=100, description='操作人名称')
|
||||
|
||||
@@ -117,7 +117,7 @@ class ShipmentReportModel(BaseModel):
|
||||
pallet_id: int = Field(gt=0, description='托盘ID')
|
||||
pallet_code: str = Field(min_length=1, max_length=64, pattern=r'\S', description='托盘编号')
|
||||
active_filling_id: int | None = Field(default=None, gt=0, description='发货时活动装填记录ID')
|
||||
package_qty: int = Field(ge=0, description='发货时包数快照')
|
||||
package_qty: int = Field(strict=True, gt=0, description='发货时包数快照')
|
||||
|
||||
|
||||
class ConsumptionReportQueryModel(BaseModel):
|
||||
@@ -157,8 +157,8 @@ class ConsumptionReportModel(BaseModel):
|
||||
strain_code: str | None = Field(default=None, max_length=64, description='菌种编码快照')
|
||||
strain_name: str | None = Field(default=None, max_length=100, description='菌种名称快照')
|
||||
batch_no: str = Field(min_length=1, max_length=64, pattern=r'\S', description='生产批次')
|
||||
used_packages: int = Field(ge=0, description='本次使用包数')
|
||||
remaining_packages_after: int = Field(ge=0, description='使用后剩余包数')
|
||||
used_packages: int = Field(strict=True, gt=0, description='本次使用包数')
|
||||
remaining_packages_after: int = Field(strict=True, ge=0, description='使用后剩余包数')
|
||||
operator_id: int = Field(gt=0, description='操作人ID')
|
||||
operator_name: str | None = Field(default=None, max_length=100, description='操作人名称')
|
||||
|
||||
@@ -196,7 +196,7 @@ class ReturnReportModel(BaseModel):
|
||||
pallet_id: int = Field(gt=0, description='托盘ID')
|
||||
pallet_code: str = Field(min_length=1, max_length=64, pattern=r'\S', description='托盘编号')
|
||||
active_filling_id_snapshot: int | None = Field(default=None, gt=0, description='活动装填记录快照')
|
||||
remaining_packages_snapshot: int = Field(ge=0, description='剩余包数快照')
|
||||
remaining_packages_snapshot: int = Field(strict=True, ge=0, description='剩余包数快照')
|
||||
|
||||
|
||||
class PalletTraceReportQueryModel(BaseModel):
|
||||
@@ -238,8 +238,8 @@ class PalletTraceReportModel(BaseModel):
|
||||
after_site_name: str | None = Field(default=None, max_length=100, description='变更后现场名称')
|
||||
after_line_id: int | None = Field(default=None, gt=0, description='变更后产线ID')
|
||||
after_line_name: str | None = Field(default=None, max_length=100, description='变更后产线名称')
|
||||
before_remaining_packages: int = Field(ge=0, description='变更前剩余包数')
|
||||
after_remaining_packages: int = Field(ge=0, description='变更后剩余包数')
|
||||
before_remaining_packages: int = Field(strict=True, ge=0, description='变更前剩余包数')
|
||||
after_remaining_packages: int = Field(strict=True, ge=0, description='变更后剩余包数')
|
||||
operator_id: int = Field(gt=0, description='操作人ID')
|
||||
operator_name: str | None = Field(default=None, max_length=100, description='操作人名称')
|
||||
occurred_at: datetime = Field(description='发生时间')
|
||||
|
||||
Reference in New Issue
Block a user