1
0
forked from erp-dev/erp

feat: field pre_purchase_order_id for purchase_order (allow null)

This commit is contained in:
2026-02-04 20:14:59 +08:00
parent 02f6de3a8a
commit a8c61667a9
6 changed files with 74 additions and 11 deletions

View File

@@ -181,6 +181,7 @@ def create_purchase_order(
items: List[Dict[str, Any]],
remarks: str | None = '',
created_by=None,
from_pre_purchase_order_id: int | None = None,
) -> models.PurchaseOrder:
"""
创建采购订单并触发异步创建入库单任务。
@@ -214,6 +215,7 @@ def create_purchase_order(
operator=operator,
warehouse=warehouse,
remarks=remarks,
from_pre_purchase_order_id=from_pre_purchase_order_id,
)
bulk_objects = [
models.PurchaseOrderItem(
@@ -246,6 +248,7 @@ def update_purchase_order(
warehouse: basic_info_models.WareHouse | None = None,
items: List[Dict[str, Any]] | None = None,
remarks: str | None = '',
from_pre_purchase_order_id: int | None = None,
) -> models.PurchaseOrder:
"""
更新采购订单(仅限审批中状态)。
@@ -273,8 +276,17 @@ def update_purchase_order(
purchase_order.purchase_date = new_order_date
purchase_order.warehouse = new_warehouse
purchase_order.remarks = remarks
if from_pre_purchase_order_id is not None:
purchase_order.from_pre_purchase_order_id = from_pre_purchase_order_id
purchase_order.save(
update_fields=['supplier', 'purchase_date', 'warehouse', 'remarks', 'updated_at']
update_fields=[
'supplier',
'purchase_date',
'warehouse',
'remarks',
'from_pre_purchase_order_id',
'updated_at',
]
)
purchase_order.items.all().delete()