feat(pl): persist create_date on plan create APIs
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
bb7f05ffda
commit
349e031790
2 files changed
+21
-2
No files matched your search
@@ -87,6 +87,10 @@ router = APIRouter(prefix="/plan", tags=["运输计划-计划管理"])
|
||||
_PLAN_NO_SEQ_WIDTH = 3
|
||||
|
||||
|
||||
def _resolve_create_date(value: Optional[date]) -> date:
|
||||
return value or date.today()
|
||||
|
||||
|
||||
def _generate_plan_no(db: Session) -> str:
|
||||
"""生成计划编号 POYYYYMMDD###(当日 3 位序号,每日重置)"""
|
||||
today = date.today()
|
||||
@@ -397,6 +401,7 @@ def create_plan(
|
||||
id=generate_uuid(),
|
||||
tenant_no=tenant_no,
|
||||
plan_no=plan_no,
|
||||
create_date=_resolve_create_date(payload.create_date),
|
||||
plan_date=payload.plan_date,
|
||||
belongs_company=payload.belongs_company,
|
||||
plan_type=plan_type,
|
||||
@@ -479,6 +484,7 @@ def create_plan_full(
|
||||
id=generate_uuid(),
|
||||
tenant_no=tenant_no,
|
||||
plan_no=plan_no,
|
||||
create_date=_resolve_create_date(payload.create_date),
|
||||
plan_date=payload.plan_date,
|
||||
belongs_company=payload.belongs_company,
|
||||
plan_type=plan_type,
|
||||
@@ -599,6 +605,7 @@ def create_from_contract(
|
||||
id=generate_uuid(),
|
||||
tenant_no=tenant_no,
|
||||
plan_no=plan_no,
|
||||
create_date=_resolve_create_date(payload.create_date),
|
||||
plan_date=payload.plan_date,
|
||||
belongs_company=contract.belongs_company or "shanxia",
|
||||
plan_type=plan_type,
|
||||
@@ -611,9 +618,10 @@ def create_from_contract(
|
||||
supplier_id=contract.supplier_id,
|
||||
supplier_name=(contract.party_a or contract.supplier_name or "").strip() or None,
|
||||
destination_id=contract.customer_id,
|
||||
destination_name=(contract.party_b or contract.customer_name or "").strip() or None,
|
||||
# 客户名称严格跟合同「客户名称」;目的地名称与客户保持一致(不再取需方可章名 party_b)
|
||||
destination_name=(contract.customer_name or "").strip() or None,
|
||||
customer_id=contract.customer_id,
|
||||
customer_name=(contract.party_b or contract.customer_name or "").strip() or None,
|
||||
customer_name=(contract.customer_name or "").strip() or None,
|
||||
contact_name=contract.contact_name,
|
||||
contact_phone=contract.contact_phone,
|
||||
party_a=contract.party_a,
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
from datetime import date
|
||||
|
||||
from app.api.pl.plan import _resolve_create_date
|
||||
|
||||
|
||||
def test_resolve_create_date_uses_explicit():
|
||||
assert _resolve_create_date(date(2026, 1, 15)) == date(2026, 1, 15)
|
||||
|
||||
|
||||
def test_resolve_create_date_defaults_today():
|
||||
assert _resolve_create_date(None) == date.today()
|
||||
Reference in new issue
Block a user