feat(pl): 三方粘贴识别批量提交接口

新增 paste-recognize/commit,事务内处理车/人冲突策略与关联写入。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-07-25 12:52:09 +08:00
1 parent b1e788e856
commit c60ebfc082
4 files changed
+438

No files matched your search

+27
View File
@@ -60,6 +60,8 @@ from app.services.pl_personnel_service import (
load_vehicle_personnel_summaries,
save_vehicle_personnel,
)
from app.schemas.pl.paste_recognize import PasteCommitBody, PasteCommitResult
from app.services.pl_paste_recognize_service import commit_paste_recognize
router = APIRouter(prefix="", tags=["运输计划-基础数据"])
@@ -1005,3 +1007,28 @@ def unbind_vehicle_driver(
assert_row_deletable_by_creator(vd, user_info_from_context(user))
vd.del_flag = 1
db.commit()
@router.post("/paste-recognize/commit", response_model=PasteCommitResult)
def paste_recognize_commit(
payload: PasteCommitBody,
db: Session = Depends(get_db),
user: DbUserContext = Depends(get_db_current_user),
) -> PasteCommitResult:
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
try:
result = commit_paste_recognize(
db,
tenant_no,
payload,
user_id=user.id,
dept_id=user.dept_id,
)
db.commit()
return result
except HTTPException:
db.rollback()
raise
except Exception:
db.rollback()
raise