feat(pl): 三方粘贴识别批量提交接口
新增 paste-recognize/commit,事务内处理车/人冲突策略与关联写入。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
b1e788e856
commit
c60ebfc082
4 files changed
+438
No files matched your search
@@ -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
|
||||
Reference in new issue
Block a user