修复:补充发货草稿当前余量
This commit is contained in:
@@ -11,6 +11,7 @@ from module_business.entity.do.operation_do import (
|
||||
BizFillingRecord,
|
||||
BizInboundItem,
|
||||
BizInboundOrder,
|
||||
BizPalletInventory,
|
||||
BizReturnItem,
|
||||
BizReturnOrder,
|
||||
BizShipmentItem,
|
||||
@@ -645,16 +646,31 @@ class OperationDao:
|
||||
warehouse_ids: list[int] | None = None,
|
||||
site_ids: list[int] | None = None,
|
||||
) -> BizShipmentOrder | None:
|
||||
return await cls._get_order_detail(
|
||||
shipment = await cls._get_by_id(
|
||||
db,
|
||||
BizShipmentOrder,
|
||||
BizShipmentOrder.shipment_id,
|
||||
shipment_id,
|
||||
BizShipmentItem,
|
||||
BizShipmentItem.shipment_id,
|
||||
BizShipmentItem.shipment_item_id,
|
||||
*cls._shipment_scope_conditions(warehouse_ids, site_ids),
|
||||
)
|
||||
if shipment is None:
|
||||
return None
|
||||
|
||||
item_result = await db.execute(
|
||||
select(BizShipmentItem, BizPalletInventory.remaining_packages)
|
||||
.outerjoin(
|
||||
BizPalletInventory,
|
||||
BizPalletInventory.pallet_id == BizShipmentItem.pallet_id,
|
||||
)
|
||||
.where(BizShipmentItem.shipment_id == shipment_id)
|
||||
.order_by(BizShipmentItem.shipment_item_id)
|
||||
)
|
||||
items = []
|
||||
for item, remaining_packages in item_result.all():
|
||||
item.remaining_packages = remaining_packages
|
||||
items.append(item)
|
||||
shipment.items = items
|
||||
return shipment
|
||||
|
||||
@classmethod
|
||||
async def add_shipment(
|
||||
|
||||
@@ -269,6 +269,12 @@ class ShipmentItemModel(BaseModel):
|
||||
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, strict=True, gt=0, description='确认时包数快照')
|
||||
remaining_packages: int | None = Field(
|
||||
default=None,
|
||||
strict=True,
|
||||
ge=0,
|
||||
description='当前库存剩余包数(只读,非确认快照)',
|
||||
)
|
||||
create_by: str | None = Field(default=None, max_length=64, description='创建者')
|
||||
create_time: datetime | None = Field(default=None, description='创建时间')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user